76void Update(
int newcount, time_t newtime)
81int Same(
const unsigned long KeyHash,
const char *KeyVal)
94 else keyval = strdup(KeyVal);
142T *
Add(
const char *KeyVal, T *KeyData,
const int LifeTime=0,
154T *
Find(
const char *KeyVal, time_t *KeyTime=0);
166T *
Rep(
const char *KeyVal, T *KeyData,
const int LifeTime=0,
168 {
return Add(KeyVal, KeyData, LifeTime,
179T *
Apply(
int (*func)(
const char *, T *,
void *),
void *Arg);
192 const unsigned long khash,
212#include "XrdOuc/XrdOucHash.icc"
XrdOucHash_Options
Definition XrdOucHash.hh:51
@ Hash_count
Definition XrdOucHash.hh:54
@ Hash_data_is_key
Definition XrdOucHash.hh:52
@ Hash_keepdata
Definition XrdOucHash.hh:57
@ Hash_default
Definition XrdOucHash.hh:51
@ Hash_replace
Definition XrdOucHash.hh:53
@ Hash_keep
Definition XrdOucHash.hh:55
@ Hash_dofree
Definition XrdOucHash.hh:56
Definition XrdOucHash.hh:62
unsigned long Hash()
Definition XrdOucHash.hh:68
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 Same(const unsigned long KeyHash, const char *KeyVal)
Definition XrdOucHash.hh:81
XrdOucHash_Item< T > * Next()
Definition XrdOucHash.hh:72
XrdOucHash_Options entopts
Definition XrdOucHash.hh:123
~XrdOucHash_Item()
Definition XrdOucHash.hh:103
T * Data()
Definition XrdOucHash.hh:66
void Update(int newcount, time_t newtime)
Definition XrdOucHash.hh:76
time_t Time()
Definition XrdOucHash.hh:74
int Count()
Definition XrdOucHash.hh:64
T * keydata
Definition XrdOucHash.hh:120
XrdOucHash_Item< T > * next
Definition XrdOucHash.hh:117
time_t keytime
Definition XrdOucHash.hh:121
const char * Key()
Definition XrdOucHash.hh:70
int keycount
Definition XrdOucHash.hh:122
unsigned long keyhash
Definition XrdOucHash.hh:119
void SetNext(XrdOucHash_Item< T > *item)
Definition XrdOucHash.hh:84
const char * keyval
Definition XrdOucHash.hh:118
Definition XrdOucHash.hh:128
int Del(const char *KeyVal, XrdOucHash_Options opt=Hash_default)
~XrdOucHash()
Definition XrdOucHash.hh:186
unsigned long HashVal(const char *KeyVal)
int hashtablesize
Definition XrdOucHash.hh:202
T * Rep(const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
Definition XrdOucHash.hh:166
XrdOucHash_Item< T > * Search(XrdOucHash_Item< T > *hip, const unsigned long khash, const char *kval, XrdOucHash_Item< T > **phip=0)
T * Apply(int(*func)(const char *, T *, void *), void *Arg)
void Remove(int kent, XrdOucHash_Item< T > *hip, XrdOucHash_Item< T > *phip)
int hashload
Definition XrdOucHash.hh:205
int hashnum
Definition XrdOucHash.hh:203
int prevtablesize
Definition XrdOucHash.hh:201
int Num()
Definition XrdOucHash.hh:158
T * Add(const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
T * Find(const char *KeyVal, time_t *KeyTime=0)
XrdOucHash(int psize=89, int size=144, int load=80)
int hashmax
Definition XrdOucHash.hh:204
XrdOucHash_Item< T > ** hashtable
Definition XrdOucHash.hh:200