libstdc++
optional File Reference

Go to the source code of this file.

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...

Namespaces

namespace  std

Defines

#define __cpp_lib_experimental_optional
#define _GLIBCXX_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)))

Detailed Description

This is a TS C++ Library header.

Definition in file optional.