P4C
The P4 Compiler
Loading...
Searching...
No Matches
MauPower::Node Class Reference

#include <simple_power_graph.h>

Public Member Functions

 Node (const Node &&n)=delete
 
 Node (const Node &n)
 
 Node (UniqueId uniq_id, int id)
 
void create_and_add_edge (cstring edge_name, std::vector< Node * > &child_nodes)
 
void dbprint (std::ostream &out) const
 
void dbprint (std::ostream &out, NodeAndEdgeSet *seen) const
 
bool is_equivalent (const Node *other) const
 
Nodeoperator= (const Node &&n)=delete
 
Nodeoperator= (const Node &n)=delete
 
cstring to_string () const
 

Public Attributes

const int id_
 
std::vector< Edge * > out_edges_
 
const UniqueId unique_id_
 

Detailed Description

A Node represents a single logical table (isolated to a single MAU stage). Nodes have outgoing edges, that denote the control flow from this node to child nodes.

Member Function Documentation

◆ create_and_add_edge()

void MauPower::Node::create_and_add_edge ( cstring edge_name,
std::vector< Node * > & child_nodes )

Create an outgoing edge from this node.

Parameters
edge_nameA debug name to give the edge, to be used in dot display.
child_nodesA vector of Node pointers that indicate what this Node is followed by.