Boost.Containers
Перевод с сайта https://theboostcpplibraries.com
Boost.MultiIndex идет еще дальше: контейнеры из этой библиотеки могут одновременно поддерживать несколько интерфейсов из других контейнеров. Контейнеры из Boost.MultiIndex похожи на объединенные контейнеры и обеспечивают преимущества всех контейнеров, с которыми они были объединены.
Boost.Bimap основан на Boost.MultiIndex. Он предоставляет контейнер, похожий на std::unordered_map, за исключением того, что элементы можно искать с обеих сторон. Таким образом, в зависимости от того, как осуществляется доступ к контейнеру, обе стороны могут быть ключом. Когда одна сторона является ключом, другая сторона - это значение.
Boost.Array и Boost.Unordered определяют классы boost::array, boost::unordered_set и boost::unordered_map, которые были добавлены в стандартную библиотеку с C++ 11.
Boost.CircularBuffer предоставляет контейнер, самым важным свойством которого является то, что он перезапишет первый элемент в буфере, когда значение будет добавлено в полный круговой буфер.
Boost.Heap предоставляет варианты очередей приоритетов - классы, которые напоминают std::priority_queue.
Boost.Intrusive позволяет создавать контейнеры, которые, в отличие от контейнеров из стандартной библиотеки, не копируют и не перемещают объекты. Однако, чтобы добавить объект в список навязчивых объектов, тип объекта должен соответствовать определенным требованиям.
Boost.MultiArray пытается упростить использование многомерных массивов. Например, можно рассматривать часть многомерного массива как отдельный массив.
Boost.Container - это библиотека, которая определяет те же контейнеры, что и стандартная библиотека.
Использование Boost.Container может иметь смысл, если, например, вам необходимо поддерживать программу на нескольких платформах, и вы хотите избежать проблем, вызванных различиями в реализации в стандартной библиотеке.
Контейнеры являются одной из наиболее полезных структур данных в C++. Стандартная библиотека предоставляет множество контейнеров, а библиотеки Boost предоставляют еще больше.
Boost.MultiIndex идет еще дальше: контейнеры из этой библиотеки могут одновременно поддерживать несколько интерфейсов из других контейнеров. Контейнеры из Boost.MultiIndex похожи на объединенные контейнеры и обеспечивают преимущества всех контейнеров, с которыми они были объединены.
Boost.Bimap основан на Boost.MultiIndex. Он предоставляет контейнер, похожий на std::unordered_map, за исключением того, что элементы можно искать с обеих сторон. Таким образом, в зависимости от того, как осуществляется доступ к контейнеру, обе стороны могут быть ключом. Когда одна сторона является ключом, другая сторона - это значение.
Boost.Array и Boost.Unordered определяют классы boost::array, boost::unordered_set и boost::unordered_map, которые были добавлены в стандартную библиотеку с C++ 11.
Boost.CircularBuffer предоставляет контейнер, самым важным свойством которого является то, что он перезапишет первый элемент в буфере, когда значение будет добавлено в полный круговой буфер.
Boost.Heap предоставляет варианты очередей приоритетов - классы, которые напоминают std::priority_queue.
Boost.Intrusive позволяет создавать контейнеры, которые, в отличие от контейнеров из стандартной библиотеки, не копируют и не перемещают объекты. Однако, чтобы добавить объект в список навязчивых объектов, тип объекта должен соответствовать определенным требованиям.
Boost.MultiArray пытается упростить использование многомерных массивов. Например, можно рассматривать часть многомерного массива как отдельный массив.
Boost.Container - это библиотека, которая определяет те же контейнеры, что и стандартная библиотека.
Использование Boost.Container может иметь смысл, если, например, вам необходимо поддерживать программу на нескольких платформах, и вы хотите избежать проблем, вызванных различиями в реализации в стандартной библиотеке.
Оригинал: