39 : input_(
other.input_),
41 offset_(
other.offset_),
42 length_(
other.length_),
43 status_(
other.status_) {
44 other.input_ =
nullptr;
55 input_ =
other.input_;
56 buffer_ = std::move(
other.buffer_);
57 offset_ =
other.offset_;
58 length_ =
other.length_;
59 status_ =
other.status_;
60 other.input_ =
nullptr;
77 if (offset_ < length_) {
78 return buffer_[offset_++];
80 if (status_ !=
kOk)
return byte{0};
85 status_ = input_->
status();
101 if (offset_ < length_) {
103 size_t remaining =
static_cast<size_t>(length_ - offset_);
109 if (status_ !=
kOk) {
119 status_ = input_->
status();
127 status_ = input_->
status();
131 if (
count >
static_cast<size_t>(length_))
132 count =
static_cast<size_t>(length_);
151 if (status_ !=
kOk)
return;
153 status_ = input_->
status();
180 status_ =
input.status();
181 if (status_ ==
kOk && buffer_ ==
nullptr) {
200 std::unique_ptr<byte[]> buffer_;
roo::basic_string_view< CharT, Traits > basic_string_view
static const size_t kInputStreamIteratorBufferSize