template<typename T>
class utils::NotNull< T >
Restricts a pointer or smart pointer to only hold non-null values.
Definition at line 21 of file not_null.hpp.
|
constexpr | NotNull (const T &u) |
|
constexpr | NotNull (T &&u) |
|
template<typename U, typename = std::enable_if_t<std::is_convertible_v<U, T>>> |
constexpr | NotNull (U &&u) |
|
template<typename U, typename = std::enable_if_t<std::is_convertible_v<U*, T>>> |
constexpr | NotNull (U &u) |
|
template<typename U, typename = std::enable_if_t<std::is_convertible_v<U, T>>> |
constexpr | NotNull (const NotNull< U > &other) |
|
template<typename U, typename = std::enable_if_t<std::is_convertible_v<U, T>>> |
constexpr | NotNull (NotNull< U > &&other) |
|
constexpr | NotNull (std::nullptr_t)=delete |
|
| NotNull (const NotNull &other) noexcept=default |
|
| NotNull (NotNull &&other) noexcept=default |
|
NotNull & | operator= (const NotNull &other) noexcept=default |
|
NotNull & | operator= (NotNull &&other) noexcept=default |
|
constexpr NotNull & | operator= (std::nullptr_t)=delete |
|
constexpr const T & | GetBase () const & |
|
constexpr T && | GetBase () && |
|
constexpr | operator const T & () const & |
|
constexpr | operator bool ()=delete |
|
constexpr decltype(auto) | operator-> () const & |
|
constexpr decltype(auto) | operator* () const & |
|
template<typename U> |
constexpr bool | operator== (const NotNull< U > &other) const & |
|
template<typename U> |
constexpr bool | operator!= (const NotNull< U > &other) const & |
|