On 16 September 2015 at 20:52, Ion GaztaƱaga
On 16/09/2015 21:44, Sam Kellett wrote:
also i see that the container used by flat_set is boost::container::vector,
is this for encapsulation or is there advantages of boost::container::vector over std::vector in this capacity?
boost::container::vector has some new functions (undocumented, as they are not ready to be public) to improve performance: merge, merge_unique, insert_ordered_at.
ah ok, so does that mean that if the user specified a std::vector to be used for flat_set via the Container template param then it would not work because std::vector is missing these methods or are they used behind the standard vector interface? if so i don't think the new Container param would be the best idea, maybe just have that as unconfigurable (as now), but accessible via a storage_type typedef.
Note that boost::container::vector implements many C++11 features in C++03 compilers. Without C++11, flat_xxx would be broken.
right, gotcha