Header file range/v3/istream_range.hpp

#include <range/v3/range_fwd.hpp>

#include <range/v3/view_facade.hpp>

#include <range/v3/utility/semiregular.hpp>

#include <range/v3/utility/static_const.hpp>

namespace ranges
{
    inline namespace v3
    {
        template <typename Val>
        struct istream_range;
        
        template <typename Val>
        istream_range<Val> istream(std::istream& sin);
    }
}

Class template ranges::v3::istream_range<Val>

template <typename Val>
struct istream_range
: view_facade<istream_range<Val>, unknown>
{
    istream_range() = default;
    
    istream_range(std::istream& sin);
    
    Val& cached() noexcept;
};

@{