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 hypergraph is undirected or bf_directed. | @ref hgl::undirected_t "undirected_t" | [**c_hypergraph_directional_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-directional-tag) |
29
+
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
30
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
31
+
/// | ImplTag | Specifies the internal container representation for incidence. | @ref hgl::impl::list_t "impl::list_t<>" | [**c_hypergraph_impl_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-impl-tag) |
/// | LayoutTag | Memory orientation for the list structures. | @ref hgl::impl::bidirectional_t "bidirectional_t" | [**c_hypergraph_layout_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-layout-tag) |
65
+
/// | DirectionalTag | Specifies whether the hypergraph is undirected or bf_directed. | @ref hgl::undirected_t "undirected_t" | [**c_hypergraph_directional_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-directional-tag) |
66
+
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
67
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
68
+
/// | IdType | The integer type used for element identifiers. | @ref gl::default_id_type "default_id_type" | [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) |
/// | LayoutTag | Memory orientation for the flat list structures. | @ref hgl::impl::bidirectional_t "bidirectional_t" | [**c_hypergraph_layout_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-layout-tag) |
88
+
/// | DirectionalTag | Specifies whether the hypergraph is undirected or bf_directed. | @ref hgl::undirected_t "undirected_t" | [**c_hypergraph_directional_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-directional-tag) |
89
+
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
90
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
91
+
/// | IdType | The integer type used for element identifiers. | @ref gl::default_id_type "default_id_type" | [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) |
/// | DirectionalTag | Specifies whether the hypergraph is undirected or bf_directed. | @ref hgl::undirected_t "undirected_t" | [**c_hypergraph_directional_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-directional-tag) |
112
+
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
113
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
114
+
/// | IdType | The integer type used for element identifiers. | @ref gl::default_id_type "default_id_type" | [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) |
/// | DirectionalTag | Specifies whether the hypergraph is undirected or bf_directed. | @ref hgl::undirected_t "undirected_t" | [**c_hypergraph_directional_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-directional-tag) |
135
+
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
136
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
137
+
/// | IdType | The integer type used for element identifiers. | @ref gl::default_id_type "default_id_type" | [**c_id_type**](gl_concepts.md#gl-traits-c-id-type) |
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
157
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
158
+
/// | ImplTag | Specifies the internal container representation for incidence. | @ref hgl::impl::list_t "impl::list_t<>" | [**c_hypergraph_impl_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-impl-tag) |
/// | VertexProperties | The type of properties attached to each vertex. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
173
+
/// | HyperedgeProperties | The type of properties attached to each hyperedge. | @ref gl::empty_properties "empty_properties" | [**c_properties**](gl_concepts.md#gl-traits-c-properties) |
174
+
/// | ImplTag | Specifies the internal container representation for incidence. | @ref hgl::impl::list_t "impl::list_t<>" | [**c_hypergraph_impl_tag**](hgl_concepts.md#hgl-traits-c-hypergraph-impl-tag) |
@@ -94,39 +181,63 @@ using bf_directed_hypergraph_traits =
94
181
95
182
namespacetraits {
96
183
184
+
/// @ingroup HGL-Traits
185
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with a standard incidence list implementation.
186
+
/// @tparam TraitsType The type to evaluate against the concept.
97
187
template <typename TraitsType>
98
188
concept c_list_hypergraph_traits =
99
189
c_instantiation_of<TraitsType, hypergraph_traits>
100
190
and c_hypergraph_list_impl<typename TraitsType::implementation_tag>;
101
191
192
+
/// @ingroup HGL-Traits
193
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with a flattened incidence list implementation.
194
+
/// @tparam TraitsType The type to evaluate against the concept.
102
195
template <typename TraitsType>
103
196
concept c_flat_list_hypergraph_traits =
104
197
c_instantiation_of<TraitsType, hypergraph_traits>
105
198
and c_hypergraph_flat_list_impl<typename TraitsType::implementation_tag>;
106
199
200
+
/// @ingroup HGL-Traits
201
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with an incidence list implementation (either standard or flattened).
202
+
/// @tparam TraitsType The type to evaluate against the concept.
107
203
template <typename TraitsType>
108
204
concept c_incidence_list_hypergraph_traits =
109
205
c_list_hypergraph_traits<TraitsType> or c_flat_list_hypergraph_traits<TraitsType>;
110
206
207
+
/// @ingroup HGL-Traits
208
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with a standard incidence matrix implementation.
209
+
/// @tparam TraitsType The type to evaluate against the concept.
111
210
template <typename TraitsType>
112
211
concept c_matrix_hypergraph_traits =
113
212
c_instantiation_of<TraitsType, hypergraph_traits>
114
213
and c_hypergraph_matrix_impl<typename TraitsType::implementation_tag>;
115
214
215
+
/// @ingroup HGL-Traits
216
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with a flattened incidence matrix implementation.
217
+
/// @tparam TraitsType The type to evaluate against the concept.
116
218
template <typename TraitsType>
117
219
concept c_flat_matrix_hypergraph_traits =
118
220
c_instantiation_of<TraitsType, hypergraph_traits>
119
221
and c_hypergraph_flat_matrix_impl<typename TraitsType::implementation_tag>;
120
222
223
+
/// @ingroup HGL-Traits
224
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with an incidence matrix implementation (either standard or flattened).
225
+
/// @tparam TraitsType The type to evaluate against the concept.
121
226
template <typename TraitsType>
122
227
concept c_incidence_matrix_hypergraph_traits =
123
228
c_matrix_hypergraph_traits<TraitsType> or c_flat_matrix_hypergraph_traits<TraitsType>;
124
229
230
+
/// @ingroup HGL-Traits
231
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with an undirected configuration.
232
+
/// @tparam TraitsType The type to evaluate against the concept.
125
233
template <typename TraitsType>
126
234
concept c_undirected_hypergraph_traits =
127
235
c_instantiation_of<TraitsType, hypergraph_traits>
128
236
and std::same_as<typename TraitsType::directional_tag, undirected_t>;
129
237
238
+
/// @ingroup HGL-Traits
239
+
/// @brief Validates if a type is an instantiation of @ref hgl::hypergraph_traits "hypergraph_traits" with a bf_directed configuration.
240
+
/// @tparam TraitsType The type to evaluate against the concept.
0 commit comments