summaryrefslogtreecommitdiff
path: root/include/com/sun/star/uno/Reference.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/com/sun/star/uno/Reference.hxx')
-rw-r--r--include/com/sun/star/uno/Reference.hxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/com/sun/star/uno/Reference.hxx b/include/com/sun/star/uno/Reference.hxx
index 498d5be4b46d..b25083d8e030 100644
--- a/include/com/sun/star/uno/Reference.hxx
+++ b/include/com/sun/star/uno/Reference.hxx
@@ -124,6 +124,15 @@ inline Reference< interface_type >::Reference( const Reference< interface_type >
_pInterface->acquire();
}
+#if defined LIBO_INTERNAL_ONLY
+template< class interface_type >
+inline Reference< interface_type >::Reference( Reference< interface_type > && rRef )
+{
+ _pInterface = rRef._pInterface;
+ rRef._pInterface = nullptr;
+}
+#endif
+
template< class interface_type > template< class derived_type >
inline Reference< interface_type >::Reference(
const Reference< derived_type > & rRef,
@@ -341,6 +350,18 @@ inline Reference< interface_type > & Reference< interface_type >::operator = (
return *this;
}
+#if defined LIBO_INTERNAL_ONLY
+template< class interface_type >
+inline Reference< interface_type > & Reference< interface_type >::operator = (
+ Reference< interface_type > && rRef )
+{
+ if (_pInterface)
+ _pInterface->release();
+ _pInterface = rRef._pInterface;
+ rRef._pInterface = nullptr;
+ return *this;
+}
+#endif
template< class interface_type >
inline Reference< interface_type > Reference< interface_type >::query(