diff options
Diffstat (limited to 'include/uno')
-rw-r--r-- | include/uno/mapping.hxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/uno/mapping.hxx b/include/uno/mapping.hxx index 6db166e25ddc..7ec6a11e54a5 100644 --- a/include/uno/mapping.hxx +++ b/include/uno/mapping.hxx @@ -110,6 +110,11 @@ public: */ inline Mapping( const Mapping & rMapping ); +#if defined LIBO_INTERNAL_ONLY + Mapping(Mapping && other): _pMapping(other._pMapping) + { other._pMapping = nullptr; } +#endif + /** Destructor. */ inline ~Mapping(); @@ -128,6 +133,17 @@ public: inline Mapping & SAL_CALL operator = ( const Mapping & rMapping ) { return operator = ( rMapping._pMapping ); } +#if defined LIBO_INTERNAL_ONLY + Mapping & operator =(Mapping && other) { + if (_pMapping != nullptr) { + (*_pMapping->release)(_pMapping); + } + _pMapping = other._pMapping; + other._pMapping = nullptr; + return *this; + } +#endif + /** Provides a pointer to the C mapping. The returned mapping is NOT acquired! @return UNacquired C mapping |