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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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 <n...@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(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits