[Libreoffice-commits] core.git: sc/inc sc/source

Stephan Bergmann sbergman at redhat.com
Tue Aug 13 04:55:25 PDT 2013


 sc/inc/mtvelements.hxx              |    4 ++--
 sc/source/core/data/mtvelements.cxx |   16 ----------------
 2 files changed, 2 insertions(+), 18 deletions(-)

New commits:
commit a745bfdb7843a216dae51e4cd9484d950bac13e2
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Aug 13 13:50:12 2013 +0200

    Ensure iterators are value-initialized
    
    ...instead of merely default-initialized, to avoid undefined behavior in
    enclosing classes' copy ctors/assignment ops.  (Cf. resolution of
    <http://www.open-std.org/JTC1/SC22/WG21/docs/lwg-closed.html#408> DR 408 "Is
    vector<reverse_iterator<char*> > forbidden?")
    
    In return, remove the enclosing classes' user defined assignment ops that do
    explicitly exactly what the default ones would do anyway.
    
    Change-Id: If1bb1aea56dd48da873a92a8fa30dedea844740c

diff --git a/sc/inc/mtvelements.hxx b/sc/inc/mtvelements.hxx
index 443eb6a..46a5d40 100644
--- a/sc/inc/mtvelements.hxx
+++ b/sc/inc/mtvelements.hxx
@@ -107,7 +107,7 @@ struct ColumnBlockPosition
     CellTextAttrStoreType::iterator miCellTextAttrPos;
     CellStoreType::iterator miCellPos;
 
-    ColumnBlockPosition& operator= (const ColumnBlockPosition& r);
+    ColumnBlockPosition(): miCellPos() {}
 };
 
 struct ColumnBlockConstPosition
@@ -116,7 +116,7 @@ struct ColumnBlockConstPosition
     CellTextAttrStoreType::const_iterator miCellTextAttrPos;
     CellStoreType::const_iterator miCellPos;
 
-    ColumnBlockConstPosition& operator= (const ColumnBlockConstPosition& r);
+    ColumnBlockConstPosition(): miCellPos() {}
 };
 
 class ColumnBlockPositionSet
diff --git a/sc/source/core/data/mtvelements.cxx b/sc/source/core/data/mtvelements.cxx
index 57573a5..efe07cf 100644
--- a/sc/source/core/data/mtvelements.cxx
+++ b/sc/source/core/data/mtvelements.cxx
@@ -25,22 +25,6 @@ CellTextAttr::CellTextAttr(sal_uInt16 nTextWidth, sal_uInt8 nScriptType) :
     mnTextWidth(nTextWidth),
     mnScriptType(nScriptType) {}
 
-ColumnBlockPosition& ColumnBlockPosition::operator= (const ColumnBlockPosition& r)
-{
-    miBroadcasterPos = r.miBroadcasterPos;
-    miCellTextAttrPos = r.miCellTextAttrPos;
-    miCellPos = r.miCellPos;
-    return *this;
-}
-
-ColumnBlockConstPosition& ColumnBlockConstPosition::operator= (const ColumnBlockConstPosition& r)
-{
-    miBroadcasterPos = r.miBroadcasterPos;
-    miCellTextAttrPos = r.miCellTextAttrPos;
-    miCellPos = r.miCellPos;
-    return *this;
-}
-
 ColumnBlockPositionSet::ColumnBlockPositionSet(ScDocument& rDoc) : mrDoc(rDoc) {}
 
 ColumnBlockPosition* ColumnBlockPositionSet::getBlockPosition(SCTAB nTab, SCCOL nCol)


More information about the Libreoffice-commits mailing list