1 // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
2 // (C) Copyright 2003-2007 Jonathan Turkanis
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
6 // See http://www.boost.org/libs/iostreams for documentation.
8 #ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED
9 #define BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED
11 #include <boost/config.hpp>
12 #include <boost/detail/workaround.hpp>
13 #include <boost/iostreams/detail/bool_trait_def.hpp>
16 #include <boost/iostreams/detail/config/disable_warnings.hpp>
20 # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------//
22 // We avoid dependence on Boost.Range by using a forward declaration.
23 template<typename Iterator
>
28 BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iterator_range
, boost::iterator_range
, 1)
30 } // End namespace iostreams.
32 # else // # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //-----------------------//
37 struct is_iterator_range
{
38 BOOST_STATIC_CONSTANT(bool, value
= false);
41 } // End namespace iostreams.
43 # endif // # if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) //----------------------//
45 } // End namespace boost.
47 #include <boost/iostreams/detail/config/enable_warnings.hpp>
49 #endif // #ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED