| 1930 | // Increment outermost iterator. If it reaches its end, we're finished and do nothing. |
| 1931 | template <class Its, std::size_t I = tuple_size<Its>() - 1> |
| 1932 | enable_if_t<I == 0> increment_iterator(Its& it, const Its&, const Its&) |
| 1933 | { |
| 1934 | ++std::get<I>(it); |
| 1935 | } |
| 1936 | |
| 1937 | // Increment inner iterator. If it reaches its end, we reset it and increment the previous iterator. |
| 1938 | template <class Its, std::size_t I = tuple_size<Its>() - 1> |