| 166 | */ |
| 167 | template <typename T> |
| 168 | std::vector<size_t> sort_indices(const std::vector<T> &v) |
| 169 | { |
| 170 | std::vector<size_t> idx(v.size()); |
| 171 | std::iota(idx.begin(), idx.end(), 0); |
| 172 | |
| 173 | std::sort(idx.begin(), idx.end(), [&v](size_t i1, size_t i2) { return v[i1] < v[i2]; }); |
| 174 | |
| 175 | return idx; |
| 176 | } |
| 177 | |
| 178 | /** Checks if a string contains a given suffix |
| 179 | * |
no test coverage detected