GraphDom
Loading...
Searching...
No Matches
mixed_graph.h
1/*
2 * Copyright 2026 Michele Comparini
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef GRAPHDOM_MIXED_GRAPH_H
8#define GRAPHDOM_MIXED_GRAPH_H
9
10#include "graph.h"
11
12namespace graphdom {
14
17 template <typename VertexType>
18 class mixed_graph : virtual public graph<VertexType> {
19 public:
21 ~mixed_graph() override = default;
22
31 virtual void insert_edge(const typename graph<VertexType>::vertex_const_handle& first_endpoint, const typename graph<VertexType>::vertex_const_handle& second_endpoint, edge_type et) = 0;
32 };
33}
34
35#endif //GRAPHDOM_MIXED_GRAPH_H
Every valid instance of this class can be used to identify a specific vertex of a graph and to access...
Definition vertex_const_handle.h:35
Every graph created using this library is an instance of a concrete class publicly derived,...
Definition graph.h:43
Every mixed graph created using this library is an instance of a concrete class publicly derived,...
Definition mixed_graph.h:18
~mixed_graph() override=default
To be polymorphic, this class has a virtual destructor.
virtual void insert_edge(const typename graph< VertexType >::vertex_const_handle &first_endpoint, const typename graph< VertexType >::vertex_const_handle &second_endpoint, edge_type et)=0
Definition adj_list.h:16
edge_type
The enumerated type whose values represent the two types of edges of a graph.
Definition graph.h:21