Описание тега boost-intrusive

Boost Intrusive - это библиотека, которая представляет некоторые навязчивые контейнеры миру C++. Интрузивные контейнеры - это специальные контейнеры, которые обеспечивают лучшую производительность и гарантии безопасности исключений, чем неинтрузивные контейнеры (например, контейнеры STL).

Основное различие между навязчивыми контейнерами и ненавязчивыми контейнерами заключается в том, что в C++ неинтрузивные контейнеры хранят копии значений, переданных пользователем (интрузивный контейнер хранит сами объекты).

Преимущества производительности интрузивных контейнеров делают их идеальными в качестве строительных блоков для эффективного создания сложных контейнеров, таких как многоиндексные контейнеры, или для разработки высокопроизводительного кода, такого как алгоритмы распределения памяти.

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