From 3df02ac9d46f7ce8f0f10bc693dfc3c6c5aa2863 Mon Sep 17 00:00:00 2001 From: Ryan Govostes Date: Wed, 13 Feb 2013 21:38:22 +0000 Subject: [PATCH] Add iterator_traits to ImmutableMap and ImmutableSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175085 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/ImmutableMap.h | 5 +++++ include/llvm/ADT/ImmutableSet.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/include/llvm/ADT/ImmutableMap.h b/include/llvm/ADT/ImmutableMap.h index a4232f0da9c..a84ad25beef 100644 --- a/include/llvm/ADT/ImmutableMap.h +++ b/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::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/include/llvm/ADT/ImmutableSet.h b/include/llvm/ADT/ImmutableSet.h index 21b325e907a..247b5446601 100644 --- a/include/llvm/ADT/ImmutableSet.h +++ b/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::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); }