Это (is_partially_propagable
) означает, что распределитель использует внутреннее хранилище (у него есть состояние), и не вся выделенная им память может быть освобождена другим распределителем, даже если оба сравниваются. (Предполагается, что распределители одного и того же типа всегда будут сравниваться и быть взаимозаменяемыми)
Что делает storage_is_unpropagable
, так это берет указатель на выделенную память и возвращает true
, если это не подлежащая распространению память. (Поскольку не вся память должна быть недоступна)
Этот распределитель (small_vector_allocator
) используется в качестве оптимизации пространства в small_vector
.
https://www.boost.org/doc/libs/1_65_0/boost/container/small_vector.hpp