Chris@16: // Copyright David Abrahams 2003. Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: #ifndef ITERATOR_TRAITS_DWA200347_HPP Chris@16: # define ITERATOR_TRAITS_DWA200347_HPP Chris@16: Chris@16: # include Chris@16: # include Chris@16: Chris@101: namespace boost { Chris@101: namespace iterators { Chris@16: Chris@101: // Macro for supporting old compilers, no longer needed but kept Chris@101: // for backwards compatibility (it was documented). Chris@101: #define BOOST_ITERATOR_CATEGORY iterator_category Chris@16: Chris@16: Chris@16: template Chris@16: struct iterator_value Chris@16: { Chris@16: typedef typename boost::detail::iterator_traits::value_type type; Chris@16: }; Chris@101: Chris@16: template Chris@16: struct iterator_reference Chris@16: { Chris@16: typedef typename boost::detail::iterator_traits::reference type; Chris@16: }; Chris@101: Chris@101: Chris@16: template Chris@16: struct iterator_pointer Chris@16: { Chris@16: typedef typename boost::detail::iterator_traits::pointer type; Chris@16: }; Chris@101: Chris@16: template Chris@16: struct iterator_difference Chris@16: { Chris@16: typedef typename boost::detail::iterator_traits::difference_type type; Chris@16: }; Chris@16: Chris@16: template Chris@101: struct iterator_category Chris@16: { Chris@16: typedef typename boost::detail::iterator_traits::iterator_category type; Chris@16: }; Chris@16: Chris@101: } // namespace iterators Chris@16: Chris@101: using iterators::iterator_value; Chris@101: using iterators::iterator_reference; Chris@101: using iterators::iterator_pointer; Chris@101: using iterators::iterator_difference; Chris@101: using iterators::iterator_category; Chris@16: Chris@101: } // namespace boost Chris@16: Chris@16: #endif // ITERATOR_TRAITS_DWA200347_HPP