11template<
typename... Ts>
struct tuple;
18template<
typename Head,
typename... Tail>
30 template<
typename H = Head,
typename... T,
40template<
typename... Ts>
43 enum :
size_t {
value =
sizeof...(Ts) };
51template<
size_t I,
typename Tuple>
54template<
typename Head,
typename... Tail>
59template<
size_t I,
typename Head,
typename... Tail>
64template<
size_t I,
typename Head,
typename... Tail>
70template<
size_t I,
typename Head,
typename... Tail>
71typename enable_if<I != 0,
typename tuple_element<I, tuple<Head, Tail...>>::type&>::type
73 return get<I-1>(
t.tail);
77template<
size_t I,
typename Head,
typename... Tail>
78typename enable_if<I == 0, const Head&>::type
83template<
size_t I,
typename Head,
typename... Tail>
84typename enable_if<I != 0,
const typename tuple_element<I, tuple<Head, Tail...>>::type&>::type
86 return get<I-1>(
t.tail);
90template<
size_t I,
typename Head,
typename... Tail>
91typename enable_if<I == 0, Head&&>::type
96template<
size_t I,
typename Head,
typename... Tail>
97typename enable_if<I != 0,
typename tuple_element<I, tuple<Head, Tail...>>::type&&>::type
102namespace adl_barrier {
104template<
typename... Ts>
105tuple<typename fl::decay<Ts>::type...>
Keeps fl's generic templates out of argument-dependent lookup (ADL).
tuple< typename fl::decay< Ts >::type... > make_tuple(Ts &&... args) 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
u8 u8 fract8 blur_amount FL_NO_EXCEPT
pair_element< I, T1, T2 >::type & get(pair< T1, T2 > &p) FL_NO_EXCEPT
Base definition for an LED controller.
tuple(H &&h, T &&... t) FL_NO_EXCEPT
tuple(const Head &h, const Tail &... t) FL_NO_EXCEPT
constexpr value_type operator()() const FL_NO_EXCEPT