Chris@16: // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) Chris@16: // (C) Copyright 2003-2007 Jonathan Turkanis Chris@16: // Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) Chris@16: Chris@16: // See http://www.boost.org/libs/iostreams for documentation. Chris@16: Chris@16: #ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED Chris@16: #define BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: // Must come last. Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: Chris@16: # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //---------------------------------// Chris@16: Chris@16: // We avoid dependence on Boost.Range by using a forward declaration. Chris@16: template Chris@16: class iterator_range; Chris@16: Chris@16: namespace iostreams { Chris@16: Chris@16: BOOST_IOSTREAMS_BOOL_TRAIT_DEF(is_iterator_range, boost::iterator_range, 1) Chris@16: Chris@16: } // End namespace iostreams. Chris@16: Chris@16: # else // # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) //-----------------------// Chris@16: Chris@16: namespace iostreams { Chris@16: Chris@16: template Chris@16: struct is_iterator_range { Chris@16: BOOST_STATIC_CONSTANT(bool, value = false); Chris@16: }; Chris@16: Chris@16: } // End namespace iostreams. Chris@16: Chris@16: # endif // # if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) //----------------------// Chris@16: Chris@16: } // End namespace boost. Chris@16: Chris@16: #include Chris@16: Chris@16: #endif // #ifndef BOOST_IOSTREAMS_DETAIL_IS_ITERATOR_RANGE_HPP_INCLUDED