xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdOucHash< T > Class Template Reference

#include <XrdOucHash.hh>

Public Member Functions

T * Add (const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
 
int Del (const char *KeyVal, XrdOucHash_Options opt=Hash_default)
 
T * Find (const char *KeyVal, time_t *KeyTime=0)
 
int Num ()
 
void Purge ()
 
T * Rep (const char *KeyVal, T *KeyData, const int LifeTime=0, XrdOucHash_Options opt=Hash_default)
 
T * Apply (int(*func)(const char *, T *, void *), void *Arg)
 
 XrdOucHash (int psize=89, int size=144, int load=80)
 
 ~XrdOucHash ()
 

Private Member Functions

void Remove (int kent, XrdOucHash_Item< T > *hip, XrdOucHash_Item< T > *phip)
 
XrdOucHash_Item< T > * Search (XrdOucHash_Item< T > *hip, const unsigned long khash, const char *kval, XrdOucHash_Item< T > **phip=0)
 
unsigned long HashVal (const char *KeyVal)
 
void Expand ()
 

Private Attributes

XrdOucHash_Item< T > ** hashtable
 
int prevtablesize
 
int hashtablesize
 
int hashnum
 
int hashmax
 
int hashload
 

Constructor & Destructor Documentation

◆ XrdOucHash()

template<class T >
XrdOucHash< T >::XrdOucHash ( int  psize = 89,
int  size = 144,
int  load = 80 
)

◆ ~XrdOucHash()

template<class T >
XrdOucHash< T >::~XrdOucHash ( )
inline

Member Function Documentation

◆ Add()

template<class T >
T * XrdOucHash< T >::Add ( const char *  KeyVal,
T *  KeyData,
const int  LifeTime = 0,
XrdOucHash_Options  opt = Hash_default 
)

◆ Apply()

template<class T >
T * XrdOucHash< T >::Apply ( int(*)(const char *, T *, void *)  func,
void *  Arg 
)

◆ Del()

template<class T >
int XrdOucHash< T >::Del ( const char *  KeyVal,
XrdOucHash_Options  opt = Hash_default 
)

◆ Expand()

template<class T >
void XrdOucHash< T >::Expand ( )
private

◆ Find()

template<class T >
T * XrdOucHash< T >::Find ( const char *  KeyVal,
time_t *  KeyTime = 0 
)

◆ HashVal()

template<class T >
unsigned long XrdOucHash< T >::HashVal ( const char *  KeyVal)
private

◆ Num()

template<class T >
int XrdOucHash< T >::Num ( )
inline

References XrdOucHash< T >::hashnum.

Referenced by XrdSutCache::Num().

◆ Purge()

template<class T >
void XrdOucHash< T >::Purge ( )

◆ Remove()

template<class T >
void XrdOucHash< T >::Remove ( int  kent,
XrdOucHash_Item< T > *  hip,
XrdOucHash_Item< T > *  phip 
)
private

◆ Rep()

template<class T >
T * XrdOucHash< T >::Rep ( const char *  KeyVal,
T *  KeyData,
const int  LifeTime = 0,
XrdOucHash_Options  opt = Hash_default 
)
inline

References XrdOucHash< T >::Add(), and Hash_replace.

Referenced by XrdOucEnv::Put().

◆ Search()

template<class T >
XrdOucHash_Item< T > * XrdOucHash< T >::Search ( XrdOucHash_Item< T > *  hip,
const unsigned long  khash,
const char *  kval,
XrdOucHash_Item< T > **  phip = 0 
)
private

Member Data Documentation

◆ hashload

template<class T >
int XrdOucHash< T >::hashload
private

◆ hashmax

template<class T >
int XrdOucHash< T >::hashmax
private

◆ hashnum

template<class T >
int XrdOucHash< T >::hashnum
private

Referenced by XrdOucHash< T >::Num().

◆ hashtable

template<class T >
XrdOucHash_Item<T>** XrdOucHash< T >::hashtable
private

◆ hashtablesize

template<class T >
int XrdOucHash< T >::hashtablesize
private

◆ prevtablesize

template<class T >
int XrdOucHash< T >::prevtablesize
private

The documentation for this class was generated from the following file: