Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

版本 1.41.0

版本 1.41.0

2009 年 11 月 17 日 17:00 GMT

文档

下载
平台文件
unixboost_1_41_0.tar.bz2
boost_1_41_0.tar.gz
windowsboost_1_41_0.7z
boost_1_41_0.zip

新库

  • Property Tree: 一种树状数据结构,特别适合存储配置数据,由 Marcin Kalicinski 和 Sebastian Redl 开发。

更新的库

  • DateTime:
    • 时间间隔的默认格式现在是 "%-%O:%M:%S%F" 而不是之前使用的 "%-%H:%M:%S%F"。 为了保留旧的行为,必须在时间 IO facet 构造期间显式指定格式字符串 (#1861)。
    • Gregorian 日期现在在 64 位平台上内部使用 32 位整数类型 (#3308)。
    • 有关更多详细信息,请参阅完整更新日志
  • Filesystem:
  • Iostreams: 一些旧的未发布开发。 仍然有几个未解决的问题应在下一个版本中修复。
    • 添加 grep 过滤器 (#1627)。
    • 支持具有多个成员的存档 (#1896)。
    • 使 tee 能够与输入流一起工作 (#791)。
    • 改进的文件系统互操作性。
    • 修复或抑制了多个警告(包括 #1618, #1875, #2779)。
    • 各种其他修复 (包括 #1580, #1671)。
  • Math: 大大提高了不完全伽玛函数及其反函数的性能:这增强了伽玛分布、泊松分布、卡方分布和非中心卡方分布的性能。
  • Multi-index Containers: 维护修复。 有关更多信息,请查阅库发行说明
  • Proto:
    • 清理 /Za(禁用 Microsoft 扩展)模式下的一些 MSVC 警告和错误。
    • 修复了各种编译器上的 c++0x 模式。
  • Python: Boost.Python 现在支持 Python 3 (Haoyu Bai 的 Google Summer of Code 项目,由 Stefan Seefeld 指导)。
  • Regex: 增加了对许多 Perl 5.10 语法元素的支持,包括命名子表达式、分支重置和递归正则表达式。
  • Spirit: 这是新 Spirit V2.1 的初始官方版本,这是一个用于解析、词法分析和输出生成的全新库。 注意:此版本与早期版本不向后兼容。 已知问题:qi::symbol::find 将匹配以您搜索的字符串开头的符号。 这将在下一个版本中修复。
  • System:
  • Thread:
    • 添加了对 futures、promises 和 packaged tasks 的支持
    • 当存在大量线程特定对象时,boost::thread_specific_ptr 现在更快
    • 一些 Boost.Thread 功能现在是仅标头的
  • Unordered: 重大更新
    • 用更简洁的基于模板的实现替换了大量基于宏的实现。
    • 减少了内存使用。
    • 完整详情请见更新日志
  • Utility: 修复了 value_initialized 的 "const" 问题:其 data() 成员函数及其转换运算符被 const 和非 const 访问的重载所取代 (#2548)。
  • Wave: 有关详细信息,请参阅更新日志
  • Xpressive:
    • 修复了某些用法中的无限循环\Q...\Equotemeta (#3586)。
    • 消除 MSVC 上无法访问的代码警告
    • 清理 /Za ("禁用 Microsoft 扩展") 模式下的一些 MSVC 警告和错误。
    • 修复了各种编译器上的 c++0x 模式。

构建系统

修复了阻止在 OSX 上进行 "fat" 32 位 + 64 位构建的 bug。

Boost.CMake 已移动

boost 的 cmake 版本已移动; Boost.CMmake 版本将是独立的,并且会稍微滞后于主版本发布,但也将能够根据需要生成补丁版本。

有关更多信息,请访问Boost CMake wiki 页面

更新的工具

  • Quickbook 1.5: 这些更改要求您的文档使用 [quickbook 1.5] 标签
    • 更直观的模板调用语法和变量查找 (#1174, #2034, #2036)。
    • 图像属性 (#1157)
    • 表格 ID (#1194)
    • 更好地处理 section 语法中的空格。 (#2712)

测试的编译器

Boost 的主要测试编译器是

  • OS X
    • Intel Tiger 和 Leopard 上的 GCC 4.0.1。
    • PowerPC Tiger 上的 GCC 4.0.1。
  • Linux
    • Ubuntu Linux 上的 GCC 4.4.1。
    • Debian 上的 GCC 4.4
  • Windows
    • Windows XP 上的 Visual C++ 7.1 SP1、8.0 SP1 和 9.0 SP1。

Boost 的其他测试编译器包括

  • Linux
    • Red Hat Enterprise Linux 上的 Intel 10.1。
    • 64 位 Red Hat Enterprise Linux 上的 Intel 10.1。
    • 64 位 Itanium 上的 Suse Linux 上的 Intel 10.1。
    • 32 位 Red Hat Enterprise Linux 上的 Intel 11.0。
    • 64 位 Red Hat Enterprise Linux 上的 Intel 11.0。
    • 64 位 Red Hat Enterprise Linux 上的 Intel 11.1。
    • 64 位 Linux Redhat 5.1 Server 上的 Intel 11.1。
    • Red Hat Enterprise Linux 上的 GCC 3.4.3、GCC 4.2.4、GCC 4.3.3 和 GCC 4.4.1。
    • Red Hat Enterprise Linux 上具有 C++0x 扩展的 GCC 4.3.3 和 GCC 4.4.1。
    • 64 位 Redhat Server 5.1 上的 GCC 4.3.3。
    • 64 位 Linux 上的 GCC 4.3.3。
    • Debian unstable 上的 GCC 4.3.4。
    • 64 位 Gentoo 上的 GCC 4.3.2。
    • Red Hat Enterprise Linux 上的 QLogic PathScale(TM) Compiler Suite: Version 3.2。
    • Red Hat Enterprise Linux 上的 Sun 5.9。
  • OS X
    • Leopard 上的 Intel C++ Compiler 11.1。
    • Intel C++ Compiler 10.1, 11.0。
    • Intel Tiger 上的 GCC 4.0.1。
    • PowerPC Tiger 上的 GCC 4.0.1。
  • Windows
    • XP 上的 Visual C++ 7.1、8,0、9,0。
    • 32 位 Vista 上的 Visual C++ 9.0。
    • AMD 64 位 Vista 上的 Visual C++ 9.0。
    • XP 和 Windows Mobile 5.0 上使用 STLport 5.2 的 Visual C++ 9.0。
    • 带有程序选项库补丁的 Visual C++ 10.0 beta 1。
    • Borland/Codegear C++ 5.9.3、6.1.3 (2009)、6.2.0 (2010)。
    • Vista 32 位上带有 Visual C++ 9.0 后端的 Intel C++ 11.1。
    • Mingw 上带有和不带有 C++0x 扩展的 GCC 4.4.1。
  • AIX
    • AIX Version 5.3.0.40 上的 IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0。
  • FreeBSD
    • FreeBSD 7.0 上的 GCC 4.2.1。
  • Solaris
    • Solaris 5.10 上的 Sun C++ 5.10。

致谢

Beman Dawes、Eric Niebler、Rene Rivera 和 Daniel James 管理了此版本。