xrootd
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

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

Member Function Documentation

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

Referenced by XrdOucHash< char >::Rep().

template<class T>
T* XrdOucHash< T >::Apply ( int(*)(const char *, T *, void *)  func,
void *  Arg 
)
template<class T>
int XrdOucHash< T >::Del ( const char *  KeyVal,
XrdOucHash_Options  opt = Hash_default 
)
template<class T>
void XrdOucHash< T >::Expand ( )
private
template<class T>
T* XrdOucHash< T >::Find ( const char *  KeyVal,
time_t *  KeyTime = 0 
)

Referenced by XrdOucEnv::Get().

template<class T>
unsigned long XrdOucHash< T >::HashVal ( const char *  KeyVal)
private
template<class T>
int XrdOucHash< T >::Num ( void  )
inline
template<class T>
void XrdOucHash< T >::Purge ( )
template<class T>
void XrdOucHash< T >::Remove ( int  kent,
XrdOucHash_Item< T > *  hip,
XrdOucHash_Item< T > *  phip 
)
private
template<class T>
T* XrdOucHash< T >::Rep ( const char *  KeyVal,
T *  KeyData,
const int  LifeTime = 0,
XrdOucHash_Options  opt = Hash_default 
)
inline

Referenced by XrdOucEnv::Put().

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

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

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

template<class T>
XrdOucHash_Item<T>** XrdOucHash< T >::hashtable
private
template<class T>
int XrdOucHash< T >::hashtablesize
private
template<class T>
int XrdOucHash< T >::prevtablesize
private

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