container
container copied to clipboard
STL-like containers from Boost
I'm building a project with boost 1.80.0 as an external dependency, obtained via `FetchContent` as part of a CMake build. I'm using gcc-12 on Ubuntu-22.04 and we are trying to...
it would be great if the containers would support `operator` when `__cpp_impl_three_way_comparison` (or `__cpp_lib_three_way_comparison`) is set
https://github.com/boostorg/container/commit/d5a830434eb68b9fc65cfbc99572a96e4ee0f70a replace the usage of std:: exceptions by new, custom ones which resulted in quite a few critics, e.g. on reddit: https://www.reddit.com/r/cpp/comments/mskpfp/boost_c_libraries_v1760 I have to agree and would suggest to...
[`boost::container::set`'s `iterator`](https://github.com/boostorg/container/blame/develop/include/boost/container/set.hpp#L99) is a mutable iterator. This allows modification of keys, which can destroy the container's invariants, for example when using the erase-remove idiom. This used to be a [defect](https://cplusplus.github.io/LWG/issue103)...
Consider a case when we have a non-default-constructibe type, which we want to store in a vector (any flavor of the supported by Boost.Container). In order to allocate N elements...
Dear all, it would be nice if the container library had overloads for hashing (both Boost as std), e.g.: ``` namespace boost { template std::size_t hash_value(const boost::container::static_vector& crvec) { return...
This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information. This PR depends on the following other...
Both `static_vector` and `small_vector` could benefit from supporting the `stored_size` option that is supported by the base `vector` container. `static_vector` and `small_vector` are usually used for small numbers of elements,...
In C++26: template pair insert_or_assign(K&& k, M&& obj); and template iterator insert_or_assign(const_iterator hint, K&& k, M&& obj); where added under `__cpp_lib_associative_heterogeneous_insertion >= 202311L`
Repro: ```c++ #include int main() { boost::container::flat_map f; f[0]; } ``` The error: ``` $ clang++ foo.cpp -std=c++23 In file included from foo.cpp:1: In file included from /usr/include/boost/container/flat_map.hpp:29: In file...