std::optional< _Tp >(3cxx) | std::optional< _Tp >(3cxx) |
std::optional< _Tp > - Class template for optional values.
Inherits std::_Optional_base< _Tp, bool, bool >, and _Enable_copy_move< is_copy_constructible_v< _Tp >, __and_v< is_copy_constructible< _Tp >, is_copy_assignable< _Tp > >, is_move_constructible_v< _Tp >, __and_v< is_move_constructible< _Tp >, is_move_assignable< _Tp > >, optional< _Tp > >.
using value_type = _Tp
template<typename _Up = _Tp, _Requires< __not_self< _Up
>, __not_tag< _Up >, is_constructible< _Tp, _Up >,
is_convertible< _Up, _Tp > > = true> constexpr
optional (_Up &&__t) noexcept(is_nothrow_constructible_v<
_Tp, _Up >)
template<typename _Up = _Tp, _Requires< __not_self< _Up >,
__not_tag< _Up >, is_constructible< _Tp, _Up >,
__not_< is_convertible< _Up, _Tp > > > = false>
constexpr optional (_Up &&__t)
noexcept(is_nothrow_constructible_v< _Tp, _Up >)
template<typename _Up , _Requires< __not_< is_same< _Tp,
_Up > >, is_constructible< _Tp, const _Up & >,
is_convertible< const _Up &, _Tp >, __not_<
__converts_from_optional< _Tp, _Up > > > = true> constexpr
optional (const optional< _Up > &__t)
noexcept(is_nothrow_constructible_v< _Tp, const _Up & >)
template<typename _Up , _Requires< __not_< is_same< _Tp,
_Up > >, is_constructible< _Tp, const _Up & >,
__not_< is_convertible< const _Up &, _Tp > >,
__not_< __converts_from_optional< _Tp, _Up > > > = false>
constexpr optional (const optional< _Up > &__t)
noexcept(is_nothrow_constructible_v< _Tp, const _Up & >)
template<typename... _Args, _Requires< is_constructible< _Tp,
_Args... > > = false> constexpr optional (in_place_t, _Args
&&... __args) noexcept(is_nothrow_constructible_v< _Tp, _Args...
>)
template<typename _Up , typename... _Args, _Requires<
is_constructible< _Tp, initializer_list< _Up > &,
_Args... > > = false> constexpr optional (in_place_t,
initializer_list< _Up > __il, _Args &&... __args)
noexcept(is_nothrow_constructible_v< _Tp, initializer_list< _Up
> &, _Args... >)
constexpr optional (nullopt_t) noexcept
template<typename _Up , _Requires< __not_< is_same< _Tp,
_Up > >, is_constructible< _Tp, _Up >,
is_convertible< _Up, _Tp >, __not_<
__converts_from_optional< _Tp, _Up > > > = true> constexpr
optional (optional< _Up > &&__t)
noexcept(is_nothrow_constructible_v< _Tp, _Up >)
template<typename _Up , _Requires< __not_< is_same< _Tp,
_Up > >, is_constructible< _Tp, _Up >, __not_<
is_convertible< _Up, _Tp > >, __not_<
__converts_from_optional< _Tp, _Up > > > = false> constexpr
optional (optional< _Up > &&__t)
noexcept(is_nothrow_constructible_v< _Tp, _Up >)
template<typename... _Args> constexpr enable_if_t<
is_constructible_v< _Tp, _Args... >, _Tp & > emplace
(_Args &&... __args) noexcept(is_nothrow_constructible_v< _Tp,
_Args... >)
template<typename _Up , typename... _Args> constexpr
enable_if_t< is_constructible_v< _Tp,
initializer_list< _Up > &, _Args... >, _Tp & >
emplace (initializer_list< _Up > __il, _Args
&&... __args) noexcept(is_nothrow_constructible_v< _Tp,
initializer_list< _Up > &, _Args... >)
constexpr bool has_value () const noexcept
constexpr operator bool () const noexcept
constexpr _Tp && operator* () &&noexcept
constexpr _Tp & operator* () &noexcept
constexpr const _Tp && operator* () const &&noexcept
constexpr const _Tp & operator* () const &noexcept
constexpr const _Tp * operator-> () const noexcept
constexpr _Tp * operator-> () noexcept
template<typename _Up = _Tp> constexpr enable_if_t<
__and_v< __not_self< _Up >, __not_< __and_<
is_scalar< _Tp >, is_same< _Tp, decay_t<
_Up > > > >, is_constructible< _Tp, _Up >,
is_assignable< _Tp &, _Up > >, optional &
> operator= (_Up &&__u) noexcept(__and_v<
is_nothrow_constructible< _Tp, _Up >,
is_nothrow_assignable< _Tp &, _Up > >)
template<typename _Up > constexpr enable_if_t< __and_v<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, const _Up & >,
is_assignable< _Tp &, const _Up & >, __not_<
__converts_from_optional< _Tp, _Up > >, __not_<
__assigns_from_optional< _Tp, _Up > > >, optional &
> operator= (const optional< _Up > &__u)
noexcept(__and_v< is_nothrow_constructible< _Tp, const _Up
& >, is_nothrow_assignable< _Tp &, const _Up & >
>)
constexpr optional & operator= (nullopt_t) noexcept
template<typename _Up > constexpr enable_if_t< __and_v<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, _Up >, is_assignable< _Tp
&, _Up >, __not_< __converts_from_optional< _Tp, _Up > >,
__not_< __assigns_from_optional< _Tp, _Up > > >,
optional & > operator= (optional< _Up >
&&__u) noexcept(__and_v< is_nothrow_constructible< _Tp,
_Up >, is_nothrow_assignable< _Tp &, _Up > >)
constexpr void reset () noexcept
constexpr void swap (optional &__other)
noexcept(is_nothrow_move_constructible_v< _Tp >
&&is_nothrow_swappable_v< _Tp >)
constexpr _Tp & value () &
constexpr _Tp && value () &&
constexpr const _Tp & value () const &
constexpr const _Tp && value () const &&
template<typename _Up > constexpr _Tp value_or (_Up
&&__u) &&
template<typename _Up > constexpr _Tp value_or (_Up
&&__u) const &
class std::optional< _Tp >"Class template for optional values.
Definition at line 662 of file optional.
Definition at line 692 of file optional.
Definition at line 694 of file optional.
Definition at line 696 of file optional.
Definition at line 704 of file optional.
Definition at line 713 of file optional.
Definition at line 723 of file optional.
Definition at line 736 of file optional.
Definition at line 749 of file optional.
Definition at line 762 of file optional.
Definition at line 772 of file optional.
Definition at line 781 of file optional.
Definition at line 871 of file optional.
Definition at line 883 of file optional.
Definition at line 944 of file optional.
Definition at line 941 of file optional.
Definition at line 934 of file optional.
Definition at line 930 of file optional.
Definition at line 938 of file optional.
Definition at line 926 of file optional.
Definition at line 918 of file optional.
Definition at line 922 of file optional.
Definition at line 803 of file optional.
Definition at line 823 of file optional.
Definition at line 789 of file optional.
Definition at line 849 of file optional.
Definition at line 1005 of file optional.
Definition at line 896 of file optional.
Definition at line 956 of file optional.
Definition at line 964 of file optional.
Definition at line 948 of file optional.
Definition at line 972 of file optional.
Definition at line 994 of file optional.
Definition at line 981 of file optional.
Generated automatically by Doxygen for libstdc++ from the source code.
Thu Feb 16 2023 | libstdc++ |