当我遇到boost :: container :: allocator_traits :: is_partially_propagable时,我想了解boost::container::allocator_traits。
我无法在线找到任何其他相关文档,我可以理解除了is_partially_propagable和storage_is_unpropagable之外的所有其他boost :: container :: allocator_traits成员。
编辑:
并且,他们在编写容器时如何实施以及如何使用它们?
答案 0 :(得分:5)
它(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