1 #ifndef AUBO_SCOPE_TREE_NODE_H 2 #define AUBO_SCOPE_TREE_NODE_H 44 TreeNodePtr addChild(ProgramNodePtr program_node);
63 TreeNodePtr insertChildBefore(TreeNodePtr existingChildNode,
64 ProgramNodePtr program_node);
83 TreeNodePtr insertChildAfter(TreeNodePtr existingChildNode,
84 ProgramNodePtr program_node);
102 TreeNodePtr cutChildNode(TreeNodePtr child);
119 bool removeChild(TreeNodePtr program_node);
126 std::vector<TreeNodePtr> getChildren();
128 std::vector<TreeNodePtr> getChildrenNotSuppressed();
133 TreeNodePtr getParent();
140 ProgramNodePtr getProgramNode();
164 TreeNodePtr locateDescendantTreeNode(ProgramNodePtr program_node);
173 void setChildSequenceLocked(
bool isChildSequenceLocked);
214 int traverse(std::function<
int(ProgramNodePtr,
int,
int)> nodeVisitor);
217 friend class DataSwitch;
224 #endif // AUBO_SCOPE_TREE_NODE_H ARCS_CLASS_FORWARD(GripForceCapability)