Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2018. The current version is 1.89.0.
contains() for associative containers as specified
in P0458R2:
Checking for Existence of an Element in Associative Containers.
adaptive_pool
and many parameters are now compile-time constants instead of runtime
constants.
[multi]map/[multi]set/flat_[multi]map/flat_[multi]set.
unsynchronized_pool_resource
found by Arthur O'Dowyer in his blog post <memory_resource>
for libc++
release()
the original buffer is recovered for the next allocation.
vector_options.
The growth factor and the stored size type can be specified.
extract_sequence,
adopt_sequence functions
for flat_[multi]map/set associative containers.
static_vector<>::static_capacity
to use the configured capacity in constant expressions.
insert_or_assign/try_emplace for map
and flat_map.
map,
multimap, set, multiset.
deque,
vector, stable_vector, small_vector,
static_vector, list and slist.
boost::container::small_vector
supports more constructors and assignments.
pop_back, pop_front, back,
front, etc.)
back/front operations to basic_string.
small_vector
container.
nth and index_of functions to containers with
random-access iterators (except basic_string).
allocator_traits<Allocator>::is_always_equal.
scoped_allocator_adaptor's
propagate_on_container_copy_assignment,
propagate_on_container_move_assignment
and propagate_on_container_swap
are no longer ::boost::integral_constant<bool, true/false> types. The dependency reorganization
needed to break with those classes to avoid MPL dependencies, and interoperability
with std::integral_constant was not guaranteed.
Code assumming boost::true_type/boost::false_type
on this will not compile. As a workaround, use the guaranteed internal
::value
constant: ::boost::integral_constant<bool, scoped_allocator_adaptor<Allocator>::propagate_on_container_move_assignment::value>.
initializer_list.
Contributed by Robert Matusewicz.
set, multiset,
map and multimap.
static_vector
class, based on Andrew Hundt's and Adam Wulkiewicz's high performance
varray class.
vector
constructors/copy/move/swap, dispatching to memcpy when possible.
BOOST_NO_EXCEPTIONS
#7227.
vector's insertion
performance.
stable_vector's
template code bloat and type safety.