You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// | DirectionalTag | Specifies whether the graph is directed or undirected. | @ref gl::directed_t "directed_t" | [**c_graph_directional_tag**](gl_traits.md#gl-traits-c-graph-directional-tag) |
29
+
/// | VertexProperties | A type representing the properties associated with vertices in the graph. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_traits.md#gl-traits-c-properties) |
30
+
/// | EdgeProperties | A type representing the properties associated with edges in the graph. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_traits.md#gl-traits-c-properties) |
/// | IdType | The type used for vertex and edge identifiers. | @ref gl::default_id_type "default_id_type" | [**c_id_type**](gl_traits.md#gl-traits-c-id-type) |
33
+
///
34
+
/// ### See Also
35
+
/// - Available implementation tags:
36
+
/// - @ref gl::impl::list_t "impl::list_t" : A standard adjacency list implementation.
37
+
/// - @ref gl::impl::flat_list_t "impl::flat_list_t" : A flattened adjacency list implementation.
38
+
/// - @ref gl::impl::matrix_t "impl::matrix_t" : A standard adjacency matrix implementation.
@@ -79,39 +191,63 @@ using undirected_graph_traits =
79
191
80
192
namespacetraits {
81
193
194
+
/// @ingroup GL GL-Traits
195
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a list implementation.
196
+
/// @tparam TraitsType The type to evaluate against the concept.
82
197
template <typename TraitsType>
83
198
concept c_list_graph_traits =
84
199
c_instantiation_of<TraitsType, graph_traits>
85
200
and std::same_as<typename TraitsType::implementation_tag, impl::list_t>;
86
201
202
+
/// @ingroup GL GL-Traits
203
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a flattened adjacency list implementation.
204
+
/// @tparam TraitsType The type to evaluate against the concept.
87
205
template <typename TraitsType>
88
206
concept c_flat_list_graph_traits =
89
207
c_instantiation_of<TraitsType, graph_traits>
90
208
and std::same_as<typename TraitsType::implementation_tag, impl::flat_list_t>;
91
209
210
+
/// @ingroup GL GL-Traits
211
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with an adjacency list implementation (either standard or flattened).
212
+
/// @tparam TraitsType The type to evaluate against the concept.
92
213
template <typename TraitsType>
93
214
concept c_adjacency_list_graph_traits =
94
215
c_list_graph_traits<TraitsType> or c_flat_list_graph_traits<TraitsType>;
95
216
217
+
/// @ingroup GL GL-Traits
218
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a matrix implementation.
219
+
/// @tparam TraitsType The type to evaluate against the concept.
96
220
template <typename TraitsType>
97
221
concept c_matrix_graph_traits =
98
222
c_instantiation_of<TraitsType, graph_traits>
99
223
and std::same_as<typename TraitsType::implementation_tag, impl::matrix_t>;
100
224
225
+
/// @ingroup GL GL-Traits
226
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a flattened adjacency matrix implementation.
227
+
/// @tparam TraitsType The type to evaluate against the concept.
101
228
template <typename TraitsType>
102
229
concept c_flat_matrix_graph_traits =
103
230
c_instantiation_of<TraitsType, graph_traits>
104
231
and std::same_as<typename TraitsType::implementation_tag, impl::flat_matrix_t>;
105
232
233
+
/// @ingroup GL GL-Traits
234
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a matrix implementation (either standard or flattened).
235
+
/// @tparam TraitsType The type to evaluate against the concept.
106
236
template <typename TraitsType>
107
237
concept c_adjacency_matrix_graph_traits =
108
238
c_matrix_graph_traits<TraitsType> or c_flat_matrix_graph_traits<TraitsType>;
109
239
240
+
/// @ingroup GL GL-Traits
241
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with a directed graph configuration.
242
+
/// @tparam TraitsType The type to evaluate against the concept.
110
243
template <typename TraitsType>
111
244
concept c_directed_graph_traits =
112
245
c_instantiation_of<TraitsType, graph_traits>
113
246
and std::same_as<typename TraitsType::directional_tag, directed_t>;
114
247
248
+
/// @ingroup GL GL-Traits
249
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::graph_traits "graph_traits" with an undirected graph configuration.
250
+
/// @tparam TraitsType The type to evaluate against the concept.
0 commit comments