7#ifndef GRAPHDOM_VERTEX_CONST_HANDLE_IMPL_H
8#define GRAPHDOM_VERTEX_CONST_HANDLE_IMPL_H
10#include "../../graph.h"
11#include "../vertex_base_handle.h"
12#include "../vertex_const_handle.h"
14template <
typename VertexType>
15graphdom::graph<VertexType>::vertex_const_handle::vertex_const_handle(
const typename graph<VertexType>::vertex_const_handle& other) :
16graphdom::graph<VertexType>::vertex_base_handle< const
graphdom::graph<VertexType>::vertex_container* >( other ){}
18template<
typename VertexType>
19graphdom::graph<VertexType>::vertex_const_handle::vertex_const_handle(
const typename graph<VertexType>::vertex_handle& other) :
20graphdom::graph<VertexType>::vertex_base_handle< const
graphdom::graph<VertexType>::vertex_container* >( other ){}
22template<
typename VertexType>
25 other.vertex_container_owner_graph_pointer,
26 other.vertex_container_owner_graph_edges_type,
27 other.vertex_container_pointer
30template<
typename VertexType>
32 if (
this != &other ) {
33 this->vertex_container_owner_graph_pointer = other.vertex_container_owner_graph_pointer;
34 this->vertex_container_owner_graph_edges_type = other.vertex_container_owner_graph_edges_type;
35 this->vertex_container_pointer = other.vertex_container_pointer;
40template<
typename VertexType>
43 this->vertex_container_owner_graph_pointer,
44 this->vertex_container_owner_graph_edges_type,
45 this->vertex_container_pointer
49template<
typename VertexType>
50typename graphdom::graph<VertexType>::const_adj_list graphdom::graph<VertexType>::vertex_const_handle::adj_list(
const edge_type edge_type)
const {
51 return graphdom::graph<VertexType>::const_adj_list(
52 this->vertex_container_owner_graph_pointer,
53 this->vertex_container_owner_graph_edges_type,
54 this->vertex_container_pointer,
56 graphdom::graph<VertexType>::edges_type_selection_type::undirected_edges :
57 graphdom::graph<VertexType>::edges_type_selection_type::directed_edges
61template<
typename VertexType>
62typename graphdom::graph<VertexType>::const_adj_list graphdom::graph<VertexType>::vertex_const_handle::const_adj_list()
const {
66template<
typename VertexType>
67typename graphdom::graph<VertexType>::const_adj_list graphdom::graph<VertexType>::vertex_const_handle::const_adj_list(
const edge_type edge_type)
const {
71template<
typename VertexType>
72graphdom::graph<VertexType>::vertex_const_handle::vertex_const_handle(
73 const graph<VertexType>*
const vertex_container_owner_ptr,
74 const graph<VertexType>::graph_edges_type vertex_container_owner_et,
75 const typename graph<VertexType>::vertex_container*
const vertex_container_ptr) :
76graphdom::graph<VertexType>::vertex_base_handle< const graphdom::graph<VertexType>::vertex_container* >(
77 vertex_container_owner_ptr,
78 vertex_container_owner_et,
Every valid instance of this class is a "container-like and non-owning" handle to a subset of the set...
Definition adj_list.h:32
Every valid instance of this class is a "container-like and non-owning" handle to a subset of the set...
Definition const_adj_list.h:35
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 valid instance of this class can be used to identify a specific vertex of a multiset graph and ...
Definition multiset_graph_vertex_handle.h:31
edge_type
The enumerated type whose values represent the two types of edges of a graph.
Definition graph.h:21
@ undirected
This enum value means undirected edge.
Definition graph.h:22