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();
151 bool isInProgramTree();
174 TreeNodePtr locateDescendantTreeNode(ProgramNodePtr program_node);
183 void setChildSequenceLocked(
bool isChildSequenceLocked);
224 int traverse(std::function<
int(ProgramNodePtr,
int,
int)> nodeVisitor);
227 friend class DataSwitch;
234 #endif // AUBO_SCOPE_TREE_NODE_H ARCS_CLASS_FORWARD(GripForceCapability)