[range.istream.overview] (original) (raw)
25 Ranges library [ranges]
25.6 Range factories [range.factories]
25.6.6 Istream view [range.istream]
25.6.6.1 Overview [range.istream.overview]
basic_istream_view models input_range and reads (using operator>>) successive elements from its corresponding input stream.
Given a type T and a subexpression E of type U, if U modelsderived_from<basic_istream<typename U::char_type,typename U::traits_type>>, then the expression views::istream<T>(E) is expression-equivalent tobasic_istream_view<T, typename U::char_type,typename U::traits_type>(E); otherwise, views::istream<T>(E) is ill-formed.
[Example 1: auto ints = istringstream{"0 1 2 3 4"}; ranges::copy(views::istream<int>(ints), ostream_iterator<int>{cout, "-"}); — _end example_]