29 constexpr auto empty()
const {
return !m_value; }
32 if (this->
empty() != other.empty()) {
38 return *this->m_value == *other.m_value;
46 return m_value->clone();
57class StringErrorDomain;
88 auto const& value = down_cast(code);
89 return !value.value().empty();
95 return b.domain() == *
this && down_cast(a).value() == down_cast(b).value();
100 return a.failure() ? platform::BasicError::InvalidArgument : platform::BasicError::Success;
105 return down_cast(code).value().erased();
111 template<
typename Domain>
#define DI_ASSERT(...)
Definition assert_bool.h:7
Definition erased_string.h:21
Enc Encoding
Definition string_impl.h:18
Definition format_context.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
Definition string_error.h:61
auto operator=(StringErrorDomain const &) -> StringErrorDomain &=default
auto name() const -> container::ErasedString override
Definition string_error.h:79
static constexpr auto get() -> StringErrorDomain const &
Definition string_error.h:127
constexpr auto do_failure(vocab::StatusCode< void > const &code) const -> bool override
Definition string_error.h:87
auto payload_info() const -> PayloadInfo override
Definition string_error.h:81
constexpr void do_erased_destroy(StatusCode< void > &code, size_t) const override
Definition string_error.h:108
StringErrorDomain(StringErrorDomain const &)=default
friend class di::vocab::StatusCode
Definition string_error.h:112
auto operator=(StringErrorDomain &&) -> StringErrorDomain &=default
constexpr auto do_equivalent(vocab::StatusCode< void > const &a, vocab::StatusCode< void > const &b) const -> bool override
Definition string_error.h:92
constexpr StringErrorDomain(UniqueId id=0x2b0b934342552b05)
Definition string_error.h:69
StringErrorDomain(StringErrorDomain &&)=default
Base::UniqueId UniqueId
Definition string_error.h:67
constexpr auto do_message(vocab::StatusCode< void > const &code) const -> container::ErasedString override
Definition string_error.h:103
StringError Value
Definition string_error.h:66
constexpr auto do_convert_to_generic(vocab::StatusCode< void > const &a) const -> vocab::GenericCode override
Definition string_error.h:98
Definition string_error.h:23
auto erased() const -> ErasedString
Definition string_error.h:41
constexpr StringError(String value)
Definition string_error.h:27
constexpr friend auto tag_invoke(Tag< concepts::trivially_relocatable >, InPlaceType< StringError >) -> bool
Definition string_error.h:50
constexpr auto empty() const
Definition string_error.h:29
constexpr auto operator==(StringError const &other) const -> bool
Definition string_error.h:31
string::StringImpl< string::Utf8Encoding > String
Definition string.h:11
constexpr auto max
Definition max.h:49
detail::FormatStringImpl< Enc, meta::TypeIdentity< Args >... > FormatStringImpl
Definition format_string_impl.h:70
constexpr auto make_format_args(Types &&... values)
Definition make_format_args.h:9
constexpr auto vformat_encoded
Definition vformat_encoded.h:35
__UINT8_TYPE__ u8
Definition integers.h:9
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr auto make_box
Definition box.h:171
StatusCode< platform::GenericDomain > GenericCode
Definition status_code_forward_declaration.h:13
vocab::StatusCode< StringErrorDomain > StringErrorCode
Definition string_error.h:59
constexpr auto error_domain
Definition string_error.h:125
Definition any_storable.h:9
constexpr auto format_error
Definition string_error.h:153
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
constexpr auto format
Definition format.h:7
constexpr auto in_place
Definition in_place.h:8
Definition in_place_type.h:5
Definition status_code_domain.h:16