| 75 | const NodeVector& nodes() const { return node_ptrs_; } |
| 76 | |
| 77 | ExecNode* AddNode(std::unique_ptr<ExecNode> node) { |
| 78 | if (node->label().empty()) { |
| 79 | node->SetLabel(ToChars(auto_label_counter_++)); |
| 80 | } |
| 81 | node_ptrs_.push_back(node.get()); |
| 82 | nodes_.push_back(std::move(node)); |
| 83 | return nodes_.back().get(); |
| 84 | } |
| 85 | |
| 86 | Status Validate() const { |
| 87 | if (nodes_.empty()) { |