P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::BMV2::CFG::EdgeSet Class Referencefinal
Inheritance diagram for P4::BMV2::CFG::EdgeSet:
[legend]

Public Member Functions

 EdgeSet (CFG::Edge *edge)
 
 EdgeSet (const EdgeSet *other)
 
bool checkSame (const EdgeSet &other) const
 
void dbprint (std::ostream &out) const
 
void emplace (CFG::Edge *edge)
 
bool isDestination (const CFG::Node *destination) const
 
void mergeWith (const EdgeSet *other)
 
size_t size () const
 
- Public Member Functions inherited from P4::IHasDbPrint
void print () const
 

Public Attributes

ordered_set< CFG::Edge * > edges
 

Member Function Documentation

◆ checkSame()

bool P4::BMV2::CFG::EdgeSet::checkSame ( const EdgeSet & other) const

Checks whether the two edge sets represent the same set of nodes. Importantly, two TableNodes are equivalent if they refer to the same table (pointer equality is not enough).

◆ dbprint()

void P4::BMV2::CFG::EdgeSet::dbprint ( std::ostream & out) const
virtual

Implements P4::IHasDbPrint.

◆ isDestination()

bool P4::BMV2::CFG::EdgeSet::isDestination ( const CFG::Node * destination) const

Check if this destination appears in this edgeset. Importantly, a TableNode is a destination if it points to the same table as an existing destination (pointer equality is not enough).