diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/com/sun/star/uno/Reference.h | 9 | ||||
-rw-r--r-- | include/rtl/ref.hxx | 8 | ||||
-rw-r--r-- | include/tools/ref.hxx | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/include/com/sun/star/uno/Reference.h b/include/com/sun/star/uno/Reference.h index e657fd84b197..af2dc299b8e0 100644 --- a/include/com/sun/star/uno/Reference.h +++ b/include/com/sun/star/uno/Reference.h @@ -93,6 +93,15 @@ public: inline bool SAL_CALL is() const { return (NULL != _pInterface); } +#if defined LIBO_INTERNAL_ONLY + /** Checks if reference is null. + + @return true if reference acquires an interface, i.e. true if it is not null + */ + inline explicit operator bool() const + { return is(); } +#endif + /** Equality operator: compares two interfaces Checks if both references are null or refer to the same object. diff --git a/include/rtl/ref.hxx b/include/rtl/ref.hxx index b70088bcdfd3..5eeb857f8a42 100644 --- a/include/rtl/ref.hxx +++ b/include/rtl/ref.hxx @@ -195,6 +195,14 @@ public: return (m_pBody != NULL); } +#if defined LIBO_INTERNAL_ONLY + /** Returns True if the handle does point to a valid body. + */ + inline explicit operator bool() const + { + return is(); + } +#endif /** Returns True if this points to pBody. */ diff --git a/include/tools/ref.hxx b/include/tools/ref.hxx index c251a7839f7a..97a5b362254e 100644 --- a/include/tools/ref.hxx +++ b/include/tools/ref.hxx @@ -90,6 +90,8 @@ public: bool Is() const { return pObj != nullptr; } + explicit operator bool() const { return Is(); } + T * get() const { return pObj; } T * operator ->() const { assert(pObj != nullptr); return pObj; } |