std::experimental::optional< _Tp >(3cxx) | std::experimental::optional< _Tp >(3cxx) |
std::experimental::optional< _Tp > - Class template for optional values.
#include <optional>
Inherits std::experimental::_Optional_base< _Tp, _ShouldProvideDestructor >, and std::_Enable_copy_move< is_copy_constructible< _Tp >::value, __and_< is_copy_constructible< _Tp >, is_copy_assignable< _Tp > >::value, is_move_constructible< _Tp >::value, __and_< is_move_constructible< _Tp >, is_move_assignable< _Tp > >::value, optional< _Tp > >.
using value_type = _Tp
template<typename _Up = _Tp,
enable_if_t< __and_< __not_< is_same<
optional< _Tp >, decay_t< _Up > > >,
is_constructible< _Tp, _Up && >,
is_convertible< _Up &&, _Tp > >::value, bool
> = true> constexpr optional (_Up &&__t)
template<typename _Up = _Tp, enable_if_t<
__and_< __not_< is_same< optional< _Tp >,
decay_t< _Up > > >, is_constructible<
_Tp, _Up && >, __not_< is_convertible<
_Up &&, _Tp > > >::value, bool > = false>
constexpr optional (_Up &&__t)
template<typename _Up , enable_if_t< __and_<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, const _Up & >,
is_convertible< const _Up &, _Tp >,
__not_< __converts_from_optional< _Tp, _Up > >
>::value, bool > = true> constexpr optional
(const optional< _Up > &__t)
template<typename _Up , enable_if_t< __and_<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, const _Up & >,
__not_< is_convertible< const _Up &, _Tp >
>, __not_< __converts_from_optional< _Tp, _Up >
> >::value, bool > = false> constexpr optional
(const optional< _Up > &__t)
template<typename _Up , enable_if_t< __and_<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, _Up && >,
is_convertible< _Up &&, _Tp >, __not_<
__converts_from_optional< _Tp, _Up > > >::value,
bool > = true> constexpr optional (optional<
_Up > &&__t)
template<typename _Up , enable_if_t< __and_<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, _Up && >, __not_<
is_convertible< _Up &&, _Tp > >, __not_<
__converts_from_optional< _Tp, _Up > > >::value,
bool > = false> constexpr optional (optional<
_Up > &&__t)
template<typename... _Args> enable_if_t<
is_constructible< _Tp, _Args &&... >::value >
emplace (_Args &&... __args)
template<typename _Up , typename... _Args>
enable_if_t< is_constructible< _Tp,
initializer_list< _Up > &, _Args
&&... >::value > emplace (initializer_list<
_Up > __il, _Args &&... __args)
constexpr operator bool () const noexcept
constexpr _Tp & operator* () &
constexpr _Tp && operator* () &&
constexpr const _Tp & operator* () const &
constexpr const _Tp && operator* () const
&&
_Tp * operator-> ()
constexpr const _Tp * operator-> () const
template<typename _Up = _Tp> enable_if_t<
__and_< __not_< is_same< optional< _Tp >,
decay_t< _Up > > >, is_constructible<
_Tp, _Up >, __not_< __and_< is_scalar< _Tp >,
is_same< _Tp, decay_t< _Up > > > >,
is_assignable< _Tp &, _Up > >::value,
optional & > operator= (_Up
&&__u)
template<typename _Up > enable_if_t< __and_<
__not_< is_same< _Tp, _Up > >,
is_constructible< _Tp, const _Up & >,
is_assignable< _Tp &, _Up >, __not_<
__converts_from_optional< _Tp, _Up > >, __not_<
__assigns_from_optional< _Tp, _Up > > >::value,
optional & > operator= (const
optional< _Up > &__u)
optional & operator= (nullopt_t) noexcept
template<typename _Up > enable_if_t< __and_<
__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 > > >::value, optional & >
operator= (optional< _Up > &&__u)
void swap (optional &__other)
noexcept(is_nothrow_move_constructible< _Tp >()
&&__is_nothrow_swappable< _Tp >::value)
constexpr _Tp & value () &
constexpr _Tp && value () &&
constexpr const _Tp & value () const &
constexpr const _Tp && value () const
&&
template<typename _Up > _Tp value_or (_Up
&&__u) &&
template<typename _Up > constexpr _Tp
value_or (_Up &&__u) const &
class std::experimental::optional< _Tp >"Class template for optional values.
Definition at line 491 of file optional.
Definition at line 514 of file optional.
Definition at line 527 of file optional.
Definition at line 536 of file optional.
Definition at line 546 of file optional.
Definition at line 559 of file optional.
Definition at line 572 of file optional.
Definition at line 585 of file optional.
Definition at line 670 of file optional.
Definition at line 679 of file optional.
Definition at line 740 of file optional.
Definition at line 729 of file optional.
Definition at line 733 of file optional.
Definition at line 725 of file optional.
Definition at line 737 of file optional.
Definition at line 721 of file optional.
Definition at line 711 of file optional.
Definition at line 607 of file optional.
Definition at line 626 of file optional.
Definition at line 593 of file optional.
Definition at line 651 of file optional.
Definition at line 689 of file optional.
Definition at line 754 of file optional.
Definition at line 764 of file optional.
Definition at line 744 of file optional.
Definition at line 774 of file optional.
Definition at line 798 of file optional.
Definition at line 785 of file optional.
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ |