![]() |
Elementa v8.0.0
Minimalistic library for any C++ application (C++11 and up)
|
#include "elementa/license.inc"#include "elementa/checks.inc"#include <type_traits>#include <vector>#include <functional>#include "elementa/adts/graphs/graphs.h"

Go to the source code of this file.
Classes | |
| struct | elementa::adts::graphs::GPathKindType< KIND > |
| A type corresponding to each constant value of the kind of a path. More... | |
| class | elementa::adts::graphs::GPath< Vertex, Edge, KIND > |
| A path in a graph whose vertices are of type Vertex and edges of type Edge. More... | |
Typedefs | |
| template<class Vertex , class Edge , GPathKind KIND> | |
| using | elementa::adts::graphs::GPathElement = typename std::conditional< KIND==GPathKind::kVertexPath, typename Graph< Vertex, Edge >::viterator, typename Graph< Vertex, Edge >::eiterator >::type |
| Type of the elements of a path, according to its kind. More... | |
| template<class Vertex , class Edge , class Weight = double> | |
| using | elementa::adts::graphs::EdgeWeightFunction = std::function< Weight(const typename Graph< Vertex, Edge >::eiterator &) > |
| A family of functions that return the weight of an edge. More... | |
Functions | |
| elementa::adts::graphs::ELE_CLASS_ENUM (GPathKind, kVertexPath, kEdgePath) | |
| Kinds of paths. | |
| constexpr GPathKind | elementa::adts::graphs::kOtherGPathKind (GPathKind kid) |
| The kind opposite to a given one. More... | |
| template<class Vertex , class Edge > | |
| constexpr double | elementa::adts::graphs::trivial_edge_weight (const typename Graph< Vertex, Edge >::eiterator &) noexcept |
| A family of functions that return 1.0 as the weight of any edge. More... | |
| template<class Vertex , class Edge > | |
| constexpr double | elementa::adts::graphs::value_edge_weight (const typename Graph< Vertex, Edge >::eiterator &eit) noexcept |
| A family of functions that return the edge value as the weight. More... | |