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 ()
Toperator= (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 MultiBucketMultiBucketPtr

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 ()
KVPairInitBucket (KVPair *elt0, KVPair *elt1) throw ()
KVPairGrowBucket (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
KVPairPtrbuckets

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