C++11 Helper Functions
The C++11 mapping includes helper functions to simplify the comparison of shared_ptr targets:
C++
namespace Ice
{
template<typename T, typename U>
bool targetEqualTo(const T& lhs, const U& rhs);
template<typename T, typename U>
bool targetLess(const T& lhs, const U& rhs);
template<typename T, typename U>
bool targetGreater(const T& lhs, const U& rhs);
template<typename T, typename U>
bool targetLessEqual(const T& lhs, const U& rhs);
template<typename T, typename U>
bool targetGreaterEqual(const T& lhs, const U& rhs);
template<typename T, typename U>
bool targetNotEqualTo(const T& lhs, const U& rhs);
}
These functions can be used to compare any target types, but the most common use case is comparing proxies:
C++
shared_ptr<Ice::ObjectPrx> p1 = ...;
shared_ptr<Ice::ObjectPrx> p2 = ...;
if(Ice::targetEqualTo(p1, p2))
{
...
}
The helper functions rely on the target's implementation of the standard comparison operators operator== and operator<.