49 #include <sys/types.h>
57 template<
typename K,
typename V>
69 void Update(
int newcount, time_t newtime)
74 void Set(V &keyData, time_t newtime)
98 template<
typename K,
typename V>
111 template<
typename K,
typename V>
126 V *
Add(K KeyVal, V &KeyData, time_t LifeTime=0,
138 V *
Find(K KeyVal, time_t *KeyTime=0);
150 V *
Rep(K KeyVal, V &KeyData,
const int LifeTime=0,
152 {
return Add(KeyVal, KeyData, LifeTime,
163 V *
Apply(
int (*func)(K, V,
void *),
void *Arg)
171 int (*func)(K, V,
void *),
void *Arg);
174 unsigned long long key2ull(K theKey);
184 #include "XrdOuc/XrdOucRash.icc"
Definition: XrdOucRash.hh:99
XrdOucRash()
Definition: XrdOucRash.hh:166
int Num()
Definition: XrdOucRash.hh:142
Definition: XrdOucRash.hh:52
K keyval
Definition: XrdOucRash.hh:92
Definition: XrdOucRash.hh:53
XrdOucRash_Tent()
Definition: XrdOucRash.hh:105
~XrdOucRash_Tent()
Definition: XrdOucRash.hh:106
XrdOucRash_Item< K, V > * Lookup(K theKey, XrdOucRash_Tent< K, V > **tloc)
Definition: XrdOucRash.hh:54
int rashnum
Definition: XrdOucRash.hh:177
~XrdOucRash_Item()
Definition: XrdOucRash.hh:88
V * Apply(int(*func)(K, V, void *), void *Arg)
Definition: XrdOucRash.hh:163
Definition: XrdOucRash.hh:58
int Count()
Definition: XrdOucRash.hh:61
XrdOucRash_Options
Definition: XrdOucRash.hh:52
XrdOucRash_Tent< K, V > rashTable[16]
Definition: XrdOucRash.hh:176
K Key()
Definition: XrdOucRash.hh:65
V keydata
Definition: XrdOucRash.hh:93
V * Data()
Definition: XrdOucRash.hh:63
XrdOucRash_Item(K &KeyVal, V &KeyData, time_t KeyTime)
Definition: XrdOucRash.hh:79
XrdOucRash_Item< K, V > * Item
Definition: XrdOucRash.hh:103
void Update(int newcount, time_t newtime)
Definition: XrdOucRash.hh:69
void Insert(K theKey, XrdOucRash_Item< K, V > *theItem)
unsigned long long key2ull(K theKey)
void Set(V &keyData, time_t newtime)
Definition: XrdOucRash.hh:74
time_t Time()
Definition: XrdOucRash.hh:67
V * Find(K KeyVal, time_t *KeyTime=0)
Definition: XrdOucRash.hh:112
int keycount
Definition: XrdOucRash.hh:95
time_t keytime
Definition: XrdOucRash.hh:94
~XrdOucRash()
Definition: XrdOucRash.hh:167
V * Rep(K KeyVal, V &KeyData, const int LifeTime=0, XrdOucRash_Options opt=Rash_default)
Definition: XrdOucRash.hh:150
XrdOucRash_Tent< K, V > * Table
Definition: XrdOucRash.hh:102
V * Add(K KeyVal, V &KeyData, time_t LifeTime=0, XrdOucRash_Options opt=Rash_default)