@@ -205,17 +205,6 @@ constexpr void register_connections_components(ComponentContainer const& compone
205205 [](Source const & source) { return source.status (); });
206206}
207207
208- template <typename Tuple, std::size_t ... Is>
209- void construct_topology_impl (auto const & components, ComponentTopology& comp_topo, std::index_sequence<Is...>) {
210- (register_topology_components<std::tuple_element_t <Is, Tuple>>(components, comp_topo), ...);
211- }
212-
213- template <typename Tuple, std::size_t ... Is>
214- void construct_components_connections_impl (auto const & components, ComponentConnections& comp_conn,
215- std::index_sequence<Is...>) {
216- (register_connections_components<std::tuple_element_t <Is, Tuple>>(components, comp_conn), ...);
217- }
218-
219208} // namespace detail
220209
221210template <typename MainModelType>
@@ -225,8 +214,10 @@ template <typename MainModelType>
225214ComponentTopology construct_topology (typename MainModelType::ComponentContainer const & components) {
226215 ComponentTopology comp_topo;
227216 using TopologyTypesTuple = typename MainModelType::TopologyTypesTuple;
228- detail::construct_topology_impl<TopologyTypesTuple>(
229- components, comp_topo, std::make_index_sequence<std::tuple_size_v<TopologyTypesTuple>>{});
217+ main_core::utils::run_functor_with_tuple_return_void<TopologyTypesTuple>(
218+ [&components, &comp_topo]<typename CompType>() {
219+ detail::register_topology_components<CompType>(components, comp_topo);
220+ });
230221 return comp_topo;
231222}
232223
@@ -235,8 +226,10 @@ template <typename MainModelType>
235226ComponentConnections construct_components_connections (typename MainModelType::ComponentContainer const & components) {
236227 ComponentConnections comp_conn;
237228 using TopologyConnectionTypesTuple = typename MainModelType::TopologyConnectionTypesTuple;
238- detail::construct_components_connections_impl<TopologyConnectionTypesTuple>(
239- components, comp_conn, std::make_index_sequence<std::tuple_size_v<TopologyConnectionTypesTuple>>{});
229+ main_core::utils::run_functor_with_tuple_return_void<TopologyConnectionTypesTuple>(
230+ [&components, &comp_conn]<typename CompType>() {
231+ detail::register_connections_components<CompType>(components, comp_conn);
232+ });
240233 return comp_conn;
241234}
242235
0 commit comments