...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Copyright © 2009-2013 Ion Gaztanaga
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Table of Contents
forward_list<T>
vector
vs. std::vector
exception guaranteesvector<bool>
specializationstd::memset
Boost.Container library implements several well-known containers, including STL containers. The aim of the library is to offers advanced features not present in standard containers or to offer the latest standard draft features for compilers that comply with C++03.
In short, what does Boost.Container offer?
flat_map
,
flat_set
,
flat_multimap
and flat_multiset
:
drop-in replacements for standard associative containers but more
memory friendly and with faster searches.
stable_vector
:
a std::list and std::vector hybrid container: vector-like random-access
iterators and list-like iterator stability in insertions and erasures.
slist
: the classic
pre-standard singly linked list implementation offering constant-time
size()
.
Note that C++11 forward_list
has no size()
.
There is no need to compile Boost.Container if you don't use Extended Allocators since in that case it's a header-only library. Just include your Boost header directory in your compiler include path.
Extended Allocators are implemented as a separately compiled library, so you must install binaries in a location that can be found by your linker when using these classes. If you followed the Boost Getting Started instructions, that's already been done for you.
Boost.Container requires a decent C++98 compatibility. Some compilers known to work are:
Last revised: April 02, 2015 at 09:16:16 GMT |