|
constexpr | expected (expected const &rhs)=default |
|
constexpr | expected (expected const &rhs) |
|
constexpr | expected (expected &&) noexcept(std::is_nothrow_move_constructible_v< E >)=default |
|
constexpr | expected (expected &&rhs) noexcept(std::is_nothrow_move_constructible_v< E >) |
|
template<class U , class G >
requires std::is_void_v<U> && std::is_constructible_v<E, G const&> && (!std::is_constructible_v<unexpected<E>, expected<U, G>&>) && (!std::is_constructible_v<unexpected<E>, expected<U, G>>) && (!std::is_constructible_v<unexpected<E>, expected<U, G> const&>) && (!std::is_constructible_v<unexpected<E>, expected<U, G> const&>) |
constexpr | explicit (!std::is_convertible_v< G const &, E >) expected(expected< U |
|
constexpr G const | std::forward (rhs.error())) |
|
template<class U , class G >
requires std::is_void_v<U> && std::is_constructible_v<E, G> && (!std::is_constructible_v<unexpected<E>, expected<U, G>&>) && (!std::is_constructible_v<unexpected<E>, expected<U, G>>) && (!std::is_constructible_v<unexpected<E>, expected<U, G> const&>) && (!std::is_constructible_v<unexpected<E>, expected<U, G> const&>) |
constexpr | explicit (!std::is_convertible_v< G const &, E >) expected(expected< U |
|
constexpr G | std::forward (rhs.error())) |
|
template<class G >
requires std::is_constructible_v<E, G const&> |
constexpr | explicit (!std::is_convertible_v< G const &, E >) expected(unexpected< G > const &e) |
|
template<class G >
requires std::is_constructible_v<E, G> |
constexpr | explicit (!std::is_convertible_v< G, E >) expected(unexpected< G > &&e) |
|
constexpr | expected (std::in_place_t) noexcept |
|
template<class... Args>
requires std::is_constructible_v<E, Args...> |
constexpr | expected (unexpect_t, Args &&... args) |
|
template<class U , class... Args>
requires std::is_constructible_v<E, std::initializer_list<U>&, Args...> |
constexpr | expected (unexpect_t, std::initializer_list< U > il, Args... args) |
|
constexpr auto | operator= (expected const &rhs) -> expected & |
|
constexpr auto | operator= (expected &&rhs) noexcept(std::is_nothrow_move_constructible_v< E > &&std::is_nothrow_move_assignable_v< E >) -> expected & |
|
template<class G >
requires std::is_constructible_v<E, G const&> |
and std::is_assignable_v< E &, G const & > constexpr auto | operator= (unexpected< G > const &e) -> expected & |
|
template<class G >
requires std::is_constructible_v<E, G> && std::is_assignable_v<E&, G> |
constexpr auto | operator= (unexpected< G > &&e) -> expected & |
|
constexpr void | emplace () noexcept |
|
constexpr void | swap (expected &rhs) noexcept(std::is_nothrow_move_constructible_v< E > &&std::is_nothrow_swappable_v< E >) |
|
constexpr | operator bool () const noexcept |
|
constexpr auto | has_value () const noexcept -> bool |
|
constexpr void | operator* () const noexcept |
|
constexpr void | value () const & |
|
constexpr void | value () && |
|
constexpr auto | error () const &-> E const & |
|
constexpr auto | error () &-> E & |
|
constexpr auto | error () const &&-> E const && |
|
constexpr auto | error () &&-> E && |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires detail::is_expected<U> && std::is_same_v<typename U::error_type, E> && std::is_copy_constructible_v<E> |
constexpr auto | and_then (F &&f) & |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires detail::is_expected<U> && std::is_same_v<typename U::error_type, E> && std::is_copy_constructible_v<E> |
constexpr auto | and_then (F &&f) const & |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires detail::is_expected<U> && std::is_same_v<typename U::error_type, E> && std::is_move_constructible_v<E> |
constexpr auto | and_then (F &&f) && |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires detail::is_expected<U> && std::is_same_v<typename U::error_type, E> && std::is_move_constructible_v<E> |
constexpr auto | and_then (F &&f) const && |
|
template<class F , class V = E&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires detail::is_expected<G> && std::is_same_v<typename G::value_type, void> && std::is_copy_constructible_v<E> |
constexpr auto | or_else (F &&f) & |
|
template<class F , class V = E const&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires detail::is_expected<G> && std::is_same_v<typename G::value_type, void> && std::is_copy_constructible_v<E> |
constexpr auto | or_else (F &&f) const & |
|
template<class F , class V = E&&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires detail::is_expected<G> && std::is_same_v<typename G::value_type, void> && std::is_move_constructible_v<E> |
constexpr auto | or_else (F &&f) && |
|
template<class F , class V = E const&&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires detail::is_expected<G> && std::is_same_v<typename G::value_type, void> && std::is_move_constructible_v<E> |
constexpr auto | or_else (F &&f) const && |
|
template<class F , class V = E&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_void_v<G> && std::is_copy_constructible_v<E> |
constexpr auto | or_else (F &&f) & |
|
template<class F , class V = E const&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_void_v<G> && std::is_copy_constructible_v<E> |
constexpr auto | or_else (F &&f) const & |
|
template<class F , class V = E&&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_void_v<G> && std::is_move_constructible_v<E> && std::is_copy_constructible_v<E> |
constexpr auto | or_else (F &&f) && |
|
template<class F , class V = E const&&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_void_v<G> && std::is_move_constructible_v<E> && std::is_copy_constructible_v<E> |
constexpr auto | or_else (F &&f) const && |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires std::is_copy_constructible_v<E> |
constexpr auto | transform (F &&f) & |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires std::is_copy_constructible_v<E> |
constexpr auto | transform (F &&f) const & |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires std::is_move_constructible_v<E> |
constexpr auto | transform (F &&f) && |
|
template<class F , class U = std::remove_cvref_t<std::invoke_result_t<F>>>
requires std::is_move_constructible_v<E> |
constexpr auto | transform (F &&f) const && |
|
template<class F , class V = E&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_copy_constructible_v<E> |
constexpr auto | transform_error (F &&f) & |
|
template<class F , class V = E const&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_copy_constructible_v<E> |
constexpr auto | transform_error (F &&f) const & |
|
template<class F , class V = E&&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_move_constructible_v<E> |
constexpr auto | transform_error (F &&f) && |
|
template<class F , class V = E const&&, class G = std::remove_cvref_t<std::invoke_result_t<F, V>>>
requires std::is_move_constructible_v<E> |
constexpr auto | transform_error (F &&f) const && |
|
template<std::destructible E>
class plg::expected< void, E >
Definition at line 954 of file expected.hpp.