Boost logo

Boost :

Subject: Re: [boost] Determining interest in container with efficient random access insert and erase
From: Chris Clearwater (chris_at_[hidden])
Date: 2015-09-12 08:47:10


On 09/12/2015 03:46 AM, Ion Gaztañaga wrote:
>
> I'd like to separate the proposal to put that data structure into
> Boost and the proposal to put it into Boost.Container.
>
> The implementation looks good although I have no experience with
> B+Trees or augmented data structures. I think we should have more
> innovative container in Boost and there have been more proposals to
> similar data structures that were not.
>
> Regarding Boost.Container, one of the biggest problems with adding new
> stuff into Boost.Container is that it should be consistent with the
> rest of the library. The library supports C++03, supports Interprocess
> requirements, recursive types, SCARY iterators, etc... it must be
> maintained and documented as the rest of the library. I wouldn't like
> to maintain data structures I really don't fully understand or just
> left them unmaintained. We added stable_vector and static_vector but
> those were easier data structures.
>
> Just like we have Boost.CircularBuffer or Boost.Unordered I'd like to
> propose adding adding new containers in its own library. Maybe an
> (optionally augmented) B+Tree library would be nice, and it could also
> contain a sequence container based on that data structure.
>
> Just my 2 cents, does it make sense?
>

That makes sense. It may not be the best fit for Boost.Container. FWIW,
I beleive I support all your requirements except for C++03 support and
SCARY iterators. I think SCARY iterators should not be terribly hard to
implement. Am I correct that to be SCARY iterator compatible it is ok to
parameterize my iterators by allocator::pointer? It's just a problem if
they depend on the allocator itself?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk