cid#1371142: Move semantics for css::uno::WeakReferenceHelper
Change-Id: I442b2d8061bd7d50cbf832b345a7a63461e26224
This commit is contained in:
parent
2d31990ad0
commit
4f86b7a86c
@ -430,6 +430,11 @@ global:
|
||||
_ZN4cppu15supportsServiceEPN3com3sun4star4lang12XServiceInfoERKN3rtl8OUStringE; # cppu::supportsService(com::sun::star::lang::XServiceInfo*, rtl::OUString const&)
|
||||
} UDK_3.8;
|
||||
|
||||
LIBO_UDK_5.3 { # LibO 5.3
|
||||
global:
|
||||
_ZN3com3sun4star3uno19WeakReferenceHelperaSEOS3_; # com::sun::star::uno::WeakReferenceHelper::operator=(com::sun::star::uno::WeakReferenceHelper&&)
|
||||
} LIBO_UDK_3.9;
|
||||
|
||||
# Unique libstdc++ symbols:
|
||||
GLIBCXX_3.4 {
|
||||
global:
|
||||
|
@ -24,7 +24,9 @@
|
||||
#include <cppuhelper/interfacecontainer.hxx>
|
||||
#include <cppuhelper/exc_hlp.hxx>
|
||||
#include <cppuhelper/queryinterface.hxx>
|
||||
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
|
||||
using namespace osl;
|
||||
using namespace com::sun::star::uno;
|
||||
@ -485,6 +487,14 @@ WeakReferenceHelper& WeakReferenceHelper::operator=(const WeakReferenceHelper& r
|
||||
return operator = ( xInt );
|
||||
}
|
||||
|
||||
WeakReferenceHelper & WeakReferenceHelper::operator =(
|
||||
WeakReferenceHelper && other)
|
||||
{
|
||||
clear();
|
||||
std::swap(m_pImpl, other.m_pImpl);
|
||||
return *this;
|
||||
}
|
||||
|
||||
WeakReferenceHelper & SAL_CALL
|
||||
WeakReferenceHelper::operator= (const Reference< XInterface > & xInt)
|
||||
{
|
||||
|
@ -63,6 +63,11 @@ public:
|
||||
*/
|
||||
WeakReferenceHelper( const WeakReferenceHelper & rWeakRef );
|
||||
|
||||
#if defined LIBO_INTERNAL_ONLY
|
||||
WeakReferenceHelper(WeakReferenceHelper && other): m_pImpl(other.m_pImpl)
|
||||
{ other.m_pImpl = nullptr; }
|
||||
#endif
|
||||
|
||||
/** Initialize this reference with the hard interface reference xInt. If the implementation
|
||||
behind xInt does not support XWeak or xInt is null then this reference will be null.
|
||||
|
||||
@ -80,6 +85,10 @@ public:
|
||||
*/
|
||||
WeakReferenceHelper & SAL_CALL operator = ( const WeakReferenceHelper & rWeakRef );
|
||||
|
||||
#if defined LIBO_INTERNAL_ONLY
|
||||
WeakReferenceHelper & operator =(WeakReferenceHelper && other);
|
||||
#endif
|
||||
|
||||
/** Releases this reference and takes over hard reference xInt.
|
||||
If the implementation behind xInt does not support XWeak
|
||||
or XInt is null, then this reference is null.
|
||||
|
Loading…
x
Reference in New Issue
Block a user