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"
int hashload
Definition: XrdOucHash.hh:205
XrdOucHash_Item< T > * Next()
Definition: XrdOucHash.hh:72
T * Rep(const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
Definition: XrdOucHash.hh:166
XrdOucHash_Options entopts
Definition: XrdOucHash.hh:123
~XrdOucHash()
Definition: XrdOucHash.hh:186
XrdOucHash_Item< T > * Search(XrdOucHash_Item< T > *hip, const unsigned long khash, const char *kval, XrdOucHash_Item< T > **phip=0)
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
~XrdOucHash_Item()
Definition: XrdOucHash.hh:103
int prevtablesize
Definition: XrdOucHash.hh:201
time_t Time()
Definition: XrdOucHash.hh:74
Definition: XrdOucHash.hh:55
T * Data()
Definition: XrdOucHash.hh:66
void Remove(int kent, XrdOucHash_Item< T > *hip, XrdOucHash_Item< T > *phip)
XrdOucHash_Item< T > * next
Definition: XrdOucHash.hh:117
Definition: XrdOucHash.hh:57
Definition: XrdOucHash.hh:53
Definition: XrdOucHash.hh:56
Definition: XrdOucHash.hh:52
void SetNext(XrdOucHash_Item< T > *item)
Definition: XrdOucHash.hh:84
XrdOucHash_Item< T > ** hashtable
Definition: XrdOucHash.hh:200
int Num()
Definition: XrdOucHash.hh:158
Definition: XrdOucHash.hh:51
XrdOucHash_Options
Definition: XrdOucHash.hh:51
T * Apply(int(*func)(const char *, T *, void *), void *Arg)
int Count()
Definition: XrdOucHash.hh:64
int Same(const unsigned long KeyHash, const char *KeyVal)
Definition: XrdOucHash.hh:81
int hashnum
Definition: XrdOucHash.hh:203
int Del(const char *KeyVal, XrdOucHash_Options opt=Hash_default)
unsigned long Hash()
Definition: XrdOucHash.hh:68
T * keydata
Definition: XrdOucHash.hh:120
const char * Key()
Definition: XrdOucHash.hh:70
unsigned long HashVal(const char *KeyVal)
const char * keyval
Definition: XrdOucHash.hh:118
T * Find(const char *KeyVal, time_t *KeyTime=0)
time_t keytime
Definition: XrdOucHash.hh:121
Definition: XrdOucHash.hh:61
Definition: XrdOucHash.hh:127
T * Add(const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
Definition: XrdOucHash.hh:54
void Update(int newcount, time_t newtime)
Definition: XrdOucHash.hh:76
int keycount
Definition: XrdOucHash.hh:122
XrdOucHash(int psize=89, int size=144, int load=80)
unsigned long keyhash
Definition: XrdOucHash.hh:119
int hashmax
Definition: XrdOucHash.hh:204