LeviLamina
|
Public Member Functions | |
constexpr | optional_ref (std::nullopt_t) noexcept |
constexpr | optional_ref (std::nullptr_t) noexcept |
template<class U > requires (std::is_convertible_v<U*, T*>) | |
constexpr | optional_ref (std::optional< U > &o) noexcept |
template<class U > requires (std::is_convertible_v<U*, T*>) | |
constexpr | optional_ref (U *p) noexcept |
template<class U > requires (std::is_convertible_v<U*, T*>) | |
constexpr | optional_ref (U &r) noexcept |
template<class U > requires (std::is_convertible_v<U*, T*>) | |
constexpr | optional_ref (U const &r) noexcept |
template<class U > requires (std::is_convertible_v<U*, T*>) | |
constexpr | optional_ref (const std::optional< U > &o) noexcept |
template<typename U > requires (std::is_convertible_v<U*, T*>) | |
constexpr | optional_ref (optional_ref< U > rhs) noexcept |
constexpr | optional_ref (optional_ref &&) noexcept=default |
LL_MAY_CONSTEXPR optional_ref & | operator= (optional_ref &&) noexcept=default |
constexpr | optional_ref (optional_ref const &) noexcept=default |
LL_MAY_CONSTEXPR optional_ref & | operator= (optional_ref const &) noexcept=default |
constexpr | operator bool () const noexcept |
constexpr bool | has_value () const noexcept |
constexpr T * | as_ptr () const noexcept |
constexpr T & | value () const |
constexpr T & | get () const |
constexpr T & | operator* () const noexcept |
constexpr T * | operator-> () const noexcept |
constexpr | operator T& () const |
constexpr | operator T* () const noexcept |
template<class U > | |
constexpr T & | value_or (U &right) const & |
template<class U > | |
constexpr T | value_or (U &&right) const && |
template<typename U = std::decay_t<T>> requires (std::is_constructible_v<U, T>) | |
constexpr std::optional< U > | copy_as_optional () const |
template<class... Types> | |
constexpr decltype(auto) | operator() (Types &&... args) const noexcept(noexcept(std::invoke(value(), static_cast< Types && >(args)...))) |
template<class Arg > | |
constexpr decltype(auto) | operator[] (Arg &&index) const |
constexpr decltype(auto) | end () const |
constexpr decltype(auto) | begin () const |
constexpr decltype(auto) | cend () const |
constexpr decltype(auto) | cbegin () const |
constexpr decltype(auto) | rend () const |
constexpr decltype(auto) | rbegin () const |
constexpr decltype(auto) | crend () const |
constexpr decltype(auto) | crbegin () const |
template<class Fn > | |
constexpr auto | and_then (Fn &&fn) const |
template<class Fn > | |
constexpr auto | transform (Fn &&fn) const |
template<std::invocable<> Fn> | |
constexpr auto | or_else (Fn &&fn) const -> std::invoke_result_t< Fn > |