summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Equal_To.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Equal_To.inl')
-rw-r--r--TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Equal_To.inl33
1 files changed, 33 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Equal_To.inl b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Equal_To.inl
new file mode 100644
index 00000000000..7547d068b72
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/LoadBalancing/LB_ObjectGroup_Equal_To.inl
@@ -0,0 +1,33 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_INLINE int
+TAO_LB_ObjectGroup_Equal_To::operator() (
+ const TAO_LoadBalancing::ObjectGroup_ptr &lhs,
+ const TAO_LoadBalancing::ObjectGroup_ptr &rhs) const
+{
+ // As with all CORBA objects, the
+ // TAO_LoadBalancing::ObjectGroup::is_equivalent() returns 1 if two
+ // references refer to the same object. However, it is possible
+ // that is_equivalent() may return 0 even if both references refer
+ // to the same object.
+
+ return lhs->_is_equivalent (rhs);
+}
+
+
+ACE_INLINE int
+TAO_LB_FactoryCreationId_Equal_To::operator() (
+ const TAO_LoadBalancing::FactoryCreationId &lhs,
+ const TAO_LoadBalancing::FactoryCreationId &rhs) const
+{
+ // A Load Balancer FactoryCreationId is simply a CORBA::ULong.
+
+ CORBA::ULong lhs_id, rhs_id;
+
+ lhs >>= lhs_id;
+ rhs >>= rhs_id;
+
+ return (lhs_id == rhs_id);
+}