73 template <
class Map,
class Node>
74 static inline bool apply(
Pred p,
Map const& m, Node
const& n)
76 switch (m.reflectivenessPropagationCriteria()) {
77 case PropagationCriteria::MIN:
78 if constexpr (PredicateCompare::EQUAL == PC) {
79 return m.reflectiveness(n.index()) <= p.reflectiveness;
80 }
else if constexpr (PredicateCompare::NOT_EQUAL == PC) {
82 }
else if constexpr (PredicateCompare::LESS_EQUAL == PC) {
83 return m.reflectiveness(n.index()) <= p.reflectiveness;
84 }
else if constexpr (PredicateCompare::GREATER_EQUAL == PC) {
86 }
else if constexpr (PredicateCompare::LESS == PC) {
87 return m.reflectiveness(n.index()) < p.reflectiveness;
88 }
else if constexpr (PredicateCompare::GREATER == PC) {
91 case PropagationCriteria::MAX:
92 if constexpr (PredicateCompare::EQUAL == PC) {
93 return m.reflectiveness(n.index()) >= p.reflectiveness;
94 }
else if constexpr (PredicateCompare::NOT_EQUAL == PC) {
96 }
else if constexpr (PredicateCompare::LESS_EQUAL == PC) {
98 }
else if constexpr (PredicateCompare::GREATER_EQUAL == PC) {
99 return m.reflectiveness(n.index()) >= p.reflectiveness;
100 }
else if constexpr (PredicateCompare::LESS == PC) {
102 }
else if constexpr (PredicateCompare::GREATER == PC) {
103 return m.reflectiveness(n.index()) > p.reflectiveness;
105 case PropagationCriteria::MEAN:
return true;
106 case PropagationCriteria::NONE:
return true;
115 template <
class Map,
class Node>
116 static inline bool apply(
Pred const& p,
Map const& m, Node n)
118 if constexpr (PredicateCompare::EQUAL == PC) {
119 return m.reflectiveness(n.index()) == p.reflectiveness;
120 }
else if constexpr (PredicateCompare::NOT_EQUAL == PC) {
121 return m.reflectiveness(n.index()) != p.reflectiveness;
122 }
else if constexpr (PredicateCompare::LESS_EQUAL == PC) {
123 return m.reflectiveness(n.index()) <= p.reflectiveness;
124 }
else if constexpr (PredicateCompare::GREATER_EQUAL == PC) {
125 return m.reflectiveness(n.index()) >= p.reflectiveness;
126 }
else if constexpr (PredicateCompare::LESS == PC) {
127 return m.reflectiveness(n.index()) < p.reflectiveness;
128 }
else if constexpr (PredicateCompare::GREATER == PC) {
129 return m.reflectiveness(n.index()) > p.reflectiveness;