Template Class compact_optional

Class Documentation

template<class T, std::underlying_type_t<T> invalid = std::numeric_limits<std::underlying_type_t<T>>::max()>
class compact_optional

Public Functions

compact_optional() = default
inline compact_optional(T t)
inline constexpr T operator*() const
inline constexpr bool has_value() const noexcept
inline explicit constexpr operator bool() const noexcept
inline constexpr T value() const
template<class U>
inline constexpr T value_or(U &&u)
inline void reset() noexcept
compact_optional(const compact_optional &other) = default
compact_optional(compact_optional &&other) = default
compact_optional &operator=(const compact_optional &other) = default
compact_optional &operator=(compact_optional &&other) = default