nndeploy C++ API  0.2.0
nndeploy C++ API
Public Member Functions | Protected Attributes | List of all members
nndeploy::dag::RunningCondition Class Reference

#include <running_condition.h>

Inheritance diagram for nndeploy::dag::RunningCondition:
[legend]
Collaboration diagram for nndeploy::dag::RunningCondition:
[legend]

Public Member Functions

virtual int choose ()
 
 RunningCondition (const std::string &name)
 
 RunningCondition (const std::string &name, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 
virtual ~RunningCondition ()
 
- Public Member Functions inherited from nndeploy::dag::Condition
 Condition (const std::string &name)
 
 Condition (const std::string &name, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 
virtual base::Status deinit ()
 Deinitialize graph. More...
 
virtual base::Status deserialize (const std::string &json_str)
 Deserialize from JSON string. More...
 
virtual base::Status deserialize (rapidjson::Value &json)
 Deserialize from JSON. More...
 
virtual base::Status deserialize (rapidjson::Value &json)
 Deserialize from JSON. More...
 
virtual base::Status init ()
 Initialize graph. More...
 
virtual base::Status run ()
 Run graph. More...
 
virtual std::string serialize ()
 Serialize to JSON string. More...
 
virtual base::Status serialize (rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator)
 Serialize to JSON. More...
 
virtual base::Status serialize (rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator)
 Serialize to JSON. More...
 
virtual ~Condition ()
 
- Public Member Functions inherited from nndeploy::dag::Graph
base::Status addAudioUrl (const std::string &url)
 Add audio URL. More...
 
EdgeWrapperaddEdge (Edge *edge, bool is_external=true)
 Add edge to graph. More...
 
EdgeWrapperaddEdgeSharedPtr (std::shared_ptr< Edge > edge)
 Add edge to graph (shared pointer version) More...
 
base::Status addImageUrl (const std::string &url)
 Add image URL. More...
 
base::Status addModelUrl (const std::string &url)
 Add model URL. More...
 
base::Status addNode (Node *node, bool is_external=true)
 Add node to graph. More...
 
base::Status addNodeInputAndOutput (NodeWrapper *node_wrapper, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 Add node's input and output. More...
 
base::Status addNodeSharedPtr (std::shared_ptr< Node > node)
 Add node to graph (shared pointer version) More...
 
base::Status addOtherUrl (const std::string &url)
 Add other type URL. More...
 
virtual base::Status addResourceWithoutState (const std::string &key, const base::Any &value)
 Add stateless global resource. More...
 
virtual base::Status addResourceWithState (const std::string &key, Edge *edge)
 Add stateful global resource. More...
 
base::Status addVideoUrl (const std::string &url)
 Add video URL. More...
 
base::Status connect (Node *predecessor, Node *successor, int predecessor_port=0, int successor_port=0)
 Connect two nodes. More...
 
EdgecreateEdge (const std::string &name)
 Create edge. More...
 
std::shared_ptr< EdgecreateEdgeSharedPtr (const std::string &name)
 Create edge (shared pointer version) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const NodeDesc &desc, base::InferenceType type)
 Template method: Create inference node by node description. More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, const std::string &input_name, const std::string &output_name)
 Template method: Create inference node (string input/output names) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, const std::string &input_name, Edge *output)
 Template method: Create inference node (string input name, edge output) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, Edge *input, const std::string &output_name)
 Template method: Create inference node (edge input, string output name) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, Edge *input, Edge *output)
 Template method: Create inference node (single input single output) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::initializer_list< Edge * > inputs, std::initializer_list< Edge * > outputs)
 Template method: Create inference node (initializer list inputs/outputs) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::initializer_list< Edge * > inputs, std::initializer_list< std::string > output_names)
 Template method: Create inference node (edge initializer list input, string initializer list output names) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::initializer_list< std::string > input_names, std::initializer_list< Edge * > outputs)
 Template method: Create inference node (string initializer list input names, edge initializer list outputs) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::initializer_list< std::string > input_names, std::initializer_list< std::string > output_names)
 Template method: Create inference node (string initializer list input/output names) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 Template method: Create inference node (multiple inputs/outputs) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::vector< Edge * > inputs, std::vector< std::string > output_names)
 Template method: Create inference node (edge input list, string output name list) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::vector< std::string > input_names, std::vector< Edge * > outputs)
 Template method: Create inference node (string input name list, edge output list) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateInfer (const std::string &name, base::InferenceType type, std::vector< std::string > input_names, std::vector< std::string > output_names)
 Template method: Create inference node (string input/output name lists) More...
 
NodecreateNode (const NodeDesc &desc)
 Create node by node description. More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const NodeDesc &desc, Args &...args)
 Template method: Create node of specified type by node description. More...
 
NodecreateNode (const std::string &key, const std::string &name="")
 Create node by key. More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, const std::string &input_name, const std::string &output_name, Args &...args)
 Template method: Create node (string input/output names) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, const std::string &input_name, Edge *output, Args &...args)
 Template method: Create node (string input name, edge output) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, Edge *input, const std::string &output_name, Args &...args)
 Template method: Create node (edge input, string output name) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, Edge *input, Edge *output, Args &...args)
 Template method: Create node (single input single output) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::initializer_list< Edge * > inputs, std::initializer_list< Edge * > outputs, Args &...args)
 Template method: Create node (initializer list inputs/outputs) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::initializer_list< Edge * > inputs, std::initializer_list< std::string > output_names, Args &...args)
 Template method: Create node (edge initializer list input, string initializer list output names) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::initializer_list< std::string > input_names, std::initializer_list< Edge * > outputs, Args &...args)
 Template method: Create node (string initializer list input names, edge initializer list outputs) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::initializer_list< std::string > input_names, std::initializer_list< std::string > output_names, Args &...args)
 Template method: Create node (string initializer list input/output names) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::vector< Edge * > inputs, std::vector< Edge * > outputs, Args &...args)
 Template method: Create node (multiple inputs/outputs) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::vector< Edge * > inputs, std::vector< std::string > output_names, Args &...args)
 Template method: Create node (edge input list, string output name list) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::vector< std::string > input_names, std::vector< Edge * > outputs, Args &...args)
 Template method: Create node (string input name list, edge output list) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name, std::vector< std::string > input_names, std::vector< std::string > output_names, Args &...args)
 Template method: Create node (string input/output name lists) More...
 
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< Node, T >{}, int >::type = 0>
NodecreateNode (const std::string &name="", Args &...args)
 Template method: Create node of specified type. More...
 
NodecreateNode4Py (const NodeDesc &desc)
 Create node for Python by node description. More...
 
NodecreateNode4Py (const std::string &key, const std::string &name="")
 Create node for Python. More...
 
virtual base::Status defaultParam ()
 Set default parameters. More...
 
base::Status deleteEdge (Edge *edge)
 Delete edge from graph. More...
 
base::Status deleteNode (Node *node)
 Delete node from graph. More...
 
virtual base::Status deserialize (const std::string &json_str)
 Deserialize from JSON string. More...
 
base::Status disconnect (Node *predecessor, Node *successor, int predecessor_port=0, int successor_port=0)
 Disconnect two nodes. More...
 
base::Status dump (std::ostream &oss=std::cout)
 Print graph information. More...
 
virtual std::vector< Edge * > forward ()
 Forward propagation (no input version) More...
 
virtual std::vector< Edge * > forward (Edge *input)
 Forward propagation (single input version) More...
 
virtual std::vector< Edge * > forward (std::vector< Edge * > inputs)
 Forward propagation (multiple inputs version) More...
 
std::vector< std::string > getAudioUrl () const
 Get all audio URL list. More...
 
EdgegetEdge (const std::string &name)
 Get edge by name. More...
 
int getEdgeQueueDropCount ()
 Get edge queue drop count. More...
 
int getEdgeQueueMaxSize ()
 Get maximum size of edge queue. More...
 
base::QueueOverflowPolicy getEdgeQueueOverflowPolicy ()
 Get edge queue overflow policy. More...
 
std::shared_ptr< EdgegetEdgeSharedPtr (const std::string &name)
 Get edge by name (shared pointer version) More...
 
EdgeWrappergetEdgeWrapper (const std::string &name)
 Get edge wrapper by name. More...
 
EdgeWrappergetEdgeWrapper (Edge *edge)
 Get edge wrapper. More...
 
std::shared_ptr< base::ParamgetExternalParam (const std::string &key)
 Get external parameter. More...
 
bool getGraphNodeShareStream ()
 Get whether graph nodes share stream. More...
 
std::vector< std::string > getImageUrl () const
 Get all image URL list. More...
 
NodegetInferNode (int index)
 Get inference node by index. More...
 
NodegetInputNode (int index)
 Get input node by index. More...
 
virtual int getLoopCount ()
 Get loop count. More...
 
virtual std::map< std::string, int > getLoopCountMap ()
 Get loop count map. More...
 
virtual bool getLoopMaxFlag ()
 Get loop max flag. More...
 
std::vector< std::string > getModelUrl () const
 Get all model URL list. More...
 
NodegetNode (const std::string &name)
 Get node by name. More...
 
NodegetNode (int index)
 Get node by index. More...
 
NodegetNodeByKey (const std::string &key)
 Get node by key. More...
 
int getNodeCount ()
 Get total number of nodes. More...
 
base::ParamgetNodeParam (const std::string &node_name)
 Get node parameter. More...
 
std::shared_ptr< base::ParamgetNodeParamSharedPtr (const std::string &node_name)
 Get node parameter (shared pointer version) More...
 
std::vector< Node * > getNodes ()
 Get all nodes. More...
 
std::vector< Node * > getNodesByKey (const std::string &key)
 Get all nodes matching the key. More...
 
std::shared_ptr< NodegetNodeSharedPtr (const std::string &name)
 Get node by name (shared pointer version) More...
 
std::vector< std::string > getNodesName ()
 Get all node names. More...
 
std::vector< std::string > getNodesNameRecursive ()
 Recursively get all node names (including nodes in subgraphs) More...
 
std::vector< Node * > getNodesRecursive ()
 Recursively get all nodes (including nodes in subgraphs) More...
 
std::map< std::string, std::shared_ptr< RunStatus > > getNodesRunStatus ()
 Get run status of all nodes. More...
 
std::map< std::string, std::shared_ptr< RunStatus > > getNodesRunStatusRecursive ()
 Recursively get run status of all nodes (including nodes in subgraphs) More...
 
virtual std::map< std::string, std::map< std::string, std::string > > getNodeValue ()
 Get node value map. More...
 
NodeWrappergetNodeWrapper (const std::string &name)
 Get node wrapper by name. More...
 
NodeWrappergetNodeWrapper (Node *node)
 Get node wrapper. More...
 
std::vector< std::string > getOtherUrl () const
 Get all other type URL list. More...
 
NodegetOutputNode (int index)
 Get output node by index. More...
 
virtual base::Any & getResourceWithoutState (const std::string &key)
 Get stateless global resource. More...
 
virtual EdgegetResourceWithState (const std::string &key)
 Get stateful global resource. More...
 
virtual std::set< std::string > getUnusedNodeNames ()
 Get unused node name set. More...
 
std::vector< std::string > getVideoUrl () const
 Get all video URL list. More...
 
 Graph (const std::string &name)
 Constructor. More...
 
 Graph (const std::string &name, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 Constructor. More...
 
virtual bool interrupt ()
 Interrupt execution. More...
 
bool isForwardApiOk ()
 Check if forward API is working properly. More...
 
base::Status markInputEdge (std::vector< Edge * > inputs)
 Mark input edges. More...
 
base::Status markOutputEdge (std::vector< Edge * > outputs)
 Mark output edges. More...
 
virtual std::vector< Edge * > operator() ()
 Operator overload (no input version) More...
 
virtual std::vector< Edge * > operator() (Edge *input)
 Operator overload (single input version) More...
 
virtual std::vector< Edge * > operator() (std::vector< Edge * > inputs)
 Operator overload (multiple inputs version) More...
 
base::Status removeAudioUrl (const std::string &url)
 Remove audio URL. More...
 
base::Status removeImageUrl (const std::string &url)
 Remove image URL. More...
 
virtual void removeInOutNode ()
 Remove input/output nodes. More...
 
base::Status removeModelUrl (const std::string &url)
 Remove model URL. More...
 
base::Status removeOtherUrl (const std::string &url)
 Remove other type URL. More...
 
virtual void removeUnusedNodeNames (const std::set< std::string > &node_names)
 Remove unused node name set. More...
 
virtual void removeUnusedNodeNames (const std::string &node_name)
 Remove unused node name. More...
 
base::Status removeVideoUrl (const std::string &url)
 Remove video URL. More...
 
base::Status setEdgeQueueMaxSize (int queue_max_size)
 Set maximum size of edge queue. More...
 
base::Status setEdgeQueueOverflowPolicy (base::QueueOverflowPolicy policy, int drop_count=1)
 Set edge queue overflow policy. More...
 
base::Status setExternalParam (const std::string &key, std::shared_ptr< base::Param > param)
 Set external parameter. More...
 
void setGraphNodeShareStream (bool flag)
 Set whether graph nodes share stream. More...
 
virtual base::Status setInput (Edge *input, int index=-1)
 Set input edge. More...
 
virtual base::Status setInputs (std::vector< Edge * > inputs)
 Set input edge list. More...
 
virtual base::Status setInputSharedPtr (std::shared_ptr< Edge > input, int index=-1)
 Set input edge (shared pointer version) More...
 
virtual base::Status setInputsSharedPtr (std::vector< std::shared_ptr< Edge >> inputs)
 Set input edge list (shared pointer version) More...
 
virtual void setLoopCount (int loop_count)
 Set loop count. More...
 
virtual void setLoopMaxFlag (bool is_loop_max_flag)
 Set loop max flag. More...
 
base::Status setNodeDesc (Node *node, const NodeDesc &desc)
 Set node description. More...
 
base::Status setNodeParallelType (const std::string &node_name, base::ParallelType parallel_type)
 Set node parallel type. More...
 
base::Status setNodeParam (const std::string &node_name, base::Param *param)
 Set node parameter. More...
 
base::Status setNodeParamSharedPtr (const std::string &node_name, std::shared_ptr< base::Param > param)
 Set node parameter (shared pointer version) More...
 
virtual void setNodeValue (const std::string &node_name, const std::string &key, const std::string &value)
 Set node value. More...
 
virtual void setNodeValue (const std::string &node_value_str)
 Set node value (string format) More...
 
virtual void setNodeValue (std::map< std::string, std::map< std::string, std::string >> node_value_map)
 Set node value map. More...
 
virtual base::Status setOutput (Edge *output, int index=-1)
 Set output edge. More...
 
virtual base::Status setOutputs (std::vector< Edge * > outputs)
 Set output edge list. More...
 
virtual base::Status setOutputSharedPtr (std::shared_ptr< Edge > output, int index=-1)
 Set output edge (shared pointer version) More...
 
virtual base::Status setOutputsSharedPtr (std::vector< std::shared_ptr< Edge >> outputs)
 Set output edge list (shared pointer version) More...
 
virtual void setTraceFlag (bool flag)
 Set trace flag. More...
 
virtual void setUnusedNodeNames (const std::set< std::string > &node_names)
 Set unused node name set. More...
 
virtual void setUnusedNodeNames (const std::string &node_name)
 Set unused node name. More...
 
virtual bool synchronize ()
 Synchronize execution. More...
 
virtual base::Status toStaticGraph ()
 Convert to static graph. More...
 
std::vector< Edge * > trace ()
 Trace execution (no input version) More...
 
std::vector< Edge * > trace (Edge *input)
 Trace execution (single input version) More...
 
std::vector< Edge * > trace (std::vector< Edge * > inputs)
 Trace execution (multiple inputs version) More...
 
base::Status updateNodeIO (Node *node, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 Update node's input and output. More...
 
base::Status updteEdge (EdgeWrapper *edge_wrapper, Edge *edge, bool is_external=true)
 Update edge. More...
 
virtual ~Graph ()
 Destructor. More...
 
- Public Member Functions inherited from nndeploy::dag::Node
base::Status addDropdownParam (const std::string &dropdown_param, const std::vector< std::string > &dropdown_values)
 Add dropdown parameter. More...
 
base::Status addIoParam (const std::string &io_param)
 Add IO parameter. More...
 
base::Status addRequiredParam (const std::string &required_param)
 Add required parameter. More...
 
base::Status addUiParam (const std::string &ui_param)
 Add UI parameter. More...
 
bool checkInputs (std::vector< Edge * > &inputs)
 Check input edges. More...
 
virtual bool checkInterruptStatus ()
 Check interrupt status. More...
 
bool checkOutputs (std::vector< Edge * > &outputs)
 Check output edges. More...
 
bool checkOutputs (std::vector< std::string > &outputs_name)
 Check output edge names. More...
 
base::Status clearDropdownParams ()
 Clear dropdown parameters. More...
 
virtual void clearInterrupt ()
 Clear interrupt status. More...
 
base::Status clearIoParams ()
 Clear IO parameters. More...
 
base::Status clearRequiredParams ()
 Clear required parameters. More...
 
base::Status clearUiParams ()
 Clear UI parameters. More...
 
virtual EdgecreateInternalOutputEdge (const std::string &name)
 Create internal output edge. More...
 
virtual EdgecreateResourceWithState (const std::string &key)
 Create stateful resource. More...
 
std::vector< Edge * > getAllInput ()
 Get all input edges. More...
 
std::vector< Edge * > getAllOutput ()
 Get all output edges. More...
 
size_t getCompletedSize ()
 Get completed count. More...
 
CompositeNodegetCompositeNode ()
 Get parent composite node. More...
 
bool getConstructed ()
 Get whether it's constructed. More...
 
bool getDebugFlag ()
 Get debug flag. More...
 
std::string getDesc ()
 Get node description. More...
 
std::string getDeveloper ()
 Get developer information. More...
 
virtual base::DeviceType getDeviceType ()
 Get device type. More...
 
std::map< std::string, std::vector< std::string > > getDropdownParams ()
 Get dropdown parameters. More...
 
GraphgetGraph ()
 Get parent graph. More...
 
bool getGraphFlag ()
 Get graph flag. More...
 
bool getInitialized ()
 Get whether it's initialized. More...
 
EdgegetInput (int index=0)
 Get input edge. More...
 
int getInputCount ()
 Get input edge count. More...
 
template<typename T >
T * getInputData (int index=0)
 Get input data (template method) More...
 
int getInputIndex (const std::string &name)
 Get input edge index by name. More...
 
std::string getInputName (int index=0)
 Get input edge name at specified index. More...
 
std::vector< std::string > getInputNames ()
 Get all input edge names. More...
 
std::vector< std::shared_ptr< EdgeTypeInfo > > getInputTypeInfo ()
 Get input type information. More...
 
std::vector< std::string > getIoParams ()
 Get IO parameter list. More...
 
IOType getIoType ()
 Get IO type. More...
 
std::string getKey ()
 Get node key. More...
 
virtual int64_t getMemorySize ()
 Get memory size. More...
 
std::string getName ()
 Get node name. More...
 
NodeType getNodeType ()
 Get node type. More...
 
EdgegetOutput (int index=0)
 Get output edge. More...
 
int getOutputCount ()
 Get output edge count. More...
 
int getOutputIndex (const std::string &name)
 Get output edge index by name. More...
 
std::string getOutputName (int index=0)
 Get output edge name at specified index. More...
 
std::vector< std::string > getOutputNames ()
 Get all output edge names. More...
 
std::vector< std::shared_ptr< EdgeTypeInfo > > getOutputTypeInfo ()
 Get output type information. More...
 
virtual base::ParallelType getParallelType ()
 Get parallel type. More...
 
virtual base::ParamgetParam ()
 Get parameter. More...
 
virtual base::Status getParam (const std::string &key, base::Any &any)
 Get parameter (Any type) More...
 
virtual std::shared_ptr< base::ParamgetParamSharedPtr ()
 Get parameter (shared pointer) More...
 
virtual std::vector< std::string > getRealOutputsName ()
 Get real output names. More...
 
std::vector< std::string > getRequiredParams ()
 Get required parameter list. More...
 
template<typename T >
getResourceWithoutState (const std::string &key)
 Get stateless resource (template method) More...
 
template<typename T >
T * getResourceWithState (const std::string &key)
 Get stateful resource (template method) More...
 
size_t getRunSize ()
 Get run count. More...
 
virtual std::shared_ptr< RunStatusgetRunStatus ()
 Get run status. More...
 
std::string getSource ()
 Get source information. More...
 
device::StreamgetStream ()
 Get compute stream. More...
 
bool getTimeProfileFlag ()
 Get time profile flag. More...
 
bool getTraceFlag ()
 Get trace flag. More...
 
std::vector< std::string > getUiParams ()
 Get UI parameter list. More...
 
std::string getVersion ()
 Get version number. More...
 
bool isDynamicInput ()
 Check if it's dynamic input. More...
 
bool isDynamicOutput ()
 Check if it's dynamic output. More...
 
bool isInputsChanged (std::vector< Edge * > inputs)
 Check if inputs changed. More...
 
bool isRunning ()
 Check if it's running. More...
 
virtual base::Status loadFile (const std::string &path)
 Load from file. More...
 
 Node (const std::string &name)
 Constructor. More...
 
 Node (const std::string &name, std::vector< Edge * > inputs, std::vector< Edge * > outputs)
 Constructor. More...
 
base::Status removeDropdownParam (const std::string &dropdown_param)
 Remove dropdown parameter. More...
 
base::Status removeIoParam (const std::string &io_param)
 Remove IO parameter. More...
 
base::Status removeRequiredParam (const std::string &required_param)
 Remove required parameter. More...
 
base::Status removeUiParam (const std::string &ui_param)
 Remove UI parameter. More...
 
virtual base::Status saveFile (const std::string &path)
 Save to file. More...
 
base::Status setCompositeNode (CompositeNode *composite_node)
 Set parent composite node. More...
 
void setDebugFlag (bool flag)
 Set debug flag. More...
 
void setDesc (const std::string &desc)
 Set node description. More...
 
void setDeveloper (const std::string &developer)
 Set developer information. More...
 
virtual base::Status setDeviceType (base::DeviceType device_type)
 Set device type. More...
 
base::Status setDropdownParams (const std::map< std::string, std::vector< std::string >> &dropdown_params)
 Set dropdown parameters. More...
 
void setDynamicInput (bool is_dynamic_input)
 Set whether it's dynamic input. More...
 
void setDynamicOutput (bool is_dynamic_output)
 Set whether it's dynamic output. More...
 
base::Status setGraph (Graph *graph)
 Set parent graph. More...
 
void setGraphFlag (bool flag)
 Set graph flag. More...
 
void setInitializedFlag (bool flag)
 Set initialized flag. More...
 
void setInnerFlag (bool flag)
 Set inner flag. More...
 
virtual base::Status setInputName (const std::string &name, int index=0)
 Set input edge name. More...
 
virtual base::Status setInputNames (const std::vector< std::string > &names)
 Set all input edge names. More...
 
base::Status setInputTypeInfo (std::shared_ptr< EdgeTypeInfo > input_type_info, std::string desc="")
 Set input type information. More...
 
template<typename T >
base::Status setInputTypeInfo (std::string desc="")
 Set input type information (template method) More...
 
base::Status setIoParams (const std::vector< std::string > &io_params)
 Set IO parameter list. More...
 
void setIoType (IOType io_type)
 Set IO type. More...
 
virtual base::Status setIterInput (Edge *input, int index=-1)
 Set iteration input edge. More...
 
void setKey (const std::string &key)
 Set node key. More...
 
virtual base::Status setMemory (device::Buffer *buffer)
 Set memory buffer. More...
 
void setName (const std::string &name)
 Set node name. More...
 
void setNodeType (NodeType node_type)
 Set node type. More...
 
template<typename T >
base::Status setOutputData (T *obj, int index=0, bool is_external=true)
 Set output data (template method) More...
 
virtual base::Status setOutputName (const std::string &name, int index=0)
 Set output edge name. More...
 
virtual base::Status setOutputNames (const std::vector< std::string > &names)
 Set all output edge names. More...
 
base::Status setOutputTypeInfo (std::shared_ptr< EdgeTypeInfo > output_type_info, std::string desc="")
 Set output type information. More...
 
template<typename T >
base::Status setOutputTypeInfo (std::string desc="")
 Set output type information (template method) More...
 
virtual base::Status setParallelType (const base::ParallelType &paralle_type)
 Set parallel type. More...
 
virtual base::Status setParam (base::Param *param)
 Set parameter. More...
 
virtual base::Status setParam (const std::string &key, base::Any &any)
 Set parameter (Any type) More...
 
virtual base::Status setParam (const std::string &key, const std::string &value)
 Set parameter (string type) More...
 
virtual base::Status setParamSharedPtr (std::shared_ptr< base::Param > param)
 Set parameter (shared pointer) More...
 
base::Status setRequiredParams (const std::vector< std::string > &required_params)
 Set required parameter list. More...
 
template<typename T >
base::Status setResourceWithState (const std::string &key, T *value, bool is_external=true)
 Set stateful resource (template method) More...
 
void setRunningFlag (bool flag)
 Set running flag. More...
 
void setSource (const std::string &source)
 Set source information. More...
 
void setStream (device::Stream *stream)
 Set compute stream. More...
 
void setTimeProfileFlag (bool flag)
 Set time profile flag. More...
 
base::Status setUiParams (const std::vector< std::string > &ui_params)
 Set UI parameter list. More...
 
base::Status setVersion (const std::string &version)
 Set version number. More...
 
virtual base::EdgeUpdateFlag updateInput ()
 Update input. More...
 
virtual ~Node ()
 

Protected Attributes

int next_i_ = 0
 
- Protected Attributes inherited from nndeploy::dag::Graph
std::vector< std::string > audio_url_
 Audio URL list. More...
 
std::vector< EdgeWrapper * > edge_repository_
 Edge repository. More...
 
std::shared_ptr< Executorexecutor_
 Executor. More...
 
std::map< std::string, std::shared_ptr< base::Param > > external_param_repository_
 External parameter repository. More...
 
std::vector< std::string > image_url_
 Image URL list. More...
 
bool is_forward_api_ok_ = true
 Whether forward API is working properly. More...
 
bool is_graph_node_share_stream_ = true
 Whether graph nodes share stream. More...
 
bool is_loop_max_flag_ = true
 Whether it's loop max flag. More...
 
bool is_remove_in_out_node_ = false
 Whether to remove input/output nodes. More...
 
std::vector< std::string > model_url_
 Model URL list. More...
 
std::vector< NodeWrapper * > node_repository_
 Node repository. More...
 
std::map< std::string, std::map< std::string, std::string > > node_value_map_
 
std::vector< std::string > other_url_
 Other URL list. More...
 
int queue_drop_count_ = 1
 Queue drop count. More...
 
int queue_max_size_ = 16
 Queue maximum size. More...
 
base::QueueOverflowPolicy queue_overflow_policy_
 Queue overflow policy. More...
 
std::map< std::string, Edge * > resource_with_state_
 Global resources (stateful) More...
 
std::map< std::string, base::Any > resource_without_state_
 Global resources (stateless) More...
 
std::vector< NodeWrapper * > run_node_repository_
 Run node repository. More...
 
std::vector< std::shared_ptr< Edge > > shared_edge_repository_
 Shared edge repository. More...
 
std::vector< std::shared_ptr< Node > > shared_node_repository_
 Shared node repository. More...
 
std::set< std::string > unused_node_names_
 Unused node name set. More...
 
std::set< std::string > used_edge_names_
 Used edge name set. More...
 
std::set< std::string > used_node_names_
 Used node name set. More...
 
std::vector< std::string > video_url_
 Video URL list. More...
 
- Protected Attributes inherited from nndeploy::dag::Node
size_t completed_size_ = 0
 Completed count. More...
 
CompositeNodecomposite_node_ = nullptr
 Parent composite node pointer. More...
 
bool constructed_ = false
 Whether constructed. More...
 
std::string desc_
 Node description. More...
 
std::string developer_
 Developer information. More...
 
base::DeviceType device_type_
 Device type. More...
 
std::map< std::string, std::vector< std::string > > dropdown_params_
 Dropdown parameter mapping. More...
 
std::map< std::string, std::shared_ptr< base::Param > > external_param_
 External parameter mapping. More...
 
Graphgraph_ = nullptr
 Parent graph pointer. More...
 
bool initialized_ = false
 Whether initialized. More...
 
std::vector< std::shared_ptr< EdgeTypeInfo > > input_type_info_
 Input type information. More...
 
std::vector< Edge * > inputs_
 Input edge list. More...
 
std::map< std::string, Edge * > internal_outputs_
 Internal output edge mapping. More...
 
std::vector< std::string > io_params_
 IO parameter list. More...
 
IOType io_type_ = IOType::kIOTypeNone
 IO type. More...
 
bool is_composite_node_ = false
 Whether it's composite node. More...
 
bool is_condition_ = false
 Whether it's condition node. More...
 
bool is_debug_ = false
 Whether debugging is enabled. More...
 
bool is_dynamic_input_ = false
 When node input/output is dynamic, cannot set input_type_info_ and output_type_info_. More...
 
bool is_dynamic_output_ = false
 Whether it's dynamic output. More...
 
bool is_external_stream_ = false
 Whether it's external stream. More...
 
bool is_graph_ = false
 Whether it's graph node. More...
 
bool is_inner_ = false
 Whether it's internal node in graph. More...
 
bool is_loop_ = false
 Whether it's loop node. More...
 
bool is_running_ = false
 Whether running. More...
 
bool is_time_profile_ = false
 Whether time profiling is enabled. More...
 
bool is_trace_ = false
 Whether tracing is enabled (when serialized to json, it must be static graph) More...
 
std::string key_
 Node key. More...
 
int loop_count_ = -1
 Loop count. More...
 
std::string name_
 Node name. More...
 
NodeType node_type_ = NodeType::kNodeTypeIntermediate
 Node type. More...
 
std::vector< std::shared_ptr< EdgeTypeInfo > > output_type_info_
 Output type information. More...
 
std::vector< Edge * > outputs_
 Output edge list. More...
 
base::ParallelType parallel_type_ = base::kParallelTypeNone
 Parallel type. More...
 
bool parallel_type_set_ = false
 Whether parallel type is set. More...
 
std::shared_ptr< base::Paramparam_
 Node parameters. More...
 
std::vector< std::string > required_params_
 Required parameter list. More...
 
size_t run_size_ = 0
 Run count. More...
 
std::string source_
 Source information. More...
 
std::atomic< bool > stop_ {false}
 Stop flag. More...
 
device::Streamstream_ = nullptr
 Compute stream pointer. More...
 
bool traced_ = false
 Whether traced. More...
 
std::vector< std::string > ui_params_
 UI parameter list. More...
 
std::string version_ = "1.0.0"
 Version number. More...
 

Additional Inherited Members

- Protected Member Functions inherited from nndeploy::dag::Condition
virtual base::Status executor ()
 Execute graph. More...
 
- Protected Member Functions inherited from nndeploy::dag::Graph
virtual base::Status construct ()
 Construct graph. More...
 
virtual base::Status removeUnusedNodeAndEdge ()
 Remove unused nodes and edges. More...
 

Detailed Description

Definition at line 21 of file running_condition.h.

Constructor & Destructor Documentation

◆ RunningCondition() [1/2]

nndeploy::dag::RunningCondition::RunningCondition ( const std::string &  name)

◆ RunningCondition() [2/2]

nndeploy::dag::RunningCondition::RunningCondition ( const std::string &  name,
std::vector< Edge * >  inputs,
std::vector< Edge * >  outputs 
)

◆ ~RunningCondition()

virtual nndeploy::dag::RunningCondition::~RunningCondition ( )
virtual

Member Function Documentation

◆ choose()

virtual int nndeploy::dag::RunningCondition::choose ( )
virtual

Member Data Documentation

◆ next_i_

int nndeploy::dag::RunningCondition::next_i_ = 0
protected

Definition at line 31 of file running_condition.h.


The documentation for this class was generated from the following file: