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

#include "llvm/ADT/ScopedHashTable.h"

Public Types

using ScopeTy = ScopedHashTableScope< K, V, KInfo, AllocatorTy >
 ScopeTy - This is a helpful typedef that allows clients to get easy access to the name of the scope for this hash table. More...
 
using size_type = unsigned
 
using iterator = ScopedHashTableIterator< K, V, KInfo >
 

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) const
 
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, typename AllocatorTy>
class llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >

Definition at line 44 of file ScopedHashTable.h.

Member Typedef Documentation

◆ iterator

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

Definition at line 199 of file ScopedHashTable.h.

◆ ScopeTy

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

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 155 of file ScopedHashTable.h.

◆ size_type

template<typename K, typename V, typename KInfo, typename AllocatorTy>
using llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::size_type = unsigned

Definition at line 156 of file ScopedHashTable.h.

Constructor & Destructor Documentation

◆ ScopedHashTable() [1/3]

template<typename K, typename V, typename KInfo, typename AllocatorTy>
llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::ScopedHashTable ( )
default

◆ ScopedHashTable() [2/3]

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

Definition at line 170 of file ScopedHashTable.h.

◆ ScopedHashTable() [3/3]

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

◆ ~ScopedHashTable()

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

Member Function Documentation

◆ begin()

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

◆ count()

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

References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::count().

◆ end()

template<typename K, typename V, typename KInfo, typename AllocatorTy>
iterator llvm::ScopedHashTable< K, V, KInfo, AllocatorTy >::end ( )
inline

Definition at line 201 of file ScopedHashTable.h.

◆ getAllocator() [1/2]

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

Access to the allocator.

Definition at line 179 of file ScopedHashTable.h.

References Allocator.

◆ getAllocator() [2/2]

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

Definition at line 180 of file ScopedHashTable.h.

References Allocator.

◆ getCurScope() [1/2]

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

Definition at line 210 of file ScopedHashTable.h.

◆ getCurScope() [2/2]

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

Definition at line 211 of file ScopedHashTable.h.

◆ insert()

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

Definition at line 195 of file ScopedHashTable.h.

◆ insertIntoScope()

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 217 of file ScopedHashTable.h.

References Allocator, assert(), and llvm::ScopedHashTableScope< K, V, KInfo, AllocatorTy >::ScopedHashTableScope().

◆ lookup()

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

◆ operator=()

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

Friends And Related Function Documentation

◆ ScopedHashTableScope< K, V, KInfo, AllocatorTy >

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

Definition at line 159 of file ScopedHashTable.h.


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