12template <
typename T1,
typename T2>
struct pair {
30 template <
typename U1,
typename U2>
34 template <
typename U1,
typename U2>
38 template <
typename U1,
typename U2>
58template <
typename T1,
typename T2,
typename U1,
typename U2>
60 return lhs.first == rhs.first && lhs.second == rhs.second;
63template <
typename T1,
typename T2,
typename U1,
typename U2>
68template <
typename T1,
typename T2,
typename U1,
typename U2>
70 return lhs.first < rhs.first || (!(rhs.first < lhs.first) && lhs.second < rhs.second);
73template <
typename T1,
typename T2,
typename U1,
typename U2>
78template <
typename T1,
typename T2,
typename U1,
typename U2>
83template <
typename T1,
typename T2,
typename U1,
typename U2>
89template <
typename T1,
typename T2>
94namespace adl_barrier {
96template <
typename T1,
typename T2>
104template <fl::size I,
typename T1,
typename T2>
107template <
typename T1,
typename T2>
112template <
typename T1,
typename T2>
118template <fl::size I,
typename T1,
typename T2>
128template <fl::size I,
typename T1,
typename T2>
138template <fl::size I,
typename T1,
typename T2>
149template <
typename T,
typename T1,
typename T2>
152 "Type T must be one of the pair's element types");
154 "Type T must be unique in the pair");
162template <
typename T,
typename T1,
typename T2>
165 "Type T must be one of the pair's element types");
167 "Type T must be unique in the pair");
175template <
typename T,
typename T1,
typename T2>
178 "Type T must be one of the pair's element types");
180 "Type T must be unique in the pair");
192template <
typename T1,
typename T2>
194 static constexpr fl::size
value = 2;
197template <fl::size I,
typename T>
200template <
typename T1,
typename T2>
205template <
typename T1,
typename T2>
210template <
typename T1,
typename T2>
Keeps fl's generic templates out of argument-dependent lookup (ADL).
pair< typename fl::decay< T1 >::type, typename fl::decay< T2 >::type > make_pair(T1 &&t, T2 &&u) FL_NO_EXCEPT
constexpr remove_reference< T >::type && move(T &&t) FL_NO_EXCEPT
constexpr T && forward(typename remove_reference< T >::type &t) FL_NO_EXCEPT
enable_if_t< is_same< T, U >::value > swap(T &a, U &b) FL_NO_EXCEPT
void swap(array< T, N > &lhs, array< T, N > &rhs) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
FASTLED_FORCE_INLINE bool operator==(const CRGB &lhs, const CRGB &rhs) FL_NO_EXCEPT
Check if two CRGB objects have the same color data.
FASTLED_FORCE_INLINE bool operator>(const CRGB &lhs, const CRGB &rhs) FL_NO_EXCEPT
Check if the sum of the color channels in one CRGB object is greater than another.
FASTLED_FORCE_INLINE bool operator<=(const CRGB &lhs, const CRGB &rhs) FL_NO_EXCEPT
Check if the sum of the color channels in one CRGB object is less than or equal to another.
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NO_EXCEPT
FASTLED_FORCE_INLINE bool operator!=(const CRGB &lhs, const CRGB &rhs) FL_NO_EXCEPT
Check if two CRGB objects do not have the same color data.
FASTLED_FORCE_INLINE bool operator>=(const CRGB &lhs, const CRGB &rhs) FL_NO_EXCEPT
Check if the sum of the color channels in one CRGB object is greater than or equal to another.
FASTLED_FORCE_INLINE bool operator<(const CRGB &lhs, const CRGB &rhs) FL_NO_EXCEPT
Check if the sum of the color channels in one CRGB object is less than another.
Base definition for an LED controller.
#define FL_STATIC_ASSERT(...)
#define FL_DISABLE_WARNING_PUSH
#define FL_DISABLE_WARNING_NULL_DEREFERENCE
#define FL_DISABLE_WARNING_POP
Portable compile-time assertion wrapper.
typename conditional< is_array< U >::value, typename remove_extent< U >::type *, typename conditional< is_function< U >::value, typename add_pointer< U >::type, typename remove_cv< U >::type >::type >::type type
pair(const pair &other) FL_NO_EXCEPT=default
pair & operator=(pair &&other) FL_NO_EXCEPT=default
pair(pair< U1, U2 > &&other) FL_NO_EXCEPT
pair(pair &&other) FL_NO_EXCEPT
void swap(pair &other) FL_NO_EXCEPT
pair(const pair< U1, U2 > &other) FL_NO_EXCEPT
pair & operator=(const pair &other)=default
FL_DISABLE_WARNING_POP pair(U1 &&u1, U2 &&u2) FL_NO_EXCEPT
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_NULL_DEREFERENCE pair(const T1 &k, const T2 &v) FL_NO_EXCEPT
static constexpr fl::size value