LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::StringMapEntry< ValueTy > Class Template Reference

StringMapEntry - This is used to represent one value that is inserted into a StringMap. More...

#include <StringMap.h>

Inheritance diagram for llvm::StringMapEntry< ValueTy >:
[legend]
Collaboration diagram for llvm::StringMapEntry< ValueTy >:
[legend]

Public Member Functions

 StringMapEntry (unsigned strLen)
 
template<class InitTy >
 StringMapEntry (unsigned strLen, InitTy &&V)
 
StringRef getKey () const
 
const ValueTy & getValue () const
 
ValueTy & getValue ()
 
void setValue (const ValueTy &V)
 
const char * getKeyData () const
 getKeyData - Return the start of the string data that is the key for this value. More...
 
StringRef first () const
 
template<typename AllocatorTy >
void Destroy (AllocatorTy &Allocator)
 Destroy - Destroy this StringMapEntry, releasing memory back to the specified allocator. More...
 
void Destroy ()
 Destroy this object, releasing memory back to the malloc allocator. More...
 
- Public Member Functions inherited from llvm::StringMapEntryBase
 StringMapEntryBase (unsigned Len)
 
unsigned getKeyLength () const
 

Static Public Member Functions

template<typename AllocatorTy , typename InitType >
static StringMapEntryCreate (StringRef Key, AllocatorTy &Allocator, InitType &&InitVal)
 Create - Create a StringMapEntry for the specified key and default construct the value. More...
 
template<typename AllocatorTy >
static StringMapEntryCreate (StringRef Key, AllocatorTy &Allocator)
 
template<typename InitType >
static StringMapEntryCreate (StringRef Key, InitType &&InitVal)
 Create - Create a StringMapEntry with normal malloc/free. More...
 
static StringMapEntryCreate (StringRef Key)
 
static StringMapEntryGetStringMapEntryFromKeyData (const char *KeyData)
 GetStringMapEntryFromKeyData - Given key data that is known to be embedded into a StringMapEntry, return the StringMapEntry itself. More...
 

Public Attributes

ValueTy second
 

Detailed Description

template<typename ValueTy>
class llvm::StringMapEntry< ValueTy >

StringMapEntry - This is used to represent one value that is inserted into a StringMap.

It contains the Value itself and the key: the string length and data.

Definition at line 28 of file StringMap.h.

Constructor & Destructor Documentation

template<typename ValueTy>
llvm::StringMapEntry< ValueTy >::StringMapEntry ( unsigned  strLen)
inlineexplicit

Definition at line 118 of file StringMap.h.

template<typename ValueTy>
template<class InitTy >
llvm::StringMapEntry< ValueTy >::StringMapEntry ( unsigned  strLen,
InitTy &&  V 
)
inline

Definition at line 121 of file StringMap.h.

Member Function Documentation

template<typename ValueTy>
template<typename AllocatorTy , typename InitType >
static StringMapEntry* llvm::StringMapEntry< ValueTy >::Create ( StringRef  Key,
AllocatorTy &  Allocator,
InitType &&  InitVal 
)
inlinestatic

Create - Create a StringMapEntry for the specified key and default construct the value.

Definition at line 143 of file StringMap.h.

Referenced by llvm::StringMapEntry< bool >::Create(), llvm::StringMap< uint64_t >::insert(), and llvm::StringPool::intern().

template<typename ValueTy>
template<typename AllocatorTy >
static StringMapEntry* llvm::StringMapEntry< ValueTy >::Create ( StringRef  Key,
AllocatorTy &  Allocator 
)
inlinestatic

Definition at line 168 of file StringMap.h.

template<typename ValueTy>
template<typename InitType >
static StringMapEntry* llvm::StringMapEntry< ValueTy >::Create ( StringRef  Key,
InitType &&  InitVal 
)
inlinestatic

Create - Create a StringMapEntry with normal malloc/free.

Definition at line 174 of file StringMap.h.

template<typename ValueTy>
static StringMapEntry* llvm::StringMapEntry< ValueTy >::Create ( StringRef  Key)
inlinestatic

Definition at line 179 of file StringMap.h.

template<typename ValueTy>
template<typename AllocatorTy >
void llvm::StringMapEntry< ValueTy >::Destroy ( AllocatorTy &  Allocator)
inline

Destroy - Destroy this StringMapEntry, releasing memory back to the specified allocator.

Definition at line 193 of file StringMap.h.

Referenced by llvm::PooledStringPtr::clear(), and llvm::StringMap< uint64_t >::erase().

template<typename ValueTy>
void llvm::StringMapEntry< ValueTy >::Destroy ( )
inline

Destroy this object, releasing memory back to the malloc allocator.

Definition at line 202 of file StringMap.h.

Referenced by llvm::StringMapEntry< bool >::Destroy().

template<typename ValueTy>
StringRef llvm::StringMapEntry< ValueTy >::first ( ) const
inline

Definition at line 138 of file StringMap.h.

Referenced by llvm::MCSymbol::getName().

template<typename ValueTy>
StringRef llvm::StringMapEntry< ValueTy >::getKey ( ) const
inline
template<typename ValueTy>
const char* llvm::StringMapEntry< ValueTy >::getKeyData ( ) const
inline

getKeyData - Return the start of the string data that is the key for this value.

The string data is always stored immediately after the StringMapEntry object.

Definition at line 136 of file StringMap.h.

Referenced by llvm::PooledStringPtr::begin(), llvm::PooledStringPtr::end(), llvm::StringMapEntry< bool >::first(), llvm::TargetIntrinsicInfo::getIntrinsicID(), llvm::StringMapEntry< bool >::getKey(), lookupIntrinsicID(), and WriteValueSymbolTable().

template<typename ValueTy>
static StringMapEntry& llvm::StringMapEntry< ValueTy >::GetStringMapEntryFromKeyData ( const char *  KeyData)
inlinestatic

GetStringMapEntryFromKeyData - Given key data that is known to be embedded into a StringMapEntry, return the StringMapEntry itself.

Definition at line 185 of file StringMap.h.

template<typename ValueTy>
const ValueTy& llvm::StringMapEntry< ValueTy >::getValue ( ) const
inline
template<typename ValueTy>
ValueTy& llvm::StringMapEntry< ValueTy >::getValue ( )
inline

Definition at line 129 of file StringMap.h.

template<typename ValueTy>
void llvm::StringMapEntry< ValueTy >::setValue ( const ValueTy &  V)
inline

Definition at line 131 of file StringMap.h.

Referenced by llvm::Value::takeName().

Member Data Documentation

template<typename ValueTy>
ValueTy llvm::StringMapEntry< ValueTy >::second

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