[Libreoffice-commits] core.git: 20 commits - basegfx/source comphelper/source include/basegfx include/comphelper include/sfx2 include/store include/svl include/svx include/tools include/ucbhelper include/vcl svl/source svx/source tools/source ucbhelper/source vcl/source
Noel Grandin
noel at peralex.com
Mon Aug 29 07:29:58 UTC 2016
basegfx/source/matrix/b2dhommatrix.cxx | 11 ++++++
basegfx/source/polygon/b2dpolygon.cxx | 10 ++++++
basegfx/source/polygon/b2dpolypolygon.cxx | 11 ++++++
comphelper/source/misc/namedvaluecollection.cxx | 9 +++++
include/basegfx/matrix/b2dhommatrix.hxx | 2 +
include/basegfx/polygon/b2dpolygon.hxx | 2 +
include/basegfx/polygon/b2dpolypolygon.hxx | 2 +
include/comphelper/namedvaluecollection.hxx | 2 +
include/sfx2/objsh.hxx | 34 ++++++++++++++-------
include/store/store.hxx | 19 +++++++++++
include/svl/sharedstring.hxx | 2 +
include/svx/dataaccessdescriptor.hxx | 2 +
include/svx/sdr/attribute/sdrformtextattribute.hxx | 2 +
include/svx/sdr/attribute/sdrtextattribute.hxx | 2 +
include/svx/xpoly.hxx | 4 ++
include/tools/fract.hxx | 2 +
include/tools/globname.hxx | 5 +++
include/tools/ref.hxx | 10 ++++++
include/tools/weakbase.h | 8 ++++
include/tools/weakbase.hxx | 14 ++++++++
include/ucbhelper/content.hxx | 10 ++++++
include/vcl/font.hxx | 2 +
include/vcl/gradient.hxx | 2 +
include/vcl/image.hxx | 12 ++++---
include/vcl/lineinfo.hxx | 2 +
include/vcl/wall.hxx | 2 +
svl/source/misc/sharedstring.cxx | 22 +++++++++++++
svx/source/form/dataaccessdescriptor.cxx | 11 ++++++
svx/source/sdr/attribute/sdrformtextattribute.cxx | 11 ++++++
svx/source/sdr/attribute/sdrtextattribute.cxx | 11 ++++++
svx/source/xoutdev/_xpoly.cxx | 22 +++++++++++++
tools/source/generic/fract.cxx | 10 ++++++
tools/source/ref/globname.cxx | 6 +++
ucbhelper/source/client/content.cxx | 9 +++++
vcl/source/font/font.cxx | 10 ++++++
vcl/source/gdi/gradient.cxx | 11 ++++++
vcl/source/gdi/lineinfo.cxx | 10 ++++++
vcl/source/gdi/wall.cxx | 11 ++++++
vcl/source/image/ImageList.cxx | 17 ++++++++++
39 files changed, 328 insertions(+), 16 deletions(-)
New commits:
commit 7577ce1b1dc34f0b4a3264938cc5fe5e71670291
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:38:52 2016 +0200
cid#1371168 Missing move assignment operator
Change-Id: I986b94df4aa8158f3e0623ab6cb392c178a820ce
diff --git a/include/vcl/font.hxx b/include/vcl/font.hxx
index 5c24f8a..9e0a637 100644
--- a/include/vcl/font.hxx
+++ b/include/vcl/font.hxx
@@ -47,6 +47,7 @@ class VCL_DLLPUBLIC Font
public:
explicit Font();
Font( const Font& ); // TODO make me explicit
+ Font( Font&& );
explicit Font( const OUString& rFamilyName, const Size& );
explicit Font( const OUString& rFamilyName, const OUString& rStyleName, const Size& );
explicit Font( FontFamily eFamily, const Size& );
@@ -159,6 +160,7 @@ public:
void GetFontAttributes( FontAttributes& rAttrs ) const;
Font& operator=( const Font& );
+ Font& operator=( Font&& );
bool operator==( const Font& ) const;
bool operator!=( const Font& rFont ) const
{ return !(Font::operator==( rFont )); }
diff --git a/vcl/source/font/font.cxx b/vcl/source/font/font.cxx
index e6b2682..c608faf 100644
--- a/vcl/source/font/font.cxx
+++ b/vcl/source/font/font.cxx
@@ -52,6 +52,10 @@ Font::Font( const vcl::Font& rFont ) : mpImplFont( rFont.mpImplFont )
{
}
+Font::Font( vcl::Font&& rFont ) : mpImplFont( std::move(rFont.mpImplFont) )
+{
+}
+
Font::Font( const OUString& rFamilyName, const Size& rSize ) : mpImplFont()
{
mpImplFont->SetFamilyName( rFamilyName );
@@ -282,6 +286,12 @@ Font& Font::operator=( const vcl::Font& rFont )
return *this;
}
+Font& Font::operator=( vcl::Font&& rFont )
+{
+ mpImplFont = std::move(rFont.mpImplFont);
+ return *this;
+}
+
bool Font::operator==( const vcl::Font& rFont ) const
{
return mpImplFont == rFont.mpImplFont;
commit ae23dca9847e7f456d39ae8e71b433531eba1eb3
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:33:59 2016 +0200
cid#1371235 Missing move assignment operator
Change-Id: If5fc8d783211a131711b5961d6b076c24dd64412
diff --git a/include/vcl/gradient.hxx b/include/vcl/gradient.hxx
index 6ebff6d..6563b51a 100644
--- a/include/vcl/gradient.hxx
+++ b/include/vcl/gradient.hxx
@@ -61,6 +61,7 @@ private:
public:
Gradient();
Gradient( const Gradient& rGradient );
+ Gradient( Gradient&& rGradient );
Gradient( GradientStyle eStyle,
const Color& rStartColor,
const Color& rEndColor );
@@ -95,6 +96,7 @@ public:
void GetBoundRect( const Rectangle& rRect, Rectangle &rBoundRect, Point& rCenter ) const;
Gradient& operator=( const Gradient& rGradient );
+ Gradient& operator=( Gradient&& rGradient );
bool operator==( const Gradient& rGradient ) const;
bool operator!=( const Gradient& rGradient ) const
{ return !(Gradient::operator==( rGradient )); }
diff --git a/vcl/source/gdi/gradient.cxx b/vcl/source/gdi/gradient.cxx
index 878b6d9..2c7170e 100644
--- a/vcl/source/gdi/gradient.cxx
+++ b/vcl/source/gdi/gradient.cxx
@@ -77,6 +77,11 @@ Gradient::Gradient( const Gradient& rGradient ) :
{
}
+Gradient::Gradient( Gradient&& rGradient ) :
+ mpImplGradient( std::move(rGradient.mpImplGradient) )
+{
+}
+
Gradient::Gradient( GradientStyle eStyle,
const Color& rStartColor, const Color& rEndColor ) :
mpImplGradient()
@@ -225,6 +230,12 @@ Gradient& Gradient::operator=( const Gradient& rGradient )
return *this;
}
+Gradient& Gradient::operator=( Gradient&& rGradient )
+{
+ mpImplGradient = std::move(rGradient.mpImplGradient);
+ return *this;
+}
+
bool Gradient::operator==( const Gradient& rGradient ) const
{
return mpImplGradient == rGradient.mpImplGradient;
commit 529cfa4a16c79600f6ac09811d027134055a8c0c
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:30:49 2016 +0200
cid#1371170 Missing move assignment operator
Change-Id: Iaf02d5bd3090190b6b9ad15a884d3f0444983297
diff --git a/include/vcl/image.hxx b/include/vcl/image.hxx
index 697dacc..910bb02 100644
--- a/include/vcl/image.hxx
+++ b/include/vcl/image.hxx
@@ -82,6 +82,7 @@ public:
ImageList( const std::vector<OUString>& rNameVector,
const OUString& rPrefix);
ImageList( const ImageList& rImageList );
+ ImageList( ImageList&& rImageList );
~ImageList();
void InsertFromHorizontalStrip( const BitmapEx &rBitmapEx,
@@ -93,7 +94,7 @@ public:
const Color *pReplaceColors = nullptr,
sal_uLong nColorCount = 0);
BitmapEx GetAsHorizontalStrip() const;
- sal_uInt16 GetImageCount() const;
+ sal_uInt16 GetImageCount() const;
Size GetImageSize() const;
void AddImage( const OUString& rImageName, const Image& rImage );
@@ -105,16 +106,17 @@ public:
Image GetImage( sal_uInt16 nId ) const;
Image GetImage( const OUString& rImageName ) const;
- sal_uInt16 GetImagePos( sal_uInt16 nId ) const;
+ sal_uInt16 GetImagePos( sal_uInt16 nId ) const;
bool HasImageAtPos( sal_uInt16 nId ) const;
- sal_uInt16 GetImagePos( const OUString& rImageName ) const;
+ sal_uInt16 GetImagePos( const OUString& rImageName ) const;
- sal_uInt16 GetImageId( sal_uInt16 nPos ) const;
+ sal_uInt16 GetImageId( sal_uInt16 nPos ) const;
- OUString GetImageName( sal_uInt16 nPos ) const;
+ OUString GetImageName( sal_uInt16 nPos ) const;
void GetImageNames( ::std::vector< OUString >& rNames ) const;
ImageList& operator=( const ImageList& rImageList );
+ ImageList& operator=( ImageList&& rImageList );
bool operator==( const ImageList& rImageList ) const;
bool operator!=( const ImageList& rImageList ) const { return !(ImageList::operator==( rImageList )); }
diff --git a/vcl/source/image/ImageList.cxx b/vcl/source/image/ImageList.cxx
index 07182af..dfbf751 100644
--- a/vcl/source/image/ImageList.cxx
+++ b/vcl/source/image/ImageList.cxx
@@ -109,6 +109,12 @@ ImageList::ImageList( const ImageList& rImageList ) :
++mpImplData->mnRefCount;
}
+ImageList::ImageList( ImageList&& rImageList ) :
+ mpImplData( rImageList.mpImplData )
+{
+ rImageList.mpImplData = nullptr;
+}
+
ImageList::~ImageList()
{
if( mpImplData && ( 0 == --mpImplData->mnRefCount ) )
@@ -435,6 +441,17 @@ ImageList& ImageList::operator=( const ImageList& rImageList )
return *this;
}
+ImageList& ImageList::operator=( ImageList&& rImageList )
+{
+ if( mpImplData && ( 0 == --mpImplData->mnRefCount ) )
+ delete mpImplData;
+
+ mpImplData = rImageList.mpImplData;
+ rImageList.mpImplData = nullptr;
+
+ return *this;
+}
+
bool ImageList::operator==( const ImageList& rImageList ) const
{
commit e2c309adf59e21b187e050a5fe17df91d7d57f8f
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:27:26 2016 +0200
cid#1371176 Missing move assignment operator
Change-Id: I57df53df6933e1945fabc0e4a7f0e1c5815aeaca
diff --git a/include/vcl/lineinfo.hxx b/include/vcl/lineinfo.hxx
index e5d8fc9..e36c1c0 100644
--- a/include/vcl/lineinfo.hxx
+++ b/include/vcl/lineinfo.hxx
@@ -55,9 +55,11 @@ class VCL_DLLPUBLIC LineInfo
public:
LineInfo( LineStyle eLineStyle = LINE_SOLID, long nWidth = 0L );
LineInfo( const LineInfo& rLineInfo );
+ LineInfo( LineInfo&& rLineInfo );
~LineInfo();
LineInfo& operator=( const LineInfo& rLineInfo );
+ LineInfo& operator=( LineInfo&& rLineInfo );
bool operator==( const LineInfo& rLineInfo ) const;
bool operator!=( const LineInfo& rLineInfo ) const { return !(LineInfo::operator==( rLineInfo ) ); }
diff --git a/vcl/source/gdi/lineinfo.cxx b/vcl/source/gdi/lineinfo.cxx
index 2b71a28..608ce4d 100644
--- a/vcl/source/gdi/lineinfo.cxx
+++ b/vcl/source/gdi/lineinfo.cxx
@@ -77,6 +77,10 @@ LineInfo::LineInfo( const LineInfo& rLineInfo ) : mpImplLineInfo(rLineInfo.mpImp
{
}
+LineInfo::LineInfo( LineInfo&& rLineInfo ) : mpImplLineInfo(std::move(rLineInfo.mpImplLineInfo))
+{
+}
+
LineInfo::~LineInfo()
{
}
@@ -87,6 +91,12 @@ LineInfo& LineInfo::operator=( const LineInfo& rLineInfo )
return *this;
}
+LineInfo& LineInfo::operator=( LineInfo&& rLineInfo )
+{
+ mpImplLineInfo = std::move(rLineInfo.mpImplLineInfo);
+ return *this;
+}
+
bool LineInfo::operator==( const LineInfo& rLineInfo ) const
{
return mpImplLineInfo == rLineInfo.mpImplLineInfo;
commit c455eb45aa2ff3cfd882c928f04d679fd68f073d
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:23:02 2016 +0200
cid#1371144 Missing move assignment operator
Change-Id: Ice8c22324700d51b86696fc3df140bb9f84973cb
diff --git a/include/vcl/wall.hxx b/include/vcl/wall.hxx
index 282a1db..bfcd72f 100644
--- a/include/vcl/wall.hxx
+++ b/include/vcl/wall.hxx
@@ -64,6 +64,7 @@ private:
public:
Wallpaper();
Wallpaper( const Wallpaper& rWallpaper );
+ Wallpaper( Wallpaper&& rWallpaper );
Wallpaper( const Color& rColor );
explicit Wallpaper( const BitmapEx& rBmpEx );
Wallpaper( const Gradient& rGradient );
@@ -91,6 +92,7 @@ public:
bool IsScrollable() const;
Wallpaper& operator=( const Wallpaper& rWallpaper );
+ Wallpaper& operator=( Wallpaper&& rWallpaper );
bool operator==( const Wallpaper& rWallpaper ) const;
bool operator!=( const Wallpaper& rWallpaper ) const
{ return !(Wallpaper::operator==( rWallpaper )); }
diff --git a/vcl/source/gdi/wall.cxx b/vcl/source/gdi/wall.cxx
index 26b3448..8d336b2 100644
--- a/vcl/source/gdi/wall.cxx
+++ b/vcl/source/gdi/wall.cxx
@@ -178,6 +178,11 @@ Wallpaper::Wallpaper( const Wallpaper& rWallpaper )
{
}
+Wallpaper::Wallpaper( Wallpaper&& rWallpaper )
+ : mpImplWallpaper( std::move(rWallpaper.mpImplWallpaper) )
+{
+}
+
Wallpaper::Wallpaper( const Color& rColor ) : mpImplWallpaper()
{
mpImplWallpaper->maColor = rColor;
@@ -396,6 +401,12 @@ Wallpaper& Wallpaper::operator=( const Wallpaper& rWallpaper )
return *this;
}
+Wallpaper& Wallpaper::operator=( Wallpaper&& rWallpaper )
+{
+ mpImplWallpaper = std::move(rWallpaper.mpImplWallpaper);
+ return *this;
+}
+
bool Wallpaper::operator==( const Wallpaper& rWallpaper ) const
{
return mpImplWallpaper == rWallpaper.mpImplWallpaper;
commit 3c127bc71d04167a731c4b58c77104e59d42dad7
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:16:51 2016 +0200
cid#1371163 Missing move assignment operator
Change-Id: Ie050cfae965adf7bc43c91f366904cf6876783c0
diff --git a/include/ucbhelper/content.hxx b/include/ucbhelper/content.hxx
index d407c6c..2d1eb03 100644
--- a/include/ucbhelper/content.hxx
+++ b/include/ucbhelper/content.hxx
@@ -145,6 +145,11 @@ public:
Content( const Content& rOther );
/**
+ * Move constructor.
+ */
+ Content( Content&& rOther );
+
+ /**
* Destructor.
*/
~Content();
@@ -157,6 +162,11 @@ public:
Content& operator=( const Content& rOther );
/**
+ * Move assignment operator.
+ */
+ Content& operator=( Content&& rOther );
+
+ /**
* Constructor. This method should be used, if the exception thrown
* by the direct ctors of this class are to 'expensive' for your
* application
diff --git a/ucbhelper/source/client/content.cxx b/ucbhelper/source/client/content.cxx
index 080e9e5..82af44c 100644
--- a/ucbhelper/source/client/content.cxx
+++ b/ucbhelper/source/client/content.cxx
@@ -337,6 +337,10 @@ Content::Content( const Content& rOther )
m_xImpl = rOther.m_xImpl;
}
+Content::Content( Content&& rOther )
+{
+ m_xImpl = std::move(rOther.m_xImpl);
+}
// static
bool Content::create( const OUString& rURL,
@@ -374,6 +378,11 @@ Content& Content::operator=( const Content& rOther )
return *this;
}
+Content& Content::operator=( Content&& rOther )
+{
+ m_xImpl = std::move(rOther.m_xImpl);
+ return *this;
+}
Reference< XContent > Content::get() const
{
commit 74fbfde33205e0af1c44fbbe47963c827c7efedc
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:13:34 2016 +0200
cid#1371173 Missing move assignment operator
Change-Id: Idf179403426d9714fa73d0c3370a6debc30a0431
diff --git a/include/tools/weakbase.h b/include/tools/weakbase.h
index aba255e..f8c7428 100644
--- a/include/tools/weakbase.h
+++ b/include/tools/weakbase.h
@@ -78,9 +78,12 @@ public:
/** constructs a reference with a pointer to a class derived from WeakBase */
inline WeakReference( reference_type* pReference );
- /** constructs a reference with another reference */
+ /** constructs a reference from another reference */
inline WeakReference( const WeakReference< reference_type >& rWeakRef );
+ /** constructs a reference from another reference */
+ inline WeakReference( WeakReference< reference_type >&& rWeakRef );
+
inline ~WeakReference();
/** returns true if the reference object is not null and still alive */
@@ -113,6 +116,9 @@ public:
/** the assignment operator */
inline WeakReference<reference_type>& operator= (const WeakReference<reference_type> & handle);
+ /** the move assignment operator */
+ inline WeakReference<reference_type>& operator= (WeakReference<reference_type> && handle);
+
private:
rtl::Reference<WeakConnection< reference_type >> mpWeakConnection;
};
diff --git a/include/tools/weakbase.hxx b/include/tools/weakbase.hxx
index bdbcded..7b693cc 100644
--- a/include/tools/weakbase.hxx
+++ b/include/tools/weakbase.hxx
@@ -49,6 +49,12 @@ inline WeakReference< reference_type >::WeakReference( const WeakReference< refe
}
template< class reference_type >
+inline WeakReference< reference_type >::WeakReference( WeakReference< reference_type >&& rWeakRef )
+{
+ mpWeakConnection = std::move(rWeakRef.mpWeakConnection);
+}
+
+template< class reference_type >
inline WeakReference< reference_type >::~WeakReference()
{
}
@@ -123,6 +129,14 @@ inline WeakReference<reference_type>& WeakReference<reference_type>::operator= (
}
template< class reference_type >
+inline WeakReference<reference_type>& WeakReference<reference_type>::operator= (
+ WeakReference<reference_type>&& rReference)
+{
+ mpWeakConnection = std::move(rReference.mpWeakConnection);
+ return *this;
+}
+
+template< class reference_type >
inline WeakBase< reference_type >::WeakBase()
{
}
commit 4e07987ce8134312920682e3481c3f8e3d7b66c3
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:08:55 2016 +0200
cid#1371154 Missing move assignment operator
Change-Id: If434a0ee5c97018777646c96f52ddded46ce0337
diff --git a/include/tools/ref.hxx b/include/tools/ref.hxx
index f9c2c38..170e53a 100644
--- a/include/tools/ref.hxx
+++ b/include/tools/ref.hxx
@@ -78,6 +78,16 @@ public:
return *this;
}
+ SvRef & operator =(SvRef && rObj)
+ {
+ if (pObj != nullptr) {
+ pObj->ReleaseRef();
+ }
+ pObj = rObj.pObj;
+ rObj.pObj = nullptr;
+ return *this;
+ }
+
bool Is() const { return pObj != nullptr; }
T * get() const { return pObj; }
commit 8ae8e5d12eea6c3416674b4ce83a29fa3e6f99b4
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:04:15 2016 +0200
cid#1371171 Missing move assignment operator
Change-Id: I3150428f130823cdb1584e30c54f5591896214cf
diff --git a/include/tools/globname.hxx b/include/tools/globname.hxx
index 42928a8..76bcef1 100644
--- a/include/tools/globname.hxx
+++ b/include/tools/globname.hxx
@@ -62,6 +62,10 @@ public:
pImp( rObj.pImp )
{
}
+ SvGlobalName( SvGlobalName && rObj ) :
+ pImp( std::move(rObj.pImp) )
+ {
+ }
SvGlobalName( sal_uInt32 n1, sal_uInt16 n2, sal_uInt16 n3,
sal_uInt8 b8, sal_uInt8 b9, sal_uInt8 b10, sal_uInt8 b11,
@@ -73,6 +77,7 @@ public:
SvGlobalName( const SvGUID & rId );
SvGlobalName & operator = ( const SvGlobalName & rObj );
+ SvGlobalName & operator = ( SvGlobalName && rObj );
~SvGlobalName();
TOOLS_DLLPUBLIC friend SvStream & operator >> ( SvStream &, SvGlobalName & );
diff --git a/tools/source/ref/globname.cxx b/tools/source/ref/globname.cxx
index f92a9f2..67bbf7e 100644
--- a/tools/source/ref/globname.cxx
+++ b/tools/source/ref/globname.cxx
@@ -106,6 +106,12 @@ SvGlobalName & SvGlobalName::operator = ( const SvGlobalName & rObj )
return *this;
}
+SvGlobalName & SvGlobalName::operator = ( SvGlobalName && rObj )
+{
+ pImp = std::move(rObj.pImp);
+ return *this;
+}
+
SvStream& WriteSvGlobalName( SvStream& rOStr, const SvGlobalName & rObj )
{
rOStr.WriteUInt32( rObj.pImp->szData.Data1 );
commit 0157009f2293a255e2de682832ef9074924dd4b5
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 15:02:47 2016 +0200
cid#1371160 Missing move assignment operator
Change-Id: Ifcddd08cd1ec6bfb7679ee0433524c4bd68803dd
diff --git a/include/tools/fract.hxx b/include/tools/fract.hxx
index 65110d2..35790a9 100644
--- a/include/tools/fract.hxx
+++ b/include/tools/fract.hxx
@@ -38,6 +38,7 @@ class SAL_WARN_UNUSED TOOLS_DLLPUBLIC Fraction
public:
Fraction();
Fraction( const Fraction & rFrac );
+ Fraction( Fraction && rFrac );
Fraction( long nNum, long nDen=1 );
Fraction( double dVal );
~Fraction();
@@ -51,6 +52,7 @@ public:
operator double() const;
Fraction& operator=( const Fraction& rfrFrac );
+ Fraction& operator=( Fraction&& rfrFrac );
Fraction& operator+=( const Fraction& rfrFrac );
Fraction& operator-=( const Fraction& rfrFrac );
diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx
index 2a7ad54..c79b24b 100644
--- a/tools/source/generic/fract.cxx
+++ b/tools/source/generic/fract.cxx
@@ -62,6 +62,10 @@ Fraction::Fraction( const Fraction& rFrac ) : mpImpl(new Impl)
mpImpl->value.assign( rFrac.mpImpl->value.numerator(), rFrac.mpImpl->value.denominator() );
}
+Fraction::Fraction( Fraction&& rFrac ) : mpImpl(std::move(rFrac.mpImpl))
+{
+}
+
// Initialized by setting nNum as nominator and nDen as denominator
// Negative values in the denominator are invalid and cause the
// inversion of both nominator and denominator signs
@@ -271,6 +275,12 @@ Fraction& Fraction::operator=( const Fraction& rFrac )
return *this;
}
+Fraction& Fraction::operator=( Fraction&& rFrac )
+{
+ mpImpl = std::move(rFrac.mpImpl);
+ return *this;
+}
+
bool Fraction::IsValid() const
{
return mpImpl->valid;
commit 05eed2888c8e33257137536453a84f4c458dd249
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:58:59 2016 +0200
cid#1371253 Missing move assignment operator
Change-Id: Ic95894569380927da5dbd9aba4844f17bbbf25f6
diff --git a/include/svx/xpoly.hxx b/include/svx/xpoly.hxx
index dc607df..07e2f5b 100644
--- a/include/svx/xpoly.hxx
+++ b/include/svx/xpoly.hxx
@@ -126,6 +126,7 @@ protected:
public:
XPolyPolygon();
XPolyPolygon( const XPolyPolygon& rXPolyPoly );
+ XPolyPolygon( XPolyPolygon&& rXPolyPoly );
~XPolyPolygon();
@@ -144,6 +145,7 @@ public:
XPolygon& operator[]( sal_uInt16 nPos );
XPolyPolygon& operator=( const XPolyPolygon& rXPolyPoly );
+ XPolyPolygon& operator=( XPolyPolygon&& rXPolyPoly );
// transformations
void Distort(const Rectangle& rRefRect, const XPolygon& rDistortedRect);
diff --git a/svx/source/xoutdev/_xpoly.cxx b/svx/source/xoutdev/_xpoly.cxx
index cf78c7b..d2410a4 100644
--- a/svx/source/xoutdev/_xpoly.cxx
+++ b/svx/source/xoutdev/_xpoly.cxx
@@ -885,6 +885,11 @@ XPolyPolygon::XPolyPolygon( const XPolyPolygon& rXPolyPoly )
{
}
+XPolyPolygon::XPolyPolygon( XPolyPolygon&& rXPolyPoly )
+ : pImpXPolyPolygon( std::move(rXPolyPoly.pImpXPolyPolygon) )
+{
+}
+
XPolyPolygon::XPolyPolygon(const basegfx::B2DPolyPolygon& rPolyPolygon)
: pImpXPolyPolygon()
{
@@ -970,6 +975,12 @@ XPolyPolygon& XPolyPolygon::operator=( const XPolyPolygon& rXPolyPoly )
return *this;
}
+XPolyPolygon& XPolyPolygon::operator=( XPolyPolygon&& rXPolyPoly )
+{
+ pImpXPolyPolygon = std::move(rXPolyPoly.pImpXPolyPolygon);
+ return *this;
+}
+
/**
* Distort a polygon by scaling its coordinates relative to a reference
* rectangle into an arbitrary rectangle.
commit e0ecd9b536ea60038795be31386f5d2785cb4d4e
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:55:06 2016 +0200
cid#1371241 Missing move assignment operator
Change-Id: Ic914ac2ed5fb48cf340f2e54d074ee64e202225e
diff --git a/include/svx/xpoly.hxx b/include/svx/xpoly.hxx
index 2a5cba5..dc607df 100644
--- a/include/svx/xpoly.hxx
+++ b/include/svx/xpoly.hxx
@@ -63,6 +63,7 @@ protected:
public:
XPolygon( sal_uInt16 nSize=16, sal_uInt16 nResize=16 );
XPolygon( const XPolygon& rXPoly );
+ XPolygon( XPolygon&& rXPoly );
XPolygon( const tools::Polygon& rPoly );
XPolygon( const Rectangle& rRect, long nRx = 0, long nRy = 0 );
XPolygon( const Point& rCenter, long nRx, long nRy,
@@ -85,6 +86,7 @@ public:
const Point& operator[]( sal_uInt16 nPos ) const;
Point& operator[]( sal_uInt16 nPos );
XPolygon& operator=( const XPolygon& rXPoly );
+ XPolygon& operator=( XPolygon&& rXPoly );
bool operator==( const XPolygon& rXPoly ) const;
XPolyFlags GetFlags( sal_uInt16 nPos ) const;
diff --git a/svx/source/xoutdev/_xpoly.cxx b/svx/source/xoutdev/_xpoly.cxx
index a51233d..cf78c7b 100644
--- a/svx/source/xoutdev/_xpoly.cxx
+++ b/svx/source/xoutdev/_xpoly.cxx
@@ -212,6 +212,11 @@ XPolygon::XPolygon( const XPolygon& rXPoly )
{
}
+XPolygon::XPolygon( XPolygon&& rXPoly )
+ : pImpXPolygon(std::move(rXPoly.pImpXPolygon))
+{
+}
+
/// create a XPolygon out of a standard polygon
XPolygon::XPolygon( const tools::Polygon& rPoly )
: pImpXPolygon( rPoly.GetSize() )
@@ -453,6 +458,12 @@ XPolygon& XPolygon::operator=( const XPolygon& rXPoly )
return *this;
}
+XPolygon& XPolygon::operator=( XPolygon&& rXPoly )
+{
+ pImpXPolygon = std::move(rXPoly.pImpXPolygon);
+ return *this;
+}
+
bool XPolygon::operator==( const XPolygon& rXPoly ) const
{
pImpXPolygon->CheckPointDelete();
commit ab0eecc0be4671c984dedf5a4941febcd5dec589
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:52:33 2016 +0200
cid#1371256 Missing move assignment operator
Change-Id: Idf50c8f56e1d409fbd1306ee0fec20360bf99c86
diff --git a/include/svx/sdr/attribute/sdrtextattribute.hxx b/include/svx/sdr/attribute/sdrtextattribute.hxx
index efcb952..8aaaaf0 100644
--- a/include/svx/sdr/attribute/sdrtextattribute.hxx
+++ b/include/svx/sdr/attribute/sdrtextattribute.hxx
@@ -80,7 +80,9 @@ namespace drawinglayer
SdrTextAttribute();
SdrTextAttribute(const SdrTextAttribute& rCandidate);
+ SdrTextAttribute(SdrTextAttribute&& rCandidate);
SdrTextAttribute& operator=(const SdrTextAttribute& rCandidate);
+ SdrTextAttribute& operator=(SdrTextAttribute&& rCandidate);
~SdrTextAttribute();
// checks if the incarnation is default constructed
diff --git a/svx/source/sdr/attribute/sdrtextattribute.cxx b/svx/source/sdr/attribute/sdrtextattribute.cxx
index 76f4751..7b9c5da 100644
--- a/svx/source/sdr/attribute/sdrtextattribute.cxx
+++ b/svx/source/sdr/attribute/sdrtextattribute.cxx
@@ -282,6 +282,11 @@ namespace drawinglayer
{
}
+ SdrTextAttribute::SdrTextAttribute(SdrTextAttribute&& rCandidate)
+ : mpSdrTextAttribute(std::move(rCandidate.mpSdrTextAttribute))
+ {
+ }
+
SdrTextAttribute::~SdrTextAttribute()
{
}
@@ -297,6 +302,12 @@ namespace drawinglayer
return *this;
}
+ SdrTextAttribute& SdrTextAttribute::operator=(SdrTextAttribute&& rCandidate)
+ {
+ mpSdrTextAttribute = std::move(rCandidate.mpSdrTextAttribute);
+ return *this;
+ }
+
bool SdrTextAttribute::operator==(const SdrTextAttribute& rCandidate) const
{
// tdf#87509 default attr is always != non-default attr, even with same values
commit 68697779cbe7fe3268e9cdb553688228c1efb97b
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:50:47 2016 +0200
cid#1371188 Missing move assignment operator
Change-Id: I775db6b3c9db0847184f12fad778a1fc3fcd92eb
diff --git a/include/svx/sdr/attribute/sdrformtextattribute.hxx b/include/svx/sdr/attribute/sdrformtextattribute.hxx
index 20150dc..b5e49bc 100644
--- a/include/svx/sdr/attribute/sdrformtextattribute.hxx
+++ b/include/svx/sdr/attribute/sdrformtextattribute.hxx
@@ -52,7 +52,9 @@ namespace drawinglayer
SdrFormTextAttribute(const SfxItemSet& rSet);
SdrFormTextAttribute();
SdrFormTextAttribute(const SdrFormTextAttribute& rCandidate);
+ SdrFormTextAttribute(SdrFormTextAttribute&& rCandidate);
SdrFormTextAttribute& operator=(const SdrFormTextAttribute& rCandidate);
+ SdrFormTextAttribute& operator=(SdrFormTextAttribute&& rCandidate);
~SdrFormTextAttribute();
// checks if the incarnation is default constructed
diff --git a/svx/source/sdr/attribute/sdrformtextattribute.cxx b/svx/source/sdr/attribute/sdrformtextattribute.cxx
index b960efe..2f245f1 100644
--- a/svx/source/sdr/attribute/sdrformtextattribute.cxx
+++ b/svx/source/sdr/attribute/sdrformtextattribute.cxx
@@ -279,6 +279,11 @@ namespace drawinglayer
{
}
+ SdrFormTextAttribute::SdrFormTextAttribute(SdrFormTextAttribute&& rCandidate)
+ : mpSdrFormTextAttribute(std::move(rCandidate.mpSdrFormTextAttribute))
+ {
+ }
+
SdrFormTextAttribute::~SdrFormTextAttribute()
{
}
@@ -294,6 +299,12 @@ namespace drawinglayer
return *this;
}
+ SdrFormTextAttribute& SdrFormTextAttribute::operator=(SdrFormTextAttribute&& rCandidate)
+ {
+ mpSdrFormTextAttribute = std::move(rCandidate.mpSdrFormTextAttribute);
+ return *this;
+ }
+
bool SdrFormTextAttribute::operator==(const SdrFormTextAttribute& rCandidate) const
{
// tdf#87509 default attr is always != non-default attr, even with same values
commit 8898f0e128d10b135a7388ec113b35949f326811
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:48:25 2016 +0200
cid#1371206 Missing move assignment operator
Change-Id: Ide97adea0bc0611dac676df923796d031d6752e5
diff --git a/include/svx/dataaccessdescriptor.hxx b/include/svx/dataaccessdescriptor.hxx
index 802e58c..9449d8f 100644
--- a/include/svx/dataaccessdescriptor.hxx
+++ b/include/svx/dataaccessdescriptor.hxx
@@ -64,6 +64,7 @@ namespace svx
public:
ODataAccessDescriptor();
ODataAccessDescriptor( const ODataAccessDescriptor& _rSource );
+ ODataAccessDescriptor( ODataAccessDescriptor&& _rSource );
ODataAccessDescriptor( const css::uno::Reference< css::beans::XPropertySet >& _rValues );
ODataAccessDescriptor( const css::uno::Sequence< css::beans::PropertyValue >& _rValues );
@@ -71,6 +72,7 @@ namespace svx
ODataAccessDescriptor( const css::uno::Any& _rValues );
ODataAccessDescriptor& operator=(const ODataAccessDescriptor& _rSource);
+ ODataAccessDescriptor& operator=(ODataAccessDescriptor&& _rSource);
~ODataAccessDescriptor();
diff --git a/svx/source/form/dataaccessdescriptor.cxx b/svx/source/form/dataaccessdescriptor.cxx
index 3e6a613..3004f30 100644
--- a/svx/source/form/dataaccessdescriptor.cxx
+++ b/svx/source/form/dataaccessdescriptor.cxx
@@ -270,12 +270,23 @@ namespace svx
{
}
+ ODataAccessDescriptor::ODataAccessDescriptor( ODataAccessDescriptor&& _rSource )
+ :m_pImpl(std::move(_rSource.m_pImpl))
+ {
+ }
+
ODataAccessDescriptor& ODataAccessDescriptor::operator=(const ODataAccessDescriptor& _rSource)
{
m_pImpl.reset(new ODADescriptorImpl(*_rSource.m_pImpl));
return *this;
}
+ ODataAccessDescriptor& ODataAccessDescriptor::operator=(ODataAccessDescriptor&& _rSource)
+ {
+ m_pImpl = std::move(_rSource.m_pImpl);
+ return *this;
+ }
+
ODataAccessDescriptor::ODataAccessDescriptor( const Reference< XPropertySet >& _rValues )
:m_pImpl(new ODADescriptorImpl)
{
commit 2b8c88b475455d2f4e66f8a632d96f42d1e223ca
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:44:08 2016 +0200
cid#1371226 Missing move assignment operator
Change-Id: I915b24d8f546f156b85ad18ad0418903fa3ce1ba
diff --git a/include/svl/sharedstring.hxx b/include/svl/sharedstring.hxx
index 1693c63..5e757f7 100644
--- a/include/svl/sharedstring.hxx
+++ b/include/svl/sharedstring.hxx
@@ -27,9 +27,11 @@ public:
SharedString( rtl_uString* pData, rtl_uString* pDataIgnoreCase );
explicit SharedString( const OUString& rStr );
SharedString( const SharedString& r );
+ SharedString( SharedString&& r );
~SharedString();
SharedString& operator= ( const SharedString& r );
+ SharedString& operator= ( SharedString&& r );
bool operator== ( const SharedString& r ) const;
bool operator!= ( const SharedString& r ) const;
diff --git a/svl/source/misc/sharedstring.cxx b/svl/source/misc/sharedstring.cxx
index b81f8fc..9235783 100644
--- a/svl/source/misc/sharedstring.cxx
+++ b/svl/source/misc/sharedstring.cxx
@@ -44,6 +44,12 @@ SharedString::SharedString( const SharedString& r ) : mpData(r.mpData), mpDataIg
rtl_uString_acquire(mpDataIgnoreCase);
}
+SharedString::SharedString( SharedString&& r ) : mpData(r.mpData), mpDataIgnoreCase(r.mpDataIgnoreCase)
+{
+ r.mpData = nullptr;
+ r.mpDataIgnoreCase = nullptr;
+}
+
SharedString::~SharedString()
{
if (mpData)
@@ -70,6 +76,22 @@ SharedString& SharedString::operator= ( const SharedString& r )
return *this;
}
+SharedString& SharedString::operator= ( SharedString&& r )
+{
+ if (mpData)
+ rtl_uString_release(mpData);
+ if (mpDataIgnoreCase)
+ rtl_uString_release(mpDataIgnoreCase);
+
+ mpData = r.mpData;
+ mpDataIgnoreCase = r.mpDataIgnoreCase;
+
+ r.mpData = nullptr;
+ r.mpDataIgnoreCase = nullptr;
+
+ return *this;
+}
+
bool SharedString::operator== ( const SharedString& r ) const
{
// Only compare case sensitive strings.
commit 6380dde50f2f7c2e93c3ef3a1c88254cd3760d7f
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:40:21 2016 +0200
cid#1371209 Missing move assignment operator
Change-Id: Ib383d2a12ac13a78f4ecf6817379ebbe0dc83194
diff --git a/include/store/store.hxx b/include/store/store.hxx
index 1aa19b5..672b219 100644
--- a/include/store/store.hxx
+++ b/include/store/store.hxx
@@ -156,6 +156,14 @@ public:
(void) store_acquireHandle (m_hImpl);
}
+ /** Move construction.
+ */
+ inline OStoreDirectory (OStoreDirectory && rhs)
+ : m_hImpl (rhs.m_hImpl)
+ {
+ rhs.m_hImpl = nullptr;
+ }
+
/** Assignment.
*/
inline OStoreDirectory & operator= (OStoreDirectory const & rhs)
@@ -168,6 +176,17 @@ public:
return *this;
}
+ /** Move assignment.
+ */
+ inline OStoreDirectory & operator= (OStoreDirectory && rhs)
+ {
+ if (m_hImpl)
+ (void) store_releaseHandle (m_hImpl);
+ m_hImpl = rhs.m_hImpl;
+ rhs.m_hImpl = nullptr;
+ return *this;
+ }
+
/** Open the directory.
@see store_openDirectory()
*/
commit 82ca8bf77c7ea4ea9f5604235cbab012532e4494
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:33:32 2016 +0200
make the SfxObjectShellLock inline code a little more readable
Change-Id: Ia312f3bf588c7987ee6956ab2675e73b7d9db6a4
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
index 5a145df..e969772 100644
--- a/include/sfx2/objsh.hxx
+++ b/include/sfx2/objsh.hxx
@@ -760,16 +760,24 @@ public:
inline ~SfxObjectShellLock();
inline SfxObjectShellLock & operator = ( const SfxObjectShellLock & rObj );
inline SfxObjectShellLock & operator = ( SfxObjectShell * pObj );
- inline bool Is() const { return pObj != nullptr; }
+ inline bool Is() const { return pObj != nullptr; }
inline SfxObjectShell * operator & () const { return pObj; }
inline SfxObjectShell * operator -> () const { return pObj; }
inline SfxObjectShell & operator * () const { return *pObj; }
inline operator SfxObjectShell * () const { return pObj; }
};
inline SfxObjectShellLock::SfxObjectShellLock( const SfxObjectShellLock & rObj )
- { pObj = rObj.pObj; if( pObj ) { pObj->OwnerLock( true ); } }
+{
+ pObj = rObj.pObj;
+ if( pObj )
+ pObj->OwnerLock( true );
+}
inline SfxObjectShellLock::SfxObjectShellLock( SfxObjectShell * pObjP )
-{ pObj = pObjP; if( pObj ) { pObj->OwnerLock( true ); } }
+{
+ pObj = pObjP;
+ if( pObj )
+ pObj->OwnerLock( true );
+}
inline void SfxObjectShellLock::Clear()
{
if( pObj )
@@ -780,18 +788,24 @@ inline void SfxObjectShellLock::Clear()
}
}
inline SfxObjectShellLock::~SfxObjectShellLock()
-{ if( pObj ) { pObj->OwnerLock( false ); } }
-inline SfxObjectShellLock & SfxObjectShellLock::
- operator = ( const SfxObjectShellLock & rObj )
{
- if( rObj.pObj ) rObj.pObj->OwnerLock( true );
+ if( pObj )
+ pObj->OwnerLock( false );
+}
+inline SfxObjectShellLock & SfxObjectShellLock::operator=( const SfxObjectShellLock & rObj )
+{
+ if( rObj.pObj )
+ rObj.pObj->OwnerLock( true );
SfxObjectShell* const pRefObj = pObj;
pObj = rObj.pObj;
- if( pRefObj ) { pRefObj->OwnerLock( false ); }
+ if( pRefObj )
+ pRefObj->OwnerLock( false );
return *this;
}
-inline SfxObjectShellLock & SfxObjectShellLock::operator = ( SfxObjectShell * pObjP )
-{ return *this = SfxObjectShellLock( pObjP ); }
+inline SfxObjectShellLock & SfxObjectShellLock::operator=( SfxObjectShell * pObjP )
+{
+ return *this = SfxObjectShellLock( pObjP );
+}
class SFX2_DLLPUBLIC SfxObjectShellItem: public SfxPoolItem
{
commit 83c0f29341a80cc71aac30293543e4ab66ae34e5
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:20:39 2016 +0200
cid#1371187 Missing move assignment operator
Change-Id: Ib0b51a029adcb0b703aa975b6c5fc02a8b21ed63
diff --git a/comphelper/source/misc/namedvaluecollection.cxx b/comphelper/source/misc/namedvaluecollection.cxx
index 9f14078..53af3a7 100644
--- a/comphelper/source/misc/namedvaluecollection.cxx
+++ b/comphelper/source/misc/namedvaluecollection.cxx
@@ -65,6 +65,10 @@ namespace comphelper
*this = _rCopySource;
}
+ NamedValueCollection::NamedValueCollection( NamedValueCollection&& _rCopySource )
+ :m_pImpl( std::move(_rCopySource.m_pImpl) )
+ {
+ }
NamedValueCollection& NamedValueCollection::operator=( const NamedValueCollection& i_rCopySource )
{
@@ -72,6 +76,11 @@ namespace comphelper
return *this;
}
+ NamedValueCollection& NamedValueCollection::operator=( NamedValueCollection&& i_rCopySource )
+ {
+ m_pImpl = std::move(i_rCopySource.m_pImpl);
+ return *this;
+ }
NamedValueCollection::NamedValueCollection( const Any& _rElements )
:m_pImpl( new NamedValueCollection_Impl )
diff --git a/include/comphelper/namedvaluecollection.hxx b/include/comphelper/namedvaluecollection.hxx
index b7e6481..420994b 100644
--- a/include/comphelper/namedvaluecollection.hxx
+++ b/include/comphelper/namedvaluecollection.hxx
@@ -50,8 +50,10 @@ namespace comphelper
NamedValueCollection();
NamedValueCollection( const NamedValueCollection& _rCopySource );
+ NamedValueCollection( NamedValueCollection&& _rCopySource );
NamedValueCollection& operator=( const NamedValueCollection& i_rCopySource );
+ NamedValueCollection& operator=( NamedValueCollection&& i_rCopySource );
/** constructs a collection
@param _rElements
commit 45d4b2945cbea49efd5c3d725f3e067bfbd229ba
Author: Noel Grandin <noel at peralex.com>
Date: Thu Aug 25 14:02:10 2016 +0200
cid#1371223 Missing move assignment operator
and cid#1371216, cid#1371179
Change-Id: I64faaada85cc92a8b47c2a665488f07050be6fc3
diff --git a/basegfx/source/matrix/b2dhommatrix.cxx b/basegfx/source/matrix/b2dhommatrix.cxx
index 07d10e6..2dce96f 100644
--- a/basegfx/source/matrix/b2dhommatrix.cxx
+++ b/basegfx/source/matrix/b2dhommatrix.cxx
@@ -45,6 +45,11 @@ namespace basegfx
{
}
+ B2DHomMatrix::B2DHomMatrix(B2DHomMatrix&& rMat) :
+ mpImpl(std::move(rMat.mpImpl))
+ {
+ }
+
B2DHomMatrix::~B2DHomMatrix()
{
}
@@ -66,6 +71,12 @@ namespace basegfx
return *this;
}
+ B2DHomMatrix& B2DHomMatrix::operator=(B2DHomMatrix&& rMat)
+ {
+ mpImpl = std::move(rMat.mpImpl);
+ return *this;
+ }
+
double B2DHomMatrix::get(sal_uInt16 nRow, sal_uInt16 nColumn) const
{
return mpImpl->get(nRow, nColumn);
diff --git a/basegfx/source/polygon/b2dpolygon.cxx b/basegfx/source/polygon/b2dpolygon.cxx
index 4274e62..2cf40a1 100644
--- a/basegfx/source/polygon/b2dpolygon.cxx
+++ b/basegfx/source/polygon/b2dpolygon.cxx
@@ -1118,6 +1118,10 @@ namespace basegfx
: mpPolygon(rPolygon.mpPolygon)
{}
+ B2DPolygon::B2DPolygon(B2DPolygon&& rPolygon)
+ : mpPolygon(std::move(rPolygon.mpPolygon))
+ {}
+
B2DPolygon::B2DPolygon(const B2DPolygon& rPolygon, sal_uInt32 nIndex, sal_uInt32 nCount)
: mpPolygon(ImplB2DPolygon(*rPolygon.mpPolygon, nIndex, nCount))
{
@@ -1136,6 +1140,12 @@ namespace basegfx
return *this;
}
+ B2DPolygon& B2DPolygon::operator=(B2DPolygon&& rPolygon)
+ {
+ mpPolygon = std::move(rPolygon.mpPolygon);
+ return *this;
+ }
+
void B2DPolygon::makeUnique()
{
mpPolygon.make_unique();
diff --git a/basegfx/source/polygon/b2dpolypolygon.cxx b/basegfx/source/polygon/b2dpolypolygon.cxx
index bfaaede..f1032f1 100644
--- a/basegfx/source/polygon/b2dpolypolygon.cxx
+++ b/basegfx/source/polygon/b2dpolypolygon.cxx
@@ -183,6 +183,11 @@ namespace basegfx
{
}
+ B2DPolyPolygon::B2DPolyPolygon(B2DPolyPolygon&& rPolyPolygon) :
+ mpPolyPolygon(std::move(rPolyPolygon.mpPolyPolygon))
+ {
+ }
+
B2DPolyPolygon::B2DPolyPolygon(const B2DPolygon& rPolygon) :
mpPolyPolygon( ImplB2DPolyPolygon(rPolygon) )
{
@@ -198,6 +203,12 @@ namespace basegfx
return *this;
}
+ B2DPolyPolygon& B2DPolyPolygon::operator=(B2DPolyPolygon&& rPolyPolygon)
+ {
+ mpPolyPolygon = std::move(rPolyPolygon.mpPolyPolygon);
+ return *this;
+ }
+
void B2DPolyPolygon::makeUnique()
{
mpPolyPolygon.make_unique();
diff --git a/include/basegfx/matrix/b2dhommatrix.hxx b/include/basegfx/matrix/b2dhommatrix.hxx
index a3e6fcd..51479aa 100644
--- a/include/basegfx/matrix/b2dhommatrix.hxx
+++ b/include/basegfx/matrix/b2dhommatrix.hxx
@@ -40,6 +40,7 @@ namespace basegfx
public:
B2DHomMatrix();
B2DHomMatrix(const B2DHomMatrix& rMat);
+ B2DHomMatrix(B2DHomMatrix&& rMat);
~B2DHomMatrix();
/** constructor to allow setting all needed values for a 3x2 matrix at once. The
@@ -90,6 +91,7 @@ namespace basegfx
// assignment operator
B2DHomMatrix& operator=(const B2DHomMatrix& rMat);
+ B2DHomMatrix& operator=(B2DHomMatrix&& rMat);
// Help routine to decompose given homogen 3x3 matrix to components. A correction of
// the components is done to avoid inaccuracies.
diff --git a/include/basegfx/polygon/b2dpolygon.hxx b/include/basegfx/polygon/b2dpolygon.hxx
index 7bdf771..4e868c1 100644
--- a/include/basegfx/polygon/b2dpolygon.hxx
+++ b/include/basegfx/polygon/b2dpolygon.hxx
@@ -54,6 +54,7 @@ namespace basegfx
/// diverse constructors
B2DPolygon();
B2DPolygon(const B2DPolygon& rPolygon);
+ B2DPolygon(B2DPolygon&& rPolygon);
B2DPolygon(const B2DPolygon& rPolygon, sal_uInt32 nIndex, sal_uInt32 nCount);
B2DPolygon(std::initializer_list<basegfx::B2DPoint> rPoints);
@@ -61,6 +62,7 @@ namespace basegfx
/// assignment operator
B2DPolygon& operator=(const B2DPolygon& rPolygon);
+ B2DPolygon& operator=(B2DPolygon&& rPolygon);
/// unshare this polygon with all internally shared instances
void makeUnique();
diff --git a/include/basegfx/polygon/b2dpolypolygon.hxx b/include/basegfx/polygon/b2dpolypolygon.hxx
index 3527c84..c033989 100644
--- a/include/basegfx/polygon/b2dpolypolygon.hxx
+++ b/include/basegfx/polygon/b2dpolypolygon.hxx
@@ -49,11 +49,13 @@ namespace basegfx
public:
B2DPolyPolygon();
B2DPolyPolygon(const B2DPolyPolygon& rPolyPolygon);
+ B2DPolyPolygon(B2DPolyPolygon&& rPolyPolygon);
explicit B2DPolyPolygon(const B2DPolygon& rPolygon);
~B2DPolyPolygon();
// assignment operator
B2DPolyPolygon& operator=(const B2DPolyPolygon& rPolyPolygon);
+ B2DPolyPolygon& operator=(B2DPolyPolygon&& rPolyPolygon);
/// unshare this poly-polygon (and all included polygons) with all internally shared instances
void makeUnique();
More information about the Libreoffice-commits
mailing list