14#ifndef RANGES_V3_VIEW_ISTREAM_HPP
15#define RANGES_V3_VIEW_ISTREAM_HPP
23#include <range/v3/utility/static_const.hpp>
26#include <range/v3/detail/prologue.hpp>
32 template<
typename Val>
38 semiregular_box_t<Val> obj_;
43 using single_pass = std::true_type;
55 Val & read()
const noexcept
57 return rng_->cached();
63 bool equal(cursor that)
const
65 return !rng_->sin_ == !that.rng_->sin_;
70 if(!(*sin_ >> cached()))
86 Val & cached()
noexcept
93 template<
typename Val>
94 using istream_range RANGES_DEPRECATED(
102 template(
typename Val)(
103 requires copy_constructible<Val> AND default_constructible<Val>)
110 using namespace _istream_;
115 template<
typename Val>
121#include <range/v3/detail/epilogue.hpp>
Definition default_sentinel.hpp:26
Definition istream.hpp:34
A utility for constructing a view from a (derived) type that implements begin and end cursors.
Definition facade.hpp:66