diff options
-rw-r--r-- | cpp/include/IceUtil/Handle.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cpp/include/IceUtil/Handle.h b/cpp/include/IceUtil/Handle.h index 21685973412..af495418373 100644 --- a/cpp/include/IceUtil/Handle.h +++ b/cpp/include/IceUtil/Handle.h @@ -47,6 +47,26 @@ public: return _ptr; } + T& operator*() + { + if(!_ptr) + { + throw NullHandleException(__FILE__, __LINE__); + } + + return *_ptr; + } + + const T& operator*() const + { + if(!_ptr) + { + throw NullHandleException(__FILE__, __LINE__); + } + + return *_ptr; + } + operator bool() const { return _ptr ? true : false; |