GraphLib
Bearbeitung der Aufgabe Mini Graph Library für OOP WiSe 2023/24
Loading...
Searching...
No Matches
graphs.h
Go to the documentation of this file.
1#ifndef GRAPHLIB_GRAPHS_H
2#define GRAPHLIB_GRAPHS_H
3
4#include <cstddef>
5
12
20
21namespace GraphLib {
22
36template <GraphLib::Internal::valid_data_type D = int, GraphLib::Internal::valid_id_type I = std::size_t>
37class UnweightedDirectedGraph : public GraphLib::Internal::DirectedGraph<D, I, Internal::Edge<I>>,
38 public GraphLib::Internal::UnweightedGraph<D, I, Internal::Edge<I>> {
39public:
40};
41
55template <GraphLib::Internal::valid_data_type D = int, GraphLib::Internal::valid_id_type I = std::size_t>
56class UnweightedUndirectedGraph : public GraphLib::Internal::UndirectedGraph<D, I, Internal::Edge<I>>,
57 public GraphLib::Internal::UnweightedGraph<D, I, Internal::Edge<I>> {
58public:
59};
60
77class WeightedDirectedGraph : public GraphLib::Internal::DirectedGraph<D, I, Internal::WeightedEdge<I, W>>,
78 public GraphLib::Internal::WeightedGraph<D, I, Internal::WeightedEdge<I, W>> {
79public:
80};
81
98class WeightedUndirectedGraph : public GraphLib::Internal::UndirectedGraph<D, I, Internal::WeightedEdge<I, W>>,
99 public GraphLib::Internal::WeightedGraph<D, I, Internal::WeightedEdge<I, W>> {
100public:
101};
102
103} // namespace GraphLib
104
105#endif // GRAPHLIB_GRAPHS_H
Defines the DirectedGraph class template extending the generic Graph base to implement directed graph...
Defines the UndirectedGraph class template extending the generic Graph base to implement undirected g...
Defines the UnweightedGraph class template extending the generic Graph base to implement unweighted g...
Defines the WeightedGraph class template extending the generic Graph base to implement weighted graph...
A graph class representing directed graphs.
A graph class representing undirected graphs.
A graph class representing unweighted graphs.
A graph class representing weighted graphs.
Directed graph with unweighted edges.
Definition graphs.h:38
Undirected graph with unweighted edges.
Definition graphs.h:57
Directed graph with weighted edges.
Definition graphs.h:78
Undirected graph with weighted edges.
Definition graphs.h:99
Placeholder for user-defined data types used in vertices or edges.
Definition concepts.h:46
Concept for a valid ID type in graph components.
Definition concepts.h:61
Concept for a valid edge weight type.
Definition concepts.h:76
Defines C++20 concepts used for type constraints in the GraphLib library.
Defines the Edge and WeightedEdge structures used to represent edges in graphs.