// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) | |
// (C) Copyright 2003-2007 Jonathan Turkanis | |
// 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.) | |
// See http://www.boost.org/libs/iostreams for documentation. | |
#ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED | |
#define BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED | |
#include <boost/config.hpp> | |
#include <boost/detail/workaround.hpp> | |
#include <boost/iostreams/detail/bool_trait_def.hpp> | |
// Must come last. | |
#include <boost/iostreams/detail/config/disable_warnings.hpp> | |
namespace boost { | |
# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------// | |
// We avoid dependence on Boost.Range by using a forward declaration. | |
template<typename Iterator> | |
class iterator_range; | |
namespace iostreams { | |
BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iterator_range, boost::iterator_range, 1) | |
} // End namespace iostreams. | |
# else // # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //-----------------------// | |
namespace iostreams { | |
template<typename T> | |
struct is_iterator_range { | |
BOOST_STATIC_CONSTANT(bool, value = false); | |
}; | |
} // End namespace iostreams. | |
# endif // # if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) //----------------------// | |
} // End namespace boost. | |
#include <boost/iostreams/detail/config/enable_warnings.hpp> | |
#endif // #ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED |