Loading...
Searching...
No Matches
optional.hpp File Reference
`#include <cstddef>`
`#include <cassert>`
`#include <utility>`

Go to the source code of this file.

## Classes

struct | nonstd::detail::in_place_type_tag< T >
struct | nonstd::detail::in_place_index_tag< K >
struct | nonstd::in_place_t
struct | nonstd::optional_lite::std11::integral_constant< T, v >
struct | nonstd::optional_lite::std11::bool_constant< B >
struct | nonstd::optional_lite::std11::conditional< B, T, F >
struct | nonstd::optional_lite::std11::conditional< false, T, F >
struct | nonstd::optional_lite::std11::is_assignable< T, U >
struct | nonstd::optional_lite::std11::is_move_constructible< T >
struct | nonstd::optional_lite::std11::is_nothrow_move_assignable< T >
struct | nonstd::optional_lite::std11::is_nothrow_move_constructible< T >
struct | nonstd::optional_lite::std11::is_trivially_copy_constructible< T >
struct | nonstd::optional_lite::std11::is_trivially_move_constructible< T >
struct | nonstd::optional_lite::detail::nulltype
struct | nonstd::optional_lite::detail::typelist< Head, Tail >
struct | nonstd::optional_lite::detail::alignment_of_hack< T >
struct | nonstd::optional_lite::detail::alignment_logic< A, S >
struct | nonstd::optional_lite::detail::alignment_of< T >
struct | nonstd::optional_lite::detail::type_of_size< List, N >
struct | nonstd::optional_lite::detail::type_of_size< nulltype, N >
struct | nonstd::optional_lite::detail::struct_t< T >
union | nonstd::optional_lite::detail::storage_t< T >
| C++03 constructed union to hold value. More...
struct | nonstd::optional_lite::detail::storage_t< T >::aligned_storage_t
struct | nonstd::optional_lite::nullopt_t
| disengaged state tag More...
struct | nonstd::optional_lite::nullopt_t::init
class | nonstd::optional_lite::optional< T >
| class optional More...

## Namespaces

namespace | nonstd
namespace | nonstd::detail
namespace | nonstd::optional_lite
namespace | nonstd::optional_lite::std11
namespace | nonstd::optional_lite::detail

## Macros

#define | NONSTD_OPTIONAL_LITE_HPP
#define | optional_lite_MAJOR 3
#define | optional_lite_MINOR 5
#define | optional_lite_PATCH 0
#define | optional_lite_VERSION optional_STRINGIFY(optional_lite_MAJOR) "." optional_STRINGIFY(optional_lite_MINOR) "." optional_STRINGIFY(optional_lite_PATCH)
#define | optional_STRINGIFY( x) optional_STRINGIFY_( x )
#define | optional_STRINGIFY_(x) #x
#define | optional_OPTIONAL_DEFAULT 0
#define | optional_OPTIONAL_NONSTD 1
#define | optional_OPTIONAL_STD 2
#define | optional_HAVE_TWEAK_HEADER 0
#define | optional_CONFIG_SELECT_OPTIONAL ( optional_HAVE_STD_OPTIONAL ? optional_OPTIONAL_STD : optional_OPTIONAL_NONSTD )
#define | optional_CONFIG_NO_EXTENSIONS 0
#define | optional_CONFIG_NO_EXCEPTIONS 1
#define | optional_CPLUSPLUS __cplusplus
#define | optional_CPP98_OR_GREATER ( optional_CPLUSPLUS >= 199711L )
#define | optional_CPP11_OR_GREATER ( optional_CPLUSPLUS >= 201103L )
#define | optional_CPP11_OR_GREATER_ ( optional_CPLUSPLUS >= 201103L )
#define | optional_CPP14_OR_GREATER ( optional_CPLUSPLUS >= 201402L )
#define | optional_CPP17_OR_GREATER ( optional_CPLUSPLUS >= 201703L )
#define | optional_CPP20_OR_GREATER ( optional_CPLUSPLUS >= 202000L )
#define | optional_CPLUSPLUS_V ( optional_CPLUSPLUS / 100 - (optional_CPLUSPLUS > 200000 ? 2000 : 1994) )
#define | optional_HAVE_STD_OPTIONAL 0
#define | optional_USES_STD_OPTIONAL ( (optional_CONFIG_SELECT_OPTIONAL == optional_OPTIONAL_STD) || ((optional_CONFIG_SELECT_OPTIONAL == optional_OPTIONAL_DEFAULT) && optional_HAVE_STD_OPTIONAL) )
#define | nonstd_lite_HAVE_IN_PLACE_TYPES 1
#define | nonstd_lite_in_place_t( T) nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> )
#define | nonstd_lite_in_place_type_t(T) nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> )
#define | nonstd_lite_in_place_index_t(K) nonstd::in_place_t(&)( nonstd::detail::in_place_index_tag<K> )
#define | nonstd_lite_in_place( T) nonstd::in_place_type<T>
#define | nonstd_lite_in_place_type(T) nonstd::in_place_type<T>
#define | nonstd_lite_in_place_index(K) nonstd::in_place_index<K>
#define | optional_CONFIG_MAX_ALIGN_HACK 0
#define | optional_CONFIG_ALIGN_AS_FALLBACK double
#define | optional_BETWEEN(v, lo, hi) ( (lo) <= (v) && (v) < (hi) )
#define | optional_COMPILER_MSVC_VER 0
#define | optional_COMPILER_MSVC_VERSION 0
#define | optional_COMPILER_VERSION(major, minor, patch) ( 10 * (10 * (major) + (minor) ) + (patch) )
#define | optional_COMPILER_GNUC_VERSION 0
#define | optional_COMPILER_CLANG_VERSION 0
#define | optional_HAVE(FEATURE) ( optional_HAVE_##FEATURE )
#define | optional_HAS_CPP0X 0
#define | optional_CPP11_90 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1500)
#define | optional_CPP11_100 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1600)
#define | optional_CPP11_110 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1700)
#define | optional_CPP11_120 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1800)
#define | optional_CPP11_140 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1900)
#define | optional_CPP11_141 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1910)
#define | optional_CPP14_000 (optional_CPP14_OR_GREATER)
#define | optional_CPP17_000 (optional_CPP17_OR_GREATER)
#define | optional_CPP11_140_C290_G490 ((optional_CPP11_OR_GREATER_ && (optional_COMPILER_CLANG_VERSION >= 290 || optional_COMPILER_GNUC_VERSION >= 490)) || (optional_COMPILER_MSVC_VER >= 1900))
#define | optional_CPP11_110_C350 ( optional_CPP11_110 && !optional_BETWEEN( optional_COMPILER_CLANG_VERSION, 1, 350 ) )
#define | optional_CPP11_110_C350_G500
#define | optional_HAVE_CONSTEXPR_11 optional_CPP11_140
#define | optional_HAVE_IS_DEFAULT optional_CPP11_140
#define | optional_HAVE_NOEXCEPT optional_CPP11_140
#define | optional_HAVE_NULLPTR optional_CPP11_100
#define | optional_HAVE_REF_QUALIFIER optional_CPP11_140_C290_G490
#define | optional_HAVE_STATIC_ASSERT optional_CPP11_110
#define | optional_HAVE_INITIALIZER_LIST optional_CPP11_140
#define | optional_HAVE_CONSTEXPR_14 optional_CPP14_000
#define | optional_HAVE_NODISCARD optional_CPP17_000
#define | optional_HAVE_CONDITIONAL optional_CPP11_120
#define | optional_HAVE_REMOVE_CV optional_CPP11_120
#define | optional_HAVE_TYPE_TRAITS optional_CPP11_90
#define | optional_HAVE_TR1_TYPE_TRAITS (!! optional_COMPILER_GNUC_VERSION )
#define | optional_HAVE_TR1_ADD_POINTER (!! optional_COMPILER_GNUC_VERSION )
#define | optional_HAVE_IS_ASSIGNABLE optional_CPP11_110_C350
#define | optional_HAVE_IS_MOVE_CONSTRUCTIBLE optional_CPP11_110_C350
#define | optional_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE optional_CPP11_110_C350
#define | optional_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE optional_CPP11_110_C350
#define | optional_HAVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE optional_CPP11_110_C350_G500
#define | optional_HAVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE optional_CPP11_110_C350_G500
#define | optional_constexpr /*constexpr*/
#define | optional_is_default {}
#define | optional_constexpr14 /*constexpr*/
#define | optional_nodiscard /*[[nodiscard]]*/
#define | optional_noexcept /*noexcept*/
#define | optional_nullptr NULL
#define | optional_ref_qual /*&*/
#define | optional_refref_qual /*&&*/
#define | optional_static_assert(expr, text) /*static_assert(expr, text);*/
#define | optional_ALIGN_AS(to_align) typename type_of_size< alignment_types, alignment_of< to_align >::value >::type
#define | optional_ALIGN_TYPE(type) typelist< type , typelist< struct_t< type >

## Typedefs

typedef bool_constant< true > | nonstd::optional_lite::std11::true_type
typedef bool_constant< false > | nonstd::optional_lite::std11::false_type
typedef nulltype | nonstd::optional_lite::detail::alignment_types

## Functions

template<class T >
in_place_t | nonstd::in_place (detail::in_place_type_tag< T >=detail::in_place_type_tag< T >())
template<std::size_t K>
in_place_t | nonstd::in_place (detail::in_place_index_tag< K >=detail::in_place_index_tag< K >())
template<class T >
in_place_t | nonstd::in_place_type (detail::in_place_type_tag< T >=detail::in_place_type_tag< T >())
template<std::size_t K>
in_place_t | nonstd::in_place_index (detail::in_place_index_tag< K >=detail::in_place_index_tag< K >())
template<typename T >
T & | nonstd::optional_lite::std11::move (T &t)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (char)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (short)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (int)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (long)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (float)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (double)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (long double)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (char *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (short *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (int *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (long *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (float *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (double *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (long double *)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (Unknown(*)(Unknown))
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (Unknown *Unknown::*)
typedef | nonstd::optional_lite::detail::optional_ALIGN_TYPE (Unknown(Unknown::*)(Unknown))
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator== (optional< T > const &x, optional< U > const &y)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator!= (optional< T > const &x, optional< U > const &y)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator< (optional< T > const &x, optional< U > const &y)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator> (optional< T > const &x, optional< U > const &y)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator<= (optional< T > const &x, optional< U > const &y)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator>= (optional< T > const &x, optional< U > const &y)
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator== (optional< T > const &x, nullopt_t) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator== (nullopt_t, optional< T > const &x) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator!= (optional< T > const &x, nullopt_t) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator!= (nullopt_t, optional< T > const &x) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator< (optional< T > const &, nullopt_t) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator< (nullopt_t, optional< T > const &x) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator<= (optional< T > const &x, nullopt_t) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator<= (nullopt_t, optional< T > const &) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator> (optional< T > const &x, nullopt_t) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator> (nullopt_t, optional< T > const &) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator>= (optional< T > const &, nullopt_t) optional_noexcept
template<typename T >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator>= (nullopt_t, optional< T > const &x) optional_noexcept
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator== (optional< T > const &x, U const &v)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator== (U const &v, optional< T > const &x)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator!= (optional< T > const &x, U const &v)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator!= (U const &v, optional< T > const &x)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator< (optional< T > const &x, U const &v)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator< (U const &v, optional< T > const &x)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator<= (optional< T > const &x, U const &v)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator<= (U const &v, optional< T > const &x)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator> (optional< T > const &x, U const &v)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator> (U const &v, optional< T > const &x)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator>= (optional< T > const &x, U const &v)
template<typename T , typename U >
optional_nodiscard optional_constexpr bool | nonstd::optional_lite::operator>= (U const &v, optional< T > const &x)
template<typename T >
void | nonstd::optional_lite::swap (optional< T > &x, optional< T > &y)
template<typename T >
optional< T > | nonstd::optional_lite::make_optional (T const &value)

## Variables

const nullopt_t | nonstd::optional_lite::nullopt ((nullopt_t::init()))

## Macro Definition Documentation

## nonstd_lite_HAVE_IN_PLACE_TYPES

#define nonstd_lite_HAVE_IN_PLACE_TYPES 1

Definition at line 107 of file optional.hpp.

## nonstd_lite_in_place

#define nonstd_lite_in_place | ( |  | T | ) | nonstd::in_place_type<T>

Definition at line 181 of file optional.hpp.

## nonstd_lite_in_place_index

#define nonstd_lite_in_place_index | ( |  | K | ) | nonstd::in_place_index<K>

Definition at line 183 of file optional.hpp.

## nonstd_lite_in_place_index_t

#define nonstd_lite_in_place_index_t | ( |  | K | ) | nonstd::in_place_t(&)( nonstd::detail::in_place_index_tag<K> )

Definition at line 179 of file optional.hpp.

## nonstd_lite_in_place_t

#define nonstd_lite_in_place_t | ( |  | T | ) | nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> )

Definition at line 177 of file optional.hpp.

## nonstd_lite_in_place_type

#define nonstd_lite_in_place_type | ( |  | T | ) | nonstd::in_place_type<T>

Definition at line 182 of file optional.hpp.

## nonstd_lite_in_place_type_t

#define nonstd_lite_in_place_type_t | ( |  | T | ) | nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> )

Definition at line 178 of file optional.hpp.

## NONSTD_OPTIONAL_LITE_HPP

#define NONSTD_OPTIONAL_LITE_HPP

Definition at line 12 of file optional.hpp.

## optional_ALIGN_AS

#define optional_ALIGN_AS | ( |  | to_align | ) | typename type_of_size< alignment_types, alignment_of< to_align >::value >::type

Definition at line 679 of file optional.hpp.

## optional_ALIGN_TYPE

#define optional_ALIGN_TYPE | ( |  | type | ) | typelist< type , typelist< struct_t< type >

Definition at line 724 of file optional.hpp.

## optional_BETWEEN

#define optional_BETWEEN | ( |  | v,
|  |  | lo,
|  |  | hi
| ) |  | ( (lo) <= (v) && (v) < (hi) )

Definition at line 249 of file optional.hpp.

## optional_COMPILER_CLANG_VERSION

#define optional_COMPILER_CLANG_VERSION 0

Definition at line 284 of file optional.hpp.

## optional_COMPILER_GNUC_VERSION

#define optional_COMPILER_GNUC_VERSION 0

Definition at line 278 of file optional.hpp.

## optional_COMPILER_MSVC_VER

#define optional_COMPILER_MSVC_VER 0

Definition at line 269 of file optional.hpp.

## optional_COMPILER_MSVC_VERSION

#define optional_COMPILER_MSVC_VERSION 0

Definition at line 270 of file optional.hpp.

## optional_COMPILER_VERSION

#define optional_COMPILER_VERSION | ( |  | major,
|  |  | minor,
|  |  | patch
| ) |  | ( 10 * (10 * (major) + (minor) ) + (patch) )

Definition at line 273 of file optional.hpp.

## optional_CONFIG_ALIGN_AS_FALLBACK

#define optional_CONFIG_ALIGN_AS_FALLBACK double

Definition at line 233 of file optional.hpp.

## optional_CONFIG_MAX_ALIGN_HACK

#define optional_CONFIG_MAX_ALIGN_HACK 0

Definition at line 225 of file optional.hpp.

## optional_CONFIG_NO_EXCEPTIONS

#define optional_CONFIG_NO_EXCEPTIONS 1

Definition at line 62 of file optional.hpp.

## optional_CONFIG_NO_EXTENSIONS

#define optional_CONFIG_NO_EXTENSIONS 0

Definition at line 50 of file optional.hpp.

## optional_CONFIG_SELECT_OPTIONAL

#define optional_CONFIG_SELECT_OPTIONAL ( optional_HAVE_STD_OPTIONAL ? optional_OPTIONAL_STD : optional_OPTIONAL_NONSTD )

Definition at line 44 of file optional.hpp.

## optional_constexpr

#define optional_constexpr /*constexpr*/

Definition at line 373 of file optional.hpp.

## optional_constexpr14

#define optional_constexpr14 /*constexpr*/

Definition at line 385 of file optional.hpp.

## optional_CPLUSPLUS

#define optional_CPLUSPLUS __cplusplus

Definition at line 73 of file optional.hpp.

## optional_CPLUSPLUS_V

#define optional_CPLUSPLUS_V ( optional_CPLUSPLUS / 100 - (optional_CPLUSPLUS > 200000 ? 2000 : 1994) )

Definition at line 86 of file optional.hpp.

## optional_CPP11_100

#define optional_CPP11_100 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1600)

Definition at line 313 of file optional.hpp.

## optional_CPP11_110

#define optional_CPP11_110 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1700)

Definition at line 314 of file optional.hpp.

## optional_CPP11_110_C350

#define optional_CPP11_110_C350 ( optional_CPP11_110 && !optional_BETWEEN( optional_COMPILER_CLANG_VERSION, 1, 350 ) )

Definition at line 326 of file optional.hpp.

## optional_CPP11_110_C350_G500

#define optional_CPP11_110_C350_G500

Value:
( optional_CPP11_110 && \
!( optional_BETWEEN( optional_COMPILER_CLANG_VERSION, 1, 350 ) \
|| optional_BETWEEN( optional_COMPILER_GNUC_VERSION , 1, 500 ) ) )
optional_COMPILER_CLANG_VERSION
#define optional_COMPILER_CLANG_VERSION
Definition: optional.hpp:284
optional_CPP11_110
#define optional_CPP11_110
Definition: optional.hpp:314
optional_COMPILER_GNUC_VERSION
#define optional_COMPILER_GNUC_VERSION
Definition: optional.hpp:278
optional_BETWEEN
#define optional_BETWEEN(v, lo, hi)
Definition: optional.hpp:249

Definition at line 329 of file optional.hpp.

## optional_CPP11_120

#define optional_CPP11_120 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1800)

Definition at line 315 of file optional.hpp.

## optional_CPP11_140

#define optional_CPP11_140 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1900)

Definition at line 316 of file optional.hpp.

## optional_CPP11_140_C290_G490

#define optional_CPP11_140_C290_G490 ((optional_CPP11_OR_GREATER_ && (optional_COMPILER_CLANG_VERSION >= 290 || optional_COMPILER_GNUC_VERSION >= 490)) || (optional_COMPILER_MSVC_VER >= 1900))

Definition at line 323 of file optional.hpp.

## optional_CPP11_141

#define optional_CPP11_141 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1910)

Definition at line 317 of file optional.hpp.

## optional_CPP11_90

#define optional_CPP11_90 (optional_CPP11_OR_GREATER_ || optional_COMPILER_MSVC_VER >= 1500)

Definition at line 312 of file optional.hpp.

## optional_CPP11_OR_GREATER

#define optional_CPP11_OR_GREATER ( optional_CPLUSPLUS >= 201103L )

Definition at line 78 of file optional.hpp.

## optional_CPP11_OR_GREATER_

#define optional_CPP11_OR_GREATER_ ( optional_CPLUSPLUS >= 201103L )

Definition at line 79 of file optional.hpp.

## optional_CPP14_000

#define optional_CPP14_000 (optional_CPP14_OR_GREATER)

Definition at line 319 of file optional.hpp.

## optional_CPP14_OR_GREATER

#define optional_CPP14_OR_GREATER ( optional_CPLUSPLUS >= 201402L )

Definition at line 80 of file optional.hpp.

## optional_CPP17_000

#define optional_CPP17_000 (optional_CPP17_OR_GREATER)

Definition at line 320 of file optional.hpp.

## optional_CPP17_OR_GREATER

#define optional_CPP17_OR_GREATER ( optional_CPLUSPLUS >= 201703L )

Definition at line 81 of file optional.hpp.

## optional_CPP20_OR_GREATER

#define optional_CPP20_OR_GREATER ( optional_CPLUSPLUS >= 202000L )

Definition at line 82 of file optional.hpp.

## optional_CPP98_OR_GREATER

#define optional_CPP98_OR_GREATER ( optional_CPLUSPLUS >= 199711L )

Definition at line 77 of file optional.hpp.

## optional_HAS_CPP0X

#define optional_HAS_CPP0X 0

Definition at line 302 of file optional.hpp.

## optional_HAVE

#define optional_HAVE | ( |  | FEATURE | ) | ( optional_HAVE_##FEATURE )

Definition at line 297 of file optional.hpp.

## optional_HAVE_CONDITIONAL

#define optional_HAVE_CONDITIONAL optional_CPP11_120

Definition at line 354 of file optional.hpp.

## optional_HAVE_CONSTEXPR_11

#define optional_HAVE_CONSTEXPR_11 optional_CPP11_140

Definition at line 336 of file optional.hpp.

## optional_HAVE_CONSTEXPR_14

#define optional_HAVE_CONSTEXPR_14 optional_CPP14_000

Definition at line 346 of file optional.hpp.

## optional_HAVE_INITIALIZER_LIST

#define optional_HAVE_INITIALIZER_LIST optional_CPP11_140

Definition at line 342 of file optional.hpp.

## optional_HAVE_IS_ASSIGNABLE

#define optional_HAVE_IS_ASSIGNABLE optional_CPP11_110_C350

Definition at line 361 of file optional.hpp.

## optional_HAVE_IS_DEFAULT

#define optional_HAVE_IS_DEFAULT optional_CPP11_140

Definition at line 337 of file optional.hpp.

## optional_HAVE_IS_MOVE_CONSTRUCTIBLE

#define optional_HAVE_IS_MOVE_CONSTRUCTIBLE optional_CPP11_110_C350

Definition at line 362 of file optional.hpp.

## optional_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE

#define optional_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE optional_CPP11_110_C350

Definition at line 363 of file optional.hpp.

## optional_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE

#define optional_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE optional_CPP11_110_C350

Definition at line 364 of file optional.hpp.

## optional_HAVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE

#define optional_HAVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE optional_CPP11_110_C350_G500

Definition at line 365 of file optional.hpp.

## optional_HAVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE

#define optional_HAVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE optional_CPP11_110_C350_G500

Definition at line 366 of file optional.hpp.

## optional_HAVE_NODISCARD

#define optional_HAVE_NODISCARD optional_CPP17_000

Definition at line 350 of file optional.hpp.

## optional_HAVE_NOEXCEPT

#define optional_HAVE_NOEXCEPT optional_CPP11_140

Definition at line 338 of file optional.hpp.

## optional_HAVE_NULLPTR

#define optional_HAVE_NULLPTR optional_CPP11_100

Definition at line 339 of file optional.hpp.

## optional_HAVE_REF_QUALIFIER

#define optional_HAVE_REF_QUALIFIER optional_CPP11_140_C290_G490

Definition at line 340 of file optional.hpp.

## optional_HAVE_REMOVE_CV

#define optional_HAVE_REMOVE_CV optional_CPP11_120

Definition at line 355 of file optional.hpp.

## optional_HAVE_STATIC_ASSERT

#define optional_HAVE_STATIC_ASSERT optional_CPP11_110

Definition at line 341 of file optional.hpp.

## optional_HAVE_STD_OPTIONAL

#define optional_HAVE_STD_OPTIONAL 0

Definition at line 97 of file optional.hpp.

## optional_HAVE_TR1_ADD_POINTER

#define optional_HAVE_TR1_ADD_POINTER (!! optional_COMPILER_GNUC_VERSION )

Definition at line 359 of file optional.hpp.

## optional_HAVE_TR1_TYPE_TRAITS

#define optional_HAVE_TR1_TYPE_TRAITS (!! optional_COMPILER_GNUC_VERSION )

Definition at line 358 of file optional.hpp.

## optional_HAVE_TWEAK_HEADER

#define optional_HAVE_TWEAK_HEADER 0

Definition at line 37 of file optional.hpp.

## optional_HAVE_TYPE_TRAITS

#define optional_HAVE_TYPE_TRAITS optional_CPP11_90

Definition at line 356 of file optional.hpp.

## optional_is_default

#define optional_is_default {}

Definition at line 379 of file optional.hpp.

## optional_lite_MAJOR

#define optional_lite_MAJOR 3

Definition at line 14 of file optional.hpp.

## optional_lite_MINOR

#define optional_lite_MINOR 5

Definition at line 15 of file optional.hpp.

## optional_lite_PATCH

#define optional_lite_PATCH 0

Definition at line 16 of file optional.hpp.

## optional_lite_VERSION

#define optional_lite_VERSION optional_STRINGIFY(optional_lite_MAJOR) "." optional_STRINGIFY(optional_lite_MINOR) "." optional_STRINGIFY(optional_lite_PATCH)

Definition at line 18 of file optional.hpp.

## optional_nodiscard

#define optional_nodiscard /*[[nodiscard]]*/

Definition at line 391 of file optional.hpp.

## optional_noexcept

#define optional_noexcept /*noexcept*/

Definition at line 397 of file optional.hpp.

## optional_nullptr

#define optional_nullptr NULL

Definition at line 403 of file optional.hpp.

## optional_OPTIONAL_DEFAULT

#define optional_OPTIONAL_DEFAULT 0

Definition at line 25 of file optional.hpp.

## optional_OPTIONAL_NONSTD

#define optional_OPTIONAL_NONSTD 1

Definition at line 26 of file optional.hpp.

## optional_OPTIONAL_STD

#define optional_OPTIONAL_STD 2

Definition at line 27 of file optional.hpp.

## optional_ref_qual

#define optional_ref_qual /*&*/

Definition at line 411 of file optional.hpp.

## optional_refref_qual

#define optional_refref_qual /*&&*/

Definition at line 412 of file optional.hpp.

## optional_static_assert

#define optional_static_assert | ( |  | expr,
|  |  | text
| ) |  | /*static_assert(expr, text);*/

Definition at line 418 of file optional.hpp.

## optional_STRINGIFY

#define optional_STRINGIFY | ( |  | x | ) | optional_STRINGIFY_( x )

Definition at line 20 of file optional.hpp.

## optional_STRINGIFY_

#define optional_STRINGIFY_ | ( |  | x | ) | #x

Definition at line 21 of file optional.hpp.

## optional_USES_STD_OPTIONAL

#define optional_USES_STD_OPTIONAL ( (optional_CONFIG_SELECT_OPTIONAL == optional_OPTIONAL_STD) || ((optional_CONFIG_SELECT_OPTIONAL == optional_OPTIONAL_DEFAULT) && optional_HAVE_STD_OPTIONAL) )

Definition at line 100 of file optional.hpp.