diff options
author | Jose <jose@zeroc.com> | 2017-04-28 17:39:34 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-04-28 17:39:34 +0200 |
commit | 03ada3f46b2ba7dc38f3e0f293cd64e4ce6049c1 (patch) | |
tree | 43c0b8cdc06de03862a7a9d503dea024b57308b0 /cpp | |
parent | Fixed ICE-7843 - Check NSStreamStatusAtEnd in iOS transports (diff) | |
download | ice-03ada3f46b2ba7dc38f3e0f293cd64e4ce6049c1.tar.bz2 ice-03ada3f46b2ba7dc38f3e0f293cd64e4ce6049c1.tar.xz ice-03ada3f46b2ba7dc38f3e0f293cd64e4ce6049c1.zip |
Add operator bool() to CommunicatorHolder
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/include/Ice/Initialize.h | 8 | ||||
-rw-r--r-- | cpp/src/Ice/Initialize.cpp | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h index 587af6172c5..83e36938dc4 100644 --- a/cpp/include/Ice/Initialize.h +++ b/cpp/include/Ice/Initialize.h @@ -215,6 +215,8 @@ public: CommunicatorHolder(CommunicatorHolder&&) = default; CommunicatorHolder& operator=(CommunicatorHolder&&); + explicit operator bool() const; + #else // C++98 mapping // @@ -225,12 +227,12 @@ public: CommunicatorHolder(int&, const char*[], const char*, int = ICE_INT_VERSION); CommunicatorHolder(int&, char*[], const char*, int = ICE_INT_VERSION); -#ifdef _WIN32 +# ifdef _WIN32 CommunicatorHolder(int&, const wchar_t*[], const InitializationData& = InitializationData(), int = ICE_INT_VERSION); CommunicatorHolder(int&, wchar_t*[], const InitializationData& = InitializationData(), int = ICE_INT_VERSION); CommunicatorHolder(int&, const wchar_t*[], const char*, int = ICE_INT_VERSION); CommunicatorHolder(int&, wchar_t*[], const char*, int = ICE_INT_VERSION); -#endif +# endif explicit CommunicatorHolder(StringSeq&, const InitializationData& = InitializationData(), int = ICE_INT_VERSION); CommunicatorHolder(StringSeq&, const char*, int = ICE_INT_VERSION); @@ -244,6 +246,8 @@ public: explicit CommunicatorHolder(const CommunicatorPtr&); CommunicatorHolder& operator=(const CommunicatorPtr&); + operator bool() const; + // // Required for successful copy-initialization, but not // defined as it should always be elided by compiler diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index 9c89b83488e..65550223b42 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -453,7 +453,7 @@ Ice::CommunicatorHolder::CommunicatorHolder(int& argc, char* argv[], const char* { } -#ifdef _WIN32 +# ifdef _WIN32 Ice::CommunicatorHolder::CommunicatorHolder(int& argc, const wchar_t* argv[], const InitializationData& initData, int version) : _communicator(initialize(argc, argv, initData, version)) @@ -475,7 +475,7 @@ Ice::CommunicatorHolder::CommunicatorHolder(int& argc, wchar_t* argv[], const ch _communicator(initialize(argc, argv, configFile, version)) { } -#endif +# endif Ice::CommunicatorHolder::CommunicatorHolder(StringSeq& args, const InitializationData& initData, int version) : _communicator(initialize(args, initData, version)) @@ -523,6 +523,11 @@ Ice::CommunicatorHolder::~CommunicatorHolder() } } +Ice::CommunicatorHolder::operator bool() const +{ + return _communicator != ICE_NULLPTR; +} + const Ice::CommunicatorPtr& Ice::CommunicatorHolder::communicator() const { |