| 164 | |
| 165 | template <typename Data> |
| 166 | decltype(auto) GetRoot(types::Ptr<Data> node) |
| 167 | { |
| 168 | while (node->HasParent()) |
| 169 | node = node->GetParent(); |
| 170 | return node; |
| 171 | } |
| 172 | |
| 173 | template <typename Data> |
| 174 | decltype(auto) GetPathToRoot(types::Ptr<Data> node) |