template<class T>
class utils::OptionalRef< T >
Class that behaves as a nullable reference. Main difference from the pointer - value comparison of pointed values.
Initializes from reference to a T or from optional<T>.
Once the reference is constructed it can not be changed to point to different address.
Definition at line 27 of file optional_ref.hpp.
|
constexpr | OptionalRef (std::nullopt_t) noexcept |
|
constexpr | OptionalRef (const OptionalRef &) noexcept=default |
|
constexpr OptionalRef & | operator= (const OptionalRef &) noexcept=delete |
|
constexpr | OptionalRef (T &other) noexcept |
|
constexpr | OptionalRef (const T &&)=delete |
|
template<typename U> |
constexpr | OptionalRef (const std::optional< U > &other) noexcept |
|
template<typename U> |
constexpr | OptionalRef (std::optional< U > &other) noexcept |
|
template<typename U> |
constexpr | OptionalRef (const std::optional< U > &&) noexcept |
|
template<typename U> |
constexpr | OptionalRef (const boost::optional< U > &other) noexcept |
|
template<typename U> |
constexpr | OptionalRef (boost::optional< U > &other) noexcept |
|
template<typename U> |
constexpr | OptionalRef (const boost::optional< U > &&) noexcept |
|
constexpr bool | has_value () const noexcept |
|
constexpr | operator bool () const noexcept |
|
constexpr T * | operator-> () const |
|
constexpr T & | operator* () const |
|
constexpr T & | value () const |
|