Let's clean up CanonicalNodeImpl deprecated by CanonicalNodeDef.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
template <typename T> T accept(CanonicalNodeMutableVisitorBase<T> *);
};
-template <CanonicalOpcode Code> struct CanonicalNodeImpl : public CanonicalNode
-{
- virtual ~CanonicalNodeImpl() = default;
-
- uint32_t opnum(void) const final { return static_cast<uint32_t>(Code); }
- CanonicalOpcode opcode(void) const final { return Code; }
-};
-
template <CanonicalOpcode Code, template <typename T> class... Mixins>
struct CanonicalNodeDef : public virtual CanonicalNode, public Mixins<CanonicalNode>...
{
{
// temp node with multple params for ctor. loco::CanonicalOpcode::ReLU is used for simplicity
class ParamCtorNode
- : public loco::FixedArityNode<0, loco::CanonicalNodeImpl<loco::CanonicalOpcode::ReLU>>
+ : public loco::CanonicalNodeDef<loco::CanonicalOpcode::ReLU, loco::FixedArity<0>::Mixin>
{
public:
ParamCtorNode(int i, float f)