| 87 | |
| 88 | template<typename ValueType> |
| 89 | std::set<typename ContiguousDisjointSet<ValueType>::value_type> ContiguousDisjointSet<ValueType>::subset(value_type const _x) const |
| 90 | { |
| 91 | solAssert(_x < m_parents.size()); |
| 92 | std::set<value_type> result{_x}; |
| 93 | value_type neighbor = m_neighbors[_x]; |
| 94 | while (neighbor != _x) |
| 95 | { |
| 96 | result.insert(neighbor); |
| 97 | neighbor = m_neighbors[neighbor]; |
| 98 | } |
| 99 | return result; |
| 100 | } |
| 101 | |
| 102 | template<typename ValueType> |
| 103 | std::vector<std::set<typename ContiguousDisjointSet<ValueType>::value_type>> ContiguousDisjointSet<ValueType>::subsets() const |
no test coverage detected