|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR auto | and_then (F &&f) &-> decltype(and_then_impl(std::declval< expected & >(), std::forward< F >(f))) |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR auto | and_then (F &&f) &&-> decltype(and_then_impl(std::declval< expected && >(), std::forward< F >(f))) |
|
template<class F > |
constexpr auto | and_then (F &&f) const &-> decltype(and_then_impl(std::declval< expected const & >(), std::forward< F >(f))) |
|
template<class F > |
constexpr auto | and_then (F &&f) const &&-> decltype(and_then_impl(std::declval< expected const && >(), std::forward< F >(f))) |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(expected_map_impl(std::declval< expected & >(), std::declval< F && >())) | map (F &&f) & |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(expected_map_impl(std::declval< expected >(), std::declval< F && >())) | map (F &&f) && |
|
template<class F > |
constexpr decltype(expected_map_impl(std::declval< const expected & >(), std::declval< F && >())) | map (F &&f) const & |
|
template<class F > |
constexpr decltype(expected_map_impl(std::declval< const expected && >(), std::declval< F && >())) | map (F &&f) const && |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(expected_map_impl(std::declval< expected & >(), std::declval< F && >())) | transform (F &&f) & |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(expected_map_impl(std::declval< expected >(), std::declval< F && >())) | transform (F &&f) && |
|
template<class F > |
constexpr decltype(expected_map_impl(std::declval< const expected & >(), std::declval< F && >())) | transform (F &&f) const & |
|
template<class F > |
constexpr decltype(expected_map_impl(std::declval< const expected && >(), std::declval< F && >())) | transform (F &&f) const && |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(map_error_impl(std::declval< expected & >(), std::declval< F && >())) | map_error (F &&f) & |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(map_error_impl(std::declval< expected && >(), std::declval< F && >())) | map_error (F &&f) && |
|
template<class F > |
constexpr decltype(map_error_impl(std::declval< const expected & >(), std::declval< F && >())) | map_error (F &&f) const & |
|
template<class F > |
constexpr decltype(map_error_impl(std::declval< const expected && >(), std::declval< F && >())) | map_error (F &&f) const && |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(map_error_impl(std::declval< expected & >(), std::declval< F && >())) | transform_error (F &&f) & |
|
template<class F > |
WPI_EXPECTED_11_CONSTEXPR decltype(map_error_impl(std::declval< expected && >(), std::declval< F && >())) | transform_error (F &&f) && |
|
template<class F > |
constexpr decltype(map_error_impl(std::declval< const expected & >(), std::declval< F && >())) | transform_error (F &&f) const & |
|
template<class F > |
constexpr decltype(map_error_impl(std::declval< const expected && >(), std::declval< F && >())) | transform_error (F &&f) const && |
|
template<class F > |
expected WPI_EXPECTED_11_CONSTEXPR | or_else (F &&f) & |
|
template<class F > |
expected WPI_EXPECTED_11_CONSTEXPR | or_else (F &&f) && |
|
template<class F > |
expected constexpr | or_else (F &&f) const & |
|
template<class F > |
expected constexpr | or_else (F &&f) const && |
|
constexpr | expected ()=default |
|
constexpr | expected (const expected &rhs)=default |
|
constexpr | expected (expected &&rhs)=default |
|
expected & | operator= (const expected &rhs)=default |
|
expected & | operator= (expected &&rhs)=default |
|
template<class... Args, detail_expected::enable_if_t< std::is_constructible< T, Args &&... >::value > * = nullptr> |
constexpr | expected (in_place_t, Args &&...args) |
|
template<class U , class... Args, detail_expected::enable_if_t< std::is_constructible< T, std::initializer_list< U > &, Args &&... >::value > * = nullptr> |
constexpr | expected (in_place_t, std::initializer_list< U > il, Args &&...args) |
|
template<class G = E, detail_expected::enable_if_t< std::is_constructible< E, const G & >::value > * = nullptr, detail_expected::enable_if_t<!std::is_convertible< const G &, E >::value > * = nullptr> |
constexpr | expected (const unexpected< G > &e) |
|
template<class G = E, detail_expected::enable_if_t< std::is_constructible< E, const G & >::value > * = nullptr, detail_expected::enable_if_t< std::is_convertible< const G &, E >::value > * = nullptr> |
constexpr | expected (unexpected< G > const &e) |
|
template<class G = E, detail_expected::enable_if_t< std::is_constructible< E, G && >::value > * = nullptr, detail_expected::enable_if_t<!std::is_convertible< G &&, E >::value > * = nullptr> |
constexpr | expected (unexpected< G > &&e) noexcept(std::is_nothrow_constructible< E, G && >::value) |
|
template<class G = E, detail_expected::enable_if_t< std::is_constructible< E, G && >::value > * = nullptr, detail_expected::enable_if_t< std::is_convertible< G &&, E >::value > * = nullptr> |
constexpr | expected (unexpected< G > &&e) noexcept(std::is_nothrow_constructible< E, G && >::value) |
|
template<class... Args, detail_expected::enable_if_t< std::is_constructible< E, Args &&... >::value > * = nullptr> |
constexpr | expected (unexpect_t, Args &&...args) |
|
template<class U , class... Args, detail_expected::enable_if_t< std::is_constructible< E, std::initializer_list< U > &, Args &&... >::value > * = nullptr> |
constexpr | expected (unexpect_t, std::initializer_list< U > il, Args &&...args) |
|
template<class U , class G , detail_expected::enable_if_t<!(std::is_convertible< U const &, T >::value &&std::is_convertible< G const &, E >::value)> * = nullptr, detail_expected::expected_enable_from_other< T, E, U, G, const U &, const G & > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR | expected (const expected< U, G > &rhs) |
|
template<class U , class G , detail_expected::enable_if_t<(std::is_convertible< U const &, T >::value &&std::is_convertible< G const &, E >::value)> * = nullptr, detail_expected::expected_enable_from_other< T, E, U, G, const U &, const G & > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR | expected (const expected< U, G > &rhs) |
|
template<class U , class G , detail_expected::enable_if_t<!(std::is_convertible< U &&, T >::value &&std::is_convertible< G &&, E >::value)> * = nullptr, detail_expected::expected_enable_from_other< T, E, U, G, U &&, G && > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR | expected (expected< U, G > &&rhs) |
|
template<class U , class G , detail_expected::enable_if_t<(std::is_convertible< U &&, T >::value &&std::is_convertible< G &&, E >::value)> * = nullptr, detail_expected::expected_enable_from_other< T, E, U, G, U &&, G && > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR | expected (expected< U, G > &&rhs) |
|
template<class U = T, detail_expected::enable_if_t<!std::is_convertible< U &&, T >::value > * = nullptr, detail_expected::expected_enable_forward_value< T, E, U > * = nullptr> |
WPI_EXPECTED_MSVC2015_CONSTEXPR | expected (U &&v) |
|
template<class U = T, detail_expected::enable_if_t< std::is_convertible< U &&, T >::value > * = nullptr, detail_expected::expected_enable_forward_value< T, E, U > * = nullptr> |
WPI_EXPECTED_MSVC2015_CONSTEXPR | expected (U &&v) |
|
template<class U = T, class G = T, detail_expected::enable_if_t< std::is_nothrow_constructible< T, U && >::value > * = nullptr, detail_expected::enable_if_t<!std::is_void< G >::value > * = nullptr, detail_expected::enable_if_t<(!std::is_same< expected< T, E >, detail_expected::decay_t< U > >::value &&!detail_expected::conjunction< std::is_scalar< T >, std::is_same< T, detail_expected::decay_t< U > > >::value &&std::is_constructible< T, U >::value &&std::is_assignable< G &, U >::value &&std::is_nothrow_move_constructible< E >::value)> * = nullptr> |
expected & | operator= (U &&v) |
|
template<class U = T, class G = T, detail_expected::enable_if_t<!std::is_nothrow_constructible< T, U && >::value > * = nullptr, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr, detail_expected::enable_if_t<(!std::is_same< expected< T, E >, detail_expected::decay_t< U > >::value &&!detail_expected::conjunction< std::is_scalar< T >, std::is_same< T, detail_expected::decay_t< U > > >::value &&std::is_constructible< T, U >::value &&std::is_assignable< G &, U >::value &&std::is_nothrow_move_constructible< E >::value)> * = nullptr> |
expected & | operator= (U &&v) |
|
template<class G = E, detail_expected::enable_if_t< std::is_nothrow_copy_constructible< G >::value &&std::is_assignable< G &, G >::value > * = nullptr> |
expected & | operator= (const unexpected< G > &rhs) |
|
template<class G = E, detail_expected::enable_if_t< std::is_nothrow_move_constructible< G >::value &&std::is_move_assignable< G >::value > * = nullptr> |
expected & | operator= (unexpected< G > &&rhs) noexcept |
|
template<class... Args, detail_expected::enable_if_t< std::is_nothrow_constructible< T, Args &&... >::value > * = nullptr> |
void | emplace (Args &&...args) |
|
template<class... Args, detail_expected::enable_if_t<!std::is_nothrow_constructible< T, Args &&... >::value > * = nullptr> |
void | emplace (Args &&...args) |
|
template<class U , class... Args, detail_expected::enable_if_t< std::is_nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value > * = nullptr> |
void | emplace (std::initializer_list< U > il, Args &&...args) |
|
template<class U , class... Args, detail_expected::enable_if_t<!std::is_nothrow_constructible< T, std::initializer_list< U > &, Args &&... >::value > * = nullptr> |
void | emplace (std::initializer_list< U > il, Args &&...args) |
|
template<class OT = T, class OE = E> |
detail_expected::enable_if_t< detail_expected::is_swappable< OT >::value &&detail_expected::is_swappable< OE >::value &&(std::is_nothrow_move_constructible< OT >::value||std::is_nothrow_move_constructible< OE >::value)> | swap (expected &rhs) noexcept(std::is_nothrow_move_constructible< T >::value &&detail_expected::is_nothrow_swappable< T >::value &&std::is_nothrow_move_constructible< E >::value &&detail_expected::is_nothrow_swappable< E >::value) |
|
constexpr const T * | operator-> () const |
|
WPI_EXPECTED_11_CONSTEXPR T * | operator-> () |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
constexpr const U & | operator* () const & |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR U & | operator* () & |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
constexpr const U && | operator* () const && |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR U && | operator* () && |
|
constexpr bool | has_value () const noexcept |
|
constexpr | operator bool () const noexcept |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR const U & | value () const & |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR U & | value () & |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR const U && | value () const && |
|
template<class U = T, detail_expected::enable_if_t<!std::is_void< U >::value > * = nullptr> |
WPI_EXPECTED_11_CONSTEXPR U && | value () && |
|
constexpr const E & | error () const & |
|
WPI_EXPECTED_11_CONSTEXPR E & | error () & |
|
constexpr const E && | error () const && |
|
WPI_EXPECTED_11_CONSTEXPR E && | error () && |
|
template<class U > |
constexpr T | value_or (U &&v) const & |
|
template<class U > |
WPI_EXPECTED_11_CONSTEXPR T | value_or (U &&v) && |
|