/** * @file IReadableSink.h * @brief Declaration of tc::io::IReadableSink * @author Jack (jakcron) * @version 0.1 * @date 2020/02/07 **/ #pragma once #include #include namespace tc { namespace io { /** * @class IReadableSink * @brief An interface defining a byte data sink that can be also provide an ISource. **/ class IReadableSink : public tc::io::ISink { public: /// Destructor virtual ~IReadableSink() = default; /// Convert to ISource virtual std::shared_ptr& toSource() = 0; }; }} // namespace tc::io