|
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 |