P4C
The P4 Compiler
Loading...
Searching...
No Matches
PHV::Slicing::IteratorInterface Class Referenceabstract

The interface that the iterator must satisfy. More...

#include <types.h>

Inheritance diagram for PHV::Slicing::IteratorInterface:
[legend]

Public Member Functions

virtual void invalidate (const SuperCluster::SliceList *sl)=0
 
virtual void iterate (const IterateCb &cb)=0
 iterate will pass valid slicing results to cb. Stop when cb returns false.
 
virtual void set_config (const IteratorConfig &cfg)=0
 set iterator configs.
 

Detailed Description

The interface that the iterator must satisfy.

Member Function Documentation

◆ invalidate()

virtual void PHV::Slicing::IteratorInterface::invalidate ( const SuperCluster::SliceList * sl)
pure virtual

invalidate is the feedback mechanism for allocation algorithm to ask iterator to not produce slicing result contains sl.

Implemented in PHV::Slicing::DfsItrContext, and PHV::Slicing::ItrContext.

◆ iterate()

virtual void PHV::Slicing::IteratorInterface::iterate ( const IterateCb & cb)
pure virtual

iterate will pass valid slicing results to cb. Stop when cb returns false.

Implemented in PHV::Slicing::DfsItrContext, and PHV::Slicing::ItrContext.

◆ set_config()

virtual void PHV::Slicing::IteratorInterface::set_config ( const IteratorConfig & cfg)
pure virtual

set iterator configs.

Implemented in PHV::Slicing::DfsItrContext, and PHV::Slicing::ItrContext.