C++11 Mapping for Optional Values
Slice optional data members and parameters are mapped to Ice::optional<T>
values.
The template Ice::optional
is a placeholder for the future C++17 std::optional
, and provides the same functions, with identical semantics. Please refer to std::optional
for a full description of this template class and its associated functions, types and objects:
C++
// When std::optional is available, Ice::optional and the associated functions, types and objects will be defined as follows: namespace Ice { template<class T> using optional = std::optional<T>; using std::operator==; using std::operator!=; using std::operator<; using std::operator<=; using std:operator>; using std::operator>=; using std::make_optional; using std::swap; using nullopt_t = std::nullopt_t; using std::nullopt; using bad_optional_access = std::bad_optional_access; using in_place_t = std::in_place_t; using std::in_place; }