#undef OP
};
- // Deprecated. Use Visitor
- template <typename T> struct DefaultVisitor : public IVisitor<T>
- {
- virtual ~DefaultVisitor() = default;
-
-#define OP(Name) \
- T visit(const Name *) override { throw std::runtime_error{"NYI"}; }
-#include "coco/IR/Op.lst"
-#undef OP
- };
-
template <typename T> T accept(IVisitor<T> *v) const
{
#define OP(Name) \
namespace
{
-struct IsAvgPool2D : public coco::Op::DefaultVisitor<bool>
+struct IsAvgPool2D : public coco::Op::Visitor<bool>
{
bool visit(const coco::AvgPool2D *) override { return true; }
};
namespace
{
-struct IsConv2D : public coco::Op::DefaultVisitor<bool>
+struct IsConv2D : public coco::Op::Visitor<bool>
{
bool visit(const coco::Conv2D *) override { return true; }
};
namespace
{
-struct IsMaxPool2D : public coco::Op::DefaultVisitor<bool>
+struct IsMaxPool2D : public coco::Op::Visitor<bool>
{
bool visit(const coco::MaxPool2D *) override { return true; }
};
namespace
{
-struct IsPadF : public coco::Op::DefaultVisitor<bool>
+struct IsPadF : public coco::Op::Visitor<bool>
{
bool visit(const coco::PadF *) override { return true; }
};
namespace
{
-struct IsReLU : public coco::Op::DefaultVisitor<bool>
+struct IsReLU : public coco::Op::Visitor<bool>
{
bool visit(const coco::ReLU *) override { return true; }
};
namespace
{
-struct IsReLU6 : public coco::Op::DefaultVisitor<bool>
+struct IsReLU6 : public coco::Op::Visitor<bool>
{
bool visit(const coco::ReLU6 *) override { return true; }
};