|
constexpr | expected () noexcept(std::is_nothrow_default_constructible_v< T >) |
|
constexpr | expected (const expected &other)=default |
|
constexpr | expected (const expected &other) noexcept((std::is_nothrow_copy_constructible_v< T > &&std::is_nothrow_copy_constructible_v< E >)) |
|
constexpr | expected (expected &&other)=default |
|
constexpr | expected (expected &&other) noexcept((std::is_nothrow_move_constructible_v< E > &&std::is_nothrow_move_constructible_v< T >)) |
|
template<class U , class G , class UF = std::add_lvalue_reference_t<const U>, class GF = const G &> |
constexpr | explicit (constructor_is_explicit< UF, GF >) expected(const expected< U |
|
template<class U , class G , class UF = U, class GF = G> |
constexpr | explicit (constructor_is_explicit< UF, GF >) expected(expected< U |
|
template<class U = T>
requires can_construct_from_value_type<U> |
constexpr | explicit (!std::is_convertible_v< U, T >) expected(U &&val) |
|
template<class G >
requires std::is_constructible_v<E, const G &> |
constexpr | explicit (!std::is_convertible_v< const G &, E >) expected(const unexpected< G > &err) |
|
template<class G >
requires std::is_constructible_v<E, G> |
constexpr | explicit (!std::is_convertible_v< G, E >) expected(unexpected< G > &&err) |
|
template<class... Args>
requires std::is_constructible_v<T, Args...> |
constexpr | expected (std::in_place_t, Args &&... args) |
|
template<class U , class... Args>
requires std::is_constructible_v<T, std::initializer_list<U> &, Args...> |
constexpr | expected (std::in_place_t, std::initializer_list< U > il, Args &&... args) |
|
template<class... Args>
requires std::is_constructible_v<E, Args &&...> |
constexpr | expected (stdx::unexpect_t, Args &&... args) |
|
template<class U , class... Args>
requires std::is_constructible_v<E, std::initializer_list<U> &, Args...> |
constexpr | expected (stdx::unexpect_t, std::initializer_list< U > il, Args &&... args) |
|
constexpr expected & | operator= (expected const &other) |
|
constexpr expected & | operator= (expected &&other) |
|
template<class U = T>
requires ((!std::is_same_v<expected<T, E>, std::remove_cvref_t<U>> && // !impl::is_unexpected<std::remove_cvref_t<U>> && // std::is_constructible_v<T, U> && // std::is_assignable_v<T &, U> && // (std::is_nothrow_constructible_v<T, U> || // std::is_nothrow_move_constructible_v<T> || // std::is_nothrow_move_constructible_v<E>))) |
constexpr expected & | operator= (U &&val) |
|
template<class G , class GF = const G &>
requires ((std::is_constructible_v<E, GF> && // std::is_assignable_v<E &, GF> && // (std::is_nothrow_constructible_v<E, GF> || // std::is_nothrow_move_constructible_v<T> || // std::is_nothrow_move_constructible_v<E>))) |
constexpr expected & | operator= (const unexpected< G > &other) |
|
template<class G , class GF = G>
requires ((std::is_constructible_v<E, GF> && // std::is_assignable_v<E &, GF> && // (std::is_nothrow_constructible_v<E, GF> || // std::is_nothrow_move_constructible_v<T> || // std::is_nothrow_move_constructible_v<E>))) |
constexpr expected & | operator= (unexpected< G > &&other) |
|
constexpr | ~expected () |
|
template<class... Args>
requires (std::is_nothrow_constructible_v<T, Args...>) |
constexpr T & | emplace (Args &&... args) noexcept |
|
template<class U , class... Args>
requires (std::is_nothrow_constructible_v<T, std::initializer_list<U> &, Args...>) |
constexpr T & | emplace (std::initializer_list< U > il, Args &&... args) noexcept |
|
constexpr void | swap (expected &other) noexcept((std::is_nothrow_move_constructible_v< T > &&//std::is_nothrow_move_constructible_v< E > &&//std::is_nothrow_swappable_v< T > &&//std::is_nothrow_swappable_v< E >)) |
|
constexpr bool | has_value () const |
|
constexpr | operator bool () const noexcept |
|
constexpr value_type & | value () & |
|
constexpr const value_type & | value () const & |
|
constexpr value_type && | value () && |
|
constexpr const value_type && | value () const && |
|
constexpr const value_type * | operator-> () const noexcept |
|
constexpr value_type * | operator-> () noexcept |
|
constexpr const value_type & | operator* () const &noexcept |
|
constexpr value_type & | operator* () &noexcept |
|
constexpr const value_type && | operator* () const &&noexcept |
|
constexpr value_type && | operator* () &&noexcept |
|
template<class U > |
constexpr value_type | value_or (U &&v) const & |
|
template<class U > |
constexpr value_type | value_or (U &&v) && |
|
constexpr const error_type & | error () const & |
|
constexpr const error_type && | error () const && |
|
constexpr error_type & | error () & |
|
constexpr error_type && | error () && |
|
template<class Func > |
constexpr auto | and_then (Func &&func) & |
|
template<class Func > |
constexpr auto | and_then (Func &&func) && |
|
template<class Func > |
constexpr auto | and_then (Func &&func) const & |
|
template<class Func > |
constexpr auto | and_then (Func &&func) const && |
|
template<class Func > |
constexpr auto | or_else (Func &&func) & |
|
template<class Func > |
constexpr auto | or_else (Func &&func) && |
|
template<class Func > |
constexpr auto | or_else (Func &&func) const & |
|
template<class Func > |
constexpr auto | or_else (Func &&func) const && |
|
template<class Func > |
constexpr auto | transform (Func &&func) & |
|
template<class Func > |
constexpr auto | transform (Func &&func) && |
|
template<class Func > |
constexpr auto | transform (Func &&func) const & |
|
template<class Func > |
constexpr auto | transform (Func &&func) const && |
|