diff options
author | Bernard Normier <bernard@zeroc.com> | 2016-07-22 17:09:25 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2016-07-22 17:09:25 -0400 |
commit | 752e06b4eb63abb8a30bb958802eaedda72d3806 (patch) | |
tree | 7c2348544d202c310a55a62629abc4025daa03a5 /cpp/include/IceUtil/UniquePtr.h | |
parent | Disable VS 2015 update 3 optimizer (diff) | |
download | ice-752e06b4eb63abb8a30bb958802eaedda72d3806.tar.bz2 ice-752e06b4eb63abb8a30bb958802eaedda72d3806.tar.xz ice-752e06b4eb63abb8a30bb958802eaedda72d3806.zip |
Added ICE_BUILDING_SRC to make builds
Ice::Dispatcher and Ice::LocalObject are now hidden with C++11
Reworked C++11 exception ice_clone, added ExceptionHelper
+ other C++ cleanups
Diffstat (limited to 'cpp/include/IceUtil/UniquePtr.h')
-rw-r--r-- | cpp/include/IceUtil/UniquePtr.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cpp/include/IceUtil/UniquePtr.h b/cpp/include/IceUtil/UniquePtr.h index e58f32fd608..0a81df47fad 100644 --- a/cpp/include/IceUtil/UniquePtr.h +++ b/cpp/include/IceUtil/UniquePtr.h @@ -15,11 +15,12 @@ namespace IceUtil { -// -// This is temporary and very partial placeholder for std::unique_ptr, -// which is not yet widely available. -// +#ifdef ICE_CPP11_MAPPING +template<typename T> +using UniquePtr = std::unique_ptr<T>; + +#else template<typename T> class UniquePtr @@ -84,6 +85,11 @@ public: return _ptr; } + operator bool() const + { + return _ptr != 0; + } + void swap(UniquePtr& a) { T* tmp = a._ptr; @@ -96,6 +102,8 @@ private: T* _ptr; }; +#endif + } // End of namespace IceUtil #endif |