1#ifndef FREE_TENSOR_TRACK_STMT_H
2#define FREE_TENSOR_TRACK_STMT_H
24template <
class BaseClass>
class TrackStmt :
public BaseClass {
25 std::vector<Stmt> stmtStack_;
32 ASSERT(!stmtStack_.empty());
33 return stmtStack_.back();
40 if constexpr (!std::is_same_v<typename BaseClass::StmtRetType, void>) {
Definition: track_stmt.h:24
void popStmt(const Stmt &)
Definition: track_stmt.h:29
void pushStmt(const Stmt &op)
Definition: track_stmt.h:28
BaseClass::StmtRetType visitStmt(const Stmt &op) override
Definition: track_stmt.h:36
const Stmt & curStmt() const
Definition: track_stmt.h:31
#define ASSERT(expr)
Definition: except.h:152
#define MAYBE_VOID(name, expr)
Definition: maybe_void.h:25
Definition: allocator.h:9