00001 // -*- C++ -*- 00002 // 00003 // PG_Location_Hash.inl,v 1.2 2005/11/14 22:03:50 ossama Exp 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE CORBA::ULong 00008 TAO_PG_Location_Hash::operator() ( 00009 const PortableGroup::Location &location) const 00010 { 00011 // @todo Interim implementation until we figure out what to do when a 00012 // location has multiple components. 00013 00014 CORBA::ULong len = location.length (); 00015 CORBA::ULong hash = 0; 00016 00017 for (CORBA::ULong i = 0; i < len; ++i) 00018 hash += 00019 ACE::hash_pjw (location[i].id.in ()) + 00020 ACE::hash_pjw (location[i].kind.in ()); 00021 00022 return hash; 00023 } 00024 00025 TAO_END_VERSIONED_NAMESPACE_DECL