|
FastLED 3.9.15
|
#include <variant.h>
Inheritance diagram for fl::Variant< Types >: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=().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 229 of file variant.h.
Referenced by fl::Variant< fl::span< CRGB >, fl::vector< CRGB, fl::allocator_psram< CRGB > > >::operator=().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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=().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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=().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
inline |
Definition at line 154 of file variant.h.
Referenced by fl::Gradient::Gradient().
Here is the caller graph for this function:
|
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 |