diff options
Diffstat (limited to 'boost/iterator/indirect_iterator.hpp')
-rw-r--r-- | boost/iterator/indirect_iterator.hpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/boost/iterator/indirect_iterator.hpp b/boost/iterator/indirect_iterator.hpp index abff7e7634..c16eb845fa 100644 --- a/boost/iterator/indirect_iterator.hpp +++ b/boost/iterator/indirect_iterator.hpp @@ -30,12 +30,13 @@ # include <boost/scoped_ptr.hpp> # include <boost/mpl/bool.hpp> # include <memory> -#endif +#endif #include <boost/iterator/detail/config_def.hpp> // must be last #include -namespace boost -{ +namespace boost { +namespace iterators { + template <class Iter, class Value, class Category, class Reference, class Difference> class indirect_iterator; @@ -44,8 +45,8 @@ namespace boost template <class Iter, class Value, class Category, class Reference, class Difference> struct indirect_base { - typedef typename iterator_traits<Iter>::value_type dereferenceable; - + typedef typename boost::detail::iterator_traits<Iter>::value_type dereferenceable; + typedef iterator_adaptor< indirect_iterator<Iter, Value, Category, Reference, Difference> , Iter @@ -69,7 +70,7 @@ namespace boost struct indirect_base<int, int, int, int, int> {}; } // namespace detail - + template < class Iterator , class Value = use_default @@ -107,14 +108,14 @@ namespace boost : super_t(y.base()) {} - private: + private: typename super_t::reference dereference() const { # if BOOST_WORKAROUND(__BORLANDC__, < 0x5A0 ) return const_cast<super_t::reference>(**this->base()); # else return **this->base(); -# endif +# endif } }; @@ -132,6 +133,11 @@ namespace boost return indirect_iterator<Iter, Traits>(x); } +} // namespace iterators + +using iterators::indirect_iterator; +using iterators::make_indirect_iterator; + } // namespace boost #include <boost/iterator/detail/config_undef.hpp> |