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
/// @brief Concept to validate if a type is an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the @ref gl::directed_t "directed_t" tag.
45
+
/// @tparam T The type to evaluate against the concept.
32
46
template <typename E>
33
47
concept c_directed_edge =
34
48
c_instantiation_of<E, edge_descriptor>
35
49
and std::same_as<typename E::directional_tag, directed_t>;
36
50
51
+
/// @ingroup GL GL-Traits
52
+
/// @brief Concept to validate if a type is an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the @ref gl::undirected_t "undirected_t" tag.
53
+
/// @tparam T The type to evaluate against the concept.
37
54
template <typename E>
38
55
concept c_undirected_edge =
39
56
c_instantiation_of<E, edge_descriptor>
40
57
and std::same_as<typename E::directional_tag, undirected_t>;
41
58
42
59
} // namespace traits
43
60
61
+
/// @ingroup GL GL-Core
62
+
/// @headerfile gl/directional_tags.hpp
63
+
/// @brief The tag type representing a directed graph configuration.
64
+
///
65
+
/// This tag is used to indicate that a graph is directed, meaning that its edges
66
+
/// have a specific direction from a source vertex to a target vertex.
67
+
///
68
+
/// ### See Also
69
+
/// - @ref gl::undirected_t "undirected_t" : For the tag representing an undirected graph configuration.
70
+
/// - [**c_graph_directional_tag**](gl_traits.md#gl-traits-c-graph-directional-tag) : For the concept used to validate graph directional tags.
71
+
/// - @ref gl::edge_descriptor "edge_descriptor" : For the edge descriptor type defined based on the graph traits, which includes the directional tag as part of its definition.
44
72
structdirected_t {
73
+
/// @brief A type identity alias for the directed_t tag, allowing for easier type comparisons and trait evaluations.
/// @brief Determines if a given edge is incident from a specified vertex in a directed graph.
77
+
///
78
+
/// Validates whether the provided vertex ID corresponds specifically to the **source** vertex of the edge.
79
+
///
80
+
/// @tparam EdgeType The type of the edge descriptor, which must be an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the directed tag.
81
+
/// @return For a directed edge $(u, v)$ and a vertex ID `vertex_id`, returns `true` if `vertex_id` corresponds to $u$ (the source vertex), and `false` otherwise.
/// @brief Determines if a given edge is incident to a specified vertex in a directed graph.
90
+
///
91
+
/// Validates whether the provided vertex ID corresponds specifically to the **target** vertex of the edge.
92
+
///
93
+
/// @tparam EdgeType The type of the edge descriptor, which must be an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the directed tag.
94
+
/// @return For a directed edge $(u, v)$ and a vertex ID `vertex_id`, returns `true` if `vertex_id` corresponds to $v$ (the target vertex), and `false` otherwise.
/// @brief The tag type representing an undirected graph configuration.
106
+
///
107
+
/// This tag is used to indicate that a graph is undirected, meaning that its edges do not have
108
+
/// a specific direction and can be traversed in both directions between the connected vertices.
109
+
///
110
+
/// ### See Also
111
+
/// - @ref gl::directed_t "directed_t" : For the tag representing a directed graph configuration.
112
+
/// - [**c_graph_directional_tag**](gl_traits.md#gl-traits-c-graph-directional-tag) : For the concept used to validate graph directional tags.
113
+
/// - @ref gl::edge_descriptor "edge_descriptor" : For the edge descriptor type defined based on the graph traits, which includes the directional tag as part of its definition.
64
114
structundirected_t {
115
+
/// @brief A type identity alias for the undirected_t tag, allowing for easier type comparisons and trait evaluations.
/// @brief Determines if a given edge is incident from a specified vertex in an undirected graph.
119
+
///
120
+
/// Validates whether the provided vertex ID corresponds to either of the vertices connected by the edge,
121
+
/// since in an undirected graph, both vertices are incident *with* the edge, hence they are both considered
122
+
/// to be incident from the edge.
123
+
///
124
+
/// @tparam EdgeType The type of the edge descriptor, which must be an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the undirected tag.
125
+
/// @return For an undirected edge \f$\{u, v\}\f$, and a vertex ID `vertex_id`, returns `true` if `vertex_id` corresponds to either $u$ or $v$, and `false` otherwise.
/// @brief Determines if a given edge is incident to a specified vertex in an undirected graph.
134
+
///
135
+
/// Validates whether the provided vertex ID corresponds to either of the vertices connected by the edge,
136
+
/// since in an undirected graph, both vertices are incident *with* the edge, hence they are both considered
137
+
/// to be incident to the edge.
138
+
///
139
+
/// @tparam EdgeType The type of the edge descriptor, which must be an instantiation of @ref gl::edge_descriptor "edge_descriptor" with the undirected tag.
140
+
/// @return For an undirected edge \f$\{u, v\}\f$, and a vertex ID `vertex_id`, returns `true` if `vertex_id` corresponds to either $u$ or $v$, and `false` otherwise.
0 commit comments