PandA-2024.02
Public Member Functions | Private Attributes
djgraph_dfs_tree_visitor Struct Reference

Header include. More...

Inheritance diagram for djgraph_dfs_tree_visitor:
Inheritance graph
[legend]
Collaboration diagram for djgraph_dfs_tree_visitor:
Collaboration graph
[legend]

Public Member Functions

 djgraph_dfs_tree_visitor (CustomUnorderedMap< vertex, unsigned int > &_vertex_level, CustomUnorderedMap< vertex, unsigned int > &_dfs_order, unsigned int &_max_level, vertex2obj< vertex > &_parent_depth_search_spanning_tree, const ParameterConstRef parameters)
 Constructor of the postorder tree visitor. More...
 
template<class Vertex , class Graph >
void discover_vertex (Vertex v, Graph &g)
 
template<class Edge , class Graph >
void tree_edge (Edge e, const Graph &g) const
 

Private Attributes

CustomUnorderedMap< vertex, unsigned int > & vertex_level
 topological level of the vertices More...
 
CustomUnorderedMap< vertex, unsigned int > & dfs_order
 dfs order of vertices More...
 
unsigned int dfs_number
 last label used during the dfs graph visiting More...
 
unsigned int & max_level
 maximum level of vertices More...
 
vertex2obj< vertex > & parent_depth_search_spanning_tree
 spanning tree More...
 
const int debug_level
 The debug level. More...
 

Detailed Description

Header include.

Autoheader include Visitor used during the depth-first search on the DJ graph.

Definition at line 87 of file loops.cpp.

Constructor & Destructor Documentation

◆ djgraph_dfs_tree_visitor()

djgraph_dfs_tree_visitor::djgraph_dfs_tree_visitor ( CustomUnorderedMap< vertex, unsigned int > &  _vertex_level,
CustomUnorderedMap< vertex, unsigned int > &  _dfs_order,
unsigned int &  _max_level,
vertex2obj< vertex > &  _parent_depth_search_spanning_tree,
const ParameterConstRef  parameters 
)
inline

Constructor of the postorder tree visitor.

Used to label the node in postorder way.

Parameters
vertex_levelwill store levels of vertices
dfs_orderwill store vertices dfs order
max_levelwill store the max level of vertices
parent_depth_search_spanning_treeis the dfs spanning tree
parametersis the set of input parameters

Definition at line 117 of file loops.cpp.

Member Function Documentation

◆ discover_vertex()

template<class Vertex , class Graph >
void djgraph_dfs_tree_visitor::discover_vertex ( Vertex  v,
Graph g 
)
inline

Set the dfs order

and the vertex level

The level of at least one predecessor must have been set already

Definition at line 130 of file loops.cpp.

References DEBUG_LEVEL_VERY_PEDANTIC, INDENT_DBG_MEX, STR, and THROW_ASSERT.

◆ tree_edge()

template<class Edge , class Graph >
void djgraph_dfs_tree_visitor::tree_edge ( Edge  e,
const Graph g 
) const
inline

Definition at line 175 of file loops.cpp.

References lenet_tvm::target.

Field Documentation

◆ debug_level

const int djgraph_dfs_tree_visitor::debug_level
private

The debug level.

Definition at line 106 of file loops.cpp.

◆ dfs_number

unsigned int djgraph_dfs_tree_visitor::dfs_number
private

last label used during the dfs graph visiting

Definition at line 97 of file loops.cpp.

◆ dfs_order

CustomUnorderedMap<vertex, unsigned int>& djgraph_dfs_tree_visitor::dfs_order
private

dfs order of vertices

Definition at line 94 of file loops.cpp.

◆ max_level

unsigned int& djgraph_dfs_tree_visitor::max_level
private

maximum level of vertices

Definition at line 100 of file loops.cpp.

◆ parent_depth_search_spanning_tree

vertex2obj<vertex>& djgraph_dfs_tree_visitor::parent_depth_search_spanning_tree
private

spanning tree

Definition at line 103 of file loops.cpp.

◆ vertex_level

CustomUnorderedMap<vertex, unsigned int>& djgraph_dfs_tree_visitor::vertex_level
private

topological level of the vertices

Definition at line 91 of file loops.cpp.


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

Generated on Mon Feb 12 2024 13:03:50 for PandA-2024.02 by doxygen 1.8.13