llvm::StringMapImpl Class Reference

StringMapImpl - This is the base class of StringMap that is shared among all of its instantiations. More...

#include <StringMap.h>

Inheritance diagram for llvm::StringMapImpl:
llvm::StringMap< ValueTy, AllocatorTy >

List of all members.

Classes

struct  ItemBucket
 ItemBucket - The hash table consists of an array of these. More...

Public Member Functions

unsigned getNumBuckets () const
unsigned getNumItems () const
bool empty () const
unsigned size () const

Static Public Member Functions

static StringMapEntryBasegetTombstoneVal ()

Protected Member Functions

 StringMapImpl (unsigned itemSize)
 StringMapImpl (unsigned InitSize, unsigned ItemSize)
void RehashTable ()
 RehashTable - Grow the table, redistributing values into the buckets with the appropriate mod-of-hashtable-size.
unsigned LookupBucketFor (StringRef Key)
 LookupBucketFor - Look up the bucket that the specified string should end up in.
int FindKey (StringRef Key) const
 FindKey - Look up the bucket that contains the specified key.
void RemoveKey (StringMapEntryBase *V)
 RemoveKey - Remove the specified StringMapEntry from the table, but do not delete it.
StringMapEntryBaseRemoveKey (StringRef Key)
 RemoveKey - Remove the StringMapEntry for the specified key from the table, returning it.

Protected Attributes

ItemBucketTheTable
unsigned NumBuckets
unsigned NumItems
unsigned NumTombstones
unsigned ItemSize

Private Member Functions

void init (unsigned Size)

Detailed Description

StringMapImpl - This is the base class of StringMap that is shared among all of its instantiations.


Constructor & Destructor Documentation

llvm::StringMapImpl::StringMapImpl ( unsigned  itemSize  )  [inline, explicit, protected]
StringMapImpl::StringMapImpl ( unsigned  InitSize,
unsigned  ItemSize 
) [protected]

Member Function Documentation

bool llvm::StringMapImpl::empty (  )  const [inline]
int StringMapImpl::FindKey ( StringRef  Key  )  const [protected]

FindKey - Look up the bucket that contains the specified key.

If it exists in the map, return the bucket number of the key. Otherwise return -1. This does not modify the map.

unsigned llvm::StringMapImpl::getNumBuckets (  )  const [inline]
unsigned llvm::StringMapImpl::getNumItems (  )  const [inline]
static StringMapEntryBase* llvm::StringMapImpl::getTombstoneVal (  )  [inline, static]
void StringMapImpl::init ( unsigned  Size  )  [private]
unsigned StringMapImpl::LookupBucketFor ( StringRef  Name  )  [protected]

LookupBucketFor - Look up the bucket that the specified string should end up in.

If it already exists as a key in the map, the Item pointer for the specified bucket will be non-null. Otherwise, it will be null. In either case, the FullHashValue field of the bucket will be set to the hash value of the string.

void StringMapImpl::RehashTable (  )  [protected]

RehashTable - Grow the table, redistributing values into the buckets with the appropriate mod-of-hashtable-size.

StringMapEntryBase * StringMapImpl::RemoveKey ( StringRef  Key  )  [protected]

RemoveKey - Remove the StringMapEntry for the specified key from the table, returning it.

If the key is not in the table, this returns null.

void StringMapImpl::RemoveKey ( StringMapEntryBase V  )  [protected]

RemoveKey - Remove the specified StringMapEntry from the table, but do not delete it.

This aborts if the value isn't in the table.

unsigned llvm::StringMapImpl::size (  )  const [inline]

Member Data Documentation

unsigned llvm::StringMapImpl::ItemSize [protected]
unsigned llvm::StringMapImpl::NumBuckets [protected]
unsigned llvm::StringMapImpl::NumItems [protected]
unsigned llvm::StringMapImpl::NumTombstones [protected]

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

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1