libstdc++
|
Classes | |
struct | std::experimental::fundamentals_v1::_Has_addressof< _Tp > |
Trait that detects the presence of an overloaded unary operator&. More... | |
class | std::experimental::fundamentals_v1::_Optional_base< _Tp, _ShouldProvideDestructor > |
Class template that holds the necessary state for Optional values and that has the responsibility for construction and the special members. More... | |
class | std::experimental::fundamentals_v1::_Optional_base< _Tp, false > |
Partial specialization that is exactly identical to the primary template save for not providing a destructor, to fulfill triviality requirements. More... | |
class | std::experimental::fundamentals_v1::bad_optional_access |
Tag to disengage optional objects. More... | |
struct | std::experimental::fundamentals_v1::in_place_t |
Tag type for in-place construction. More... | |
struct | std::experimental::fundamentals_v1::nullopt_t |
Tag for in-place construction. More... | |
class | std::experimental::fundamentals_v1::optional< _Tp > |
Class template for optional values. More... | |
Defines | |
#define | __cpp_lib_experimental_optional |
Functions | |
template<typename _Tp , enable_if_t<!_Has_addressof< _Tp >::value, int > ...> | |
constexpr _Tp * | std::experimental::fundamentals_v1::__constexpr_addressof (_Tp &__t) |
void | std::experimental::fundamentals_v1::__throw_bad_optional_access (const char *) __attribute__((__noreturn__)) |
template<typename _Tp > | |
constexpr optional< decay_t < _Tp > > | std::experimental::fundamentals_v1::make_optional (_Tp &&__t) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator!= (const optional< _Tp > &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator!= (const optional< _Tp > &__lhs, nullopt_t) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator!= (nullopt_t, const optional< _Tp > &__rhs) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator!= (const optional< _Tp > &__lhs, _Tp const &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator!= (const _Tp &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator< (const optional< _Tp > &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator< (const optional< _Tp > &, nullopt_t) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator< (nullopt_t, const optional< _Tp > &__rhs) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator< (const optional< _Tp > &__lhs, const _Tp &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator< (const _Tp &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator<= (const optional< _Tp > &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator<= (const optional< _Tp > &__lhs, nullopt_t) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator<= (nullopt_t, const optional< _Tp > &) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator<= (const optional< _Tp > &__lhs, const _Tp &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator<= (const _Tp &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator== (const optional< _Tp > &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator== (const optional< _Tp > &__lhs, nullopt_t) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator== (nullopt_t, const optional< _Tp > &__rhs) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator== (const optional< _Tp > &__lhs, const _Tp &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator== (const _Tp &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator> (const optional< _Tp > &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator> (const optional< _Tp > &__lhs, nullopt_t) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator> (nullopt_t, const optional< _Tp > &) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator> (const optional< _Tp > &__lhs, const _Tp &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator> (const _Tp &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator>= (const optional< _Tp > &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator>= (const optional< _Tp > &, nullopt_t) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator>= (nullopt_t, const optional< _Tp > &__rhs) noexcept |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator>= (const optional< _Tp > &__lhs, const _Tp &__rhs) |
template<typename _Tp > | |
constexpr bool | std::experimental::fundamentals_v1::operator>= (const _Tp &__lhs, const optional< _Tp > &__rhs) |
template<typename _Tp > | |
void | std::experimental::fundamentals_v1::swap (optional< _Tp > &__lhs, optional< _Tp > &__rhs) noexcept(noexcept(__lhs.swap(__rhs))) |
Class template for optional values and surrounding facilities, as described in n3793 "A proposal to add a utility class to represent optional objects (Revision 5)".
_Tp * std::experimental::fundamentals_v1::__constexpr_addressof | ( | _Tp & | __t | ) | [inline] |
An overload that attempts to take the address of an lvalue as a constant expression. Falls back to __addressof in the presence of an overloaded addressof operator (unary operator&), in which case the call will not be a constant expression.
Fallback overload that defers to __addressof.