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