11template <
typename T1,
typename T2>
struct pair {
29 template <
typename U1,
typename U2>
33 template <
typename U1,
typename U2>
37 template <
typename U1,
typename U2>
57template <
typename T1,
typename T2,
typename U1,
typename U2>
59 return lhs.first == rhs.first && lhs.second == rhs.second;
62template <
typename T1,
typename T2,
typename U1,
typename U2>
67template <
typename T1,
typename T2,
typename U1,
typename U2>
69 return lhs.first < rhs.first || (!(rhs.first < lhs.first) && lhs.second < rhs.second);
72template <
typename T1,
typename T2,
typename U1,
typename U2>
77template <
typename T1,
typename T2,
typename U1,
typename U2>
82template <
typename T1,
typename T2,
typename U1,
typename U2>
88template <
typename T1,
typename T2>
94template <
typename T1,
typename T2>
100template <fl::size I,
typename T1,
typename T2>
103template <
typename T1,
typename T2>
108template <
typename T1,
typename T2>
114template <fl::size I,
typename T1,
typename T2>
124template <fl::size I,
typename T1,
typename T2>
134template <fl::size I,
typename T1,
typename T2>
145template <
typename T,
typename T1,
typename T2>
148 "Type T must be one of the pair's element types");
150 "Type T must be unique in the pair");
158template <
typename T,
typename T1,
typename T2>
161 "Type T must be one of the pair's element types");
163 "Type T must be unique in the pair");
171template <
typename T,
typename T1,
typename T2>
174 "Type T must be one of the pair's element types");
176 "Type T must be unique in the pair");
188template <
typename T1,
typename T2>
190 static constexpr fl::size
value = 2;
193template <fl::size I,
typename T>
196template <
typename T1,
typename T2>
201template <
typename T1,
typename T2>
206template <
typename T1,
typename T2>
constexpr T && forward(typename remove_reference< T >::type &t) FL_NOEXCEPT
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
void swap(T &a, T &b) FL_NOEXCEPT
FASTLED_FORCE_INLINE bool operator!=(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if two CRGB objects do not have the same color data.
void swap(array< T, N > &lhs, array< T, N > &rhs) FL_NOEXCEPT
FASTLED_FORCE_INLINE bool operator<(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if the sum of the color channels in one CRGB object is less than another.
FASTLED_FORCE_INLINE bool operator==(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if two CRGB objects have the same color data.
FASTLED_FORCE_INLINE bool operator>(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
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_NOEXCEPT
Check if the sum of the color channels in one CRGB object is less than or equal to another.
pair< typename fl::decay< T1 >::type, typename fl::decay< T2 >::type > make_pair(T1 &&t, T2 &&u) FL_NOEXCEPT
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NOEXCEPT
FASTLED_FORCE_INLINE bool operator>=(const CRGB &lhs, const CRGB &rhs) FL_NOEXCEPT
Check if the sum of the color channels in one CRGB object is greater than or equal to 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
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_NULL_DEREFERENCE pair(const T1 &k, const T2 &v) FL_NOEXCEPT
void swap(pair &other) FL_NOEXCEPT
pair(const pair< U1, U2 > &other) FL_NOEXCEPT
pair(const pair &other) FL_NOEXCEPT=default
pair(pair &&other) FL_NOEXCEPT
pair & operator=(const pair &other)=default
FL_DISABLE_WARNING_POP pair(U1 &&u1, U2 &&u2) FL_NOEXCEPT
pair(pair< U1, U2 > &&other) FL_NOEXCEPT
pair & operator=(pair &&other) FL_NOEXCEPT=default
static constexpr fl::size value