mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-04 00:06:37 +02:00
This change excludes boost:: and boost::detail:: namespaces from ADL for unqualified function calls (e.g. algorithms). This reduces the possibility of name clashes with other libraries and user's code. One of the effects should be fixing test failures on gcc 4.2 and 4.4 due to clashed with Boost.TypeTraits. Also some of the functions marked with inline keyword.
61 lines
1.5 KiB
C++
61 lines
1.5 KiB
C++
// Copyright David Abrahams 2003.
|
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
#ifndef ITERATOR_TRAITS_DWA200347_HPP
|
|
# define ITERATOR_TRAITS_DWA200347_HPP
|
|
|
|
# include <boost/detail/iterator.hpp>
|
|
# include <boost/detail/workaround.hpp>
|
|
|
|
namespace boost {
|
|
namespace iterators {
|
|
|
|
// Macro for supporting old compilers, no longer needed but kept
|
|
// for backwards compatibility (it was documented).
|
|
#define BOOST_ITERATOR_CATEGORY iterator_category
|
|
|
|
|
|
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 iterator_category
|
|
{
|
|
typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;
|
|
};
|
|
|
|
} // namespace iterators
|
|
|
|
using iterators::iterator_value;
|
|
using iterators::iterator_reference;
|
|
using iterators::iterator_pointer;
|
|
using iterators::iterator_difference;
|
|
using iterators::iterator_category;
|
|
|
|
} // namespace boost
|
|
|
|
#endif // ITERATOR_TRAITS_DWA200347_HPP
|