summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LB_Location_Hash.inl
blob: 1a8f81379f75f636160df9841707fcd85d1c338f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// -*- C++ -*-
//
// $Id$

ACE_INLINE CORBA::ULong
TAO_LB_Location_Hash::operator() (
  const PortableGroup::Location &location) const
{
  // @todo Interim implementation until we figure out what to do when a
  //       location has multiple components.

  CORBA::ULong len = location.length ();
  CORBA::ULong hash = 0;

  for (CORBA::ULong i = 0; i < len; ++i)
    hash +=
      ACE::hash_pjw (location[i].id.in ()) +
      ACE::hash_pjw (location[i].kind.in ());

  return hash;
}