Incidence¶
#include<hysj/graphs/incidence.hpp>
In namespace graphs
:
-
enum incidence_tag¶
-
enumerator adirectional¶
-
enumerator unidirectional¶
-
enumerator bidirectional¶
Names the types of incidence a graph can support.-
enumerator adirectional¶
-
auto incident(auto tag, auto direction, const auto &graph, auto id)¶
- Hook for accessing the incident elements of id.
Shorthands
Traits
-
template<element_tag T, typename D, typename G, typename I>
using traits::incident_t¶ - The deduced retur-type of incident invoked with these types parameters.
-
template<element_tag T, typename D, typename G, typename I>
using traits::incident_id_t¶ - Short hand for the value-type of
traits::incident_t
.
Concepts
-
template<typename G, element_tag T, typename D, typename I>
concept concepts::incidence_graph¶
-
auto port(auto direction, const auto &graph, auto id)¶
Shorthands
-
template<typename G, typename I>
auto ports(const G &g, I i)¶ - Returns a tuple of the incident vertices of the edge
i
.
Builtin¶
#include<hysj/graphs/builtin/incidence_graphs.hpp>
In namespace builtin
:
-
template<incidence_tag G, typename V, typename E>
struct incidence_graph¶ - Implements
concepts::incidence_graph
,concepts::element_property_of
, for element_tag::vertex andV
, and element_tag::edge andE
.