Skip to content

Commit 423dcd2

Browse files
committed
resolve todos
Signed-off-by: Nitish Bharambe <[email protected]>
1 parent 317c8ed commit 423dcd2

File tree

3 files changed

+19
-27
lines changed

3 files changed

+19
-27
lines changed

power_grid_model_c/power_grid_model/include/power_grid_model/container_fwd.hpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,17 @@
1111
namespace power_grid_model {
1212

1313
template <typename ContainerType, typename ComponentType>
14-
concept component_container_c = requires(ContainerType const& c, ID id) {
14+
concept component_container_c = requires(ContainerType const& c, ID id, Idx2D idx2d) {
1515
{ c.template citer<ComponentType>().begin() } -> std::forward_iterator;
1616
{ c.template citer<ComponentType>().end() } -> std::forward_iterator;
1717
{ *(c.template citer<ComponentType>().begin()) } -> std::same_as<ComponentType const&>;
1818
{ *(c.template citer<ComponentType>().end()) } -> std::same_as<ComponentType const&>;
1919
{ c.template get_item<ComponentType>(id) } -> std::convertible_to<ComponentType const&>;
20+
{ c.template size<ComponentType>() } -> std::same_as<Idx>;
21+
{ c.template get_seq<ComponentType>(idx2d) } -> std::same_as<Idx>;
2022
};
2123

22-
// TODO merge with component_container_c
23-
template <typename ContainerType, typename ComponentType>
24-
concept extended_component_container_c =
25-
component_container_c<ContainerType, ComponentType> && requires(ContainerType const& c, Idx2D const& idx2d) {
26-
{ c.template size<ComponentType>() } -> std::same_as<Idx>;
27-
{ c.template get_seq<ComponentType>(idx2d) } -> std::same_as<Idx>;
28-
};
29-
3024
template <typename ContainerType, typename... ComponentType>
31-
concept multi_extended_component_container_c = (extended_component_container_c<ContainerType, ComponentType> && ...);
25+
concept multi_component_container_c = (component_container_c<ContainerType, ComponentType> && ...);
3226

3327
} // namespace power_grid_model

power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ namespace power_grid_model::main_core {
1212
// TODO Reconfirm if there is duplication with state_queries and if we can remove either one of them
1313

1414
template <typename ComponentType, class ComponentContainer>
15-
requires extended_component_container_c<ComponentContainer, ComponentType>
15+
requires component_container_c<ComponentContainer, ComponentType>
1616
constexpr auto get_component_size(ComponentContainer const& components) {
1717
return components.template size<ComponentType>();
1818
}
1919

2020
template <typename ComponentType, class ComponentContainer>
21-
requires extended_component_container_c<ComponentContainer, ComponentType>
21+
requires component_container_c<ComponentContainer, ComponentType>
2222
inline Idx get_component_sequence_idx(ComponentContainer const& components, auto const& id_or_index) {
2323
return components.template get_seq<ComponentType>(id_or_index);
2424
}

power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ constexpr void register_topology_components(ComponentContainer const& components
3333
}
3434

3535
template <std::same_as<Branch> Component, class ComponentContainer>
36-
requires multi_extended_component_container_c<ComponentContainer, Component, Node>
36+
requires multi_component_container_c<ComponentContainer, Component, Node>
3737
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
3838
detail::apply_registration<Component>(components, comp_topo.branch_node_idx, [&components](Branch const& branch) {
3939
return BranchIdx{get_component_sequence_idx<Node>(components, branch.from_node()),
@@ -42,7 +42,7 @@ constexpr void register_topology_components(ComponentContainer const& components
4242
}
4343

4444
template <std::same_as<Branch3> Component, class ComponentContainer>
45-
requires multi_extended_component_container_c<ComponentContainer, Component, Node>
45+
requires multi_component_container_c<ComponentContainer, Component, Node>
4646
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
4747
detail::apply_registration<Component>(
4848
components, comp_topo.branch3_node_idx, [&components](Branch3 const& branch3) {
@@ -53,23 +53,23 @@ constexpr void register_topology_components(ComponentContainer const& components
5353
}
5454

5555
template <std::same_as<Source> Component, class ComponentContainer>
56-
requires multi_extended_component_container_c<ComponentContainer, Component, Node>
56+
requires multi_component_container_c<ComponentContainer, Component, Node>
5757
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
5858
detail::apply_registration<Component>(components, comp_topo.source_node_idx, [&components](Source const& source) {
5959
return get_component_sequence_idx<Node>(components, source.node());
6060
});
6161
}
6262

6363
template <std::same_as<Shunt> Component, class ComponentContainer>
64-
requires multi_extended_component_container_c<ComponentContainer, Component, Node>
64+
requires multi_component_container_c<ComponentContainer, Component, Node>
6565
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
6666
detail::apply_registration<Component>(components, comp_topo.shunt_node_idx, [&components](Shunt const& shunt) {
6767
return get_component_sequence_idx<Node>(components, shunt.node());
6868
});
6969
}
7070

7171
template <std::same_as<GenericLoadGen> Component, class ComponentContainer>
72-
requires multi_extended_component_container_c<ComponentContainer, Component, Node>
72+
requires multi_component_container_c<ComponentContainer, Component, Node>
7373
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
7474
detail::apply_registration<Component>(components, comp_topo.load_gen_node_idx,
7575
[&components](GenericLoadGen const& load_gen) {
@@ -81,7 +81,7 @@ constexpr void register_topology_components(ComponentContainer const& components
8181
}
8282

8383
template <std::same_as<GenericVoltageSensor> Component, class ComponentContainer>
84-
requires multi_extended_component_container_c<ComponentContainer, Component, Node>
84+
requires multi_component_container_c<ComponentContainer, Component, Node>
8585
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
8686
detail::apply_registration<Component>(
8787
components, comp_topo.voltage_sensor_node_idx, [&components](GenericVoltageSensor const& voltage_sensor) {
@@ -90,8 +90,8 @@ constexpr void register_topology_components(ComponentContainer const& components
9090
}
9191

9292
template <std::same_as<GenericPowerSensor> Component, class ComponentContainer>
93-
requires multi_extended_component_container_c<ComponentContainer, Component, Branch, Source, Shunt, GenericLoadGen,
94-
Branch3, Node>
93+
requires multi_component_container_c<ComponentContainer, Component, Branch, Source, Shunt, GenericLoadGen, Branch3,
94+
Node>
9595
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
9696
detail::apply_registration<Component>(
9797
components, comp_topo.power_sensor_object_idx, [&components](GenericPowerSensor const& power_sensor) {
@@ -132,7 +132,7 @@ constexpr void register_topology_components(ComponentContainer const& components
132132
}
133133

134134
template <std::same_as<GenericCurrentSensor> Component, class ComponentContainer>
135-
requires multi_extended_component_container_c<ComponentContainer, Component, Branch, Branch3>
135+
requires multi_component_container_c<ComponentContainer, Component, Branch, Branch3>
136136
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
137137
detail::apply_registration<Component>(
138138
components, comp_topo.current_sensor_object_idx, [&components](GenericCurrentSensor const& current_sensor) {
@@ -163,7 +163,7 @@ constexpr void register_topology_components(ComponentContainer const& components
163163
}
164164

165165
template <std::derived_from<Regulator> Component, class ComponentContainer>
166-
requires multi_extended_component_container_c<ComponentContainer, Component, Branch, Branch3>
166+
requires multi_component_container_c<ComponentContainer, Component, Branch, Branch3>
167167
constexpr void register_topology_components(ComponentContainer const& components, ComponentTopology& comp_topo) {
168168
detail::apply_registration<Component>(
169169
components, comp_topo.regulated_object_idx, [&components](Regulator const& regulator) {
@@ -181,7 +181,6 @@ constexpr void register_topology_components(ComponentContainer const& components
181181
[](Regulator const& regulator) { return regulator.regulated_object_type(); });
182182
}
183183

184-
// TODO Rename register_topo_components if this is combined
185184
template <std::same_as<Branch> Component, class ComponentContainer>
186185
requires component_container_c<ComponentContainer, Component>
187186
constexpr void register_connections_components(ComponentContainer components, ComponentConnections& comp_conn) {
@@ -210,9 +209,8 @@ constexpr void register_connections_components(ComponentContainer components, Co
210209
}
211210

212211
template <typename ComponentContainer>
213-
requires multi_extended_component_container_c<ComponentContainer, Branch, Branch3, Source, Shunt, GenericLoadGen,
214-
GenericVoltageSensor, GenericPowerSensor, GenericCurrentSensor,
215-
Regulator>
212+
requires multi_component_container_c<ComponentContainer, Branch, Branch3, Source, Shunt, GenericLoadGen,
213+
GenericVoltageSensor, GenericPowerSensor, GenericCurrentSensor, Regulator>
216214
ComponentTopology construct_topology(ComponentContainer const& components) {
217215
ComponentTopology comp_topo;
218216
register_topology_components<Node>(components, comp_topo);
@@ -229,7 +227,7 @@ ComponentTopology construct_topology(ComponentContainer const& components) {
229227
}
230228

231229
template <typename ComponentContainer>
232-
requires multi_extended_component_container_c<ComponentContainer, Branch, Branch3, Source>
230+
requires multi_component_container_c<ComponentContainer, Branch, Branch3, Source>
233231
ComponentConnections construct_components_connections(ComponentContainer const& components) {
234232
ComponentConnections comp_conn;
235233
register_connections_components<Branch>(components, comp_conn);

0 commit comments

Comments
 (0)