Go to the documentation of this file.
33 #include <sys/types.h>
76 void Update(
int newcount, time_t newtime)
81 int Same(
const unsigned long KeyHash,
const char *KeyVal)
94 else keyval = strdup(KeyVal);
142 T *
Add(
const char *KeyVal, T *KeyData,
const int LifeTime=0,
154 T *
Find(
const char *KeyVal, time_t *KeyTime=0);
166 T *
Rep(
const char *KeyVal, T *KeyData,
const int LifeTime=0,
168 {
return Add(KeyVal, KeyData, LifeTime,
179 T *
Apply(
int (*func)(
const char *, T *,
void *),
void *Arg);
185 XrdOucHash(
int psize = 89,
int size=144,
int load=80);
192 const unsigned long khash,
196 unsigned long HashVal(
const char *KeyVal);
212 #include "XrdOuc/XrdOucHash.icc"
Definition: XrdOucHash.hh:52
unsigned long Hash()
Definition: XrdOucHash.hh:68
T * Apply(int(*func)(const char *, T *, void *), void *Arg)
unsigned long HashVal(const char *KeyVal)
void SetNext(XrdOucHash_Item< T > *item)
Definition: XrdOucHash.hh:84
Definition: XrdOucHash.hh:57
int Del(const char *KeyVal, XrdOucHash_Options opt=Hash_default)
int Count()
Definition: XrdOucHash.hh:64
time_t keytime
Definition: XrdOucHash.hh:121
XrdOucHash_Item< T > ** hashtable
Definition: XrdOucHash.hh:200
int Num()
Definition: XrdOucHash.hh:158
int Same(const unsigned long KeyHash, const char *KeyVal)
Definition: XrdOucHash.hh:81
Definition: XrdOucHash.hh:127
T * keydata
Definition: XrdOucHash.hh:120
int hashnum
Definition: XrdOucHash.hh:203
XrdOucHash_Options
Definition: XrdOucHash.hh:51
void Update(int newcount, time_t newtime)
Definition: XrdOucHash.hh:76
const char * Key()
Definition: XrdOucHash.hh:70
const char * keyval
Definition: XrdOucHash.hh:118
Definition: XrdOucHash.hh:55
T * Find(const char *KeyVal, time_t *KeyTime=0)
int keycount
Definition: XrdOucHash.hh:122
int hashmax
Definition: XrdOucHash.hh:204
int hashload
Definition: XrdOucHash.hh:205
T * Add(const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
XrdOucHash_Options entopts
Definition: XrdOucHash.hh:123
XrdOucHash_Item< T > * Next()
Definition: XrdOucHash.hh:72
Definition: XrdOucHash.hh:61
XrdOucHash(int psize=89, int size=144, int load=80)
unsigned long keyhash
Definition: XrdOucHash.hh:119
T * Rep(const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
Definition: XrdOucHash.hh:166
int prevtablesize
Definition: XrdOucHash.hh:201
XrdOucHash_Item< T > * Search(XrdOucHash_Item< T > *hip, const unsigned long khash, const char *kval, XrdOucHash_Item< T > **phip=0)
time_t Time()
Definition: XrdOucHash.hh:74
~XrdOucHash()
Definition: XrdOucHash.hh:186
void Remove(int kent, XrdOucHash_Item< T > *hip, XrdOucHash_Item< T > *phip)
T * Data()
Definition: XrdOucHash.hh:66
Definition: XrdOucHash.hh:54
XrdOucHash_Item(unsigned long KeyHash, const char *KeyVal, T *KeyData, time_t KeyTime, XrdOucHash_Item< T > *KeyNext, XrdOucHash_Options KeyOpts)
Definition: XrdOucHash.hh:86
int hashtablesize
Definition: XrdOucHash.hh:202
Definition: XrdOucHash.hh:56
~XrdOucHash_Item()
Definition: XrdOucHash.hh:103
Definition: XrdOucHash.hh:53
Definition: XrdOucHash.hh:51
XrdOucHash_Item< T > * next
Definition: XrdOucHash.hh:117