1// Copyright Neil Groves 2010. Use, modification and
2// distribution is subject to the Boost Software License, Version
3// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4// http://www.boost.org/LICENSE_1_0.txt)
5//
6//
7// For more information, see http://www.boost.org/libs/range/
8//
9#ifndef BOOST_RANGE_ISTREAM_RANGE_HPP_INCLUDED
10#define BOOST_RANGE_ISTREAM_RANGE_HPP_INCLUDED
11
12/*!
13 * \file istream_range.hpp
14 */
15
16#include <iterator>
17#include <iosfwd>
18#include <boost/config.hpp>
19#include <boost/range/iterator_range.hpp>
20
21namespace boost
22{
23 namespace range
24 {
25 template<class Type, class Elem, class Traits> inline
26 iterator_range<std::istream_iterator<Type, Elem, Traits> >
27 istream_range(std::basic_istream<Elem, Traits>& in)
28 {
29 return iterator_range<std::istream_iterator<Type, Elem, Traits> >(
30 std::istream_iterator<Type, Elem, Traits>(in),
31 std::istream_iterator<Type, Elem, Traits>());
32 }
33 } // namespace range
34 using range::istream_range;
35} // namespace boost
36
37#endif // include guard
38

source code of boost/boost/range/istream_range.hpp