7#ifndef GRAPHDOM_SET_GRAPH_IMPL_H
8#define GRAPHDOM_SET_GRAPH_IMPL_H
10#include "../set_graph.h"
12template<
typename VertexType>
16 return std::get< typename graph<VertexType>::template adj_set<const typename graph<VertexType>::vertex_container*>::iterator >( const_edge_itr.inner_iterator );
19template<
typename VertexType>
20typename graphdom::graph<VertexType>::adj_list_iterator
23 const non_mixed_graph_vertex_container*
const edge_begin_point_ptr,
25 const typename adj_set::iterator inner_itr) {
26 return typename graphdom::graph<VertexType>::adj_list_iterator(
27 edge_set_vertex_graph_owner_ptr,
28 ( edge_set_vertex_graph_owner_edges_type == edge_type::undirected ) ?
29 graph<VertexType>::graph_edges_type::undirected :
30 graph<VertexType>::graph_edges_type::directed,
32 graph<VertexType>::edges_type_selection_type::none,
33 edge_set_vertex_graph_owner_edges_type,
38template<
typename VertexType>
39typename graphdom::graph<VertexType>::adj_list_iterator
42 const mixed_graph_vertex_container*
const edge_begin_point_ptr,
43 const typename adj_set::iterator inner_itr,
45 const bool inner_itr_is_limited_by_edge_type) {
46 return typename graphdom::graph<VertexType>::adj_list_iterator(
47 edge_set_vertex_graph_owner_ptr,
48 graph<VertexType>::graph_edges_type::mixed,
50 inner_itr_is_limited_by_edge_type ?
52 graph<VertexType>::edges_type_selection_type::undirected_edges :
53 graph<VertexType>::edges_type_selection_type::directed_edges ) :
54 graph<VertexType>::edges_type_selection_type::none,
Every graph created using this library is an instance of a concrete class publicly derived,...
Definition graph.h:43
Every set graph created using this library is an instance of a concrete class publicly derived,...
Definition set_graph.h:18
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