Compute the (reduced) set of parents of node i in this graph. * * This returns the minimal subset of the parents of i whose ancestors together equal all of * i's ancestors (unless i is part of a cycle of dependencies). Note that DepGraph does not * store the set of parents; this information is inferred from the ancestor sets. * * Complexity: O(N) where N=Ancestors(i).
| 209 | * Complexity: O(N) where N=Ancestors(i).Count() (which is bounded by TxCount()). |
| 210 | */ |
| 211 | SetType GetReducedParents(DepGraphIndex i) const noexcept |
| 212 | { |
| 213 | SetType parents = Ancestors(i); |
| 214 | parents.Reset(i); |
| 215 | for (auto parent : parents) { |
| 216 | if (parents[parent]) { |
| 217 | parents -= Ancestors(parent); |
| 218 | parents.Set(parent); |
| 219 | } |
| 220 | } |
| 221 | return parents; |
| 222 | } |
| 223 | |
| 224 | /** Compute the (reduced) set of children of node i in this graph. |
| 225 | * |