From 270dfd60cde3a7b65a2654eef0f299f32ca704c4 Mon Sep 17 00:00:00 2001 From: Vasile Vilvoiu Date: Wed, 21 Jul 2021 18:33:51 +0300 Subject: Checks in base InputReader class. Make InputReader::GetBuffer() a protected member. --- src/input-reader.hpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/input-reader.hpp') diff --git a/src/input-reader.hpp b/src/input-reader.hpp index aac2640..3a98ef8 100644 --- a/src/input-reader.hpp +++ b/src/input-reader.hpp @@ -21,6 +21,8 @@ protected: std::istream * const stream_; const std::size_t block_size_bytes_; + virtual std::vector GetBuffer() = 0; + public: InputReader() = delete; InputReader(const InputReader&) = delete; @@ -32,19 +34,20 @@ public: virtual bool ReachedEOF() const = 0; virtual std::optional> GetBlock() = 0; - virtual std::vector GetBuffer() = 0; }; /* * Synchronous input reader */ class SyncInputReader : public InputReader { +protected: + std::vector GetBuffer() override; + public: SyncInputReader(std::istream * stream, std::size_t block_size_bytes); bool ReachedEOF() const override; std::optional> GetBlock() override; - std::vector GetBuffer() override; }; /* @@ -65,13 +68,15 @@ private: void Read(); +protected: + std::vector GetBuffer() override; + public: AsyncInputReader(std::istream * stream, std::size_t block_size_bytes); ~AsyncInputReader() override; bool ReachedEOF() const override; std::optional> GetBlock() override; - std::vector GetBuffer() override; }; #endif -- cgit v1.2.3