FastLED 3.9.15
Loading...
Searching...
No Matches
fl::not_null< T > Class Template Reference

Detailed Description

template<typename T>
class fl::not_null< T >

Definition at line 150 of file not_null.h.

#include <not_null.h>

+ Inheritance diagram for fl::not_null< T >:

Public Member Functions

 not_null () FL_NOEXCEPT=delete
 
constexpr not_null (const not_null &other) FL_NOEXCEPT=default
 
template<typename U>
 not_null (const not_null< U > &other) FL_NOEXCEPT
 
 not_null (fl::nullptr_t) FL_NOEXCEPT=delete
 
constexpr not_null (not_null &&other) FL_NOEXCEPT=default
 
 not_null (T ptr) FL_NOEXCEPT
 
constexpr const T & get () const FL_NOEXCEPT
 
constexpr operator const T & () const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator!= (const not_null< U > &other) const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator!= (U other) const FL_NOEXCEPT
 
constexpr auto operator* () const FL_NOEXCEPT -> decltype(*fl::declval< T >())
 
constexproperator-> () const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator< (const not_null< U > &other) const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator<= (const not_null< U > &other) const FL_NOEXCEPT
 
not_nulloperator= (const not_null &other) FL_NOEXCEPT=default
 
not_nulloperator= (fl::nullptr_t) FL_NOEXCEPT=delete
 
not_nulloperator= (not_null &&other) FL_NOEXCEPT=default
 
not_nulloperator= (T ptr) FL_NOEXCEPT
 
template<typename U>
constexpr bool operator== (const not_null< U > &other) const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator== (U other) const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator> (const not_null< U > &other) const FL_NOEXCEPT
 
template<typename U>
constexpr bool operator>= (const not_null< U > &other) const FL_NOEXCEPT
 
template<typename U = T>
constexpr auto operator[] (fl::size_t index) const FL_NOEXCEPT -> decltype(fl::declval< U >()[index])
 

Private Member Functions

 FL_STATIC_ASSERT (!detail::is_reference< T >::value, "not_null<T>: T must not be a reference type")
 
 FL_STATIC_ASSERT (detail::is_comparable_to_nullptr< T >::value, "not_null<T>: T must be comparable to nullptr")
 

Private Attributes

mPtr
 

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