C++ Library Extensions 2022.12.09
To help learn modern C++ programming
tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType > Class Template Reference

#include <tpf_graph.hpp>

Public Types

enum  path_info : size_t { path_visited , path_distances , path_previous , path_shortest }
 
enum class  visit_mode : int { graph , visit_bfs , visit_dfs }
 
using element_t = ElementType
 
using index_t = NodeIndexType
 
using indices_t = std::vector< index_t >
 
using node_names_t = std::vector< ElementType >
 
using node_index_t = NodeIndexType
 
using edge_weight_t = EdgeWeightType
 
using edge_type_t = edge< directed_edge, node_index_t, edge_weight_t >
 
using edge_container_t = EdgeContainerType< edge_type_t >
 
using index_container_t = IndexContainerType< index_t >
 
using node_container_t = NodeContainerType< index_container_t >
 
using element_container_t = NodeContainerType< element_t >
 
using ref_element_container_t = NodeContainerType< std::reference_wrapper< element_t > >
 
using const_ref_element_container_t = NodeContainerType< std::reference_wrapper< const element_t > >
 
using node_ref_t = std::tuple< ElementType &, index_container_t & >
 
using const_node_ref_t = std::tuple< const ElementType &, const index_container_t & >
 
using node_info_t = std::tuple< const ElementType &, const_ref_element_container_t >
 
using distances_t = std::vector< edge_weight_t >
 
using shortest_path_t = std::tuple< indices_t, distances_t, indices_t, edge_weight_t >
 

Public Member Functions

const element_container_tget_node_values () const
 
decltype(auto) get_node_indices (index_t node_index) const
 
decltype(auto) get_node_indices (index_t node_index)
 
decltype(auto) get_edge (index_t index)
 
decltype(auto) get_edge (index_t index) const
 
indices_t get_edge_indices (index_t node_index) const
 
indices_t get_edge_indices (index_t node_index, const indices_t &visited) const
 
auto begin ()
 
auto end ()
 
auto cbegin ()
 
auto cend ()
 
bool empty () const
 
decltype(auto) adjacency_node_list (size_t node_index)
 
decltype(auto) adjacency_node_list (size_t node_index) const
 
const node_container_tnode_lists () const
 
const element_container_tvalues () const
 
auto adjacent_node_values (size_t node_index)
 
auto adjacent_node_values (size_t node_index) const
 
decltype(auto) node_value (size_t node_index)
 
decltype(auto) node_value (size_t node_index) const
 
template<typename IndexType_1 , typename IndexType_2 >
auto get_edge_range_iterators (IndexType_1 index_1, IndexType_2 index_2) const
 
template<typename IndexType_1 , typename IndexType_2 , typename WeightType >
auto get_edge_range_iterators (IndexType_1 index_1, IndexType_2 index_2, WeightType weight) const
 
auto get_edge_range_iterators (const edge_type_t &e, bool bStrongCompare=false) const
 
node_info_t node_info (size_t node_index) const
 
tpf::sstreamget_node_name (tpf::sstream &os, size_t index) const
 
tpf::sstreamget_edge_definition (tpf::sstream &os, node_index_t index_1, node_index_t index_2, bool bProportional=false, const char *color="black") const
 
tpf::sstreamget_node_definition (tpf::sstream &os, size_t index) const
 
tpf::sstreambuild_graph_edges (tpf::sstream &os, visit_mode vmode=visit_mode::graph, bool bProportional=false) const
 
std::string draw_graph_traversal (visit_mode vmode=visit_mode::visit_dfs) const
 
tpf::sstreamdraw_graph_edges (tpf::sstream &os) const
 
std::string draw_graph (const std::string &graph_title="Plain Graph", const std::string &graph_style="", const std::string &best_viewed="dot") const
 
std::string build_graph (visit_mode vmode=visit_mode::graph) const
 
 graph ()=default
 
size_t size ()
 
void integrity_check_nodes_throws () const
 
template<typename EleType , typename Type , typename... Types>
void emplace_back_node (EleType &&value, Type &&index0, Types &&... indices)
 
auto is_in_edge_list (const edge_type_t &e, bool bStrongCompare=false) const noexcept
 
edge_container_tedges () noexcept
 
const edge_container_tedges () const noexcept
 
template<typename IndexType_1 , typename IndexType_2 , typename... WeightType>
void emplace_back_edge (IndexType_1 index_1, IndexType_2 index_2, WeightType... weight)
 
auto operator[] (size_t node_index)
 
auto operator[] (size_t node_index) const
 
std::vector< index_ttraverse_bfs (index_t start=0) const
 
void push_stack (std::deque< index_t > &stack, std::vector< char > &visited, size_t node_index) const
 
void move_vertex (indices_t &visited, indices_t &unvisited, index_t index) const
 
element_t translate (index_t index) const
 
node_names_t translate (const indices_t &indices) const
 
shortest_path_t shortest_path (index_t start_node=0, index_t end_node=0) const
 
tpf::sstreamdraw_edge_list (tpf::sstream &os, const indices_t &visited, const distances_t &distances, const indices_t &previous_node, index_t start_node, index_t end_node) const
 
void draw_shortest_path (tpf::sstream &os, const indices_t &visited, const distances_t &distances, const indices_t &previous_node, index_t start_node, index_t end_node) const
 
std::string shortest_path_report (element_t start_pos, element_t end_pos) const
 
std::vector< index_ttraverse_dfs (index_t start=0) const
 

Static Public Attributes

static constexpr int directed_edge = DirectedEdge
 
static constexpr int edge_multiplicity = EdgePlurality
 

Friends

template<int , typename , typename... >
class edge
 
tpf::sstreamoperator<< (tpf::sstream &os, const graph &g)
 

Detailed Description

template<int DirectedEdge, int EdgePlurality, typename ElementType, typename NodeIndexType, typename EdgeWeightType, template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
class tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >

Definition at line 426 of file tpf_graph.hpp.

Member Typedef Documentation

◆ const_node_ref_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::const_node_ref_t = std::tuple<const ElementType&, const index_container_t&>

Definition at line 455 of file tpf_graph.hpp.

◆ const_ref_element_container_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::const_ref_element_container_t = NodeContainerType<std::reference_wrapper<const element_t> >

Definition at line 452 of file tpf_graph.hpp.

◆ distances_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::distances_t = std::vector<edge_weight_t>

Definition at line 459 of file tpf_graph.hpp.

◆ edge_container_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::edge_container_t = EdgeContainerType<edge_type_t>

Definition at line 445 of file tpf_graph.hpp.

◆ edge_type_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::edge_type_t = edge<directed_edge, node_index_t, edge_weight_t>

Definition at line 443 of file tpf_graph.hpp.

◆ edge_weight_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::edge_weight_t = EdgeWeightType

Definition at line 438 of file tpf_graph.hpp.

◆ element_container_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::element_container_t = NodeContainerType<element_t>

Definition at line 449 of file tpf_graph.hpp.

◆ element_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::element_t = ElementType

Definition at line 431 of file tpf_graph.hpp.

◆ index_container_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::index_container_t = IndexContainerType<index_t>

Definition at line 447 of file tpf_graph.hpp.

◆ index_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::index_t = NodeIndexType

Definition at line 432 of file tpf_graph.hpp.

◆ indices_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::indices_t = std::vector<index_t>

Definition at line 434 of file tpf_graph.hpp.

◆ node_container_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_container_t = NodeContainerType<index_container_t>

Definition at line 448 of file tpf_graph.hpp.

◆ node_index_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_index_t = NodeIndexType

Definition at line 437 of file tpf_graph.hpp.

◆ node_info_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_info_t = std::tuple<const ElementType&, const_ref_element_container_t>

Definition at line 457 of file tpf_graph.hpp.

◆ node_names_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_names_t = std::vector<ElementType>

Definition at line 435 of file tpf_graph.hpp.

◆ node_ref_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_ref_t = std::tuple<ElementType&, index_container_t&>

Definition at line 454 of file tpf_graph.hpp.

◆ ref_element_container_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::ref_element_container_t = NodeContainerType<std::reference_wrapper<element_t> >

Definition at line 451 of file tpf_graph.hpp.

◆ shortest_path_t

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
using tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::shortest_path_t = std::tuple<indices_t, distances_t, indices_t, edge_weight_t>

Definition at line 463 of file tpf_graph.hpp.

Member Enumeration Documentation

◆ path_info

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
enum tpf::graph::graph::path_info : size_t
Enumerator
path_visited 
path_distances 
path_previous 
path_shortest 

Definition at line 461 of file tpf_graph.hpp.

◆ visit_mode

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
enum class tpf::graph::graph::visit_mode : int
strong
Enumerator
graph 
visit_bfs 
visit_dfs 

Definition at line 465 of file tpf_graph.hpp.

Constructor & Destructor Documentation

◆ graph()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::graph ( )
default

Member Function Documentation

◆ adjacency_node_list() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::adjacency_node_list ( size_t  node_index)
inline

Definition at line 556 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ adjacency_node_list() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::adjacency_node_list ( size_t  node_index) const
inline

Definition at line 561 of file tpf_graph.hpp.

◆ adjacent_node_values() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::adjacent_node_values ( size_t  node_index)
inline

Definition at line 569 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ adjacent_node_values() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::adjacent_node_values ( size_t  node_index) const
inline

Definition at line 583 of file tpf_graph.hpp.

◆ begin()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::begin ( )
inline

Definition at line 548 of file tpf_graph.hpp.

◆ build_graph()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
std::string tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::build_graph ( visit_mode  vmode = visit_mode::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >) const
inline

Definition at line 826 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ build_graph_edges()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::build_graph_edges ( tpf::sstream os,
visit_mode  vmode = visit_mode::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >,
bool  bProportional = false 
) const
inline

Definition at line 676 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cbegin()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::cbegin ( )
inline

Definition at line 551 of file tpf_graph.hpp.

◆ cend()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::cend ( )
inline

Definition at line 552 of file tpf_graph.hpp.

◆ draw_edge_list()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::draw_edge_list ( tpf::sstream os,
const indices_t visited,
const distances_t distances,
const indices_t previous_node,
index_t  start_node,
index_t  end_node 
) const
inline

Definition at line 1167 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ draw_graph()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
std::string tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::draw_graph ( const std::string &  graph_title = "Plain Graph",
const std::string &  graph_style = "",
const std::string &  best_viewed = "dot" 
) const
inline

Definition at line 802 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ draw_graph_edges()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::draw_graph_edges ( tpf::sstream os) const
inline

Definition at line 771 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ draw_graph_traversal()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
std::string tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::draw_graph_traversal ( visit_mode  vmode = visit_mode::visit_dfs) const
inline

Definition at line 752 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ draw_shortest_path()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
void tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::draw_shortest_path ( tpf::sstream os,
const indices_t visited,
const distances_t distances,
const indices_t previous_node,
index_t  start_node,
index_t  end_node 
) const
inline

Definition at line 1203 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ edges() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
const edge_container_t & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::edges ( ) const
inlinenoexcept

Definition at line 905 of file tpf_graph.hpp.

◆ edges() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
edge_container_t & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::edges ( )
inlinenoexcept

Definition at line 904 of file tpf_graph.hpp.

◆ emplace_back_edge()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
template<typename IndexType_1 , typename IndexType_2 , typename... WeightType>
void tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::emplace_back_edge ( IndexType_1  index_1,
IndexType_2  index_2,
WeightType...  weight 
)
inline

Definition at line 909 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ emplace_back_node()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
template<typename EleType , typename Type , typename... Types>
void tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::emplace_back_node ( EleType &&  value,
Type &&  index0,
Types &&...  indices 
)
inline

Definition at line 886 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ empty()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
bool tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::empty ( ) const
inline

Definition at line 554 of file tpf_graph.hpp.

◆ end()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::end ( )
inline

Definition at line 549 of file tpf_graph.hpp.

◆ get_edge() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge ( index_t  index)
inline

Definition at line 491 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ get_edge() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge ( index_t  index) const
inline

Definition at line 496 of file tpf_graph.hpp.

◆ get_edge_definition()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge_definition ( tpf::sstream os,
node_index_t  index_1,
node_index_t  index_2,
bool  bProportional = false,
const char *  color = "black" 
) const
inline

Definition at line 648 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_edge_indices() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
indices_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge_indices ( index_t  node_index) const
inline

Definition at line 501 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_edge_indices() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
indices_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge_indices ( index_t  node_index,
const indices_t visited 
) const
inline

Definition at line 525 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ get_edge_range_iterators() [1/3]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge_range_iterators ( const edge_type_t e,
bool  bStrongCompare = false 
) const
inline

Definition at line 621 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ get_edge_range_iterators() [2/3]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
template<typename IndexType_1 , typename IndexType_2 >
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge_range_iterators ( IndexType_1  index_1,
IndexType_2  index_2 
) const
inline

Definition at line 608 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ get_edge_range_iterators() [3/3]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
template<typename IndexType_1 , typename IndexType_2 , typename WeightType >
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_edge_range_iterators ( IndexType_1  index_1,
IndexType_2  index_2,
WeightType  weight 
) const
inline

Definition at line 615 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ get_node_definition()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_node_definition ( tpf::sstream os,
size_t  index 
) const
inline

Definition at line 666 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node_indices() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_node_indices ( index_t  node_index)
inline

Definition at line 486 of file tpf_graph.hpp.

◆ get_node_indices() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_node_indices ( index_t  node_index) const
inline

Definition at line 481 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ get_node_name()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_node_name ( tpf::sstream os,
size_t  index 
) const
inline

Definition at line 643 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ get_node_values()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
const element_container_t & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::get_node_values ( ) const
inline

Definition at line 476 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ integrity_check_nodes_throws()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
void tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::integrity_check_nodes_throws ( ) const
inline

Definition at line 865 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ is_in_edge_list()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::is_in_edge_list ( const edge_type_t e,
bool  bStrongCompare = false 
) const
inlinenoexcept

Definition at line 896 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ move_vertex()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
void tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::move_vertex ( indices_t visited,
indices_t unvisited,
index_t  index 
) const
inline

Definition at line 1053 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ node_info()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
node_info_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_info ( size_t  node_index) const
inline

Definition at line 629 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ node_lists()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
const node_container_t & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_lists ( ) const
inline

Definition at line 566 of file tpf_graph.hpp.

◆ node_value() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_value ( size_t  node_index)
inline

Definition at line 597 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ node_value() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
decltype(auto) tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::node_value ( size_t  node_index) const
inline

Definition at line 602 of file tpf_graph.hpp.

◆ operator[]() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::operator[] ( size_t  node_index)
inline

Definition at line 988 of file tpf_graph.hpp.

◆ operator[]() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
auto tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::operator[] ( size_t  node_index) const
inline

Definition at line 994 of file tpf_graph.hpp.

◆ push_stack()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
void tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::push_stack ( std::deque< index_t > &  stack,
std::vector< char > &  visited,
size_t  node_index 
) const
inline

Definition at line 1036 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shortest_path()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
shortest_path_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::shortest_path ( index_t  start_node = 0,
index_t  end_node = 0 
) const
inline

Definition at line 1093 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shortest_path_report()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
std::string tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::shortest_path_report ( element_t  start_pos,
element_t  end_pos 
) const
inline

Definition at line 1231 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ size()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
size_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::size ( )
inline

Definition at line 862 of file tpf_graph.hpp.

Here is the caller graph for this function:

◆ translate() [1/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
node_names_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::translate ( const indices_t indices) const
inline

Definition at line 1072 of file tpf_graph.hpp.

Here is the call graph for this function:

◆ translate() [2/2]

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
element_t tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::translate ( index_t  index) const
inline

Definition at line 1062 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ traverse_bfs()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
std::vector< index_t > tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::traverse_bfs ( index_t  start = 0) const
inline

Definition at line 1000 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ traverse_dfs()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
std::vector< index_t > tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::traverse_dfs ( index_t  start = 0) const
inline

Definition at line 1277 of file tpf_graph.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ values()

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
const element_container_t & tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::values ( ) const
inline

Definition at line 567 of file tpf_graph.hpp.

Friends And Related Function Documentation

◆ edge

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
template<int , typename , typename... >
friend class edge
friend

Definition at line 428 of file tpf_graph.hpp.

◆ operator<<

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
tpf::sstream & operator<< ( tpf::sstream os,
const graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType > &  g 
)
friend

Definition at line 1301 of file tpf_graph.hpp.

Member Data Documentation

◆ directed_edge

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
constexpr int tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::directed_edge = DirectedEdge
staticconstexpr

Definition at line 440 of file tpf_graph.hpp.

◆ edge_multiplicity

template<int DirectedEdge, int EdgePlurality, typename ElementType , typename NodeIndexType , typename EdgeWeightType , template< typename, typename... > class NodeContainerType, template< typename, typename... > class IndexContainerType, template< typename, typename... > class EdgeContainerType>
constexpr int tpf::graph::graph< DirectedEdge, EdgePlurality, ElementType, NodeIndexType, EdgeWeightType, NodeContainerType, IndexContainerType, EdgeContainerType >::edge_multiplicity = EdgePlurality
staticconstexpr

Definition at line 441 of file tpf_graph.hpp.


The documentation for this class was generated from the following file: