}
};
+struct DepthwiseFilterEncodeLayer final
+{
+ class Return
+ {
+ public:
+ Return(loco::DepthwiseFilterEncode *node) : _node{node}
+ {
+ // DO NOTHING
+ }
+
+ public:
+ Return *perm(const loco::Permutation<loco::Domain::DepthwiseFilter> &perm)
+ {
+ using namespace loco;
+ _node->encoder(stdex::make_unique<PermutingEncoder<Domain::DepthwiseFilter>>(perm));
+ return this;
+ }
+
+ public:
+ loco::DepthwiseFilterEncode *node(void) { return _node; }
+
+ private:
+ loco::DepthwiseFilterEncode *_node;
+ };
+
+ std::unique_ptr<Return> operator()(GraphBuilder::Context *ctx)
+ {
+ auto encode_node = ctx->graph()->nodes()->create<loco::DepthwiseFilterEncode>();
+
+ encode_node->input(ctx->stack()->pop());
+
+ ctx->stack()->push(encode_node);
+
+ return stdex::make_unique<Return>(encode_node);
+ }
+};
+
struct FixedReshapeLayer final
{
class Return