Subject: [boost] [container][stable_vector] What does reserve() do for stable_vector
From: Arindam Mukherjee (arindam.mukerjee_at_[hidden])
Date: 2015-04-19 04:06:00
Consider the following code.
std::cout << "capacity = " << vec.capacity() << '\n';
On running this (on g++ and Linux), the output is:
capacity = 4294967286 (that's 2^32 - 10)
If replace boost::container::stable_vector with std::vector above, the
capacity = 10
I know it could as well have been capacity = 20, or capacity = 64 or
whatever but that's still sane behavior. What capacity() returns for
stable_vector seems to be (2^32 - N), N being the requested capacity.
I didn't see such a definition of capacity in the docs:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk