xrootd
Public Member Functions | Private Member Functions | Private Attributes

XrdOucHash< T > Class Template Reference

#include <XrdOucHash.hh>

List of all members.

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

template<class T>
class XrdOucHash< T >


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 
)
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 
)
template<class T>
unsigned long XrdOucHash< T >::HashVal ( const char *  KeyVal) [private]
template<class T>
int XrdOucHash< T >::Num ( ) [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]
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< dMoP >::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 files: