GraphDom
Loading...
Searching...
No Matches
labeled_undirected_edge_endpoint.h
1/*
2 * Copyright 2026 Michele Comparini
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef GRAPHDOM_LABELED_UNDIRECTED_EDGE_ENDPOINT_H
8#define GRAPHDOM_LABELED_UNDIRECTED_EDGE_ENDPOINT_H
9
10#include "../graph.h"
11#include "edge_endpoint.h"
12
13namespace graphdom {
14 template <typename VertexType>
15 template <typename VertexContainerPointerType, typename EdgeLabelType>
16 class graph<VertexType>::labeled_undirected_edge_endpoint final : public edge_endpoint<VertexContainerPointerType> {
17 public:
18 labeled_undirected_edge_endpoint() = delete;
19 labeled_undirected_edge_endpoint(const labeled_undirected_edge_endpoint&) = delete;
20 labeled_undirected_edge_endpoint(labeled_undirected_edge_endpoint&&) = delete;
21 labeled_undirected_edge_endpoint(VertexContainerPointerType ptr, const EdgeLabelType& edge);
22 labeled_undirected_edge_endpoint(VertexContainerPointerType ptr, EdgeLabelType&& edge);
23 labeled_undirected_edge_endpoint(VertexContainerPointerType ptr, const std::shared_ptr<EdgeLabelType>& existent_edge_label_ptr);
24
25 ~labeled_undirected_edge_endpoint() = default;
26
27 mutable std::shared_ptr<EdgeLabelType> edge_label_ptr;
28 };
29}
30
31#include "impl/labeled_undirected_edge_endpoint.h"
32
33#endif //GRAPHDOM_LABELED_UNDIRECTED_EDGE_ENDPOINT_H
Every graph created using this library is an instance of a concrete class publicly derived,...
Definition graph.h:43
Definition adj_list.h:16