48 return down_cast(code).value() != BasicError::Success;
54 return b.domain() == *
this && down_cast(a).value() == down_cast(b).value();
63 auto value = down_cast(code).value();
65 case BasicError::Success:
67 case BasicError::NotEnoughMemory:
69 case BasicError::ResultOutOfRange:
71 case BasicError::InvalidArgument:
79 template<
typename Domain>
88inline namespace generic_error {
115 if (!this->
empty()) {
116 return this->
domain().do_convert_to_generic(*
this);
#define DI_ASSERT(...)
Definition assert_bool.h:7
Definition erased_string.h:21
constexpr GenericDomain(UniqueId id=0x25657faae58bbe11)
Definition default_generic_domain.h:29
auto operator=(GenericDomain &&) -> GenericDomain &=default
Base::UniqueId UniqueId
Definition default_generic_domain.h:27
constexpr auto do_equivalent(vocab::StatusCode< void > const &a, vocab::StatusCode< void > const &b) const -> bool override
Definition default_generic_domain.h:51
auto payload_info() const -> PayloadInfo override
Definition default_generic_domain.h:41
auto operator=(GenericDomain const &) -> GenericDomain &=default
constexpr auto do_convert_to_generic(vocab::StatusCode< void > const &a) const -> vocab::GenericCode override
Definition default_generic_domain.h:57
friend class StatusCode
Definition default_generic_domain.h:80
GenericDomain(GenericDomain const &)=default
constexpr auto do_message(vocab::StatusCode< void > const &code) const -> container::ErasedString override
Definition default_generic_domain.h:62
static constexpr auto get() -> GenericDomain const &
Definition default_generic_domain.h:108
BasicError Value
Definition default_generic_domain.h:26
constexpr auto do_failure(vocab::StatusCode< void > const &code) const -> bool override
Definition default_generic_domain.h:47
GenericDomain(GenericDomain &&)=default
auto name() const -> container::ErasedString override
Definition default_generic_domain.h:39
Definition status_code_domain.h:8
constexpr StatusCodeDomain(UniqueId id)
Definition status_code_domain.h:29
constexpr auto id() const
Definition status_code_domain.h:12
u64 UniqueId
Definition status_code_domain.h:10
Definition status_code_forward_declaration.h:11
constexpr auto domain() const -> StatusCodeDomain const &
Definition void_status_code.h:14
friend class StatusCode
Definition void_status_code.h:62
constexpr auto max
Definition max.h:47
__UINT8_TYPE__ u8
Definition integers.h:9
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
StatusCode< platform::GenericDomain > GenericCode
Definition status_code_forward_declaration.h:13
constexpr auto empty
Definition empty.h:45
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto in_place
Definition in_place.h:8
Definition status_code_domain.h:16