LeviLamina
Loading...
Searching...
No Matches
ll::command::Optional< T > Class Template Reference

Public Types

using value_type = T
 

Public Member Functions

template<class... Args>
constexpr Optional (Args &&... args)
 
Optionaloperator= (Optional &&) noexcept(std::is_nothrow_move_assignable_v< T >)=default
 
Optionaloperator= (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 >
 
mValue
 
bool hasValue
 

The documentation for this class was generated from the following file: