diff options
author | Manman Ren <mren@apple.com> | 2013-07-08 19:17:48 +0000 |
---|---|---|
committer | Manman Ren <mren@apple.com> | 2013-07-08 19:17:48 +0000 |
commit | f856249d496663b72b9eac37cdabb52932abd0e0 (patch) | |
tree | 5b23d39dc44fb65ca8f2dfd875b8856f2d66f3ba /include/llvm/ADT | |
parent | 7426a3b5880b68989e49f963229b7731cb36dba7 (diff) | |
download | external_llvm-f856249d496663b72b9eac37cdabb52932abd0e0.zip external_llvm-f856249d496663b72b9eac37cdabb52932abd0e0.tar.gz external_llvm-f856249d496663b72b9eac37cdabb52932abd0e0.tar.bz2 |
StringRef: add DenseMapInfo for StringRef.
Remove the implementation in include/llvm/Support/YAMLTraits.h.
Added a DenseMap type DITypeHashMap in DebugInfo.h:
DenseMap<std::pair<StringRef, unsigned>, MDNode*>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185852 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT')
-rw-r--r-- | include/llvm/ADT/StringRef.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/ADT/StringRef.h b/include/llvm/ADT/StringRef.h index d013d05..c5f2632 100644 --- a/include/llvm/ADT/StringRef.h +++ b/include/llvm/ADT/StringRef.h @@ -548,6 +548,14 @@ namespace llvm { template <typename T> struct isPodLike; template <> struct isPodLike<StringRef> { static const bool value = true; }; + template <typename T> struct DenseMapInfo; + template<> struct DenseMapInfo<StringRef> { + static StringRef getEmptyKey() { return StringRef(); } + static StringRef getTombstoneKey() { return StringRef(" ", 0); } + static unsigned getHashValue(StringRef const val); + static bool isEqual(StringRef const lhs, + StringRef const rhs) { return lhs.equals(rhs); } + }; } #endif |