36 FileIterator(std::unique_ptr<MultipassInputStream> input)
37 : input_(
std::move(input)), itr_(*input_) {}
39 byte read() {
return itr_.read(); }
41 size_t read(
byte* buf,
size_t count) {
return itr_.read(buf, count); }
43 void skip(
size_t count) { itr_.skip(count); }
45 Status status()
const {
return itr_.status(); }
47 uint64_t size() {
return itr_.size(); }
49 uint64_t position() {
return itr_.position(); }
51 void rewind() { itr_.rewind(); }
53 void seek(uint64_t position) { itr_.seek(position); }
56 std::unique_ptr<MultipassInputStream> input_;
57 BufferedMultipassInputStreamIterator itr_;
66 FileIterator iterator()
const {
68 return FileIterator(std::move(
input));
roo::basic_string_view< CharT, Traits > basic_string_view