Namespaces
Variants
Actions

std::optional<T>::optional

From cppreference.com
< cpp‎ | utility‎ | optional
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
 
constexpr optional() noexcept;
(1) (since C++17)
constexpr optional( std::nullopt_t ) noexcept;
(2) (since C++17)
constexpr optional( const optional& other );
(3) (since C++17)
constexpr optional( optional&& other ) noexcept(/* see below */);
(4) (since C++17)
template< class U >
optional( const optional<U>& other );
(5) (since C++17)
(constexpr since C++20)
(conditionally explicit)
template< class U >
optional( optional<U>&& other );
(6) (since C++17)
(constexpr since C++20)
(conditionally explicit)
template< class... Args >
constexpr explicit optional( std::in_place_t, Args&&... args );
(7) (since C++17)
template< class U, class... Args >

constexpr explicit optional( std::in_place_t,
                             std::initializer_list<U> ilist,

                             Args&&... args );
(8) (since C++17)
template< class U = std::remove_cv_t<T> >
constexpr optional( U&& value );
(9) (since C++17)
(conditionally explicit)

Constructs a new optional object.

Contents