From 6c1645ce7da8495c79e3d38bbf91ce77bf489c10 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 30 Oct 2006 03:14:15 +0000 Subject: [PATCH] add a method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31288 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/CStringMap.h | 8 ++++++++ include/llvm/ADT/StringMap.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/include/llvm/ADT/CStringMap.h b/include/llvm/ADT/CStringMap.h index d869f667881..d1beb42ebc9 100644 --- a/include/llvm/ADT/CStringMap.h +++ b/include/llvm/ADT/CStringMap.h @@ -86,6 +86,14 @@ public: return static_cast(TheTable[BucketNo].Item); } + /// GetKeyForValueInMap - Given a value that is inserted into this map, return + /// the string that corresponds to it. This is an efficient operation that + /// is provided by CStringMap. The string is live as long as the value is in + /// the map. + static const char *GetKeyForValueInMap(const ValueTy &Val) { + return reinterpret_cast(&Val+1); + } + /// GetOrCreateValue - Look up the specified key in the table. If a value /// exists, return it. Otherwise, default construct a value, insert it, and /// return. diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index d869f667881..d1beb42ebc9 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -86,6 +86,14 @@ public: return static_cast(TheTable[BucketNo].Item); } + /// GetKeyForValueInMap - Given a value that is inserted into this map, return + /// the string that corresponds to it. This is an efficient operation that + /// is provided by CStringMap. The string is live as long as the value is in + /// the map. + static const char *GetKeyForValueInMap(const ValueTy &Val) { + return reinterpret_cast(&Val+1); + } + /// GetOrCreateValue - Look up the specified key in the table. If a value /// exists, return it. Otherwise, default construct a value, insert it, and /// return.