nndeploy C++ API  0.2.0
nndeploy C++ API
condition.h
Go to the documentation of this file.
1 
2 #ifndef _NNDEPLOY_DAG_CONDITION_H_
3 #define _NNDEPLOY_DAG_CONDITION_H_
4 
5 #include "nndeploy/base/any.h"
6 #include "nndeploy/base/common.h"
8 #include "nndeploy/base/log.h"
9 #include "nndeploy/base/macro.h"
10 #include "nndeploy/base/object.h"
11 #include "nndeploy/base/status.h"
12 #include "nndeploy/base/string.h"
13 #include "nndeploy/dag/edge.h"
14 #include "nndeploy/dag/graph.h"
15 #include "nndeploy/dag/node.h"
16 #include "nndeploy/dag/util.h"
17 #include "nndeploy/device/buffer.h"
18 #include "nndeploy/device/device.h"
20 #include "nndeploy/device/tensor.h"
21 
22 namespace nndeploy {
23 namespace dag {
24 
26  public:
27  Condition(const std::string &name);
28  Condition(const std::string &name, std::vector<Edge *> inputs,
29  std::vector<Edge *> outputs);
30  virtual ~Condition();
31 
32  virtual base::Status init();
33  virtual base::Status deinit();
34 
35  virtual int choose() = 0;
36 
37  virtual base::Status run();
38 
39  // to json
40  using Node::serialize;
42  rapidjson::Value &json,
43  rapidjson::Document::AllocatorType &allocator);
44  // from json
45  using Node::deserialize;
46  virtual base::Status deserialize(rapidjson::Value &json);
47 
48  protected:
50 };
51 
52 } // namespace dag
53 } // namespace nndeploy
54 
55 #endif /* _NNDEPLOY_DAG_CONDITION_H_ */
virtual base::Status deserialize(rapidjson::Value &json)
Deserialize from JSON.
virtual base::Status serialize(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator)
Serialize to JSON.
virtual base::Status deinit()
Deinitialize graph.
virtual int choose()=0
Condition(const std::string &name, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
virtual base::Status run()
Run graph.
virtual base::Status executor()
Execute graph.
Condition(const std::string &name)
virtual base::Status init()
Initialize graph.
Directed Acyclic Graph Node.
Definition: graph.h:31
virtual std::string serialize()
Serialize to JSON string.
virtual base::Status deserialize(rapidjson::Value &json)
Deserialize from JSON.
#define NNDEPLOY_CC_API
api
Definition: macro.h:29