#pragma once #include "ref.h" #include namespace NYT { //////////////////////////////////////////////////////////////////////////////// class TChunkedInputStream : public IZeroCopyInput { public: explicit TChunkedInputStream(std::vector blocks); size_t DoNext(const void** ptr, size_t len) override; private: const std::vector Blocks_; size_t Index_ = 0; size_t Position_ = 0; void SkipCompletedBlocks(); }; //////////////////////////////////////////////////////////////////////////////// } // namespace NYT