6 static constexpr
bool combine(
bool a,
bool b) {
return a && b; }
10 static constexpr
bool combine(
bool a,
bool b) {
return a || b; }
13 template <
typename T,
typename... Ts>
18 template <
typename LogicFunc,
template <
typename>
class ValueFunc>
19 static constexpr
bool valueUnaryForEach() {
20 return LogicFunc::combine(
25 template <
typename LogicFunc,
26 template <
typename,
typename>
class ValueFunc,
28 static constexpr
bool valueBinaryForEach() {
29 return LogicFunc::combine(
30 ValueFunc<T, U>::value,
42 template <
typename LogicFunc,
43 template <
typename>
class ValueFunc,
45 static constexpr
bool valueUnaryForEach() {
46 return ValueFunc<T>::value;
48 template <
typename LogicFunc,
49 template <
typename,
typename>
class ValueFunc,
51 static constexpr
bool valueBinaryForEach() {
52 return ValueFunc<T, U>::value;
56 template <
typename T, T Needle, T Head, T... Tail>
58 static constexpr
bool value = (Needle == Head)
62 template <
typename T, T Needle, T Head>
64 static constexpr
bool value = (Needle == Head);
Definition: VariadicTools.hpp:9
Definition: VariadicTools.hpp:5
Definition: VariadicTools.hpp:57