LLVM API Documentation

Public Types | Public Member Functions | Friends
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy > Class Template Reference

#include <ScopedHashTable.h>

List of all members.

Public Types

typedef ScopedHashTableScope
< K, V, KInfo, AllocatorTy > 
ScopeTy
typedef ReferenceAdder
< AllocatorTy >::result 
AllocatorRefTy
 Access to the allocator.
typedef ReferenceAdder< const
AllocatorTy >::result 
AllocatorCRefTy
typedef
ScopedHashTableIterator< K, V,
KInfo > 
iterator

Public Member Functions

 ScopedHashTable ()
 ScopedHashTable (AllocatorTy A)
 ~ScopedHashTable ()
AllocatorRefTy getAllocator ()
AllocatorCRefTy getAllocator () const
bool count (const K &Key) const
lookup (const K &Key)
void insert (const K &Key, const V &Val)
iterator end ()
iterator begin (const K &Key)
ScopeTygetCurScope ()
const ScopeTygetCurScope () const
void insertIntoScope (ScopeTy *S, const K &Key, const V &Val)

Friends

class ScopedHashTableScope< K, V, KInfo, AllocatorTy >

Detailed Description

template<typename K, typename V, typename KInfo, typename AllocatorTy>
class llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >

Definition at line 146 of file ScopedHashTable.h.


Member Typedef Documentation

template<typename K, typename V, typename KInfo, typename AllocatorTy>
typedef ReferenceAdder<const AllocatorTy>::result llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::AllocatorCRefTy

Definition at line 171 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
typedef ReferenceAdder<AllocatorTy>::result llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::AllocatorRefTy

Access to the allocator.

Definition at line 170 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
typedef ScopedHashTableIterator<K, V, KInfo> llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::iterator

Definition at line 191 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
typedef ScopedHashTableScope<K, V, KInfo, AllocatorTy> llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopeTy

ScopeTy - This is a helpful typedef that allows clients to get easy access to the name of the scope for this hash table.

Definition at line 150 of file ScopedHashTable.h.


Constructor & Destructor Documentation

template<typename K, typename V, typename KInfo, typename AllocatorTy>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopedHashTable ( ) [inline]

Definition at line 162 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopedHashTable ( AllocatorTy  A) [inline]

Definition at line 163 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::~ScopedHashTable ( ) [inline]

Member Function Documentation

template<typename K, typename V, typename KInfo, typename AllocatorTy>
iterator llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::begin ( const K &  Key) [inline]
template<typename K, typename V, typename KInfo, typename AllocatorTy>
bool llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::count ( const K &  Key) const [inline]
template<typename K, typename V, typename KInfo, typename AllocatorTy>
iterator llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::end ( ) [inline]
template<typename K, typename V, typename KInfo, typename AllocatorTy>
AllocatorRefTy llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getAllocator ( ) [inline]

Definition at line 172 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
AllocatorCRefTy llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getAllocator ( ) const [inline]

Definition at line 173 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
ScopeTy* llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getCurScope ( ) [inline]

Definition at line 202 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
const ScopeTy* llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getCurScope ( ) const [inline]

Definition at line 203 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo, typename AllocatorTy>
void llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::insert ( const K &  Key,
const V &  Val 
) [inline]
template<typename K, typename V, typename KInfo, typename AllocatorTy>
void llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::insertIntoScope ( ScopeTy S,
const K &  Key,
const V &  Val 
) [inline]

insertIntoScope - This inserts the specified key/value at the specified (possibly not the current) scope. While it is ok to insert into a scope that isn't the current one, it isn't ok to insert *underneath* an existing value of the specified key.

Definition at line 209 of file ScopedHashTable.h.

References llvm::ScopedHashTableVal< K, V >::Create().

Referenced by llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::insert().

template<typename K, typename V, typename KInfo, typename AllocatorTy>
V llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::lookup ( const K &  Key) [inline]

Friends And Related Function Documentation

template<typename K, typename V, typename KInfo, typename AllocatorTy>
friend class ScopedHashTableScope< K, V, KInfo, AllocatorTy > [friend]

Definition at line 160 of file ScopedHashTable.h.


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