52 #ifdef CCXX_NAMESPACES
64 template <
class T,
class K,
unsigned S>
67 static T *objIndex[S];
74 unsigned char *p = (
unsigned char *)&k;
75 unsigned len =
sizeof(K);
78 idx ^= (idx << 1) ^ *p;
89 unsigned idx = keyIndex(key);
91 objNext = objIndex[idx];
92 objIndex[idx] = (T *)
this;
95 static T *getObject(keystring key);
98 template <
class T,
unsigned S>
107 idx = (idx << 1) ^ (
unsigned)*k;
114 template <
class T,
class K,
unsigned S>
117 template <
class T,
class K,
unsigned S>
120 T *obj = objIndex[keyIndex(key)];
122 if(key == obj->objKey)
129 #ifdef CCXX_NAMESPACES
unsigned keyIndex(keystring k)
static T * getObject(keystring key)
Common and portable character string related functions.
Used to create and manage a hash index of objects through a common type.
virtual unsigned keyIndex(K k)