|
template<typename _Tp , typename _Up > |
using | std::__assigns_from_optional = __or_< is_assignable< _Tp &, const optional< _Up > & >, is_assignable< _Tp &, optional< _Up > & >, is_assignable< _Tp &, const optional< _Up > && >, is_assignable< _Tp &, optional< _Up > && > > |
|
template<typename _Tp , typename _Up > |
using | std::__converts_from_optional = __or_< is_constructible< _Tp, const optional< _Up > & >, is_constructible< _Tp, optional< _Up > & >, is_constructible< _Tp, const optional< _Up > && >, is_constructible< _Tp, optional< _Up > && >, is_convertible< const optional< _Up > &, _Tp >, is_convertible< optional< _Up > &, _Tp >, is_convertible< const optional< _Up > &&, _Tp >, is_convertible< optional< _Up > &&, _Tp > > |
|
template<typename _Tp , typename _Up > |
using | std::__optional_eq_t = __optional_relop_t< decltype(std::declval< const _Tp & >()==std::declval< const _Up & >()) > |
|
template<typename _Tp , typename _Up > |
using | std::__optional_ge_t = __optional_relop_t< decltype(std::declval< const _Tp & >() >=std::declval< const _Up & >()) > |
|
template<typename _Tp , typename _Up > |
using | std::__optional_gt_t = __optional_relop_t< decltype(std::declval< const _Tp & >() > std::declval< const _Up & >()) > |
|
template<typename _Tp , typename _Up > |
using | std::__optional_le_t = __optional_relop_t< decltype(std::declval< const _Tp & >()<=std::declval< const _Up & >()) > |
|
template<typename _Tp , typename _Up > |
using | std::__optional_lt_t = __optional_relop_t< decltype(std::declval< const _Tp & >()< std::declval< const _Up & >()) > |
|
template<typename _Tp , typename _Up > |
using | std::__optional_ne_t = __optional_relop_t< decltype(std::declval< const _Tp & >() !=std::declval< const _Up & >()) > |
|
template<typename _Tp > |
using | std::__optional_relop_t = enable_if_t< is_convertible< _Tp, bool >::value, bool > |
|
|
void | std::__throw_bad_optional_access () |
|
template<typename _Tp , typename... _Args> |
constexpr enable_if_t< is_constructible_v< _Tp, _Args... >, optional< _Tp > > | std::make_optional (_Args &&... __args) noexcept(is_nothrow_constructible_v< _Tp, _Args... >) |
|
template<typename _Tp > |
constexpr enable_if_t< is_constructible_v< decay_t< _Tp >, _Tp >, optional< decay_t< _Tp > > > | std::make_optional (_Tp &&__t) noexcept(is_nothrow_constructible_v< optional< decay_t< _Tp >>, _Tp >) |
|
template<typename _Tp , typename _Up , typename... _Args> |
constexpr enable_if_t< is_constructible_v< _Tp, initializer_list< _Up > &, _Args... >, optional< _Tp > > | std::make_optional (initializer_list< _Up > __il, _Args &&... __args) noexcept(is_nothrow_constructible_v< _Tp, initializer_list< _Up > &, _Args... >) |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator!= (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_ne_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator!= (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_ne_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator!= (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_ne_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator!= (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename _Tp > |
constexpr bool | std::operator!= (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator< (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_lt_t< _Up, _Tp > |
|
template<typename _Tp > |
constexpr bool | std::operator< (const optional< _Tp > &, nullopt_t) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator< (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_lt_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator< (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_lt_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator< (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator<= (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_le_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator<= (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_le_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator<= (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_le_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator<= (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename _Tp > |
constexpr bool | std::operator<= (nullopt_t, const optional< _Tp > &) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator== (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_eq_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator== (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_eq_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator== (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_eq_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator== (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename _Tp > |
constexpr bool | std::operator== (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator> (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_gt_t< _Up, _Tp > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator> (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_gt_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator> (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_gt_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator> (const optional< _Tp > &__lhs, nullopt_t) noexcept |
|
template<typename _Tp > |
constexpr bool | std::operator> (nullopt_t, const optional< _Tp > &) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator>= (const _Up &__lhs, const optional< _Tp > &__rhs) -> __optional_ge_t< _Up, _Tp > |
|
template<typename _Tp > |
constexpr bool | std::operator>= (const optional< _Tp > &, nullopt_t) noexcept |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator>= (const optional< _Tp > &__lhs, const _Up &__rhs) -> __optional_ge_t< _Tp, _Up > |
|
template<typename _Tp , typename _Up > |
constexpr auto | std::operator>= (const optional< _Tp > &__lhs, const optional< _Up > &__rhs) -> __optional_ge_t< _Tp, _Up > |
|
template<typename _Tp > |
constexpr bool | std::operator>= (nullopt_t, const optional< _Tp > &__rhs) noexcept |
|
template<typename _Tp > |
| std::optional (_Tp) -> optional< _Tp > |
|
template<typename _Tp > |
enable_if_t<!(is_move_constructible_v< _Tp > &&is_swappable_v< _Tp >)> | std::swap (optional< _Tp > &, optional< _Tp > &)=delete |
|
template<typename _Tp > |
constexpr enable_if_t< is_move_constructible_v< _Tp > &&is_swappable_v< _Tp > > | std::swap (optional< _Tp > &__lhs, optional< _Tp > &__rhs) noexcept(noexcept(__lhs.swap(__rhs))) |
|
This is a Standard C++ Library header.
Definition in file optional.