boost :: container :: allocator_traits :: is_partially_propagable是什么意思?

时间:2018-05-11 23:39:26

标签: c++ boost boost-container

当我遇到boost :: container :: allocator_traits :: is_partially_propagable时,我想了解boost::container::allocator_traits

我无法在线找到任何其他相关文档,我可以理解除了is_partially_propagable和storage_is_unpropagable之外的所有其他boost :: container :: allocator_traits成员。

编辑:

并且,他们在编写容器时如何实施以及如何使用它们?

1 个答案:

答案 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