}
public:
+ std::string model(void) const override { return "_model"; }
+ std::string compilation(void) const override { return "_compilation"; }
+
+public:
const pp::MultiLineText &def(void) const override { return _def; }
pp::LinearDocument *def(void) { return &_def; }
{
auto res = make_unique<SubnetStructImpl>();
- // TODO Fill constructor and destructor
+ auto mname = res->model();
+ auto cname = res->compilation();
+
+ res->def()->append("ANeuralNetworksModel *", mname, ";");
+ res->def()->append("ANeuralNetworksCompilation *", cname, ";");
+
+ res->ctor()->append("ANeuralNetworksModel_create(&", mname, ");");
+ res->dtor()->append("ANeuralNetworksModel_free(", mname, ");");
+
+ // TODO Construct model
res->ctor()->append(S(assert("NYI");));
- res->dtor()->append(S(assert("NYI");));
+
+ // Create compilation
+ res->ctor()->append("ANeuralNetworksCompilation_create(", mname, ", &", cname, ");");
+ res->dtor()->append("ANeuralNetworksCompilation_free(", cname, ");");
+
+ // Finalize compilation
+ res->ctor()->append("ANeuralNetworksCompilation_finish(", cname, ");");
return std::move(res);
}
{
virtual ~SubnetStruct() = default;
+ // @brief Return the field name of ANeuralNetworksModel value
+ virtual std::string model(void) const = 0;
+ // @brief Return the field name of ANeuralNetworksCompilatoin value
+ virtual std::string compilation(void) const = 0;
+
virtual const pp::MultiLineText &def(void) const = 0;
virtual const pp::MultiLineText &ctor(void) const = 0;
virtual const pp::MultiLineText &dtor(void) const = 0;