103struct InnerCheck<Then<
ColorMap<Negated>, PredPost>> {
104 using Pred = Then<ColorMap<Negated>, PredPost>;
106 template <
class Map,
class Node>
107 static constexpr bool apply(Pred
const& p,
Map const& m, Node
const& n)
109 if constexpr (!Map::enableDisableUtilityPresent()) {
110 if constexpr (InnerCheck<ColorMap<Negated>>::apply(p.pre, m, n)) {
111 return InnerCheck<PredPost>::apply(p.post, m, n);
116 return !InnerCheck<ColorMap<Negated>>::apply(p.pre, m, n) ||
117 InnerCheck<PredPost>::apply(p.post, m, n);
146struct ValueCheck<Then<
ColorMap<Negated>, PredPost>> {
147 using Pred = Then<ColorMap<Negated>, PredPost>;
149 template <
class Map,
class Node>
150 static constexpr bool apply(Pred
const& p,
Map const& m, Node
const& n)
152 if constexpr (!Map::enableDisableUtilityPresent()) {
153 if constexpr (ValueCheck<ColorMap<Negated>>::apply(p.pre, m, n)) {
154 return ValueCheck<PredPost>::apply(p.post, m, n);
159 return !ValueCheck<ColorMap<Negated>>::apply(p.pre, m, n) ||
160 ValueCheck<PredPost>::apply(p.post, m, n);