| 50 | } |
| 51 | |
| 52 | int_type underflow() override { |
| 53 | if (pos_ >= data_.size()) { |
| 54 | return traits_type::eof(); |
| 55 | } |
| 56 | current_ = static_cast<char>(data_[pos_]); |
| 57 | setg(¤t_, ¤t_, ¤t_ + 1); |
| 58 | return traits_type::to_int_type(current_); |
| 59 | } |
| 60 | |
| 61 | private: |
| 62 | std::vector<uint8_t> data_; |