Boost
发布
arrow_drop_down
prior release (1.64.0)
2017年4月12日
依赖项
此版本添加了 7个依赖项(在6个库中),并移除了 3个依赖项(在3个库中)。
平台 文件 SHA256 哈希
Unix boost_1_64_0.tar.bz2 7bcc5....83332
boost_1_64_0.tar.gz 0445c....3a108
Windows boost_1_64_0.7z 49c6a....8d155
boost_1_64_0.zip b9997....97523
Windows (二进制) boost_1_64_0-bin-msvc-all-32-64.7z 1c6c9....9b843
boost_1_64_0-msvc-10.0-32.exe 721c6....72fc3
boost_1_64_0-msvc-10.0-64.exe bc59f....33b18
boost_1_64_0-msvc-11.0-32.exe 3f277....6fc6e
boost_1_64_0-msvc-11.0-64.exe f5b88....56ff0
boost_1_64_0-msvc-12.0-32.exe 0c308....3e809
boost_1_64_0-msvc-12.0-64.exe e567e....3cd4c
boost_1_64_0-msvc-14.0-32.exe 42433....36a20
boost_1_64_0-msvc-14.0-64.exe 74d5b....c8c5c
boost_1_64_0-msvc-14.1-32.exe c3b52....699a5
boost_1_64_0-msvc-14.1-64.exe b4140....d9d8e
boost_1_64_0-msvc-8.0-32.exe 5603d....6c4d4
boost_1_64_0-msvc-8.0-64.exe ba58a....bc90d
boost_1_64_0-msvc-9.0-32.exe 20c13....91c6f
boost_1_64_0-msvc-9.0-64.exe 99ff86f563....7814ff4254 99ff8....f4254

版本 1.64.0

2017年4月19日 17:42 GMT

文档

第三方下载

新库

  • Process:
    • 由 Klemens D. Morgenstern 提供的库,提供跨平台的方式,让您可以:创建子进程设置子进程的流与子进程通过流进行通信(同步或异步)等待进程退出(同步或异步)终止进程 损坏的功能:GitHub #67:“group.wait() 不返回”。

更新的库

  • Any:
    • 抑制了关于返回临时变量引用的错误警告
    • 现在使用 `boost::addressof` 而不是直接取地址 #12615
    • 头文件不再使用双引号包含 #12053
    • CI 测试现在使用 `address`、`leak` 和 `undefined` 消毒剂运行
    • 添加了更多测试
  • Atomic:
    • 修复了在 gcc 版本低于 4.7 的 32 位 x86 架构上的 64 位原子操作中可能出现的错误代码生成问题。
  • Config:
    • 添加了 `BOOST_NO_CXX11_SFINAE_EXPR` 缺陷检测。
  • Container:
  • Context:
    • 新 API:call/cc
    • 已弃用的 API:execution-context
    • 修复了 MIPS 上的堆栈操作
    • #12719 使用 mingw-w64 构建时出现分段错误
    • #12948 Android ARM 上 snprintf 结果意外
    • #38: context_entry() 在 macOS 上崩溃
    • #39: 在 Android 上使用 Clang 3.8 的 aarch64 上出现未知的 .cpu 指令
    • #41: std::bind() 与 invoke() 配合失败
    • #46: "continuation 成员函数的重命名" 遗漏了一个地方
    • #50: ppc64/sysv/elf 上的 fcontext 程序集错误
  • Conversion:
    • 文档已移植到 Quickbook(感谢 Mikhail Maksimov 的移植)
    • 修复了测试中的内存泄漏(感谢 Mikhail Maksimov 的修复)
    • CI 测试现在使用 `address`、`leak` 和 `undefined` 消毒剂运行
  • Core:
    • 在支持 C++11 `constexpr` 和 SFINAE 表达式的编译器上实现了 `constexpr` `addressof`(Glen Fernandes)。`BOOST_CORE_NO_CONSTEXPR_ADDRESSOF` 宏指示何时 `constexpr` `addressof` 不可用。
    • 在 `lightweight_test.hpp` 中,为测试容器内容添加了新的宏 `BOOST_TEST_ALL_EQ` 和 `BOOST_TEST_ALL_WITH`(Bjorn Reese)。
  • Coroutine2:
    • #4: coroutine2<> 不接受 std::bind
  • DLL:
    • 修复了 WinCE 编译
    • 添加了 `boost:dll::symbol_location_ptr` 函数,用于获取无法解引用的指针(例如 `void` 指针)的符号位置
    • 修复了 `detail::aggressive_ptr_cast` 中针对成员指针的未定义行为
    • 修复了实验性智能导入中的泄漏
    • 修复了警告
    • CI 测试现在使用 `address` 和 `leak` 消毒剂运行
  • Fiber:
    • (un)bounded_channel<> 已移除
    • #100: ASIO:unbuffered_channel / scheduler notify 问题
    • #105: skynet 变体在 Windows 上崩溃
    • #106: 将 fixed_stack 分配器传递给 async/packaged_task 无法编译
    • #110: ARMv6 上编译错误
    • #111: buffered_channel::try_value_pop() 中的无限循环
    • #114: buffered_channel::try_pushpop` 中不唤醒 fiber
  • 几何:
    • 改进
      • 矩阵变换现在基于 Boost.QVM 而不是 Boost.Ublas
    • 破坏性更改
      • ublas_transformer 重命名为 matrix_transformer
      • 为 rtree index::dynamic_* 参数的构造函数添加了 explicit 修饰符
      • strategy::area::huiller 被 strategy::area::spherical 替换
    • 已解决的问题
      • 363 geometry/index/parameters.hpp 中缺少头文件
      • 364 当参数使用不同点类型时,within(Linear, Areal) 编译错误
      • 370 输入为 Ring 时发生 Buffer 分段错误
    • 已解决的工单
      • 11899 boost::geometry::equals 不处理开多边形
      • 11930 area::huiller 策略的精度问题
      • 11931 环绕极点的多边形的球面积计算错误
      • 12410:correct() 中缺乏对地理坐标系的支持
      • 12566 当 pair 值包含原始指针时,equal_to<> 中出现模棱两可的模板实例化
      • 12861 stdlibc++ (gcc 4.8.2) 中影响 rtree 的分段错误
      • 12885 使用 BOOST_THROW_EXCEPTION 而不是 throw
    • 错误修复
      • 修复 get_turn_info 中的 distance_measure
  • 哈希:
    • 停止使用 `std::unary_function` 和 `std::binary_function`(当它们不可用时)。
  • Interprocess:
  • Intrusive:
  • LexicalCast:
    • 修复了多个警告 #11842
    • CI 测试现在使用 `address`、`leak` 和 `undefined` 消毒剂运行
  • 数学:
    • 大力确保所有 C99 中的函数都与 Annex F 兼容。
    • 提高了 Bessel 函数 I0、I1、K0 和 K1 的精度,参见 12066
  • 多索引容器:
    • 修复了当存在多个排序索引时,由于引用模糊性引起的 bug(ticket #12955)。
    • 维护修复。
  • Multiprecision:
    • 在 `cpp_bin_float` 中防止转换为非规格化浮点数时发生双重舍入。参见 #12527
    • 修复了整数平方根对于非常小的整数的 bug。参见 #12559
    • 修复了 `cpp_bin_float` 中转换为带符号零的问题。
    • 更改 `cpp_bin_float` 的舍入代码,使其在任意位置舍入,以便用于转换,参见 #12527
    • 提高 128 位位扫描操作的性能。
    • 修复了 `cpp_bin_float` 中非常小数量的减法。参见:#12580
    • 使错误处理与 C99 Annex F 保持一致。参见 #12581
    • 修复了平凡 `cpp_int` 的按位导出 bug,参见 #12627
    • 修复了 `ilogb`(及其使用代码)在参数为零时一致返回指数类型的最小值,参见 #12625
    • 允许从 `__float128` 转换为 `cpp_bin_float`。
    • 修复了 `cpp_int` 左移位过程中可能导致位丢失的 bug,参见 #12790
    • 修复了由于过于激进的 constexpr 优化导致的、有界但精度可变的 `cpp_int` 的 bug,参见 #12798
  • Predef:
    • 修复了 Intel C/C++ 编译器版本规范。
    • 添加了 `BOOST_VERSION_NUMBER_MAJOR`、`BOOST_VERSION_NUMBER_MINOR`、`BOOST_VERSION_NUMBER_PATCH` 宏,用于从有效版本号中提取组件。
    • 更改 VS 版本编号。VS2015 之后的版本将使用编译器版本而不是各种产品版本。
  • Regex:
    • 使用 Oracle C++ 工具集进行编译不再仅限于静态链接。
    • 通过 libFuzzer 对库进行了大量的模糊测试并修复了发现的问题,参见:#12818
  • 智能指针:
    • 重写了数组的 `allocate_shared` 和 `make_shared`,以实现更优、更易维护的实现(Glen Fernandes)
    • 具有移动语义的指针转换函数(Chris Glover)
  • Test:
    • Boost.test v3.5,更多详情请参见 更改日志部分。
    • 新功能
      • 现在 Boost.Test 为用户定义的类型日志提供了**自定义点**
      • JUnit 输出格式现在可以包含一个*日志级别*
      • 当测试模块包含大量检查时,JUnit 输出格式的性能有所提升
    • 错误修复
  • TypeIndex:
    • 添加了 `BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST`,它实现了 `runtime_cast` 的功能,但不包含 `BOOST_TYPE_INDEX_REGISTER_CLASS` 宏(感谢 Chris Glover 的实现)
    • 修复了 stl_type_index.hpp 中的未定义宏警告 #12739
    • CI 测试现在使用 `address`、`leak` 和 `undefined` 消毒剂运行
  • TypeTraits:
    • 添加了新的 traits `make_void` 和 `void_t`。
  • Unordered:
    • 对新的 C++17 成员函数提供了初步支持:`unordered_map` 中的 `insert_or_assign` 和 `try_emplace`,所有容器中的 `merge` 和 `extract`。
  • Variant:
    • 修复了从 `recursive_variant_` 构建 variant(感谢 Mikhail Maksimov 的修复) #12508, #12645
    • 不要为 MSVC2015Update1 启用可变参数模板,因为它仍然存在问题 #12236
    • 解决了 GCC6 崩溃问题(感谢 Mikhail Maksimov 的解决方案) #12680, #7120
    • 使 `boost::polymorphic_*get` 在未文档化的边界情况下能像 `boost::*get` 一样工作,并修复了测试 #11950
    • CI 测试现在使用 `address`、`leak` 和 `undefined` 消毒剂运行

测试的编译器

Boost 的主要测试编译器是:

  • Linux
    • Clang:3.0、3.8.1、3.9.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1, 3.9.1
    • Clang, C++14: 3.5, 3.6, 3.7.1, 3.8.1, 3.9.1
    • Clang, C++1z: 3.9.1
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
    • GCC, C++14: 5.4.1, 6.2.0, 6.3.0
    • GCC, C++1z: 6.2.0
    • Intel: 16.0, 17.0
    • Intel, C++11: 16.0, 17.0
    • Intel, C++14: 16.0, 17.0
  • OS X
    • Apple Clang: 7.0.2
    • Apple Clang, C++11: 7.0.2
  • Windows
    • GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
    • GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
    • GCC, C++14, mingw: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
    • Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
  • Android
    • Clang: 3.6, 3.7, 3.8
    • GCC: 4.9, 5.4, 6.2
  • FreeBSD
    • Clang: 3.8
    • Clang, C++11: 3.8
    • Clang, C++14: 3.8
    • Clang, C++1z: 3.8
  • QNX
    • QCC: 4.4.2
  • SunOS
    • Oracle Solaris Studio: 12.5
    • Oracle Solaris Studio, C++11: 12.5

Boost 的其他测试编译器包括:

  • Linux
    • Clang:3.0、3.8.1、3.9.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.8.1, 3.9.1
    • Clang, C++14: 3.4, 3.5, 3.6, 3.7. 3.8, 3.8.1, 3.9.1
    • Clang, C++1z: 3.9.1, 4.0
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
    • GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.0.1
    • GCC, C++1z: 6.2.0
    • Intel: 16.0, 17.0
    • Intel, C++11: 16.0, 17.0
    • Intel, C++14: 16.0, 17.0
  • OS X
    • Apple Clang: 7.0.2
  • Windows
    • GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
    • Visual C++:7.1、8.0、9.0、10.0、11.0、12.0、14.0、14.1
  • Android
    • Clang: 3.6, 3.7, 3.8
    • GCC: 4.9, 5.4, 6.2
  • FreeBSD
    • Clang, C++98: 3.8
    • Clang, C++11: 3.8
    • Clang, C++14: 3.8
    • Clang, C++1z: 3.8
  • QNX
    • QCC: 4.4.2
  • SunOS
    • Oracle Solaris Studio: 12.5
    • Oracle Solaris Studio, C++11: 12.5

致谢

Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus 和 Marshall Clow 管理了此次发布。

贡献者

Oliver Kowalke
Oliver Kowalke
贡献者
John Maddock
John Maddock
贡献者
Adam Wulkiewicz
Adam Wulkiewicz
贡献者
Peter Dimov
Peter Dimov
贡献者
Daniel James
Daniel James
贡献者
Glen Fernandes
Glen Fernandes
贡献者
Edward Diener
Edward Diener
贡献者
Marshall Clow
Marshall Clow
贡献者
Antony Polukhin
Antony Polukhin
贡献者
Andrey Semashev
Andrey Semashev
贡献者
Rene Rivera
Rene Rivera
贡献者
Bjorn Reese
Bjorn Reese
贡献者
Ion Gaztañaga
Ion Gaztañaga
贡献者
Robert Ramey
Robert Ramey
贡献者
Vissarion Fisikopoulos
Vissarion Fisikopoulos
贡献者
Raffi Enficiaud
Raffi Enficiaud
贡献者
Hans Dembinski
Hans Dembinski
贡献者
Vicente J. Botet Escriba
Vicente J. Botet Escriba
贡献者
Christopher Kohlhoff
Christopher Kohlhoff
贡献者
Beman Dawes
Beman Dawes
贡献者
Surogate
贡献者
Emil Dotchevski
Emil Dotchevski
贡献者
Stephen Kelly
Stephen Kelly
贡献者
Marcel Raad
Marcel Raad
贡献者
Stefan Seefeld
Stefan Seefeld
贡献者
Barend Gehrels
Barend Gehrels
贡献者
Mike Maximoff
Mike Maximoff
贡献者
Joaquin M. López Muñoz
Joaquin M. López Muñoz
贡献者
İbrahim Gökhan YANIKLAR
İbrahim Gökhan YANIKLAR
贡献者
Vladimir Batov
Vladimir Batov
贡献者
Jorge Lodos
Jorge Lodos
贡献者
Paul A. Bristow
Paul A. Bristow
贡献者
Chris Glover
Chris Glover
贡献者
Nick
Nick
贡献者
Frank Mori Hess
Frank Mori Hess
贡献者
Jonathan Turkanis
Jonathan Turkanis
贡献者
Tobias Reh
Tobias Reh
贡献者
Brandon Kohn
Brandon Kohn
贡献者
Steven Watanabe
Steven Watanabe
贡献者
spreadsort
spreadsort
贡献者
Wei-Ming Yang
Wei-Ming Yang
贡献者
Mats Taraldsvik
Mats Taraldsvik
贡献者
zerotypos-found
zerotypos-found
贡献者
Daniela Engert
Daniela Engert
贡献者
Daniel Krügler
Daniel Krügler
贡献者
Matias Fontanini
Matias Fontanini
贡献者
Jürgen Hunold
Jürgen Hunold
贡献者
Kohei Takahashi
Kohei Takahashi
贡献者
sehe
sehe
贡献者
Norbert Wenzel
Norbert Wenzel
贡献者
akumta
akumta
贡献者
6recetru
6recetru
贡献者
Tadeu Manoel
Tadeu Manoel
贡献者
Timo Sandmann
Timo Sandmann
贡献者
equal-l2
equal-l2
贡献者
Nick Vrvilo
Nick Vrvilo
贡献者
Aaron Gorenstein
Aaron Gorenstein
贡献者
Oliver Keyes
Oliver Keyes
贡献者
Christian Neumüller
Christian Neumüller
贡献者
Michel Morin
Michel Morin
贡献者
Minmin Gong
Minmin Gong
贡献者
Andrzej Krzemieński
Andrzej Krzemieński
贡献者
ibrahim.yaniklar
贡献者
Joel Nordell
Joel Nordell
贡献者
Jonathan Wakely
Jonathan Wakely
贡献者
al3xst
al3xst
贡献者
Daryle Walker
Daryle Walker
贡献者
Ashish Sadanandan
Ashish Sadanandan
贡献者
David Strauss
David Strauss
贡献者
Christoph Müllner
Christoph Müllner
贡献者
nekko1119
nekko1119
贡献者
slymz
slymz
贡献者
Mateusz Łoskot
Mateusz Łoskot
贡献者
Akira Takahashi
Akira Takahashi
贡献者
Alex Henrie
Alex Henrie
贡献者
Julien Schueller
Julien Schueller
贡献者
Tuukka Norri
Tuukka Norri
贡献者
Joel Falcou
Joel Falcou
贡献者
K. Noel Belcourt
K. Noel Belcourt
贡献者
Tim Blechmann
Tim Blechmann
贡献者
loonycyborg
loonycyborg
贡献者
scopeInfinity
scopeInfinity
贡献者
Nathan Wilson
Nathan Wilson
贡献者
O01eg
O01eg
贡献者
Nicholas Musolino
贡献者
Vladimir Prus
Vladimir Prus
贡献者
Gennadiy Rozental
Gennadiy Rozental
贡献者
Sergiu Deitsch
Sergiu Deitsch
贡献者
SPKorhonen
SPKorhonen
贡献者
Niklas Angare
Niklas Angare
贡献者
Adam Majer
Adam Majer
贡献者
Joachim Faulhaber
Joachim Faulhaber
贡献者
Vatsal Shah
Vatsal Shah
贡献者
Rogerio dos Santos
Rogerio dos Santos
贡献者
Paul Groke
Paul Groke
贡献者