P4C
The P4 Compiler
|
A packet that is either presented to a parser or emitted from a deparser. More...
#include <trace_event_types.h>
Public Types | |
enum class | Direction { In , Out } |
Public Member Functions | |
Packet (const Direction &direction, const IR::Expression *packetValue) | |
Packet (const Packet &)=default | |
Packet (Packet &&)=default | |
const Packet * | apply (Transform &visitor) const override |
Applies the given IR transform to the expressions in this trace event. | |
const Packet * | evaluate (const Model &model, bool doComplete) const override |
Packet & | operator= (const Packet &)=default |
Packet & | operator= (Packet &&)=default |
const Packet * | subst (const SymbolicEnv &env) const override |
Public Member Functions inherited from P4::P4Tools::TraceEvent | |
Public Member Functions inherited from P4::ICastable | |
template<typename T > | |
T & | as () |
Tries to convert the class to type T. A BUG occurs if the cast fails. | |
template<typename T > | |
const T & | as () const |
Tries to convert the class to type T. A BUG occurs if the cast fails. | |
template<typename T > | |
T * | checkedTo () |
Performs a checked cast. A BUG occurs if the cast fails. | |
template<typename T > | |
const T * | checkedTo () const |
Performs a checked cast. A BUG occurs if the cast fails. | |
Public Member Functions inherited from P4::RTTI::Base | |
template<typename T > | |
bool | is () const noexcept |
virtual bool | isA (TypeId typeId) const noexcept=0 |
template<typename T > | |
const T * | to () const noexcept |
Same as to , but returns const pointer to T. | |
template<typename T > | |
T * | to () noexcept |
virtual TypeId | typeId () const noexcept=0 |
Protected Member Functions | |
DECLARE_TYPEINFO (Packet, TraceEvent) | |
void | print (std::ostream &os) const override |
Prints this trace event to the given ostream. | |
Protected Member Functions inherited from P4::P4Tools::TraceEvent | |
DECLARE_TYPEINFO (TraceEvent) | |
Protected Member Functions inherited from P4::RTTI::Base | |
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
A packet that is either presented to a parser or emitted from a deparser.
|
strong |
Applies the given IR transform to the expressions in this trace event.
Reimplemented from P4::P4Tools::TraceEvent.
|
nodiscardoverridevirtual |
Evaluates expressions in the body of this trace event for their concrete value in the given model. A BUG occurs if there are any variables that are unbound by the given model.
Reimplemented from P4::P4Tools::TraceEvent.
|
overrideprotectedvirtual |
Prints this trace event to the given ostream.
Implements P4::P4Tools::TraceEvent.
|
nodiscardoverridevirtual |
Substitutes state variables in the body of this trace event for their symbolic value in the given symbolic environment. Variables that are unbound by the given environment are left untouched.
Reimplemented from P4::P4Tools::TraceEvent.