Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2020-08-14 23:14:49


Hi to all,

Many years after the review (it was finished in 2017), I managed to find
some time to make the review result possible and integrate double-ended
library's "devector" class in Boost.Container. I merged the
implementation some days ago in develop branch and I hope we can merge
it to master soon.

Several changes were needed (C++03 support, similar interface/features
to other containers, removed some non-essential operations that were not
present in other containers...) to do a proper integration. It's might
not be production-ready, documentation might be still lacking, but I
think it's a good starting point. Initial performance benchmarks seems
to show I haven't broken anything important;-)

I made no changes to original devector's main design, no experiments
with growth or data movement policies. There were many good ideas in the
review and outside boost we have experiments worth trying. Examples:

- https://lists.boost.org/Archives/boost/2017/10/239316.php

- http://larshagencpp.github.io/blog/2016/05/22/devector

I also plan to slowly start sharing more implementation details between
devector and vector to avoid code duplication and ease maintenance, and
adding some missing operations in devector that are in vector (like
default initialization insertions).

Many thanks to Benedek for his patience, and great design/implementation
(including a detailed test-suite, absolutely essential to ease the work
I needed to do to integrate devector in the library). Better late than
never ;-)

Best,

Ion


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