diff options
Diffstat (limited to 'src/server/shared/AutoPtr.h')
-rw-r--r-- | src/server/shared/AutoPtr.h | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/src/server/shared/AutoPtr.h b/src/server/shared/AutoPtr.h index f4199880abd..9afa05325c9 100644 --- a/src/server/shared/AutoPtr.h +++ b/src/server/shared/AutoPtr.h @@ -22,32 +22,32 @@ namespace Trinity { - template <class Pointer, class Lock> - class AutoPtr : public ACE_Strong_Bound_Ptr<Pointer, Lock> + +template <class Pointer, class Lock> +class AutoPtr : public ACE_Strong_Bound_Ptr<Pointer, Lock> +{ + typedef ACE_Strong_Bound_Ptr<Pointer, Lock> Base; + +public: + AutoPtr() + : Base() + { } + + AutoPtr(Pointer* x) + : Base(x) + { } + + operator bool() const + { + return !Base::null(); + } + + bool operator !() const { - public: - AutoPtr() : ACE_Strong_Bound_Ptr<Pointer, Lock>() {} - - AutoPtr(Pointer* x) - { - ACE_Strong_Bound_Ptr<Pointer, Lock>::reset(x); - } - - operator bool() const - { - return ACE_Strong_Bound_Ptr<Pointer, Lock>::get() != NULL; - } - - bool operator !() const - { - return ACE_Strong_Bound_Ptr<Pointer, Lock>::get() == NULL; - } - - bool operator !=(Pointer* x) const - { - return ACE_Strong_Bound_Ptr<Pointer, Lock>::get() != x; - } - }; -} + return Base::null(); + } +}; + +} // namespace Trinity #endif |