FastLED 3.10.8
Loading...
Searching...
No Matches
fl::BusSupports< B, Chipset, Which > Struct Template Reference

Detailed Description

template<fl::Bus B, typename Chipset, fl::u8 Which = 0>
struct fl::BusSupports< B, Chipset, Which >

Capability check: does bus B accept chipset family Chipset?

Defaults to false_type. Each driver's bus_traits.h adds true_type specializations for the chipset families it supports, e.g.

template<> struct BusSupports<Bus::FLEX_IO, ClocklessChipset, 0> : fl::true_type {};
template<> struct BusSupports<Bus::SPI, SpiChipsetConfig> : fl::true_type {};
Bus
Portable public bus selector.
Definition bus.h:27
@ FLEX_IO
Definition bus.h:36
@ SPI
Definition bus.h:31
integral_constant< bool, true > true_type
Definition type_traits.h:28
Capability check: does bus B accept chipset family Chipset?
Definition bus_traits.h:47
Clockless chipset configuration (single data pin)
Definition config.h:33
SPI chipset configuration (data + clock pins)
Definition config.h:103

Channel<B, Chipset> and add<B>() use this in a static_assert to reject nonsense combinations (e.g. driving an SPI chipset over a clockless-only bus) at compile time rather than at runtime.

Definition at line 47 of file bus_traits.h.

#include <bus_traits.h>

+ Inheritance diagram for fl::BusSupports< B, Chipset, Which >:
+ Collaboration diagram for fl::BusSupports< B, Chipset, Which >:

Additional Inherited Members

- Public Types inherited from fl::integral_constant< bool, false >
enum  
 
using type
 
using value_type
 
- Public Member Functions inherited from fl::integral_constant< bool, false >
constexpr operator value_type () const FL_NO_EXCEPT
 
constexpr operator value_type () const FL_NO_EXCEPT
 
constexpr value_type operator() () const FL_NO_EXCEPT
 
constexpr value_type operator() () const FL_NO_EXCEPT
 

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