#include namespace seafire::common::io { std::error_code make_error_code(error_t e) { static struct : std::error_category { char const* name() const noexcept override { return "seafire.common.io"; } std::string message(int e) const override { switch (static_cast(e)) { case error_t::unknown: return "unknown error"; case error_t::read_until_buffer_overflow: return "buffer overflow"; } return "(unrecognized error)"; } } category; return {static_cast(e), category}; } } // namespace seafire::common::io