7#ifndef GRAPHDOM_ADJ_LIST_CONST_ITERATOR_H
8#define GRAPHDOM_ADJ_LIST_CONST_ITERATOR_H
11#include "adj_list_base_iterator.h"
12#include "../multiset_graph.h"
15 template <
typename VertexType>
16 class graphdom::graph<VertexType>::adj_list_const_iterator final :
public graph<VertexType>::adj_list_base_iterator< const graph<VertexType>::vertex_container* > {
18 adj_list_const_iterator();
19 adj_list_const_iterator(
const adj_list_const_iterator& other_iterator);
20 adj_list_const_iterator(
const graph<VertexType>::adj_list_iterator& other_iterator);
21 adj_list_const_iterator(
const typename multiset_graph<VertexType>::adj_list_iterator& other_iterator);
23 ~adj_list_const_iterator() =
default;
25 graph<VertexType>::vertex_const_handle operator->()
const;
26 graph<VertexType>::vertex_const_handle operator*()
const;
28 adj_list_const_iterator& operator=(
const adj_list_const_iterator& other);
29 adj_list_const_iterator& operator++();
30 [[nodiscard]] adj_list_const_iterator operator++(
int);
33 friend class graph<VertexType>::const_adj_list;
34 friend class graph<VertexType>::adj_list;
35 friend class multiset_graph<VertexType>::adj_list;
36 friend class graph<VertexType>;
37 friend class set_graph<VertexType>;
38 friend class multiset_graph<VertexType>;
41 adj_list_const_iterator( const graph<VertexType>::adj_list_base_iterator< const graph<VertexType>::vertex_container* >& other );
42 adj_list_const_iterator(
43 const graph<VertexType>* iterator_owner_pointer,
44 typename graph<VertexType>::graph_edges_type iterator_owner_graph_edges_type,
45 const typename graph<VertexType>::vertex_container* edge_begin_point_vertex_container,
46 typename graph<VertexType>::edges_type_selection_type edges_type_restriction,
47 graphdom::edge_type inner_iterator_edge_current_type
49 adj_list_const_iterator(
50 const graph<VertexType>* iterator_owner_pointer,
51 typename graph<VertexType>::graph_edges_type iterator_owner_graph_edges_type,
52 const typename graph<VertexType>::vertex_container* edge_begin_point_vertex_container,
53 typename graph<VertexType>::edges_type_selection_type edges_type_restriction,
54 graphdom::edge_type inner_iterator_edge_current_type,
55 const typename graph<VertexType>::template adj_set<typename graph<VertexType>::vertex_container*>::iterator& inner_iterator
57 adj_list_const_iterator(
58 const graph<VertexType>* iterator_owner_pointer,
59 typename graph<VertexType>::graph_edges_type iterator_owner_graph_edges_type,
60 const typename graph<VertexType>::vertex_container* edge_begin_point_vertex_container,
61 typename graph<VertexType>::edges_type_selection_type edges_type_restriction,
62 graphdom::edge_type inner_iterator_edge_current_type,
63 const typename graph<VertexType>::template adj_set<const typename graph<VertexType>::vertex_container*>::iterator& inner_iterator
68#include "impl/adj_list_const_iterator.h"
Every graph created using this library is an instance of a concrete class publicly derived,...
Definition graph.h:43