DHashBase< KT, ST > Class Template Reference

#include <direct_hash_base.h>

Inheritance diagram for DHashBase< KT, ST >:
zmm::Object

Public Member Functions

 DHashBase (int capacity)
virtual ~DHashBase ()
void zero ()
int size ()
virtual int hashCode (KT key)=0
virtual bool match (KT key, ST *slot)=0
virtual bool isEmptySlot (ST *slot)=0
virtual bool isDeletedSlot (ST *slot)
int baseTypeHashCode (unsigned int key)
int secondaryHashCode (int primary)
bool search (KT key, ST **retSlot)
void retain ()
void release ()
int getRefCount ()

Static Public Member Functions

static void * operator new (size_t size)
static void operator delete (void *ptr)

Protected Attributes

int capacity
int count
ST * data
mt_atomic_t _ref_count
pthread_mutex_t mutex

Detailed Description

template<typename KT, typename ST>
class DHashBase< KT, ST >

Definition at line 38 of file direct_hash_base.h.


Constructor & Destructor Documentation

template<typename KT, typename ST>
DHashBase< KT, ST >::DHashBase ( int  capacity  )  [inline]

Definition at line 45 of file direct_hash_base.h.

template<typename KT, typename ST>
virtual DHashBase< KT, ST >::~DHashBase (  )  [inline, virtual]

Definition at line 51 of file direct_hash_base.h.


Member Function Documentation

template<typename KT, typename ST>
int DHashBase< KT, ST >::baseTypeHashCode ( unsigned int  key  )  [inline]

Definition at line 74 of file direct_hash_base.h.

int Object::getRefCount (  )  [inherited]

Definition at line 78 of file object.cc.

References zmm::Object::_ref_count, and atomic_get().

template<typename KT, typename ST>
virtual int DHashBase< KT, ST >::hashCode ( KT  key  )  [pure virtual]
template<typename KT, typename ST>
virtual bool DHashBase< KT, ST >::isDeletedSlot ( ST *  slot  )  [inline, virtual]
template<typename KT, typename ST>
virtual bool DHashBase< KT, ST >::isEmptySlot ( ST *  slot  )  [pure virtual]
template<typename KT, typename ST>
virtual bool DHashBase< KT, ST >::match ( KT  key,
ST *  slot 
) [pure virtual]
void Object::operator delete ( void *  ptr  )  [static, inherited]

Definition at line 87 of file object.cc.

References FREE.

void * Object::operator new ( size_t  size  )  [static, inherited]

Definition at line 83 of file object.cc.

References MALLOC.

void Object::release (  )  [inherited]
void Object::retain (  )  [inherited]
template<typename KT, typename ST>
bool DHashBase< KT, ST >::search ( KT  key,
ST **  retSlot 
) [inline]

Definition at line 113 of file direct_hash_base.h.

template<typename KT, typename ST>
int DHashBase< KT, ST >::secondaryHashCode ( int  primary  )  [inline]
template<typename KT, typename ST>
int DHashBase< KT, ST >::size (  )  [inline]

Definition at line 60 of file direct_hash_base.h.

template<typename KT, typename ST>
void DHashBase< KT, ST >::zero (  )  [inline]

Definition at line 55 of file direct_hash_base.h.


Field Documentation

mt_atomic_t zmm::Object::_ref_count [protected, inherited]
template<typename KT, typename ST>
int DHashBase< KT, ST >::capacity [protected]
template<typename KT, typename ST>
int DHashBase< KT, ST >::count [protected]
template<typename KT, typename ST>
ST* DHashBase< KT, ST >::data [protected]
pthread_mutex_t zmm::Object::mutex [protected, inherited]

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

Generated on Fri Mar 26 20:16:56 2010 for MediaTomb by  doxygen 1.6.1