96 value_(std::move(val))
123 return good_ ? value_ : deflt;
158 value_ = std::move(val);
A simplified version of std::optional (c++17), with much simpler construction semantics.
optionalData(T &&val)
Move construct from value.
void operator=(const T &val)
Copy assignment from value.
optionalData(const T &val)
Copy construct from value.
optionalData()
Default construct.
T & value() noexcept
Access to the value.
const T & operator*() const noexcept
Access the value.
bool has_value() const noexcept
True if it has a value.
optionalData< T > & operator=(optionalData< T > &&)=default
Move assignment.
optionalData< T > & operator=(const optionalData< T > &)=default
Copy assignment.
optionalData(optionalData< T > &&)=default
Move construct.
const T & value() const noexcept
Access to the value.
optionalData(const optionalData< T > &)=default
Copy construct.
T & operator*() noexcept
Access the value.
const T & value_or(const T &deflt) const
Return value or default.
void operator=(T &&val)
Move assignment from value.