#pragma once #include "data.h" #include namespace saw { namespace encode { struct ProtoKel {}; } template class data { private: own buffer_; public: data(own&& buffer__):buffer_{std::move(buffer__)}{} buffer& get_buffer(){ return *buffer_; } const buffer& get_buffer() const { return *buffer_; } }; template class codec { private: public: error_or> decode(const data& encoded){ return make_error(); } error_or> encode(const data& native){ return make_error(); } }; } }