Elementa v8.0.0
Minimalistic library for any C++ application (C++11 and up)
Loading...
Searching...
No Matches
graphs.h File Reference
#include "elementa/license.inc"
#include "elementa/checks.inc"
#include <cstddef>
#include <memory>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <unordered_map>
#include <algorithm>
#include <utility>
#include <type_traits>
#include "elementa/base/definitions.h"
#include "elementa/base/fundamentaltypes.h"
#include "elementa/base/exceptions.h"
#include "elementa/base/iterators.h"
#include "elementa/base/serial_channels/serializers.h"
#include "elementa/patterns/clonable.h"
#include "elementa/base/debugging.h"
Include dependency graph for graphs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  elementa::adts::graphs::Graph< Vertex, Edge >
 All graph classes derive from this one. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::VectorOfVIts
 A vector of vertex iterators (might be repeated). More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::VectorOfEIts
 A vector of edge iterators (might be repeated). More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::MapOfVItPos
 A map (hash) from vertex iterators in a graph to their num. positions. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::MapOfEItPos
 A map (hash) from edge iterators in a graph to their num. positions. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::VRange_All
 A range to explore all vertices in the graph, no special order. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::VRange_Pred
 A range to explore all vertices whose data satisfy some predicate. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::ERange_All
 A range to explore all edges in the graph, no special order. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::ERange_Pred
 A range to explore all edges whose data satisfy some predicate. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::ERange_Leaving
 A range to explore all edges leaving a vertex, from the first created. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::ERange_Entering
 A range to explore all edges entering a vertex, from the first created. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::ERange_DepthFirst
 A range to explore from a vertex all descendant edges in depth-first. More...
 
class  elementa::adts::graphs::Graph< Vertex, Edge >::ERange_BreadthFirst
 A range to explore from a vertex all descendant edges in breadth-first. More...
 
class  elementa::adts::graphs::Szer_GraphCompactText< Vertex, Edge >
 Serializer for any graph in simple, compact text format. More...
 

Typedefs

using elementa::adts::graphs::size_vertex = size_t
 For holding numbers of vertices of a graph. More...
 
using elementa::adts::graphs::size_edge = size_t
 For holding numbers of edges of a graph. More...