diff --git a/include/aidge/graph/Node.hpp b/include/aidge/graph/Node.hpp index e014b041fdad94f5f17d636a2da92180de59e152..715b96a82e62292e2acdc5f4201057305ce20c30 100644 --- a/include/aidge/graph/Node.hpp +++ b/include/aidge/graph/Node.hpp @@ -41,6 +41,16 @@ class GraphView; /** * @brief Object carrying the topological information of the computational graph. + * A Node contains : + * - mName: the name of the Node, should be unique + * - mViews: a set of pointers to GraphView instances including this Node instance + * - mOperator: a pointer to the Operator associated to the node + * - mParents: a vector of parent nodes, which are its inputs + * - mIdOutParents: a vector of indexes, which tells for all the parent nodes from which of their output we take the value + * - mChildren: a vector of vector of children nodes, which lists all the recipient nodes, for all of the outputs + * - mIdInChildren: a vector of vector of indexes, which gives for all the recipient nodes in which of their input the current value is taken + * - mforward: ? + * - mbackward: ? */ class Node : public std::enable_shared_from_this<Node> { private: @@ -55,6 +65,7 @@ private: } }; std::shared_ptr<DynamicAttributes> mAttrs; + std::string mName; /** Name of the Node. It should be unique. */ std::set<std::weak_ptr<GraphView>, weakCompare> mViews; /** Set of pointers to GraphView instances including this Node instance. */ const std::shared_ptr<Operator> mOperator; // Pointer to the associated Operator @@ -68,7 +79,11 @@ private: std::deque<std::function<bool()>> mBackward; public: + +#ifndef DOXYGEN_SHOULD_SKIP_THIS Node() = delete; +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + /** * @brief Construct a new Node object associated with the input Operator.