P4C
The P4 Compiler
Loading...
Searching...
No Matches
gateway_control_flow.h
1
19#ifndef BF_P4C_IR_GATEWAY_CONTROL_FLOW_H_
20#define BF_P4C_IR_GATEWAY_CONTROL_FLOW_H_
21
22#include "control_flow_visitor.h"
23#include "ir/ir.h"
24#include "ir/visitor.h"
25
26namespace BFN {
27
41class GatewayControlFlow : public virtual ControlFlowVisitor {
42 protected:
48 const IR::MAU::Table *gateway_context(int &idx) const;
49 const IR::MAU::Table *gateway_context(cstring &tag) const;
54 std::set<cstring> gateway_earlier_tags() const;
55 std::set<cstring> gateway_later_tags() const;
56
57 public:
58 virtual void pre_visit_table_next(const IR::MAU::Table *tbl, cstring tags) = 0;
59};
60
61} // end namespace BFN
62
63#endif /* BF_P4C_IR_GATEWAY_CONTROL_FLOW_H_ */
Definition gateway_control_flow.h:41
std::set< cstring > gateway_earlier_tags() const
Definition ir/gateway_control_flow.cpp:38
const IR::MAU::Table * gateway_context(int &idx) const
Definition ir/gateway_control_flow.cpp:21
Definition visitor.h:463
Definition cstring.h:85
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21