55 { t.is_ok() } -> std::convertible_to<bool>;
56 { t.is_err() } -> std::convertible_to<bool>;
76 typename T::value_type;
77 { t.unwrap() } -> std::same_as<
typename std::add_lvalue_reference<
78 typename std::add_const<typename T::value_type>::type>::type>;
79 { t.unwrap_or(std::declval<typename T::value_type>()) }
80 -> std::convertible_to<typename T::value_type>;
100 { t.map(std::declval<std::function<
int(
typename T::value_type)>>()) };
122 { t.and_then(std::declval<std::function<T(
typename T::value_type)>>()) };
164 { t.has_value() } -> std::convertible_to<bool>;
165 { t.is_some() } -> std::convertible_to<bool>;
166 { t.is_none() } -> std::convertible_to<bool>;
187 { t.code } -> std::convertible_to<int>;
188 { t.message } -> std::convertible_to<std::string>;
189 { t.module } -> std::convertible_to<std::string>;
A type that supports monadic chaining (flatMap/and_then).
A type that contains error information.
A type that supports monadic map operations.
A complete Result-like type with all monadic operations.
A type that represents an optional value (present or absent).
A type that can contain either a value or an error.
A type that supports value extraction (unwrapping).
A type that holds either a value or error information.