LLVM API Documentation

Public Types | Public Member Functions
llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey > Class Template Reference

#include <ConstantsContext.h>

Inheritance diagram for llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::pair< TypeClass
*, ValType > 
MapKey
typedef std::map< MapKey,
ConstantClass * > 
MapTy
typedef std::map
< ConstantClass *, typename
MapTy::iterator > 
InverseMapTy

Public Member Functions

MapTy::iterator map_begin ()
MapTy::iterator map_end ()
void freeConstants ()
MapTy::iterator InsertOrGetItem (std::pair< MapKey, ConstantClass * > &InsertVal, bool &Exists)
ConstantClass * getOrCreate (TypeClass *Ty, ValRefType V)
void remove (ConstantClass *CP)
void MoveConstantToNewSlot (ConstantClass *C, typename MapTy::iterator I)
void dump () const

Detailed Description

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
class llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >

Definition at line 515 of file ConstantsContext.h.


Member Typedef Documentation

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
typedef std::map<ConstantClass *, typename MapTy::iterator> llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::InverseMapTy

Definition at line 519 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
typedef std::pair<TypeClass*, ValType> llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::MapKey

Definition at line 517 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
typedef std::map<MapKey, ConstantClass *> llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::MapTy

Definition at line 518 of file ConstantsContext.h.


Member Function Documentation

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::dump ( ) const [inline]

Definition at line 644 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::freeConstants ( ) [inline]

Definition at line 536 of file ConstantsContext.h.

Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
ConstantClass* llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::getOrCreate ( TypeClass *  Ty,
ValRefType  V 
) [inline]
template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
MapTy::iterator llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::InsertOrGetItem ( std::pair< MapKey, ConstantClass * > &  InsertVal,
bool Exists 
) [inline]

InsertOrGetItem - Return an iterator for the specified element. If the element exists in the map, the returned iterator points to the entry and Exists=true. If not, the iterator points to the newly inserted entry and returns Exists=false. Newly inserted entries have I->second == 0, and should be filled in.

Definition at line 549 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
MapTy::iterator llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::map_begin ( ) [inline]

Definition at line 533 of file ConstantsContext.h.

Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
MapTy::iterator llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::map_end ( ) [inline]

Definition at line 534 of file ConstantsContext.h.

Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::MoveConstantToNewSlot ( ConstantClass *  C,
typename MapTy::iterator  I 
) [inline]

MoveConstantToNewSlot - If we are about to change C to be the element specified by I, update our internal data structures to reflect this fact.

Definition at line 627 of file ConstantsContext.h.

template<class ValType, class ValRefType, class TypeClass, class ConstantClass, bool HasLargeKey = false>
void llvm::ConstantUniqueMap< ValType, ValRefType, TypeClass, ConstantClass, HasLargeKey >::remove ( ConstantClass *  CP) [inline]

Definition at line 613 of file ConstantsContext.h.

Referenced by llvm::ConstantExpr::destroyConstant().


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