summaryrefslogtreecommitdiff
path: root/cppu/source
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-09-20 18:22:32 +0200
committerStephan Bergmann <sbergman@redhat.com>2016-09-20 18:22:32 +0200
commit11aa8ac4e3ae212cd06ffe9f24c5d99af5dfb9a3 (patch)
treee5805d81bf98ab752d0170d1693bfc8c316ceb91 /cppu/source
parentb7faef01678573f7b060ad26798aa841689ce3e6 (diff)
cid#1371314: Add move semantics
Change-Id: I995cbdb2b6adc707abe5f1a179e94251641120bc
Diffstat (limited to 'cppu/source')
-rw-r--r--cppu/source/uno/lbmap.cxx10
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