#include <cassert>
#include <stdexcept>
#include <utility>
Go to the source code of this file.
Classes | |
struct | BT::optional_lite::detail::storage_t< T >::aligned_storage_t |
struct | BT::optional_lite::detail::alignment_logic< A, S > |
struct | BT::optional_lite::detail::alignment_of< T > |
struct | BT::optional_lite::detail::alignment_of_hack< T > |
class | BT::optional_lite::bad_optional_access |
optional access error More... | |
struct | BT::optional_lite::detail::conditional< B, T, F > |
struct | BT::optional_lite::detail::conditional< false, T, F > |
struct | BT::detail::in_place_index_tag< I > |
struct | BT::in_place_t |
struct | BT::detail::in_place_type_tag< T > |
struct | BT::optional_lite::nullopt_t::init |
struct | BT::optional_lite::nullopt_t |
disengaged state tag More... | |
struct | BT::optional_lite::detail::nulltype |
class | BT::optional_lite::optional< T > |
optional More... | |
union | BT::optional_lite::detail::storage_t< T > |
C++03 constructed union to hold value. More... | |
struct | BT::optional_lite::detail::struct_t< T > |
struct | BT::optional_lite::detail::type_of_size< List, N > |
struct | BT::optional_lite::detail::type_of_size< nulltype, N > |
struct | BT::optional_lite::detail::typelist< Head, Tail > |
Namespaces | |
namespace | BT |
namespace | BT::detail |
namespace | BT::optional_lite |
namespace | BT::optional_lite::detail |
Defines | |
#define | nonstd_lite_HAVE_IN_PLACE_TYPES 1 |
#define | nonstd_lite_in_place_index_t(T) BT::in_place_t(&)( BT::detail::in_place_index_tag<I> ) |
#define | nonstd_lite_in_place_type_t(T) BT::in_place_t(&)( BT::detail::in_place_type_tag<T> ) |
#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 > |
#define | optional_BETWEEN(v, lo, hi) ( lo <= v && v < hi ) |
#define | optional_COMPILER_CLANG_VERSION 0 |
#define | optional_COMPILER_GNUC_VERSION 0 |
#define | optional_COMPILER_MSVC_VERSION 0 |
#define | optional_COMPILER_VERSION(major, minor, patch) ( 10 * (10 * major + minor ) + patch ) |
#define | optional_CONFIG_ALIGN_AS_FALLBACK double |
#define | optional_CONFIG_MAX_ALIGN_HACK 0 |
#define | optional_constexpr /*constexpr*/ |
#define | optional_constexpr14 /*constexpr*/ |
#define | optional_CPLUSPLUS __cplusplus |
#define | optional_CPLUSPLUS_V ( optional_CPLUSPLUS / 100 - (optional_CPLUSPLUS > 200000 ? 2000 : 1994) ) |
#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_CPP98_OR_GREATER ( optional_CPLUSPLUS >= 199711L ) |
#define | optional_HAS_INCLUDE(arg) 0 |
#define | optional_HAVE(FEATURE) ( optional_HAVE_##FEATURE ) |
#define | optional_HAVE_STD_OPTIONAL ( optional_CPP17_OR_GREATER && optional_HAS_INCLUDE( <optional> ) ) |
#define | optional_lite_VERSION "3.1.0" |
#define | optional_noexcept /*noexcept*/ |
#define | optional_nullptr NULL |
#define | optional_ref_qual /*&*/ |
#define | optional_refref_qual /*&&*/ |
Typedefs | |
typedef nulltype | BT::optional_lite::detail::alignment_types |
Functions | |
template<class T > | |
in_place_t | BT::in_place (detail::in_place_type_tag< T >=detail::in_place_type_tag< T >()) |
template<std::size_t I> | |
in_place_t | BT::in_place (detail::in_place_index_tag< I >=detail::in_place_index_tag< I >()) |
template<std::size_t I> | |
in_place_t | BT::in_place_index (detail::in_place_index_tag< I >=detail::in_place_index_tag< I >()) |
template<class T > | |
in_place_t | BT::in_place_type (detail::in_place_type_tag< T >=detail::in_place_type_tag< T >()) |
template<typename T > | |
optional< T > | BT::optional_lite::make_optional (T const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator!= (optional< T > const &x, optional< U > const &y) |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator!= (optional< T > const &x, nullopt_t) optional_noexcept |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator!= (nullopt_t, optional< T > const &x) optional_noexcept |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator!= (optional< T > const &x, U const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator!= (U const &v, optional< T > const &x) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator< (optional< T > const &x, optional< U > const &y) |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator< (optional< T > const &, nullopt_t) optional_noexcept |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator< (nullopt_t, optional< T > const &x) optional_noexcept |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator< (optional< T > const &x, U const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator< (U const &v, optional< T > const &x) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator<= (optional< T > const &x, optional< U > const &y) |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator<= (optional< T > const &x, nullopt_t) optional_noexcept |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator<= (nullopt_t, optional< T > const &) optional_noexcept |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator<= (optional< T > const &x, U const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator<= (U const &v, optional< T > const &x) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator== (optional< T > const &x, optional< U > const &y) |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator== (optional< T > const &x, nullopt_t) optional_noexcept |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator== (nullopt_t, optional< T > const &x) optional_noexcept |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator== (optional< T > const &x, U const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator== (U const &v, optional< T > const &x) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator> (optional< T > const &x, optional< U > const &y) |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator> (optional< T > const &x, nullopt_t) optional_noexcept |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator> (nullopt_t, optional< T > const &) optional_noexcept |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator> (optional< T > const &x, U const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator> (U const &v, optional< T > const &x) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator>= (optional< T > const &x, optional< U > const &y) |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator>= (optional< T > const &, nullopt_t) optional_noexcept |
template<typename T > | |
optional_constexpr bool | BT::optional_lite::operator>= (nullopt_t, optional< T > const &x) optional_noexcept |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator>= (optional< T > const &x, U const &v) |
template<typename T , typename U > | |
optional_constexpr bool | BT::optional_lite::operator>= (U const &v, optional< T > const &x) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (char) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (short) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (int) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (long) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (float) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (double) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (char *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (short *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (int *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (long *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (float *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (double *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (long double *) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (Unknown(*)(Unknown)) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (Unknown *Unknown::*) |
typedef | BT::optional_lite::detail::optional_ALIGN_TYPE (Unknown(Unknown::*)(Unknown)) |
template<typename T > | |
void | BT::optional_lite::swap (optional< T > &x, optional< T > &y) |
Variables | |
const nullopt_t | BT::optional_lite::nullopt ((nullopt_t::init())) |
#define nonstd_lite_HAVE_IN_PLACE_TYPES 1 |
Definition at line 330 of file optional.hpp.
#define nonstd_lite_in_place_index_t | ( | T | ) | BT::in_place_t(&)( BT::detail::in_place_index_tag<I> ) |
Definition at line 328 of file optional.hpp.
#define nonstd_lite_in_place_type_t | ( | T | ) | BT::in_place_t(&)( BT::detail::in_place_type_tag<T> ) |
Definition at line 327 of file optional.hpp.
#define optional_ALIGN_AS | ( | to_align | ) | typename type_of_size< alignment_types, alignment_of< to_align >::value >::type |
Definition at line 424 of file optional.hpp.
#define optional_ALIGN_TYPE | ( | type | ) | typelist< type , typelist< struct_t< type > |
Definition at line 469 of file optional.hpp.
#define optional_BETWEEN | ( | v, | |
lo, | |||
hi | |||
) | ( lo <= v && v < hi ) |
Definition at line 107 of file optional.hpp.
#define optional_COMPILER_CLANG_VERSION 0 |
Definition at line 126 of file optional.hpp.
#define optional_COMPILER_GNUC_VERSION 0 |
Definition at line 120 of file optional.hpp.
#define optional_COMPILER_MSVC_VERSION 0 |
Definition at line 112 of file optional.hpp.
#define optional_COMPILER_VERSION | ( | major, | |
minor, | |||
patch | |||
) | ( 10 * (10 * major + minor ) + patch ) |
Definition at line 115 of file optional.hpp.
#define optional_CONFIG_ALIGN_AS_FALLBACK double |
Definition at line 93 of file optional.hpp.
#define optional_CONFIG_MAX_ALIGN_HACK 0 |
Definition at line 85 of file optional.hpp.
#define optional_constexpr /*constexpr*/ |
Definition at line 223 of file optional.hpp.
#define optional_constexpr14 /*constexpr*/ |
Definition at line 229 of file optional.hpp.
#define optional_CPLUSPLUS __cplusplus |
Definition at line 23 of file optional.hpp.
#define optional_CPLUSPLUS_V ( optional_CPLUSPLUS / 100 - (optional_CPLUSPLUS > 200000 ? 2000 : 1994) ) |
Definition at line 35 of file optional.hpp.
#define optional_CPP11_OR_GREATER ( optional_CPLUSPLUS >= 201103L ) |
Definition at line 28 of file optional.hpp.
#define optional_CPP14_OR_GREATER ( optional_CPLUSPLUS >= 201402L ) |
Definition at line 29 of file optional.hpp.
#define optional_CPP17_OR_GREATER ( optional_CPLUSPLUS >= 201703L ) |
Definition at line 30 of file optional.hpp.
#define optional_CPP20_OR_GREATER ( optional_CPLUSPLUS >= 202000L ) |
Definition at line 31 of file optional.hpp.
#define optional_CPP98_OR_GREATER ( optional_CPLUSPLUS >= 199711L ) |
Definition at line 27 of file optional.hpp.
#define optional_HAS_INCLUDE | ( | arg | ) | 0 |
Definition at line 42 of file optional.hpp.
#define optional_HAVE | ( | FEATURE | ) | ( optional_HAVE_##FEATURE ) |
Definition at line 141 of file optional.hpp.
#define optional_HAVE_STD_OPTIONAL ( optional_CPP17_OR_GREATER && optional_HAS_INCLUDE( <optional> ) ) |
Definition at line 45 of file optional.hpp.
#define optional_lite_VERSION "3.1.0" |
Definition at line 14 of file optional.hpp.
#define optional_noexcept /*noexcept*/ |
Definition at line 235 of file optional.hpp.
#define optional_nullptr NULL |
Definition at line 241 of file optional.hpp.
#define optional_ref_qual /*&*/ |
Definition at line 248 of file optional.hpp.
#define optional_refref_qual /*&&*/ |
Definition at line 249 of file optional.hpp.