// Copyright (C) 2005 Arkadiy Vertleyb, Peder Holt. | |
// Use, modification and distribution is subject to the Boost Software | |
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) | |
#ifndef BOOST_TYPEOF_STD_iterator_hpp_INCLUDED | |
#define BOOST_TYPEOF_STD_iterator_hpp_INCLUDED | |
#include <iterator> | |
#include <boost/typeof/typeof.hpp> | |
#include <boost/typeof/std/string.hpp> | |
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator_traits, 1) | |
#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 3) | |
#else | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 3) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 4) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 5) | |
#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) | |
BOOST_TYPEOF_REGISTER_TYPE(std::input_iterator_tag) | |
BOOST_TYPEOF_REGISTER_TYPE(std::output_iterator_tag) | |
BOOST_TYPEOF_REGISTER_TYPE(std::forward_iterator_tag) | |
BOOST_TYPEOF_REGISTER_TYPE(std::bidirectional_iterator_tag) | |
BOOST_TYPEOF_REGISTER_TYPE(std::random_access_iterator_tag) | |
#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 3) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 4) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 5) | |
#else | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 1) | |
#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::back_insert_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::front_insert_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::insert_iterator, 1) | |
#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 3) | |
#else | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 3) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 4) | |
#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 3) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istreambuf_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::istreambuf_iterator, 2) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostreambuf_iterator, 1) | |
BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostreambuf_iterator, 2) | |
#endif//BOOST_TYPEOF_STD_iterator_hpp_INCLUDED |