Namespaces
Variants
Actions

std::expected<T,E>::expected

From cppreference.com
< cpp‎ | utility‎ | expected
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
 
Main template
constexpr expected();
(1) (since C++23)
constexpr expected( const expected& other );
(2) (since C++23)
constexpr expected( expected&& other ) noexcept(/* see below */);
(3) (since C++23)
template< class U, class G >
constexpr expected( const expected<U, G>& other );
(4) (since C++23)
(conditionally explicit)
template< class U, class G >
constexpr expected( expected<U, G>&& other );
(5) (since C++23)
(conditionally explicit)
template< class U = std::remove_cv_t<T> >
constexpr explicit(!std::is_convertible_v<U, T>) expected( U&& v );
(6) (since C++23)
template< class G >

constexpr explicit(!std::is_convertible_v<const G&, E>)

    expected( const std::unexpected<G>& e );
(7) (since C++23)
template< class G >

constexpr explicit(!std::is_convertible_v<G, E>)

    expected( std::unexpected<G>&& e );
(8) (since C++23)
template< class... Args >
constexpr explicit expected( std::in_place_t, Args&&... args );
(9) (since C++23)
template< class U, class... Args >

constexpr explicit
    expected( std::in_place_t,

              std::initializer_list<U> il, Args&&... args );
(10) (since C++23)
template< class... Args >
constexpr explicit expected( std::unexpect_t, Args&&... args );
(11) (since C++23)
template< class U, class... Args >

constexpr explicit
    expected( std::unexpect_t,

              std::initializer_list<U> il, Args&&... args );
(12) (since C++23)
void partial specialization
constexpr expected();
(13) (since C++23)
constexpr expected( const expected& other );
(14) (since C++23)
constexpr expected( expected&& other )
    noexcept(std::is_nothrow_move_constructible_v<E>);
(15) (since C++23)
template< class U, class G >

constexpr explicit(!std::is_convertible_v<const G&, E>)

    expected( const expected<U, G>& other );
(16) (since C++23)
template< class U, class G >

constexpr explicit(!std::is_convertible_v<G, E>)

    expected( expected<U, G>&& other );
(17) (since C++23)
template< class G >

constexpr explicit(!std::is_convertible_v<const G&, E>)

    expected( const std::unexpected<G>& e );
(18) (since C++23)
template< class G >

constexpr explicit(!std::is_convertible_v<G, E>)

    expected( std::unexpected<G>&& e );
(19) (since C++23)
constexpr explicit expected( std::in_place_t );
(20) (since C++23)
template< class... Args >
constexpr explicit expected( std::unexpect_t, Args&&... args );
(21) (since C++23)
template< class U, class... Args >

constexpr explicit
    expected( std::unexpect_t,

              std::initializer_list<U> il, Args&&... args );
(22) (since C++23)

Constructs a new expected object.

Contents