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: