@@ -25,18 +25,18 @@ class adjacency_list;
2525namespace specialized {
2626
2727template <traits::c_id_type IdType>
28- struct adjacency_list_item {
28+ struct incidence_item {
2929 using id_type = IdType;
3030
3131 id_type vertex_id;
3232 id_type edge_id;
3333
34- [[nodiscard]] bool operator ==(const adjacency_list_item &) const = default ;
34+ [[nodiscard]] bool operator ==(const incidence_item &) const = default ;
3535};
3636
3737namespace detail {
3838
39- template <traits::c_instantiation_of<adjacency_list_item > AdjListItem>
39+ template <traits::c_instantiation_of<incidence_item > AdjListItem>
4040[[nodiscard]] auto strict_find (traits::c_range_of<AdjListItem> auto & edge_list, const auto & edge) {
4141 const auto it = std::ranges::find (edge_list, edge.id (), &AdjListItem::edge_id);
4242 if (it == edge_list.end ())
@@ -58,7 +58,7 @@ struct directed_adjacency_list {
5858 using impl_type = AdjacencyList;
5959 using id_type = typename impl_type::id_type;
6060 using edge_type = typename impl_type::edge_type;
61- using item_type = adjacency_list_item <id_type>;
61+ using item_type = incidence_item <id_type>;
6262
6363 [[nodiscard]] static auto in_edges (const impl_type& self, id_type vertex_id) {
6464 std::vector<item_type> in_edges;
@@ -69,7 +69,7 @@ struct directed_adjacency_list {
6969 return item.vertex_id == tgt_id;
7070 })
7171 | std::views::transform ([src_id](const auto & item) {
72- return adjacency_list_item {src_id, item.edge_id };
72+ return incidence_item {src_id, item.edge_id };
7373 });
7474 in_edges.insert (in_edges.end (), in_edges_view.begin (), in_edges_view.end ());
7575 }
@@ -101,8 +101,8 @@ struct directed_adjacency_list {
101101 [[nodiscard]] static std::vector<size_type> in_degree_map (const impl_type& self) {
102102 std::vector<size_type> in_degree_map (self._list .size (), 0uz);
103103
104- for (const auto & adj_edges : self._list )
105- for (const auto & item : adj_edges )
104+ for (const auto & inc_edges : self._list )
105+ for (const auto & item : inc_edges )
106106 ++in_degree_map[to_idx (item.vertex_id )];
107107
108108 return in_degree_map;
@@ -112,7 +112,7 @@ struct directed_adjacency_list {
112112 const impl_type& self
113113 ) {
114114 return self._list
115- | std::views::transform ([](const auto & adj_edges ) { return adj_edges .size (); })
115+ | std::views::transform ([](const auto & inc_edges ) { return inc_edges .size (); })
116116 | std::ranges::to<std::vector<size_type>>();
117117 }
118118
@@ -138,19 +138,19 @@ struct directed_adjacency_list {
138138
139139 // remove all edges incident to the vertex
140140 for (auto idx = 0uz; idx < self._list .size (); ++idx) {
141- auto & adj_edges = self._list [idx];
142- if (idx == vertex_idx or adj_edges .empty ())
141+ auto & inc_edges = self._list [idx];
142+ if (idx == vertex_idx or inc_edges .empty ())
143143 continue ;
144144
145145 const auto removed_subrng =
146- std::ranges::remove_if (adj_edges , [vertex_id, &removed_edges](const auto & item) {
146+ std::ranges::remove_if (inc_edges , [vertex_id, &removed_edges](const auto & item) {
147147 if (item.vertex_id == vertex_id) {
148148 removed_edges.push_back (item.edge_id );
149149 return true ;
150150 }
151151 return false ;
152152 });
153- adj_edges .erase (removed_subrng.begin (), removed_subrng.end ());
153+ inc_edges .erase (removed_subrng.begin (), removed_subrng.end ());
154154 }
155155
156156 // remove the list of edges incident from the vertex entirely
@@ -170,16 +170,16 @@ struct directed_adjacency_list {
170170 id_type source_id,
171171 const traits::c_forward_range_of<id_type> auto & target_ids
172172 ) {
173- auto & adjacent_edges_source = self._list [to_idx (source_id)];
174- adjacent_edges_source .reserve (adjacent_edges_source .size () + target_ids.size ());
173+ auto & inc_edges_source = self._list [to_idx (source_id)];
174+ inc_edges_source .reserve (inc_edges_source .size () + target_ids.size ());
175175
176176 for (auto [edge_id, target_id] : std::views::zip (edge_ids, target_ids))
177- adjacent_edges_source .emplace_back (target_id, edge_id);
177+ inc_edges_source .emplace_back (target_id, edge_id);
178178 }
179179
180180 gl_attr_force_inline static void remove_edge (impl_type& self, const edge_type& edge) {
181- auto & adj_edges = self._list [to_idx (edge.source ())];
182- adj_edges .erase (detail::strict_find<item_type>(adj_edges , edge));
181+ auto & inc_edges = self._list [to_idx (edge.source ())];
182+ inc_edges .erase (detail::strict_find<item_type>(inc_edges , edge));
183183 }
184184};
185185
@@ -189,7 +189,7 @@ struct undirected_adjacency_list {
189189 using impl_type = AdjacencyList;
190190 using id_type = typename impl_type::id_type;
191191 using edge_type = typename impl_type::edge_type;
192- using item_type = adjacency_list_item <id_type>;
192+ using item_type = incidence_item <id_type>;
193193
194194 [[nodiscard]] gl_attr_force_inline static auto in_edges (
195195 const impl_type& self, id_type vertex_id
@@ -244,11 +244,11 @@ struct undirected_adjacency_list {
244244 if (item.vertex_id == vertex_id)
245245 continue ; // will be removed with the vertex's list
246246
247- auto & adj_edges = self._list [to_idx (item.vertex_id )];
247+ auto & inc_edges = self._list [to_idx (item.vertex_id )];
248248 const auto removed_subrng = std::ranges::remove_if (
249- adj_edges , [vertex_id](const auto & item) { return item.vertex_id == vertex_id; }
249+ inc_edges , [vertex_id](const auto & item) { return item.vertex_id == vertex_id; }
250250 );
251- adj_edges .erase (removed_subrng.begin (), removed_subrng.end ());
251+ inc_edges .erase (removed_subrng.begin (), removed_subrng.end ());
252252 }
253253
254254 // remove the list of edges incident from the vertex entirely
@@ -271,23 +271,23 @@ struct undirected_adjacency_list {
271271 id_type source_id,
272272 const traits::c_forward_range_of<id_type> auto & target_ids
273273 ) {
274- auto & adjacent_edges_source = self._list [to_idx (source_id)];
275- adjacent_edges_source .reserve (adjacent_edges_source .size () + target_ids.size ());
274+ auto & inc_edges_source = self._list [to_idx (source_id)];
275+ inc_edges_source .reserve (inc_edges_source .size () + target_ids.size ());
276276
277277 for (auto [edge_id, target_id] : std::views::zip (edge_ids, target_ids)) {
278- adjacent_edges_source .emplace_back (target_id, edge_id);
278+ inc_edges_source .emplace_back (target_id, edge_id);
279279 if (source_id != target_id)
280280 self._list [to_idx (target_id)].emplace_back (source_id, edge_id);
281281 }
282282 }
283283
284284 static void remove_edge (impl_type& self, const edge_type& edge) {
285- auto & adj_edges_first = self._list [to_idx (edge.source ())];
286- auto & adj_edges_second = self._list [to_idx (edge.target ())];
285+ auto & inc_edges_first = self._list [to_idx (edge.source ())];
286+ auto & inc_edges_second = self._list [to_idx (edge.target ())];
287287
288- adj_edges_first .erase (detail::strict_find<item_type>(adj_edges_first , edge));
288+ inc_edges_first .erase (detail::strict_find<item_type>(inc_edges_first , edge));
289289 if (not edge.is_loop ())
290- adj_edges_second .erase (detail::strict_find<item_type>(adj_edges_second , edge));
290+ inc_edges_second .erase (detail::strict_find<item_type>(inc_edges_second , edge));
291291 }
292292};
293293
0 commit comments