@@ -75,16 +75,16 @@ struct graph_builder {
7575 for_each (
7676 [&]<typename Lhs, typename Rhs, typename Cond>(
7777 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);
8080
8181 using lhs_t = std::remove_cvref_t <decltype (lhs)>;
8282 using rhs_t = std::remove_cvref_t <decltype (rhs)>;
8383 using lhs_cond_t = std::remove_cvref_t <decltype (lhs.condition )>;
8484 using rhs_cond_t = std::remove_cvref_t <decltype (rhs.condition )>;
8585
8686 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 (
8888 lhs_t ::condition.predicates , rhs_t ::condition.predicates ));
8989
9090 stdx::for_each (
@@ -95,11 +95,9 @@ struct graph_builder {
9595 " weaker than those on {}[{}] or {}[{}]. "
9696 " Specifically, the sequence is missing the "
9797 " 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);
103101 },
104102 node_ps);
105103
@@ -174,6 +172,7 @@ struct graph_builder {
174172 return x + " , " _ctst + y;
175173 });
176174
175+ // NOLINTNEXTLINE (readability-function-cognitive-complexity)
177176 constexpr static void check_for_missing_nodes (auto nodes,
178177 auto mentioned_nodes) {
179178 constexpr auto get_name = []<typename N>(N) ->
@@ -187,21 +186,24 @@ struct graph_builder {
187186 using missing_nodes_t =
188187 boost::mp11::mp_set_difference<mentioned_node_names_t ,
189188 node_names_t >;
189+ constexpr auto missing_nodes = error_steps<missing_nodes_t >;
190190 STATIC_ASSERT (
191191 (std::is_same_v<node_names_t , mentioned_node_names_t >),
192192 " 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);
195196
196197 constexpr auto duplicates = stdx::transform (
197198 [](auto e) { return stdx::get<0 >(e); },
198199 stdx::filter<detail::is_duplicated>(stdx::gather (node_names)));
199200 using duplicate_nodes_t = decltype (duplicates);
201+ constexpr auto dup_nodes = error_steps<duplicate_nodes_t >;
200202 STATIC_ASSERT (
201203 stdx::tuple_size_v<duplicate_nodes_t > == 0 ,
202204 " One or more steps in the flow ({}) are explicitly added more than "
203205 " once using the * operator. The duplicate steps are: {}." ,
204- CX_VALUE ( Name), CX_VALUE (error_steps< duplicate_nodes_t >) );
206+ Name, dup_nodes );
205207 }
206208
207209 template <typename Graph>
0 commit comments