oaHashTbl Class Template Reference

Inheritance diagram for oaHashTbl:

oaHashMapTbl oaHashSetTbl oaKeySizedHashSet<K, true>


Public Methods

oaUInt4 getNumEntries () const
oaUInt4 add (T obj)
void addAtSlot (T obj, oaHashTblSlotId< T > &slot)
void remove (T obj)
void removeFromSlot (oaHashTblSlotId< T > &slot)
virtual oaUInt8 calcVMSize () const
void genHash (const char *str, oaUInt4 &start, oaUInt4 &stride) const
void genHash (oaUInt4 value, oaUInt4 &start, oaUInt4 &stride) const
void genHash (oaUInt8 value, oaUInt4 &start, oaUInt4 &stride) const
void genHash (void *ptr, oaUInt4 &start, oaUInt4 &stride) const
void genHash (oaUInt4 scope, oaUInt4 index, oaUInt4 &start, oaUInt4 &stride) const
void beginHash (oaUInt4 &start, oaUInt4 &stride) const
void updateHash (const char *str, oaUInt4 &start, oaUInt4 &stride, oaBoolean toLower=false) const
void updateHash (const char c, oaUInt4 &start, oaUInt4 &stride, oaBoolean toLower=false) const
void updateHash (oaInt4 x, oaUInt4 &start, oaUInt4 &stride) const
void updateHash (oaUInt4 value, oaUInt4 &start, oaUInt4 &stride) const
void endHash (oaUInt4 &start, oaUInt4 &stride) const

Protected Methods

 oaHashTbl (oaUInt4 sizeIn=32)
virtual ~oaHashTbl ()
oaUInt4 find (oaUInt4 loc, oaUInt4 stride, const void *data) const
oaUInt4 findSlot (oaUInt4 start, oaUInt4 stride, const void *data, oaHashTblSlotId< T > &slot)
virtual void resize (oaUInt4 newSize)
virtual void hash (T obj, oaUInt4 &start, oaUInt4 &stride) const=0
virtual oaBoolean compare (T obj, const void *data) const=0
void getLocation (T obj, oaUInt4 &loc, oaUInt4 &deletedKeyLoc) const
void getNextLoc (oaUInt4 &loc, oaUInt4 stride, oaUInt4 &start) const

Friends

class oaHashIter< T >

template<class T>
class oaHashTbl< T >


Constructor & Destructor Documentation

template<class T>
oaHashTbl< T >::oaHashTbl oaUInt4    sizeIn = 32 [protected]
 

template<class T>
oaHashTbl< T >::~oaHashTbl   [protected, virtual]
 


Member Function Documentation

template<class T>
oaUInt4 oaHashTbl< T >::add T    obj
 

template<class T>
void oaHashTbl< T >::addAtSlot T    obj,
oaHashTblSlotId< T > &    slot
[inline]
 

template<class T>
void oaHashTbl< T >::beginHash oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
oaUInt8 oaHashTbl< T >::calcVMSize   const [virtual]
 

template<class T>
virtual oaBoolean oaHashTbl< T >::compare T    obj,
const void *    data
const [protected, pure virtual]
 

Implemented in oaHashMapTbl, oaHashSetTbl, and oaKeySizedHashSet<K, true>.

template<class T>
void oaHashTbl< T >::endHash oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
oaUInt4 oaHashTbl< T >::find oaUInt4    loc,
oaUInt4    stride,
const void *    data
const [protected]
 

template<class T>
oaUInt4 oaHashTbl< T >::findSlot oaUInt4    start,
oaUInt4    stride,
const void *    data,
oaHashTblSlotId< T > &    slot
[protected]
 

template<class T>
void oaHashTbl< T >::genHash oaUInt4    scope,
oaUInt4    index,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::genHash void *    ptr,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::genHash oaUInt8    value,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::genHash oaUInt4    value,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::genHash const char *    str,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::getLocation T    obj,
oaUInt4 &    loc,
oaUInt4 &    deletedKeyLoc
const [protected]
 

template<class T>
void oaHashTbl< T >::getNextLoc oaUInt4 &    loc,
oaUInt4    stride,
oaUInt4 &    start
const [inline, protected]
 

template<class T>
oaUInt4 oaHashTbl< T >::getNumEntries   const [inline]
 

template<class T>
virtual void oaHashTbl< T >::hash T    obj,
oaUInt4 &    start,
oaUInt4 &    stride
const [protected, pure virtual]
 

Implemented in oaHashMapTbl, and oaHashSetTbl.

template<class T>
void oaHashTbl< T >::remove T    obj
 

template<class T>
void oaHashTbl< T >::removeFromSlot oaHashTblSlotId< T > &    slot [inline]
 

template<class T>
void oaHashTbl< T >::resize oaUInt4    newSize [protected, virtual]
 

template<class T>
void oaHashTbl< T >::updateHash oaUInt4    value,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::updateHash oaInt4    x,
oaUInt4 &    start,
oaUInt4 &    stride
const [inline]
 

template<class T>
void oaHashTbl< T >::updateHash const char    c,
oaUInt4 &    start,
oaUInt4 &    stride,
oaBoolean    toLower = false
const [inline]
 

template<class T>
void oaHashTbl< T >::updateHash const char *    str,
oaUInt4 &    start,
oaUInt4 &    stride,
oaBoolean    toLower = false
const [inline]
 


Friends And Related Function Documentation

template<class T>
friend class oaHashIter< T > [friend]
 


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

Return to top of page