diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-24 00:53:27 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-24 00:53:27 +0000 |
commit | 918a2c866112c30816a377836e466e4873871980 (patch) | |
tree | 606f0bad74467740e230be4113f6a16ba1cbf961 | |
parent | f9c8bec6c5ccce7152076aab6b0d2ad83d65eec1 (diff) | |
download | bcm5719-llvm-918a2c866112c30816a377836e466e4873871980.tar.gz bcm5719-llvm-918a2c866112c30816a377836e466e4873871980.zip |
Add a method to get a StringMapEntry from a pointer to the string
data it contains (similar to GetStringMapEntryFromValue).
Patch by Greg Clayton!
llvm-svn: 99371
-rw-r--r-- | llvm/include/llvm/ADT/StringMap.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/include/llvm/ADT/StringMap.h b/llvm/include/llvm/ADT/StringMap.h index 86e8546adca..482193859b6 100644 --- a/llvm/include/llvm/ADT/StringMap.h +++ b/llvm/include/llvm/ADT/StringMap.h @@ -216,6 +216,14 @@ public: static const StringMapEntry &GetStringMapEntryFromValue(const ValueTy &V) { return GetStringMapEntryFromValue(const_cast<ValueTy&>(V)); } + + /// GetStringMapEntryFromKeyData - Given key data that is known to be embedded + /// into a StringMapEntry, return the StringMapEntry itself. + static StringMapEntry &GetStringMapEntryFromKeyData(const char *KeyData) { + char *Ptr = const_cast<char*>(KeyData) - sizeof(StringMapEntry<ValueTy>); + return *reinterpret_cast<StringMapEntry*>(Ptr); + } + /// Destroy - Destroy this StringMapEntry, releasing memory back to the /// specified allocator. |