Boost logo

Boost Users :

Subject: Re: [Boost-users] [MultiIndex] getting the index from set::lower_bound() iterator (or a replacement/extension)
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2015-05-07 11:28:13


El 07/05/2015 a las 11:21, Joaquin M Lopez Munoz escribió:
> U.Mutlu <for-gmane <at> mutluit.com> writes:
>
>>
>> Hi,
>> I need a container like std::set which delivers also
>> the index when using the member function lower_bound().
>> IMO std::set lacks this important functionality.
>> I cannot use std::distance(myset.begin(), it),
>> because that is very slow as it walks again all the items from
>> the beginning.
>>
>> Can boost MultiIndex be used for this [...]?
>
> Not the current version (Boost 1.58), but please take a look at
>
> http://article.gmane.org/gmane.comp.lib.boost.user/83882

Or alternatively use flat_set, it's a sorted vector, so

pos = flat_set.lower_bound(...)
index = pos - flat_set.begin()

Ion


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net