发行说明 - Boost C++ 函数库
- 添加了
boost::variant_collection
,这是一种封闭的多态集合,其行为类似于 std::vector<std::variant<...>>
。
- 修复了
boost::type_erasure::any
和 boost::any
之间的内部歧义问题(问题 #17)。
- 维护工作。
- 抑制了
boost::poly_collection::for_each
中潜在的冗余移动警告。
- 修复了一个错误,该错误导致在具有非传播性、不相等分配器的集合之间进行分配器扩展移动构造和移动赋值时,元素被复制而不是移动。
- 对于 GCC 4.8 附带的 libstdc++-v3 的旧版本(Clang 也可以使用),分配器扩展移动构造不再退化为分配器扩展复制构造。
- 在 Billy O'Neal 报告的错误(PR#9)之后,改进了对有状态分配器和分配器传播特性的处理。
- 修复了一个可能严重的内部缓存结构错误。
- 为算法
std::for_each_n
和 std::sample
添加了 Boost.PolyCollection 特定的版本。
- Boost.PolyCollection 已向后移植到 GCC 4.8 到 4.9 和 Clang 3.3 到 3.6。GCC 4.8 附带的 libstdc++-v3 版本(Clang 也可以使用)存在缺陷,导致在使用 Boost.PolyCollection 时出现以下限制:
- 有状态分配器不支持。
- 分配器扩展移动构造退化为分配器扩展复制构造。
- 如果在元素复制过程中抛出异常,复制构造会崩溃。
- 维护修复。