Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

SharedTable< K, V >::T Class Reference

#include <SharedTable.H>

Inheritance diagram for SharedTable< K, V >::T:

DepPathTbl::DPS List of all members.

Public Member Functions

 T (Bit32 sizeHint=0) throw ()
 T (const T *tbl) throw ()
void Init (Bit32 sizeHint=0U) throw ()
T & operator= (const T &tbl) throw ()
int Size () const throw ()
bool Get (const K &k, KVPairPtr &pr) const throw ()
bool Put (KVPairPtr pr, bool resize=true) throw ()
bool Put (const K &k, const V &v, KVPairPtr &pr, bool resize=true) throw ()
void Copy (const T *tbl, bool resize=true) throw ()
bool Delete (const K &k, KVPairPtr &pr, bool resize=true) throw ()
void Resize () throw ()

Private Types

typedef MultiBucket * MultiBucketPtr

Private Member Functions

void NewBuckets (bool allocBuckets) throw ()
void AllocBuckets (Bit32 numBuckets) throw ()
void EmptyBuckets (Bit32 numBuckets) throw ()
void Rehash (Bit16 logBuckets) throw ()
Bit32 BucketNum (const K &k) const throw ()
KVPair * InitBucket (KVPair *elt0, KVPair *elt1) throw ()
KVPair * GrowBucket (MultiBucketPtr &mb, KVPairPtr *&elt) throw ()
bool PutPrivate (KVPairPtr pr) throw ()
 T (const T &)

Static Private Member Functions

static unsigned int MultiBucketSlots () throw ()

Private Attributes

Bit32 numEntries
Bit32 minEntries
Bit32 maxEntries
Bit16 logBuckets
Bit16 minLogBuckets
KVPairPtr * buckets

Friends

class Iterator

Classes

class  MultiBucket

template<class K, class V>
class SharedTable< K, V >::T


Member Typedef Documentation

template<class K, class V>
typedef MultiBucket* SharedTable< K, V >::T::MultiBucketPtr [private]
 

Definition at line 146 of file SharedTable.H.


Constructor & Destructor Documentation

template<class K, class V>
SharedTable< K, V >::T::T (  Bit32  sizeHint = 0  )  throw () [inline]
 

Definition at line 69 of file SharedTable.H.

References SharedTable< K, V >::T::Init().

template<class K, class V>
SharedTable< K, V >::T::T (  const T *  tbl  )  throw () [inline]
 

Definition at line 74 of file SharedTable.H.

References SharedTable< K, V >::T::Copy(), and SharedTable< K, V >::T::Init().

template<class K, class V>
SharedTable< K, V >::T::T (  const T &   )  [private]
 


Member Function Documentation

template<class K, class V>
void SharedTable< K, V >::T::AllocBuckets (  Bit32  numBuckets  )  throw () [private]
 

Definition at line 318 of file SharedTable.H.

References NEW_ARRAY.

template<class K, class V>
Bit32 SharedTable< K, V >::T::BucketNum (  const K &  k  )  const throw () [inline, private]
 

Definition at line 334 of file SharedTable.H.

template<class K, class V>
void SharedTable< K, V >::T::Copy (  const T *  tbl,
bool  resize = true
)  throw ()
 

Definition at line 269 of file SharedTable.H.

References SharedTable< K, V >::Iterator::Next().

Referenced by DepPathTbl::DPS::Merge(), SharedTable< K, V >::T::operator=(), and SharedTable< K, V >::T::T().

template<class K, class V>
bool SharedTable< K, V >::T::Delete (  const K &  k,
KVPairPtr &  pr,
bool  resize = true
)  throw ()
 

Definition at line 625 of file SharedTable.H.

References SharedTable< K, V >::KVPair::key.

Referenced by NamesTagsPickle(), and PromoteCommonPaths().

template<class K, class V>
void SharedTable< K, V >::T::EmptyBuckets (  Bit32  numBuckets  )  throw () [private]
 

Definition at line 326 of file SharedTable.H.

template<class K, class V>
bool SharedTable< K, V >::T::Get (  const K &  k,
KVPairPtr &  pr
)  const throw ()
 

Definition at line 450 of file SharedTable.H.

References SharedTable< K, V >::KVPair::key.

Referenced by DepPathTbl::DPS::Member().

template<class K, class V>
SharedTable< K, V >::KVPair * SharedTable< K, V >::T::GrowBucket (  MultiBucketPtr &  mb,
KVPairPtr *&  elt
)  throw () [private]
 

Definition at line 363 of file SharedTable.H.

References Ceiling, SharedTable< K, V >::T::MultiBucket::len, NEW_ARRAY, and SharedTable< K, V >::T::MultiBucket::num.

template<class K, class V>
void SharedTable< K, V >::T::Init (  Bit32  sizeHint = 0U  )  throw ()
 

Definition at line 284 of file SharedTable.H.

References Ceiling, Log_2(), and max().

Referenced by SharedTable< K, V >::T::operator=(), and SharedTable< K, V >::T::T().

template<class K, class V>
SharedTable< K, V >::KVPair * SharedTable< K, V >::T::InitBucket (  KVPair *  elt0,
KVPair *  elt1
)  throw () [private]
 

Definition at line 341 of file SharedTable.H.

References SharedTable< K, V >::T::MultiBucket::len, NEW_ARRAY, and SharedTable< K, V >::T::MultiBucket::num.

template<class K, class V>
static unsigned int SharedTable< K, V >::T::MultiBucketSlots (   )  throw () [inline, static, private]
 

Definition at line 148 of file SharedTable.H.

Referenced by SharedTable< K, V >::Iterator::Next().

template<class K, class V>
void SharedTable< K, V >::T::NewBuckets (  bool  allocBuckets  )  throw () [private]
 

Definition at line 302 of file SharedTable.H.

References Round.

template<class K, class V>
T& SharedTable< K, V >::T::operator= (  const T &  tbl  )  throw () [inline]
 

Definition at line 84 of file SharedTable.H.

References SharedTable< K, V >::T::Copy(), and SharedTable< K, V >::T::Init().

template<class K, class V>
bool SharedTable< K, V >::T::Put (  const K &  k,
const V &  v,
KVPairPtr &  pr,
bool  resize = true
)  throw ()
 

Definition at line 556 of file SharedTable.H.

References SharedTable< K, V >::KVPair::key, SharedTable< K, V >::T::MultiBucket::len, NEW_CONSTR, and SharedTable< K, V >::T::MultiBucket::num.

template<class K, class V>
bool SharedTable< K, V >::T::Put (  KVPairPtr  pr,
bool  resize = true
)  throw ()
 

Definition at line 539 of file SharedTable.H.

Referenced by DepPathTbl::DPS::Add(), DirInfos::AddDpnd(), DepPathTbl::DPS::AddExtend(), ValC::AddExtendToDPS(), ValC::AddToDPS(), BindingVC::AddToLenDPS(), ListVC::AddToLenDPS(), CollectAllDpnd(), CollectDpnd(), CollectFunc(), CollectLet(), CollectModel(), DeleteDuplicatePathsInner(), DirInfos::LookupDir(), ValC::Merge(), ValC::MergeLenDPS(), ModelCutOff(), PromoteCommonPaths(), PickleC::UnpickleDPS(), and ValueDpnd().

template<class K, class V>
bool SharedTable< K, V >::T::PutPrivate (  KVPairPtr  pr  )  throw () [private]
 

Definition at line 480 of file SharedTable.H.

References SharedTable< K, V >::KVPair::key, SharedTable< K, V >::T::MultiBucket::len, and SharedTable< K, V >::T::MultiBucket::num.

template<class K, class V>
void SharedTable< K, V >::T::Rehash (  Bit16  logBuckets  )  throw () [private]
 

Definition at line 393 of file SharedTable.H.

Referenced by SharedTable< K, V >::T::Resize().

template<class K, class V>
void SharedTable< K, V >::T::Resize (   )  throw ()
 

Definition at line 436 of file SharedTable.H.

References SharedTable< K, V >::T::Rehash().

Referenced by NamesTagsPickle(), and PromoteCommonPaths().

template<class K, class V>
int SharedTable< K, V >::T::Size (   )  const throw () [inline]
 

Definition at line 88 of file SharedTable.H.

References SharedTable< K, V >::T::numEntries.

Referenced by CanonicalDpnd(), CollectAllDpnd(), CollectDpnd(), CollectFunc(), CollectLet(), DeleteDuplicatePaths(), DeleteDuplicatePathsInner(), MergeArgsDpnd(), ValC::MergeDPS(), ValC::MergeLenDPS(), ModelCutOff(), NamesTagsPickle(), PickleC::PickleDPS(), ValC::SizeOfDPS(), and ValueDpnd().


Friends And Related Function Documentation

template<class K, class V>
friend class Iterator [friend]
 

Definition at line 203 of file SharedTable.H.


Member Data Documentation

template<class K, class V>
KVPairPtr* SharedTable< K, V >::T::buckets [private]
 

Definition at line 131 of file SharedTable.H.

Referenced by SharedTable< K, V >::Iterator::Next().

template<class K, class V>
Bit16 SharedTable< K, V >::T::logBuckets [private]
 

Definition at line 129 of file SharedTable.H.

Referenced by SharedTable< K, V >::Iterator::Next().

template<class K, class V>
Bit32 SharedTable< K, V >::T::maxEntries [private]
 

Definition at line 128 of file SharedTable.H.

template<class K, class V>
Bit32 SharedTable< K, V >::T::minEntries [private]
 

Definition at line 127 of file SharedTable.H.

template<class K, class V>
Bit16 SharedTable< K, V >::T::minLogBuckets [private]
 

Definition at line 130 of file SharedTable.H.

template<class K, class V>
Bit32 SharedTable< K, V >::T::numEntries [private]
 

Definition at line 126 of file SharedTable.H.

Referenced by SharedTable< K, V >::T::Size().


The documentation for this class was generated from the following file:
Generated on Mon May 8 00:49:13 2006 for Vesta by  doxygen 1.4.2