Classes | Namespaces | Macros | Typedefs | Functions | Variables
optional.hpp File Reference
#include <cassert>
#include <stdexcept>
#include <utility>
Include dependency graph for optional.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nonstd::optional_lite::detail::storage_t< T >::aligned_storage_t
 
struct  nonstd::optional_lite::detail::alignment_logic< A, S >
 
struct  nonstd::optional_lite::detail::alignment_of< T >
 
struct  nonstd::optional_lite::detail::alignment_of< T >
 
struct  nonstd::optional_lite::detail::alignment_of_hack< T >
 
class  nonstd::optional_lite::bad_optional_access
 optional access error More...
 
struct  nonstd::optional_lite::detail::conditional< Cond, Then, Else >
 
struct  nonstd::optional_lite::detail::conditional< false, Then, Else >
 
struct  nonstd::optional_lite::detail::conditional< true, Then, Else >
 
struct  nonstd::detail::in_place_index_tag< I >
 
struct  nonstd::in_place_t
 
struct  nonstd::detail::in_place_type_tag< T >
 
struct  nonstd::optional_lite::nullopt_t::init
 
struct  nonstd::optional_lite::nullopt_t
 disengaged state tag More...
 
struct  nonstd::optional_lite::detail::nulltype
 
class  nonstd::optional_lite::optional< T >
 class optional More...
 
class  nonstd::optional_lite::optional< T >
 class optional More...
 
union  nonstd::optional_lite::detail::storage_t< T >
 C++03 constructed union to hold value. More...
 
struct  nonstd::optional_lite::detail::struct_t< 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::typelist< Head, Tail >
 

Namespaces

 nonstd
 
 nonstd::detail
 
 nonstd::optional_lite
 
 nonstd::optional_lite::detail
 

Macros

#define nonstd_lite_HAVE_IN_PLACE_TYPES   1
 
#define nonstd_lite_in_place_index_t(T)   nonstd::in_place_t(&)( nonstd::detail::in_place_index_tag<I> )
 
#define nonstd_lite_in_place_type_t(T)   nonstd::in_place_t(&)( nonstd::detail::in_place_type_tag<T> )
 
#define NONSTD_OPTIONAL_LITE_HPP
 
#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_GNUC_VERSION   0
 
#define optional_COMPILER_MSVC_VERSION   0
 
#define optional_CONFIG_ALIGN_AS_FALLBACK   double
 
#define optional_CONFIG_MAX_ALIGN_HACK   0
 
#define optional_constexpr   /*constexpr*/
 
#define optional_constexpr14   /*constexpr*/
 
#define optional_CPP11_OR_GREATER   ( __cplusplus >= 201103L )
 
#define optional_CPP14_OR_GREATER   ( __cplusplus >= 201402L )
 
#define optional_lite_VERSION   "2.0.0"
 
#define optional_noexcept   /*noexcept*/
 
#define optional_nullptr   NULL
 
#define optional_ref_qual   /*&*/
 
#define optional_refref_qual   /*&&*/
 

Typedefs

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 I>
in_place_t nonstd::in_place (detail::in_place_index_tag< I >=detail::in_place_index_tag< I >())
 
template<typename T >
optional< T > nonstd::optional_lite::make_optional (T const &v)
 
template<typename T >
bool nonstd::optional_lite::operator!= (optional< T > const &x, optional< T > const &y)
 
template<typename T >
bool nonstd::optional_lite::operator!= (optional< T > const &x, nullopt_t) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator!= (nullopt_t, optional< T > const &x) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator!= (optional< T > const &x, const T &v)
 
template<typename T >
bool nonstd::optional_lite::operator!= (T const &v, optional< T > const &x)
 
template<typename T >
bool nonstd::optional_lite::operator< (optional< T > const &x, optional< T > const &y)
 
template<typename T >
bool nonstd::optional_lite::operator< (optional< T > const &, nullopt_t) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator< (nullopt_t, optional< T > const &x) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator< (optional< T > const &x, const T &v)
 
template<typename T >
bool nonstd::optional_lite::operator< (T const &v, optional< T > const &x)
 
template<typename T >
bool nonstd::optional_lite::operator<= (optional< T > const &x, optional< T > const &y)
 
template<typename T >
bool nonstd::optional_lite::operator<= (optional< T > const &x, nullopt_t) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator<= (nullopt_t, optional< T > const &) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator<= (optional< T > const &x, const T &v)
 
template<typename T >
bool nonstd::optional_lite::operator<= (T const &v, optional< T > const &x)
 
template<typename T >
bool nonstd::optional_lite::operator== (optional< T > const &x, optional< T > const &y)
 
template<typename T >
bool nonstd::optional_lite::operator== (optional< T > const &x, nullopt_t) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator== (nullopt_t, optional< T > const &x) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator== (optional< T > const &x, const T &v)
 
template<typename T >
bool nonstd::optional_lite::operator== (T const &v, optional< T > const &x)
 
template<typename T >
bool nonstd::optional_lite::operator> (optional< T > const &x, optional< T > const &y)
 
template<typename T >
bool nonstd::optional_lite::operator> (optional< T > const &x, nullopt_t) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator> (nullopt_t, optional< T > const &) optional_noexcept
 
template<typename T >
bool nonstd::optional_lite::operator> (optional< T > const &x, const T &v)
 
template<typename T >
bool nonstd::optional_lite::operator> (T const &v, optional< T > const &x)
 
template<typename T >
bool nonstd::optional_lite::operator>= (optional< T > const &x, optional< T > const &y)
 
template<typename T >
bool nonstd::optional_lite::operator>= (optional< T > const &, nullopt_t)
 
template<typename T >
bool nonstd::optional_lite::operator>= (nullopt_t, optional< T > const &x)
 
template<typename T >
bool nonstd::optional_lite::operator>= (optional< T > const &x, const T &v)
 
template<typename T >
bool nonstd::optional_lite::operator>= (T const &v, optional< T > const &x)
 
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 (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 >
void nonstd::optional_lite::swap (optional< T > &x, optional< T > &y)
 

Variables

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

Macro Definition Documentation

#define nonstd_lite_HAVE_IN_PLACE_TYPES   1

Definition at line 223 of file optional.hpp.

#define nonstd_lite_in_place_index_t (   T)    nonstd::in_place_t(&)( nonstd::detail::in_place_index_tag<I> )

Definition at line 221 of file optional.hpp.

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

Definition at line 220 of file optional.hpp.

#define NONSTD_OPTIONAL_LITE_HPP

Definition at line 19 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 334 of file optional.hpp.

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

Definition at line 379 of file optional.hpp.

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

Definition at line 47 of file optional.hpp.

#define optional_COMPILER_GNUC_VERSION   0

Definition at line 58 of file optional.hpp.

#define optional_COMPILER_MSVC_VERSION   0

Definition at line 52 of file optional.hpp.

#define optional_CONFIG_ALIGN_AS_FALLBACK   double

Definition at line 38 of file optional.hpp.

#define optional_CONFIG_MAX_ALIGN_HACK   0

Definition at line 30 of file optional.hpp.

#define optional_constexpr   /*constexpr*/

Definition at line 145 of file optional.hpp.

#define optional_constexpr14   /*constexpr*/

Definition at line 151 of file optional.hpp.

#define optional_CPP11_OR_GREATER   ( __cplusplus >= 201103L )

Definition at line 43 of file optional.hpp.

#define optional_CPP14_OR_GREATER   ( __cplusplus >= 201402L )

Definition at line 44 of file optional.hpp.

#define optional_lite_VERSION   "2.0.0"

Definition at line 25 of file optional.hpp.

#define optional_noexcept   /*noexcept*/

Definition at line 157 of file optional.hpp.

#define optional_nullptr   NULL

Definition at line 163 of file optional.hpp.

#define optional_ref_qual   /*&*/

Definition at line 170 of file optional.hpp.

#define optional_refref_qual   /*&&*/

Definition at line 171 of file optional.hpp.



plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:49