openMSX
|
#include <optional.hh>
Public Types | |
using | value_type = T |
Public Member Functions | |
constexpr | optional () noexcept |
constexpr | optional (nullopt_t) noexcept |
optional (const optional &rhs) | |
optional (optional &&rhs) noexcept(std::is_nothrow_move_constructible< T >::value) | |
constexpr | optional (const T &v) |
constexpr | optional (T &&v) |
template<typename... Args> | |
constexpr | optional (in_place_t, Args &&... args) |
template<typename U , typename... Args, std::enable_if_t< std::is_constructible< T, std::initializer_list< U >>::value > * = nullptr> | |
constexpr | optional (in_place_t, std::initializer_list< U > il, Args &&... args) |
~optional ()=default | |
optional & | operator= (nullopt_t) noexcept |
optional & | operator= (const optional &rhs) |
optional & | operator= (optional &&rhs) noexcept(std::is_nothrow_move_assignable< T >::value &&std::is_nothrow_move_constructible< T >::value) |
template<typename U > | |
auto | operator= (U &&v) -> std::enable_if_t< std::is_same< std::decay_t< U >, T >::value, optional &> |
template<typename... Args> | |
void | emplace (Args &&... args) |
template<typename U , typename... Args> | |
void | emplace (std::initializer_list< U > il, Args &&... args) |
void | swap (optional< T > &rhs) noexcept(std::is_nothrow_move_constructible< T >::value &&noexcept(opt_impl::swap_ns::adl_swap(std::declval< T &>(), std::declval< T &>()))) |
constexpr | operator bool () const noexcept |
constexpr bool | has_value () const noexcept |
constexpr const T * | operator-> () const |
constexpr T * | operator-> () |
constexpr const T & | operator* () const & |
constexpr T & | operator* () & |
constexpr T && | operator* () && |
constexpr const T & | value () const & |
constexpr T & | value () & |
constexpr T && | value () && |
template<typename V > | |
constexpr T | value_or (V &&v) const & |
template<typename V > | |
constexpr T | value_or (V &&v) && |
void | reset () noexcept |
Definition at line 28 of file optional.hh.
using optional< T >::value_type = T |
Definition at line 295 of file optional.hh.
Definition at line 297 of file optional.hh.
Definition at line 298 of file optional.hh.
Definition at line 300 of file optional.hh.
Definition at line 308 of file optional.hh.
Definition at line 319 of file optional.hh.
Definition at line 321 of file optional.hh.
|
inlineexplicit |
Definition at line 324 of file optional.hh.
|
inlineexplicit |
Definition at line 332 of file optional.hh.
|
inline |
|
inline |
Definition at line 390 of file optional.hh.
|
inlinenoexcept |
Definition at line 418 of file optional.hh.
|
inlineexplicitnoexcept |
Definition at line 414 of file optional.hh.
|
inline |
Definition at line 435 of file optional.hh.
|
inline |
Definition at line 441 of file optional.hh.
|
inline |
Definition at line 447 of file optional.hh.
|
inline |
Definition at line 423 of file optional.hh.
|
inline |
Definition at line 429 of file optional.hh.
Definition at line 341 of file optional.hh.
Definition at line 347 of file optional.hh.
Definition at line 358 of file optional.hh.
|
inline |
Definition at line 372 of file optional.hh.
|
inlinenoexcept |
Definition at line 493 of file optional.hh.
Referenced by sreg_impl::semiregular_move_assign< T >::operator=(), and sreg_impl::semiregular_copy_assign< T >::operator=().
Definition at line 396 of file optional.hh.
|
inline |
Definition at line 453 of file optional.hh.
|
inline |
Definition at line 461 of file optional.hh.
|
inline |
Definition at line 469 of file optional.hh.
|
inline |
Definition at line 477 of file optional.hh.
Definition at line 484 of file optional.hh.