// This source code is released into the public domain. export module nihil.core:errc; import nihil.std; namespace nihil { export enum struct errc : std::uint8_t { no_error = 0, // // nihil.command // incomplete_command, // // nihil.ucl // failed_to_create_object, type_mismatch, // // nihil.util // // Empty string is not allowed. empty_string, // Invalid unit, e.g. in parse_size() invalid_unit, }; export [[nodiscard]] auto nihil_category() noexcept -> std::error_category &; export [[nodiscard]] auto make_error_condition(errc ec) -> std::error_condition; } // namespace nihil template<> struct std::is_error_condition_enum : std::true_type {};