#pragma once #include namespace saw { namespace encode { struct WavefrontObj {}; } } namespace saw{ template class data { private: std::string value_; public: data(std::string value__): value_{std::move(value__)} {} }; namespace impl { template struct waveobj_helper { static_assert(always_false, "Wavefront Schema not supported"); }; } template class codec { private: public: template error_or decode(data& from, data& to){ return make_error("Wavefront decode not available"); } template error_or encode(data& from, data& to){ return make_error("Wavefront encode not available"); } }; }