@@ -75,16 +75,16 @@ struct graph_builder {
75
75
for_each (
76
76
[&]<typename Lhs, typename Rhs, typename Cond>(
77
77
dsl::edge<Lhs, Rhs, Cond> const &) {
78
- auto lhs = get<name_for<Lhs>>(named_nodes);
79
- auto rhs = get<name_for<Rhs>>(named_nodes);
78
+ auto const lhs = get<name_for<Lhs>>(named_nodes);
79
+ auto const rhs = get<name_for<Rhs>>(named_nodes);
80
80
81
81
using lhs_t = std::remove_cvref_t <decltype (lhs)>;
82
82
using rhs_t = std::remove_cvref_t <decltype (rhs)>;
83
83
using lhs_cond_t = std::remove_cvref_t <decltype (lhs.condition )>;
84
84
using rhs_cond_t = std::remove_cvref_t <decltype (rhs.condition )>;
85
85
86
86
using edge_ps_t = decltype (Cond::predicates);
87
- auto node_ps = stdx::to_unsorted_set (stdx::tuple_cat (
87
+ constexpr auto node_ps = stdx::to_unsorted_set (stdx::tuple_cat (
88
88
lhs_t ::condition.predicates , rhs_t ::condition.predicates ));
89
89
90
90
stdx::for_each (
@@ -95,11 +95,9 @@ struct graph_builder {
95
95
" weaker than those on {}[{}] or {}[{}]. "
96
96
" Specifically, the sequence is missing the "
97
97
" predicate: {}" ,
98
- CX_VALUE (lhs_t ::ct_name), CX_VALUE (rhs_t ::ct_name),
99
- CX_VALUE (Cond::ct_name), CX_VALUE (lhs_t ::ct_name),
100
- CX_VALUE (lhs_cond_t ::ct_name),
101
- CX_VALUE (rhs_t ::ct_name),
102
- CX_VALUE (rhs_cond_t ::ct_name), CX_VALUE (P));
98
+ lhs_t ::ct_name, rhs_t ::ct_name, Cond::ct_name,
99
+ lhs_t ::ct_name, lhs_cond_t ::ct_name, rhs_t ::ct_name,
100
+ rhs_cond_t ::ct_name, P);
103
101
},
104
102
node_ps);
105
103
@@ -174,6 +172,7 @@ struct graph_builder {
174
172
return x + " , " _ctst + y;
175
173
});
176
174
175
+ // NOLINTNEXTLINE (readability-function-cognitive-complexity)
177
176
constexpr static void check_for_missing_nodes (auto nodes,
178
177
auto mentioned_nodes) {
179
178
constexpr auto get_name = []<typename N>(N) ->
@@ -187,21 +186,24 @@ struct graph_builder {
187
186
using missing_nodes_t =
188
187
boost::mp11::mp_set_difference<mentioned_node_names_t ,
189
188
node_names_t >;
189
+ constexpr auto missing_nodes = error_steps<missing_nodes_t >;
190
190
STATIC_ASSERT (
191
191
(std::is_same_v<node_names_t , mentioned_node_names_t >),
192
192
" One or more steps are referenced in the flow ({}) but not "
193
- " explicitly added with the * operator. The missing steps are: {}." ,
194
- CX_VALUE (Name), CX_VALUE (error_steps<missing_nodes_t >));
193
+ " explicitly added with the * operator. The missing steps are: "
194
+ " {}." ,
195
+ Name, missing_nodes);
195
196
196
197
constexpr auto duplicates = stdx::transform (
197
198
[](auto e) { return stdx::get<0 >(e); },
198
199
stdx::filter<detail::is_duplicated>(stdx::gather (node_names)));
199
200
using duplicate_nodes_t = decltype (duplicates);
201
+ constexpr auto dup_nodes = error_steps<duplicate_nodes_t >;
200
202
STATIC_ASSERT (
201
203
stdx::tuple_size_v<duplicate_nodes_t > == 0 ,
202
204
" One or more steps in the flow ({}) are explicitly added more than "
203
205
" once using the * operator. The duplicate steps are: {}." ,
204
- CX_VALUE ( Name), CX_VALUE (error_steps< duplicate_nodes_t >) );
206
+ Name, dup_nodes );
205
207
}
206
208
207
209
template <typename Graph>
0 commit comments