1#ifndef BACKENDS_P4TOOLS_COMMON_LIB_TRACE_EVENT_H_
2#define BACKENDS_P4TOOLS_COMMON_LIB_TRACE_EVENT_H_
6#include "backends/p4tools/common/lib/model.h"
7#include "backends/p4tools/common/lib/symbolic_env.h"
9#include "lib/castable.h"
16 friend std::ostream &operator<<(std::ostream &os,
const TraceEvent &event);
19 virtual ~TraceEvent() =
default;
32 [[nodiscard]]
virtual const TraceEvent *
evaluate(
const Model &model,
bool doComplete)
const;
36 virtual void print(std::ostream &)
const = 0;
38 DECLARE_TYPEINFO(TraceEvent);