small_vector представляет собой векторный контейнер, оптимизированный для случая, когда он содержит мало элементов. Он содержит некоторые предварительно выделенные элементы на месте, что позволяет избежать использования динамического распределения памяти, когда фактическое количество элементов ниже этого предварительно выделенного порога.
small_vector конвертируется в small_vector_base, который не зависит от предварительно выделенной емкости элемента, поэтому клиентский код не должен быть шаблонизирован на этом аргументе N.
Все функции boost::container::vector являются наследственными. См. vector документацию для деталей.
Template Parameters
typename T
The type of object that is stored in the small_vector
std::size_t N
The number of preallocated elements stored inside small_vector. It shall be less than Allocator::max_size();
Аллокатор, используемый для управления памятью, когда количество элементов превышает N.
The allocator used for memory management when the number of elements exceeds N.
Статья Class template small_vector раздела The Boost C++ Libraries BoostBook Documentation Subset Boost.Container Header Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.