Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Chapter 9. Boost.Container

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Part I. The Boost C++ Libraries (BoostBook Subset)

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

PrevUpHomeNext

Chapter 9. Boost.Container

Ion Gaztanaga

Распространяется под лицензией Boost Software License, версия 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресуhttp://www.boost.org/LICENSE_1_0.txt)

Таблица содержания

Introduction
Building Boost.Container
Tested compilers
Main features
Efficient insertion
Containers of Incomplete Types
SCARY iterators
Other features
Boost.Container and C++ exceptions
Non-standard containers
stable_vector
flat_(multi)map/set associative containers
slist
static_vector
small_vector
Extended functionality
Default initialization for vector-like containers
Ordered range insertion for associative containers (ordered_unique_range, ordered_range)
Configurable tree-based associative ordered containers
Constant-time range splice for (s)list
Extended allocators
Polymorphic Memory Resources
C++11/C++14 Conformance
Move and Emplace
Stateful allocators
Scoped allocators
Insertion hints in associative containers and preserving insertion ordering for elements with equivalent keys
Initializer lists
Null Forward Iterators
forward_list<T>
vector vs. std::vector exception guarantees
Parameter taken by const reference that can be changed
vector<bool> specialization
Non-standard value initialization using std::memset
Known Issues
Move emulation limitations in C++03 compilers
History and reasons to use Boost.Container
Boost.Container history
Why Boost.Container?
Indexes
Class Index
Typedef Index
Function Index
Boost.Container Header Reference
Header <boost/container/adaptive_pool.hpp>
Header <boost/container/allocator.hpp>
Header <boost/container/allocator_traits.hpp>
Header <boost/container/container_fwd.hpp>
Header <boost/container/deque.hpp>
Header <boost/container/pmr/deque.hpp>
Header <boost/container/flat_map.hpp>
Header <boost/container/pmr/flat_map.hpp>
Header <boost/container/flat_set.hpp>
Header <boost/container/pmr/flat_set.hpp>
Header <boost/container/list.hpp>
Header <boost/container/pmr/list.hpp>
Header <boost/container/map.hpp>
Header <boost/container/pmr/map.hpp>
Header <boost/container/new_allocator.hpp>
Header <boost/container/node_allocator.hpp>
Header <boost/container/node_handle.hpp>
Header <boost/container/options.hpp>
Header <boost/container/pmr/global_resource.hpp>
Header <boost/container/pmr/memory_resource.hpp>
Header <boost/container/pmr/monotonic_buffer_resource.hpp>
Header <boost/container/pmr/polymorphic_allocator.hpp>
Header <boost/container/pmr/pool_options.hpp>
Header <boost/container/pmr/resource_adaptor.hpp>
Header <boost/container/pmr/synchronized_pool_resource.hpp>
Header <boost/container/pmr/unsynchronized_pool_resource.hpp>
Header <boost/container/scoped_allocator.hpp>
Header <boost/container/scoped_allocator_fwd.hpp>
Header <boost/container/set.hpp>
Header <boost/container/pmr/set.hpp>
Header <boost/container/slist.hpp>
Header <boost/container/pmr/slist.hpp>
Header <boost/container/small_vector.hpp>
Header <boost/container/pmr/small_vector.hpp>
Header <boost/container/stable_vector.hpp>
Header <boost/container/pmr/stable_vector.hpp>
Header <boost/container/static_vector.hpp>
Header <boost/container/string.hpp>
Header <boost/container/pmr/string.hpp>
Header <boost/container/throw_exception.hpp>
Header <boost/container/uses_allocator.hpp>
Header <boost/container/uses_allocator_fwd.hpp>
Header <boost/container/vector.hpp>
Header <boost/container/pmr/vector.hpp>
Acknowledgements, notes and links
Release Notes
Boost 1.62 Release
Boost 1.61 Release
Boost 1.60 Release
Boost 1.59 Release
Boost 1.58 Release
Boost 1.57 Release
Boost 1.56 Release
Boost 1.55 Release
Boost 1.54 Release
Boost 1.53 Release
Boost 1.52 Release
Boost 1.51 Release
Boost 1.50 Release
Boost 1.49 Release
Boost 1.48 Release

Boost.ContainerБиблиотека реализует несколько известных контейнеров, в том числе STL-контейнеры. Цель библиотеки состоит в том, чтобы предлагать расширенные функции, не присутствующие в стандартных контейнерах, или предлагать новейшие стандартные функции для компиляторов, которые не соответствуют последнему стандарту C++.

Что же это такое?Контейнер

  • Реализована семантика движения, включая эмуляцию движения для компиляторов pre-C++11.
  • Присутствуют новые расширенные функции (например, вставка размещения, рекурсивные контейнеры).
  • Контейнеры поддерживают государственные распределители и совместимы с.Boost.Interprocess(их можно безопасно разместить в общей памяти).
  • Библиотека предлагает новые полезные контейнеры:
    • <flat_map>,<flat_set>,<flat_multimap>и<flat_multiset>: Замена стандартных ассоциативных контейнеров, но более дружественная к памяти и с более быстрым поиском.
    • <stable_vector>: std::list и std:: векторный гибридный контейнер: вектороподобные итераторы случайного доступа и листоподобные итераторы стабильности в вставках и стираниях.
    • <slist>: классическая престандартная реализация с единичным списком, предлагающая постоянное время<size()>. Обратите внимание, что C++11<forward_list>не имеет<size()>.

Нет необходимости компилироватьBoost.Container, так как это библиотека только для заголовков, просто включите свой Каталог заголовков в компиляторе включает путь, за исключением случаев, когда вы используете:

Эти исключения реализованы в виде отдельно составленной библиотеки, поэтому в этих случаях необходимо установить двоичные файлы в месте, которое может быть найдено вашим линкером. Если вы будете следовать инструкциямBoost Getting Started, это уже сделано для вас.

Boost.Containerтребует достойной совместимости C++98. Некоторые компиляторы, которые, как известно, работают:

  • Visual C++ >= 7.1.
  • GCC >= 4.1.
  • Intel C++ >= 9.0

Последний пересмотр: 21 сентября 2016 года в 14:37:15 GMT


PrevUpHomeNext

Статья Chapter 9. Boost.Container раздела The Boost C++ Libraries BoostBook Documentation Subset Part I. The Boost C++ Libraries (BoostBook Subset) может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Part I. The Boost C++ Libraries (BoostBook Subset) ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:54:30/0.0072200298309326/0