summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Govostes <rzg@apple.com>2013-02-13 21:38:22 +0000
committerRyan Govostes <rzg@apple.com>2013-02-13 21:38:22 +0000
commitf5d710f0b37c97622ed3bc22afb92ba9bff9fe7d (patch)
treee37084cee1190810ea9f3200eaf1be860975cae9
parent5bdd8ed74d102480abe96167e923cbe95439e042 (diff)
downloadbcm5719-llvm-f5d710f0b37c97622ed3bc22afb92ba9bff9fe7d.tar.gz
bcm5719-llvm-f5d710f0b37c97622ed3bc22afb92ba9bff9fe7d.zip
Add iterator_traits to ImmutableMap and ImmutableSet.
llvm-svn: 175085
-rw-r--r--llvm/include/llvm/ADT/ImmutableMap.h5
-rw-r--r--llvm/include/llvm/ADT/ImmutableSet.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/llvm/include/llvm/ADT/ImmutableMap.h b/llvm/include/llvm/ADT/ImmutableMap.h
index a4232f0da9c..a84ad25beef 100644
--- a/llvm/include/llvm/ADT/ImmutableMap.h
+++ b/llvm/include/llvm/ADT/ImmutableMap.h
@@ -224,6 +224,11 @@ public:
iterator operator--(int) { iterator tmp(*this); --itr; return tmp; }
bool operator==(const iterator& RHS) const { return RHS.itr == itr; }
bool operator!=(const iterator& RHS) const { return RHS.itr != itr; }
+
+ typedef ImmutableMap<KeyT,ValT,ValInfo>::value_type value_type;
+ typedef value_type *pointer;
+ typedef value_type &reference;
+ typedef std::bidirectional_iterator_tag iterator_category;
};
iterator begin() const { return iterator(Root); }
diff --git a/llvm/include/llvm/ADT/ImmutableSet.h b/llvm/include/llvm/ADT/ImmutableSet.h
index 21b325e907a..247b5446601 100644
--- a/llvm/include/llvm/ADT/ImmutableSet.h
+++ b/llvm/include/llvm/ADT/ImmutableSet.h
@@ -1066,6 +1066,11 @@ public:
inline bool operator==(const iterator& RHS) const { return RHS.itr == itr; }
inline bool operator!=(const iterator& RHS) const { return RHS.itr != itr; }
inline value_type *operator->() const { return &(operator*()); }
+
+ typedef ImmutableSet<ValT,ValInfo>::value_type value_type;
+ typedef value_type *pointer;
+ typedef value_type &reference;
+ typedef std::bidirectional_iterator_tag iterator_category;
};
iterator begin() const { return iterator(Root); }
OpenPOWER on IntegriCloud