#pragma once #include #include #include #include namespace DB { class ReadBufferFromFileBase : public BufferWithOwnMemory { public: ReadBufferFromFileBase(size_t buf_size, char * existing_memory, size_t alignment); virtual ~ReadBufferFromFileBase(); off_t seek(off_t off, int whence = SEEK_SET); virtual off_t getPositionInFile() = 0; virtual std::string getFileName() const noexcept = 0; virtual int getFD() const noexcept = 0; protected: virtual off_t doSeek(off_t off, int whence) = 0; }; }