P4C
The P4 Compiler
BMV2::CFG::EdgeSet Class Referencefinal
Inheritance diagram for 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 IHasDbPrint
void print () const
 

Public Attributes

ordered_set< CFG::Edge * > edges
 

Member Function Documentation

◆ checkSame()

bool 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).

◆ isDestination()

bool 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).