1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef ITERATOR_TRAITS_DWA200347_HPP
- # define ITERATOR_TRAITS_DWA200347_HPP
- # include <boost/detail/iterator.hpp>
- # include <boost/detail/workaround.hpp>
- namespace boost {
- # if BOOST_WORKAROUND(__GNUC__, <= 2)
- # define BOOST_ITERATOR_CATEGORY iterator_category_
- # else
- # define BOOST_ITERATOR_CATEGORY iterator_category
- # endif
- template <class Iterator>
- struct iterator_value
- {
- typedef typename boost::detail::iterator_traits<Iterator>::value_type type;
- };
-
- template <class Iterator>
- struct iterator_reference
- {
- typedef typename boost::detail::iterator_traits<Iterator>::reference type;
- };
-
-
- template <class Iterator>
- struct iterator_pointer
- {
- typedef typename boost::detail::iterator_traits<Iterator>::pointer type;
- };
-
- template <class Iterator>
- struct iterator_difference
- {
- typedef typename boost::detail::iterator_traits<Iterator>::difference_type type;
- };
- template <class Iterator>
- struct BOOST_ITERATOR_CATEGORY
- {
- typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;
- };
- # if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- template <>
- struct iterator_value<int>
- {
- typedef void type;
- };
-
- template <>
- struct iterator_reference<int>
- {
- typedef void type;
- };
- template <>
- struct iterator_pointer<int>
- {
- typedef void type;
- };
-
- template <>
- struct iterator_difference<int>
- {
- typedef void type;
- };
-
- template <>
- struct BOOST_ITERATOR_CATEGORY<int>
- {
- typedef void type;
- };
- # endif
- }
- #endif
|