Ice 3.7 C++11 API Reference
Namespaces | Macros | Typedefs | Variables
Optional.h File Reference
#include <utility>
#include <type_traits>
#include <initializer_list>
#include <cassert>
#include <functional>
#include <string>
#include <stdexcept>
Include dependency graph for Optional.h:

Go to the source code of this file.

Namespaces

 Ice
 
 IceUtil
 

Macros

#define OPTIONAL_CONSTEXPR_INIT_LIST
 
#define OPTIONAL_HAS_CONSTEXPR_INIT_LIST   0
 
#define OPTIONAL_HAS_MOVE_ACCESSORS   0
 
#define OPTIONAL_HAS_THIS_RVALUE_REFS   0
 
#define OPTIONAL_MUTABLE_CONSTEXPR   constexpr
 
#define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR)   ((CHECK) ? (EXPR) : ([]{assert(false && #CHECK);}(), (EXPR)))
 
#define TR2_OPTIONAL_REQUIRES(...)   typename enable_if<__VA_ARGS__::value, bool>::type = false
 

Typedefs

using Ice::bad_optional_access = std::experimental::Ice::bad_optional_access
 Raised when accessing an optional that doesn't contain a value. More...
 
using Ice::in_place_t = std::experimental::Ice::in_place_t
 This type indicates that an optional value should be constructed in place. More...
 
using Ice::nullopt_t = std::experimental::Ice::nullopt_t
 This type indicates that no value is provided. More...
 
template<class T >
using Ice::optional = std::experimental::Ice::optional< T >
 Ice::optional is a placeholder for std::optional. More...
 
template<class T >
using IceUtil::Optional = std::experimental::Ice::optional< T >
 For compatibility with the Ice C++98 mapping, do not use in new code: More...
 

Variables

constexpr std::experimental::Ice::nullopt_t IceUtil::None {std::experimental::Ice::nullopt_t::init()}
 For compatibility with the Ice C++98 mapping, do not use in new code: More...
 

Macro Definition Documentation

◆ OPTIONAL_CONSTEXPR_INIT_LIST

#define OPTIONAL_CONSTEXPR_INIT_LIST

◆ OPTIONAL_HAS_CONSTEXPR_INIT_LIST

#define OPTIONAL_HAS_CONSTEXPR_INIT_LIST   0

◆ OPTIONAL_HAS_MOVE_ACCESSORS

#define OPTIONAL_HAS_MOVE_ACCESSORS   0

◆ OPTIONAL_HAS_THIS_RVALUE_REFS

#define OPTIONAL_HAS_THIS_RVALUE_REFS   0

◆ OPTIONAL_MUTABLE_CONSTEXPR

#define OPTIONAL_MUTABLE_CONSTEXPR   constexpr

◆ TR2_OPTIONAL_ASSERTED_EXPRESSION

#define TR2_OPTIONAL_ASSERTED_EXPRESSION (   CHECK,
  EXPR 
)    ((CHECK) ? (EXPR) : ([]{assert(false && #CHECK);}(), (EXPR)))

◆ TR2_OPTIONAL_REQUIRES

#define TR2_OPTIONAL_REQUIRES (   ...)    typename enable_if<__VA_ARGS__::value, bool>::type = false