Reputation: 79685
I use qLowerBound to find an item in a QList
, but this function returns an iterator, while I need an index (I'll pass it to another function that expects an index). Is there a way to get the index from the QList
iterator?
Upvotes: 8
Views: 7407
Reputation: 23
As pointed out by @Frank Osterfeld's comment, you can use this:
const auto index = std::distance(yourList.begin(), currentIteratorOnYourList);
Checkout this article from Fluent{C++} blog.
Upvotes: 2
Reputation: 5345
You can subtract iterator to beginning of your list from your iterator to get an index, since pointer arithmetic is defined on iterators:
int idx = iter-yourList.begin();
Upvotes: 13