| 127 | } |
| 128 | |
| 129 | void GraphCycles::RemoveNode(int32 node) { |
| 130 | Node* x = rep_->nodes_[node]; |
| 131 | for (int32 y : x->out.GetSequence()) { |
| 132 | rep_->nodes_[y]->in.Erase(node); |
| 133 | } |
| 134 | for (int32 y : x->in.GetSequence()) { |
| 135 | rep_->nodes_[y]->out.Erase(node); |
| 136 | } |
| 137 | x->in.Clear(); |
| 138 | x->out.Clear(); |
| 139 | rep_->free_nodes_.push_back(node); |
| 140 | } |
| 141 | |
| 142 | void* GraphCycles::GetNodeData(int32 node) const { |
| 143 | return rep_->nodes_[node]->data; |