diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-09-20 18:22:32 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-09-20 18:22:32 +0200 |
commit | 11aa8ac4e3ae212cd06ffe9f24c5d99af5dfb9a3 (patch) | |
tree | e5805d81bf98ab752d0170d1693bfc8c316ceb91 /cppu/source | |
parent | b7faef01678573f7b060ad26798aa841689ce3e6 (diff) |
cid#1371314: Add move semantics
Change-Id: I995cbdb2b6adc707abe5f1a179e94251641120bc
Diffstat (limited to 'cppu/source')
-rw-r--r-- | cppu/source/uno/lbmap.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx index e5c3568e023a..7cfba7a48be4 100644 --- a/cppu/source/uno/lbmap.cxx +++ b/cppu/source/uno/lbmap.cxx @@ -62,10 +62,20 @@ class Mapping public: inline explicit Mapping( uno_Mapping * pMapping = nullptr ); inline Mapping( const Mapping & rMapping ); + Mapping(Mapping && other): _pMapping(other._pMapping) + { other._pMapping = nullptr; } inline ~Mapping(); inline Mapping & SAL_CALL operator = ( uno_Mapping * pMapping ); inline Mapping & SAL_CALL operator = ( const Mapping & rMapping ) { return operator = ( rMapping._pMapping ); } + Mapping & operator =(Mapping && other) { + if (_pMapping != nullptr) { + (*_pMapping->release)(_pMapping); + } + _pMapping = other._pMapping; + other._pMapping = nullptr; + return *this; + } inline uno_Mapping * SAL_CALL get() const { return _pMapping; } inline bool SAL_CALL is() const |