#ifndef OPENMW_COMPONENTS_FILES_STREAMWITHBUFFER_H #define OPENMW_COMPONENTS_FILES_STREAMWITHBUFFER_H #include <istream> #include <memory> namespace Files { template <class Buffer> class StreamWithBuffer final : public std::istream { public: explicit StreamWithBuffer(std::unique_ptr<Buffer>&& buffer) : std::istream(buffer.get()) , mBuffer(std::move(buffer)) { } private: std::unique_ptr<Buffer> mBuffer; }; } #endif