@@ -80,8 +80,8 @@ class dag_vector_adapter {
8080 dag_vector_adapter (const std::vector<std::vector<index_t >> &out_neigbors_,
8181 const std::vector<std::vector<index_t >> &in_neigbors_) : vertices_(out_neigbors_.size()), out_neigbors(&out_neigbors_), in_neigbors(&in_neigbors_), num_edges_(0 ), num_vertex_types_(1 ) {
8282 for (vertex_idx i = 0 ; i < static_cast <vertex_idx>(out_neigbors_.size ()); ++i) {
83- vertices_. at (i) .id = i;
84- num_edges_ += out_neigbors_. at (i) .size ();
83+ vertices_[i] .id = i;
84+ num_edges_ += out_neigbors_[i] .size ();
8585 }
8686 }
8787
@@ -107,8 +107,8 @@ class dag_vector_adapter {
107107
108108 num_edges_ = 0 ;
109109 for (vertex_idx i = 0 ; i < static_cast <vertex_idx>(out_neigbors->size ()); ++i) {
110- vertices_. at (i) .id = i;
111- num_edges_ += out_neigbors-> at (i) .size ();
110+ vertices_[i] .id = i;
111+ num_edges_ += out_neigbors_[i] .size ();
112112 }
113113
114114 num_vertex_types_ = 1 ;
@@ -130,40 +130,40 @@ class dag_vector_adapter {
130130 [[nodiscard]] vertex_idx num_edges () const { return static_cast <vertex_idx>(num_edges_); }
131131
132132 /* *
133- * @brief Returns a view of the parents (in-neighbors) of a vertex.
133+ * @brief Returns a view of the parents (in-neighbors) of a vertex. Does not perform bounds checking.
134134 * @param v The vertex index.
135135 */
136- [[nodiscard]] auto parents (const vertex_idx v) const { return vector_cast_view<index_t , vertex_idx>(in_neigbors-> at (v) ); }
136+ [[nodiscard]] auto parents (const vertex_idx v) const { return vector_cast_view<index_t , vertex_idx>(in_neigbors_[v] ); }
137137
138138 /* *
139- * @brief Returns a view of the children (out-neighbors) of a vertex.
139+ * @brief Returns a view of the children (out-neighbors) of a vertex. Does not perform bounds checking.
140140 * @param v The vertex index.
141141 */
142- [[nodiscard]] auto children (const vertex_idx v) const { return vector_cast_view<index_t , vertex_idx>(out_neigbors-> at (v) ); }
142+ [[nodiscard]] auto children (const vertex_idx v) const { return vector_cast_view<index_t , vertex_idx>(out_neigbors_[v] ); }
143143
144144 /* *
145- * @brief Returns the in-degree of a vertex.
145+ * @brief Returns the in-degree of a vertex. Does not perform bounds checking.
146146 * @param v The vertex index.
147147 */
148- [[nodiscard]] vertex_idx in_degree (const vertex_idx v) const { return static_cast <vertex_idx>(in_neigbors-> at (v) .size ()); }
148+ [[nodiscard]] vertex_idx in_degree (const vertex_idx v) const { return static_cast <vertex_idx>(in_neigbors_[v] .size ()); }
149149
150150 /* *
151- * @brief Returns the out-degree of a vertex.
151+ * @brief Returns the out-degree of a vertex. Does not perform bounds checking.
152152 * @param v The vertex index.
153153 */
154- [[nodiscard]] vertex_idx out_degree (const vertex_idx v) const { return static_cast <vertex_idx>(out_neigbors-> at (v) .size ()); }
154+ [[nodiscard]] vertex_idx out_degree (const vertex_idx v) const { return static_cast <vertex_idx>(out_neigbors_[v] .size ()); }
155155
156- [[nodiscard]] vertex_work_weight_type vertex_work_weight (const vertex_idx v) const { return vertices_. at (v) .work_weight ; }
156+ [[nodiscard]] vertex_work_weight_type vertex_work_weight (const vertex_idx v) const { return vertices_[v] .work_weight ; }
157157
158- [[nodiscard]] vertex_comm_weight_type vertex_comm_weight (const vertex_idx v) const { return vertices_. at (v) .comm_weight ; }
158+ [[nodiscard]] vertex_comm_weight_type vertex_comm_weight (const vertex_idx v) const { return vertices_[v] .comm_weight ; }
159159
160- [[nodiscard]] vertex_mem_weight_type vertex_mem_weight (const vertex_idx v) const { return vertices_. at (v) .mem_weight ; }
160+ [[nodiscard]] vertex_mem_weight_type vertex_mem_weight (const vertex_idx v) const { return vertices_[v] .mem_weight ; }
161161
162- [[nodiscard]] vertex_type_type vertex_type (const vertex_idx v) const { return vertices_. at (v) .vertex_type ; }
162+ [[nodiscard]] vertex_type_type vertex_type (const vertex_idx v) const { return vertices_[v] .vertex_type ; }
163163
164164 [[nodiscard]] vertex_type_type num_vertex_types () const { return num_vertex_types_; }
165165
166- [[nodiscard]] const v_impl &get_vertex_impl (const vertex_idx v) const { return vertices_. at (v) ; }
166+ [[nodiscard]] const v_impl &get_vertex_impl (const vertex_idx v) const { return vertices_[v] ; }
167167
168168 void set_vertex_work_weight (const vertex_idx v, const vertex_work_weight_type work_weight) {
169169 vertices_.at (v).work_weight = work_weight;
@@ -192,7 +192,6 @@ class dag_vector_adapter {
192192 unsigned num_vertex_types_ = 0 ;
193193};
194194
195-
196195static_assert (is_directed_graph_edge_desc_v<dag_vector_adapter<cdag_vertex_impl_unsigned, int >>,
197196 " dag_vector_adapter must satisfy the directed_graph_edge_desc concept" );
198197
0 commit comments