Returns pre_number for the new node.
(&mut self, ancestor: u32, block: Block)
| 77 | |
| 78 | /// Returns pre_number for the new node. |
| 79 | fn push(&mut self, ancestor: u32, block: Block) -> u32 { |
| 80 | // Virtual root should be already included. |
| 81 | debug_assert!(!self.nodes.is_empty()); |
| 82 | |
| 83 | let pre_number = self.nodes.len() as u32; |
| 84 | |
| 85 | self.nodes.push(SpanningTreeNode { |
| 86 | block: block.into(), |
| 87 | ancestor, |
| 88 | label: pre_number, |
| 89 | semi: pre_number, |
| 90 | idom: ancestor, |
| 91 | }); |
| 92 | |
| 93 | pre_number |
| 94 | } |
| 95 | } |
| 96 | |
| 97 | impl core::ops::Index<u32> for SpanningTree { |
no test coverage detected