7#ifndef BACKENDS_P4TOOLS_COMMON_LIB_TRACE_EVENT_H_
8#define BACKENDS_P4TOOLS_COMMON_LIB_TRACE_EVENT_H_
12#include "backends/p4tools/common/lib/model.h"
13#include "backends/p4tools/common/lib/symbolic_env.h"
14#include "ir/visitor.h"
15#include "lib/castable.h"
22 friend std::ostream &operator<<(std::ostream &os,
const TraceEvent &event);
25 virtual ~TraceEvent() =
default;
38 [[nodiscard]]
virtual const TraceEvent *
evaluate(
const Model &model,
bool doComplete)
const;
42 virtual void print(std::ostream &)
const = 0;
44 DECLARE_TYPEINFO(TraceEvent);