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/Ice/Exception.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/Ice/Exception.h')
-rw-r--r-- | cpp/include/Ice/Exception.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/cpp/include/Ice/Exception.h b/cpp/include/Ice/Exception.h index d06f576aae3..b957a91be0c 100644 --- a/cpp/include/Ice/Exception.h +++ b/cpp/include/Ice/Exception.h @@ -51,28 +51,32 @@ public: virtual ~LocalException() throw(); #endif - static const std::string& ice_staticId(); - -#ifndef ICE_CPP11_MAPPING +#ifdef ICE_CPP11_MAPPING + std::unique_ptr<LocalException> ice_clone() const; +#else virtual LocalException* ice_clone() const = 0; #endif + + static const std::string& ice_staticId(); }; class ICE_API UserException : public IceUtil::Exception { public: - static const std::string& ice_staticId(); - virtual void __write(::Ice::OutputStream*) const; virtual void __read(::Ice::InputStream*); virtual bool __usesClasses() const; -#ifndef ICE_CPP11_MAPPING +#ifdef ICE_CPP11_MAPPING + std::unique_ptr<UserException> ice_clone() const; +#else virtual UserException* ice_clone() const = 0; #endif + static const std::string& ice_staticId(); + protected: virtual void __writeImpl(::Ice::OutputStream*) const {}; @@ -90,12 +94,13 @@ public: virtual ~SystemException() throw(); #endif - static const std::string& ice_staticId(); - -#ifndef ICE_CPP11_MAPPING +#ifdef ICE_CPP11_MAPPING + std::unique_ptr<SystemException> ice_clone() const; +#else virtual SystemException* ice_clone() const = 0; #endif + static const std::string& ice_staticId(); }; } |