#pragma once #include #include "data.hpp" namespace saw { namespace transport { template struct FixedLength {}; template struct VarLength {}; struct NewLine {}; struct CarriageReturnNewLine {}; } template struct codec> { private: public: error_or view_slice(buffer& buff) const { (void) buff; typename native_data_type>::type val{}; buffer_view view{buff}; auto eov = stream_value>::decode(val, view); if(eov.is_error()){ return std::move(eov.get_error()); } if(view.read_composite_length() < val){ return make_error(); } return buffer_view{view, val, view.write_composite_length()}; } error_or chain_slice(chain_array_buffer& buff) const { (void) buff; return make_error(); } }; }