FastLED 3.9.15
|
#include <variant.h>
Classes | |
struct | type_to_tag_impl |
struct | type_to_tag_impl< T > |
struct | type_to_tag_impl< T, U, Rest... > |
Public Types | |
using | Tag = u8 |
Public Member Functions | |
Variant () noexcept | |
template<typename T, typename = typename fl::enable_if< contains_type<T, Types...>::value>::type> | |
Variant (const T &value) | |
Variant (const Variant &other) | |
template<typename T, typename = typename fl::enable_if< contains_type<T, Types...>::value>::type> | |
Variant (T &&value) | |
Variant (Variant &&other) noexcept | |
~Variant () | |
template<typename T, typename... Args> | |
fl::enable_if< contains_type< T, Types... >::value, T & >::type | emplace (Args &&...args) |
bool | empty () const noexcept |
template<typename T> | |
bool | equals (const T &other) const |
template<typename T> | |
T & | get () |
Get a reference to the stored value of type T. | |
template<typename T> | |
const T & | get () const |
Get a const reference to the stored value of type T. | |
template<typename T> | |
bool | is () const noexcept |
template<typename T, typename = typename fl::enable_if< contains_type<T, Types...>::value>::type> | |
Variant & | operator= (const T &value) |
Variant & | operator= (const Variant &other) |
template<typename T, typename = typename fl::enable_if< contains_type<T, Types...>::value>::type> | |
Variant & | operator= (T &&value) |
Variant & | operator= (Variant &&other) noexcept |
template<typename T> | |
T * | ptr () |
template<typename T> | |
const T * | ptr () const |
void | reset () noexcept |
Tag | tag () const noexcept |
template<typename Visitor> | |
void | visit (Visitor &visitor) |
template<typename Visitor> | |
void | visit (Visitor &visitor) const |
Static Public Attributes | |
static constexpr Tag | Empty = 0 |
Private Member Functions | |
template<typename T, typename... Args> | |
void | construct (Args &&...args) |
void | copy_construct_from (const Variant &other) |
void | destroy_current () noexcept |
void | move_construct_from (Variant &other) noexcept |
Static Private Member Functions | |
template<typename T> | |
static void | copy_fn (void *storage, const Variant &other) |
template<typename T> | |
static void | destroy_fn (void *storage) |
template<typename T> | |
static void | move_fn (void *storage, Variant &other) |
template<typename T> | |
static constexpr Tag | type_to_tag () |
template<typename T, typename Visitor> | |
static void | visit_fn (void *storage, Visitor &v) |
template<typename T, typename Visitor> | |
static void | visit_fn_const (const void *storage, Visitor &v) |
Private Attributes | |
char | _storage [max_size< Types... >::value] |
Tag | _tag |
using fl::Variant< Types >::Tag = u8 |
|
inlinenoexcept |
|
inline |
Definition at line 22 of file variant.h.
|
inline |
|
inline |
|
inlinenoexcept |
Definition at line 38 of file variant.h.
|
inline |
|
inlineprivate |
Definition at line 288 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::Variant(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::Variant(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::emplace(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=().
|
inlineprivate |
Definition at line 229 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=().
|
inlinestaticprivate |
|
inlineprivatenoexcept |
Definition at line 213 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::reset().
|
inlinestaticprivate |
|
inline |
|
inlinenoexcept |
Definition at line 104 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::Variant(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=(), fl::Optional< T >::operator==(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::reset().
|
inline |
Get a reference to the stored value of type T.
T | The type to retrieve |
Definition at line 129 of file variant.h.
|
inline |
Get a const reference to the stored value of type T.
T | The type to retrieve |
Definition at line 140 of file variant.h.
|
inlinenoexcept |
|
inlineprivatenoexcept |
Definition at line 245 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::Variant(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=().
|
inlinestaticprivate |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
Definition at line 110 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::emplace(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::get(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::get().
|
inline |
|
inlinenoexcept |
Definition at line 96 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::~Variant(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::emplace(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=(), fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=().
|
inlinenoexcept |
|
inlinestaticconstexprprivate |
Definition at line 267 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::construct(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::is().
|
inline |
Definition at line 154 of file variant.h.
Referenced by fl::Gradient::Gradient().
|
inline |
Definition at line 175 of file variant.h.
|
inlinestaticprivate |
|
inlinestaticprivate |
|
private |
Definition at line 294 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::copy_fn(), and fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::move_fn().
|
private |
Definition at line 296 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::copy_construct_from().
|
staticconstexpr |