LLVM  4.0.0
Public Types | Public Member Functions | Friends | List of all members
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy > Class Template Reference

#include <ScopedHashTable.h>

Public Types

typedef ScopedHashTableScope
< 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. More...
 
typedef unsigned size_type
 
typedef
ScopedHashTableIterator< K, V,
KInfo > 
iterator
 

Public Member Functions

 ScopedHashTable ()=default
 
 ScopedHashTable (AllocatorTy A)
 
 ScopedHashTable (const ScopedHashTable &)=delete
 
ScopedHashTableoperator= (const ScopedHashTable &)=delete
 
 ~ScopedHashTable ()
 
AllocatorTy & getAllocator ()
 Access to the allocator. More...
 
const AllocatorTy & getAllocator () const
 
size_type count (const K &Key) const
 Return 1 if the specified key is in the table, 0 otherwise. More...
 
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)
 insertIntoScope - This inserts the specified key/value at the specified (possibly not the current) scope. More...
 

Friends

class ScopedHashTableScope< K, V, KInfo, AllocatorTy >
 

Detailed Description

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

Definition at line 44 of file ScopedHashTable.h.

Member Typedef Documentation

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

Definition at line 197 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
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 154 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
typedef unsigned llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::size_type

Definition at line 155 of file ScopedHashTable.h.

Constructor & Destructor Documentation

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopedHashTable ( )
default
template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopedHashTable ( AllocatorTy  A)
inline

Definition at line 168 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopedHashTable ( const ScopedHashTable< K, V, KInfo, AllocatorTy > &  )
delete
template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::~ScopedHashTable ( )
inline

Definition at line 172 of file ScopedHashTable.h.

References assert().

Member Function Documentation

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
iterator llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::begin ( const K &  Key)
inline
template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
size_type llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::count ( const K &  Key) const
inline

Return 1 if the specified key is in the table, 0 otherwise.

Definition at line 181 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
iterator llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::end ( )
inline
template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
AllocatorTy& llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getAllocator ( )
inline

Access to the allocator.

Definition at line 177 of file ScopedHashTable.h.

References Allocator.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
const AllocatorTy& llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getAllocator ( ) const
inline

Definition at line 178 of file ScopedHashTable.h.

References Allocator.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
ScopeTy* llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getCurScope ( )
inline

Definition at line 208 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
const ScopeTy* llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::getCurScope ( ) const
inline

Definition at line 209 of file ScopedHashTable.h.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
void llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::insert ( const K &  Key,
const V &  Val 
)
inline
template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
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 215 of file ScopedHashTable.h.

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

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

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
V llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::lookup ( const K &  Key)
inline

Definition at line 185 of file ScopedHashTable.h.

References I.

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
ScopedHashTable& llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::operator= ( const ScopedHashTable< K, V, KInfo, AllocatorTy > &  )
delete

Friends And Related Function Documentation

template<typename K, typename V, typename KInfo = DenseMapInfo<K>, typename AllocatorTy = MallocAllocator>
friend class ScopedHashTableScope< K, V, KInfo, AllocatorTy >
friend

Definition at line 158 of file ScopedHashTable.h.


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