Boost
发布
arrow_drop_down
上一版本 (1.63.0)
2016年12月22日
依赖项
此版本增加了 5 个依赖项 (涉及 4 个库),并删除了 1 个依赖项 (涉及 1 个库)。
平台 文件 SHA256 哈希
Unix boost_1_63_0.tar.bz2 beae2....cb3b0
boost_1_63_0.tar.gz fe34a....7088b
Windows boost_1_63_0.7z 25db3....5f423
boost_1_63_0.zip 97ce6....cbe7b
Windows (二进制) boost_1_63_0-bin-msvc-all-32-64.7z a5483....7e1cb
boost_1_63_0-msvc-10.0-32.exe 9b3ae....a5a53
boost_1_63_0-msvc-10.0-64.exe 7ad1a....7a5ee
boost_1_63_0-msvc-11.0-32.exe a2486....00727
boost_1_63_0-msvc-11.0-64.exe 312bd....34240
boost_1_63_0-msvc-12.0-32.exe 819fd....dfc3e
boost_1_63_0-msvc-12.0-64.exe 297fb....ff809
boost_1_63_0-msvc-14.0-32.exe c5077....b34d9
boost_1_63_0-msvc-14.0-64.exe e0718....5dde2
boost_1_63_0-msvc-8.0-32.exe 37d30....3e13c
boost_1_63_0-msvc-8.0-64.exe a3ff8....8f0ee
boost_1_63_0-msvc-9.0-32.exe a9de1....7709c
boost_1_63_0-msvc-9.0-64.exe f0970....ae480

版本 1.63.0

2016年12月26日 23:43 GMT

文档

第三方下载

发布后补丁

  • Atomic:
    • 在 GCC 版本早于 4.7 的 32 位 x86 上使用 64 位原子操作以及兼容编译器可能会生成错误的代码。此问题已在此 提交 中修复。

更新的库

  • Atomic:
    • 添加了静态常量 atomic<T>::is_always_lock_free 以符合 C++17。该常量指示给定的特化总是提供无锁实现的原子操作。
    • 改进了 x86 目标上的 Oracle Studio 支持。
  • Container:
  • Context:
    • #11687 Xcode (Apple clang) 和 thread_local
    • #12114 context 在 ios arm64 设备上不保留 fpu context(也修复了其他架构)
    • #12411 Visual Studio 中 O2 优化时 fpu 寄存器未被保留(也修复了其他架构)
    • #12551 在 arm64 上构建 boost 时出错:未知指令
    • 为 ontop 函数减少了签名
    • 私有 fcontext-API 的单元测试
    • ucontext 和 fcontext 的性能测试已修复
  • Fiber:
    • unbounded_channel 和 bounded_channel 被标记为已弃用
    • 新的类 buffered_channel 和 unbuffered_channel
    • 性能已提升
  • Fusion:
    • 修复了 fusion::vector 的错误构造函数(感谢 Lee Clagett)。
    • BOOST_FUSION_ADAPT*BOOST_FUSION_DEFINE* 现在允许空结构。(#6592
    • BOOST_FUSION_DEFINE* 允许移动构造函数和赋值。(#10099
    • std::array 的适配器(感谢 Mateusz Łoskot)。(#8241
    • 修复了 MSVC 上返回临时变量的警告。
  • 几何:
    • 改进
      • 交集:确保输出有效(进行中,尚未完成 - 但已有更多内容有效)
    • 已解决的工单
      • #12289 避免 std::cout 的警告/编译错误
      • #12412 geographic Points 和 Boxes 的 covered_by() 结果无效
      • #12413 rtree::remove() 在使用 geographic Points 时无法正常工作
  • 哈希:
    • 修复了一些警告。
  • Interprocess:
  • Intrusive:
  • Lexical Cast:
    • 修复了 -fsanitize=undefined 发现的问题 #21
  • Log:
    • 一般性更改
      • 移除了之前已弃用的 type_info_wrapper
    • 新功能
      • 添加了从文本文件接收器后端访问当前文件名的功能。可以通过 get_current_file_name 方法获取文件名。
    • 错误修复
      • 修复了 Android API 早于 21 的版本出现的编译错误。
      • 流运算符现在按值接受标量类型和枚举。这允许将静态常量和位域直接输出到格式化流和记录流。(#11998
      • 修复了原生 syslog API 的自动检测。(#12600
      • 在基于 UDP 套接字的 syslog 后端实现中,更改了 syslog 消息格式,以更好地符合 RFC3164。
      • 在文本文件接收器后端安装的文件关闭处理程序,如果文件尚未打开,将不再被调用。
    • 有关更多详细信息,请参阅 更改日志
  • Metaparse:
    • 改进了 BOOST_METAPARSE_STRING 的实现
      • 最大字符串长度限制已增加到 2048
      • 可以通过重新生成 Boost 的某些头文件(使用库中的脚本)将最大字符串长度限制扩展到 2048 以上
      • 字符串长度限制可以在编译单元内更改
  • Move:
    • 改进了实验性自适应排序算法的性能
    • 激活 BOOST_MOVE_FORCEINLINE
  • Optional:
    • 添加了两个新的就地构造函数。它们的功能类似于 emplace() 函数:它们通过完美转发获取的参数来初始化包含的值。一个构造函数始终初始化包含的值,另一个则基于布尔条件。
    • 语法 o = {} 现在可以正确地取消初始化 optional,就像 std::optional 一样。
    • 修复了 optional<optional<T>&> 的初始化。(#12203
    • Optional 构造函数是 sfinae 友好的。这修复了与 std::tuple 的交互。(#12563
  • Phoenix:
    • 大多数模块现在支持 C++11 variadic templates。
    • 修复了结果类型时的类型推导失败。
    • 抑制未使用警告。
    • 修复了二元数学函数参数过少错误。
    • 添加了对旧编译器的临时解决方案。
  • Python:
    • 添加了(基本)对 C++11 的支持(std::shared_ptr, std::unique_ptr)
    • 整合了一个扩展 API 来包装 NumPy
    • 移除了过时的部分
  • Test:
    • Boost.test v3.4 详情请参阅 更改日志 部分。
    • 新功能:per_elementlexicographic 修饰符 BOOST_TEST 也可以应用于字符串比较
    • 破坏性更改:测试用例名称中出现的冒号将被替换为下划线
    • 错误修复
  • TypeIndex:
    • 在库中添加了 runtime_cast,用于模拟 dynamic_cast。感谢 Chris Glover 的实现。更多信息请参阅 runtime_cast 参考
    • CTTI 的内部实现已更具平台独立性,因为将 std::size_t 类型更改为 unsigned int
  • Units:
    • 修复了检查警告
    • 将物理化学常数更新为 CODATA 2014 值
    • 正确定义 biot 为 10 安培
  • Unordered:
    • 修复了赋值中的异常安全性问题。
    • 在可用时使用 std::allocator_traits,并支持现代样式的 rebind(#12459)。
    • 添加了一些支持分配器的构造函数。
    • emplace_hint 中使用提示迭代器。
    • 修复了一些警告。
    • 更多细节请参阅 更改日志

测试的编译器

Boost 的主要测试编译器是:

  • Linux
    • Clang: 3.0, 3.8.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
    • Clang, C++14: 3.5, 3.6, 3.7, 3.8.1
    • Clang, C++1z: 3.8.1
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.2.0, 6.2.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.3, 5.2.0, 6.1.1, 6.2.0
    • GCC, C++14: 5.2.0, 5.3.0, 6.1.1, 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
  • 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
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
    • Clang, C++14: 3.5, 3.6, 3.7, 3.8.1
    • Clang, C++1z: 3.8.1
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.2.0, 6.1.1, 6.2.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.3, 5.2.0, 6.1.1, 6.2.0
    • GCC, C++14: 5.2.0, 5.3.0, 6.1.1, 6.2.0, 7.0.0 (experimental)
    • GCC, C++1z: 6.1.1
    • 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
    • GCC,C++14: 6.1.0
  • 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 管理了此次发布。

贡献者

Daniel James
Daniel James
贡献者
Rene Rivera
Rene Rivera
贡献者
John Maddock
John Maddock
贡献者
Oliver Kowalke
Oliver Kowalke
贡献者
Kohei Takahashi
Kohei Takahashi
贡献者
Andrey Semashev
Andrey Semashev
贡献者
Peter Dimov
Peter Dimov
贡献者
Jim Bosch
Jim Bosch
贡献者
Barend Gehrels
Barend Gehrels
贡献者
Ion Gaztañaga
Ion Gaztañaga
贡献者
Stefan Seefeld
Stefan Seefeld
贡献者
Raffi Enficiaud
Raffi Enficiaud
贡献者
Ankit Daftery
Ankit Daftery
贡献者
Adam Wulkiewicz
Adam Wulkiewicz
贡献者
Andrzej Krzemieński
Andrzej Krzemieński
贡献者
Edward Diener
Edward Diener
贡献者
zerotypos-found
zerotypos-found
贡献者
K. Noel Belcourt
K. Noel Belcourt
贡献者
Beman Dawes
Beman Dawes
贡献者
Marshall Clow
Marshall Clow
贡献者
Mateusz Łoskot
Mateusz Łoskot
贡献者
Joel de Guzman
Joel de Guzman
贡献者
Antony Polukhin
Antony Polukhin
贡献者
Chris Glover
Chris Glover
贡献者
Vicente J. Botet Escriba
Vicente J. Botet Escriba
贡献者
Jim Bosch
Jim Bosch
贡献者
Vladimir Batov
Vladimir Batov
贡献者
Emil Dotchevski
Emil Dotchevski
贡献者
Jürgen Hunold
Jürgen Hunold
贡献者
Kartik Mohta
Kartik Mohta
贡献者
Christoph Lassner
Christoph Lassner
贡献者
Tim Blechmann
Tim Blechmann
贡献者
Wei-Ming Yang
Wei-Ming Yang
贡献者
Nikita Kniazev
Nikita Kniazev
贡献者
Karolin Varner
Karolin Varner
贡献者
Murray Cumming
Murray Cumming
贡献者
Chris Glover
贡献者
E Kawashima
E Kawashima
贡献者
Sebastian Theophil
Sebastian Theophil
贡献者
Lee Clagett
Lee Clagett
贡献者
Jared Grubb
Jared Grubb
贡献者
Thomas Trummer
Thomas Trummer
贡献者
alfC
alfC
贡献者
Norbert Wenzel
Norbert Wenzel
贡献者
Toshiki Teramura
Toshiki Teramura
贡献者
Tobias Germer
贡献者
Vladimir Prus
Vladimir Prus
贡献者
Neal D. Becker
Neal D. Becker
贡献者
akumta
akumta
贡献者
Marek Kurdej
Marek Kurdej
贡献者
Eric Niebler
Eric Niebler
贡献者
Giel van Schijndel
Giel van Schijndel
贡献者
Frank Mori Hess
Frank Mori Hess
贡献者
Thomas Sondergaard
贡献者
Nat Goodspeed
Nat Goodspeed
贡献者
xaqq
xaqq
贡献者
Marcel Raad
Marcel Raad
贡献者
vmurashev
vmurashev
贡献者
Ilya Kolpakov
Ilya Kolpakov
贡献者
Philippe Daouadi
Philippe Daouadi
贡献者
Per
Per
贡献者
Alexander Lisianoi
贡献者
Anthony Leedom
Anthony Leedom
贡献者
Matt Barr
贡献者
tag
标签
贡献者
Maks Naumov
Maks Naumov
贡献者
Alain Miniussi
Alain Miniussi
贡献者
Felix Bruns
Felix Bruns
贡献者
Daniel Seither
Daniel Seither
贡献者
Dan Čermák
Dan Čermák
贡献者
Aaron Wishnick
贡献者
Orgad Shaneh
Orgad Shaneh
贡献者
Justin Brewer
Justin Brewer
贡献者
Romain Geissler
Romain Geissler
贡献者
Raphael Moreira Zinsly
Raphael Moreira Zinsly
贡献者
Benjamin Roland Buch
Benjamin Roland Buch
贡献者
Akira Takahashi
Akira Takahashi
贡献者
per
per
贡献者
Glen Fernandes
Glen Fernandes
贡献者
Tolga HOŞGÖR
Tolga HOŞGÖR
贡献者
Steve Mc Gregor
贡献者
Patrick J. LoPresti
Patrick J. LoPresti
贡献者
Philip Miller
Philip Miller
贡献者
André Draszik
André Draszik
贡献者
barnabyrobson
barnabyrobson
贡献者
correaa
correaa
贡献者
Jakob Lykke Andersen
Jakob Lykke Andersen
贡献者
Takeshi Abe
Takeshi Abe
贡献者
Sage Weil
Sage Weil
贡献者
Miro Knejp
Miro Knejp
贡献者
Guillaume Dumont
Guillaume Dumont
贡献者
Maël Valais
Maël Valais
贡献者
Jonas Hoersch
Jonas Hoersch
贡献者
tbeu
tbeu
贡献者
Uskok
Uskok
贡献者
Anthony
Anthony
贡献者
WKarel
WKarel
贡献者
Florian Weik
Florian Weik
贡献者