optional File Reference

Go to the source code of this file.

## Classes

struct | std::_Optional_base< _Tp, bool, bool >
class | std::bad_optional_access
struct | std::nullopt_t
class | std::optional< _Tp >

## Namespaces

namespace | std

## Macros

#define | __cpp_lib_optional
#define | _GLIBCXX_OPTIONAL

## Typedefs

template<typename _Tp, typename _Up>
using | std::__assigns_from_optional
template<typename _Tp, typename _Up>
using | std::__converts_from_optional
template<typename _Tp, typename _Up>
using | std::__optional_eq_t
template<typename _Tp, typename _Up>
using | std::__optional_ge_t
template<typename _Tp, typename _Up>
using | std::__optional_gt_t
template<typename _Tp, typename _Up>
using | std::__optional_le_t
template<typename _Tp, typename _Up>
using | std::__optional_lt_t
template<typename _Tp, typename _Up>
using | std::__optional_ne_t
template<typename _Tp>
using | std::__optional_relop_t

## Functions

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

## Variables

template<typename _Tp>
constexpr bool | std::__is_optional_v
template<typename _Tp>
constexpr bool | std::__is_optional_v< optional< _Tp > >
constexpr nullopt_t | std::nullopt

## Detailed Description

This is a Standard C++ Library header.

Definition in file optional.

## Macro Definition Documentation

## _GLIBCXX_OPTIONAL

#define _GLIBCXX_OPTIONAL

Definition at line 31 of file optional.