diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2025-09-22 23:38:21 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2025-09-22 23:38:21 +0200 |
| commit | ce271f82f16ee89a18e7bfc9ed8eab7cbd6f37bc (patch) | |
| tree | 3e568faf83ae750aa244cca87b55951c7401ef03 /src/line.hh | |
| parent | 50348284f5d82ccfd65b0c803ba0ba895912ceff (diff) | |
Change io::Reader and company to return ReadError::Eof instead of 0.
It's debatable if Eof should be considered an error or not.
But it is pretty clear it generally is a special response that
needs special handling, so easier to keep with the unexpected lot.
Also keeps better at higher abstraction levels, such as the line
reader.
Diffstat (limited to 'src/line.hh')
| -rw-r--r-- | src/line.hh | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/line.hh b/src/line.hh index 5ce42dd..a8eeea8 100644 --- a/src/line.hh +++ b/src/line.hh @@ -11,20 +11,13 @@ namespace line { -struct ReadError { - bool eof; - std::optional<io::ReadError> io_error; - - ReadError(); - explicit ReadError(io::ReadError error); -}; - class Reader { public: virtual ~Reader() = default; // Returned view is only valid until next call to read. - [[nodiscard]] virtual std::expected<std::string_view, ReadError> read() = 0; + [[nodiscard]] + virtual std::expected<std::string_view, io::ReadError> read() = 0; // Starts at zero. Returns next line. // So, before first read it is zero, after first read it is one. [[nodiscard]] virtual uint64_t number() const = 0; |
