LeviLamina
|
Public Types | |
using | value_type = T |
Public Member Functions | |
template<class... Args> | |
constexpr | Optional (Args &&... args) |
Optional & | operator= (Optional &&) noexcept(std::is_nothrow_move_assignable_v< T >)=default |
Optional & | operator= (Optional const &) noexcept(std::is_nothrow_copy_assignable_v< T >)=default |
constexpr | Optional (Optional &&) noexcept(std::is_nothrow_move_constructible_v< T >)=default |
constexpr | Optional (Optional const &) noexcept(std::is_nothrow_copy_constructible_v< T >)=default |
constexpr | operator bool () const noexcept |
constexpr bool | has_value () const noexcept |
constexpr T const * | as_ptr () const noexcept |
constexpr T * | as_ptr () noexcept |
constexpr T const & | get () const & |
constexpr T & | get () & |
constexpr T const && | get () const && |
constexpr T && | get () && |
constexpr T const && | value () const && |
constexpr T && | value () && |
constexpr T const & | value () const & |
constexpr T & | value () & |
constexpr T const && | operator* () const && |
constexpr T && | operator* () && |
constexpr T const & | operator* () const & |
constexpr T & | operator* () & |
constexpr T const * | operator-> () const |
constexpr T * | operator-> () |
constexpr | operator T const && () const && |
constexpr | operator T&& () && |
constexpr | operator T const & () const & |
constexpr | operator T& () & |
constexpr | operator T const * () const |
constexpr | operator T* () |
template<class U > | |
constexpr T | value_or (U &&right) const & |
template<class U > | |
constexpr T && | value_or (U &&right) && |
template<class Fn > | |
constexpr auto | and_then (Fn &&fn) & |
template<class Fn > | |
constexpr auto | and_then (Fn &&fn) const & |
template<class Fn > | |
constexpr auto | and_then (Fn &&fn) && |
template<class Fn > | |
constexpr auto | and_then (Fn &&fn) const && |
template<class Fn > | |
constexpr auto | transform (Fn &&fn) & |
template<class Fn > | |
constexpr auto | transform (Fn &&fn) const & |
template<class Fn > | |
constexpr auto | transform (Fn &&fn) && |
template<class Fn > | |
constexpr auto | transform (Fn &&fn) const && |
template<std::invocable<> Fn> requires std::copy_constructible<T> | |
constexpr std::optional< T > | or_else (Fn &&fn) const & |
template<std::invocable<> Fn> requires std::move_constructible<T> | |
constexpr std::optional< T > | or_else (Fn &&fn) && |
constexpr T const && | value_or_default () const && |
constexpr T && | value_or_default () && |
constexpr T const & | value_or_default () const & |
constexpr T & | value_or_default () & |
template<typename U = std::decay_t<T>> requires (std::is_constructible_v<U, T>) | |
constexpr std::optional< U > | copy_as_optional () const |
Protected Attributes | |
friend | OptionalOffsetGetter< T > |
T | mValue |
bool | hasValue |