#pragma once namespace saw { namespace transport { template struct FixedLength {}; template struct VarLength {}; struct NewLine {}; struct CarriageReturnNewLine {}; } template struct transport { private: static_assert(always_false, "Transport kind not supported."); public: template struct transport> { private: public: error_or view_slice(const buffer& buff) const { (void) buff; return make_error(); } error_or chain_slice(buffer& buff) const { (void) buff; return make_error(); } }; }