| 191 | const char *path() const override { return mPath.c_str(); } |
| 192 | |
| 193 | bool seek(size_t pos, fl::seek_dir dir) override { |
| 194 | size_t target = pos; |
| 195 | if (dir == fl::seek_dir::cur) { |
| 196 | target = mPos + pos; |
| 197 | } else if (dir == fl::seek_dir::end) { |
| 198 | target = mData->capacity() + pos; |
| 199 | } |
| 200 | if (target > mData->capacity()) { |
| 201 | return false; |
| 202 | } |
| 203 | mPos = target; |
| 204 | return true; |
| 205 | } |
| 206 | using filebuf::seek; // Pull in single-arg overload |
| 207 | |
| 208 | void close() override { |