Boost C++ 库

……世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei AlexandrescuC++ 编码规范

版本 1.41.0

版本 1.41.0

2009年11月17日 17:00 格林威治标准时间

文档

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

新增库

  • 属性树: 一种特别适合存储配置数据的树形数据结构,由 Marcin Kalicinski 和 Sebastian Redl 贡献。

更新的库

  • 日期时间:
    • 时间持续时间的默认格式现在是“%-%O:%M:%S%F”,而不是以前使用的“%-%H:%M:%S%F”。为了保留旧的行为,必须在时间IO构面构建期间显式指定格式字符串 (#1861)。
    • 格里高利历日期现在在 64 位平台上内部使用 32 位整数类型 (#3308)。
    • 查看完整变更日志了解更多详情。
  • 文件系统:
  • Iostreams: 一些旧的未发布的开发成果。仍然有一些待解决的问题,应该在下个版本中修复。
    • 添加 grep 过滤器 (#1627)。
    • 支持包含多个成员的存档 (#1896)。
    • 使tee能够与输入流一起工作 (#791)。
    • 改进的文件系统互操作性。
    • 修复或抑制了一些警告 (包括 #1618#1875#2779)。
    • 其他一些修复 (包括 #1580#1671)。
  • Math: 大大提高了不完全伽马函数及其逆函数的性能:这增强了伽马、泊松、卡方和非中心卡方分布的性能。
  • 多索引容器: 维护修复。请参阅库发行说明了解更多信息。
  • Proto:
    • 清理一些在 /Za(禁用 Microsoft 扩展)模式下的 MSVC 警告和错误。
    • 修复了各种编译器上的 c++0x 模式。
  • Python: Boost.Python 现在支持 Python 3(白浩宇的 Google Summer of Code 项目,由 Stefan Seefeld 指导)。
  • Regex: 添加了对许多 Perl 5.10 语法元素的支持,包括命名子表达式、分支重置和递归正则表达式。
  • Spirit: 这是新的 Spirit V2.1 的第一个正式版本,这是一个全新的用于解析、词法分析和输出生成的库。注意:此版本与早期版本不兼容。已知问题:qi::symbol::find 将匹配以您搜索的字符串开头的符号。这将在下一个版本中修复。
  • 系统:
    • 错误修复: (#3559)。
  • 线程:
    • 添加了对 future、promise 和打包任务的支持
    • 当存在大量线程特定对象时,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 上进行“胖”32 位 + 64 位构建的错误。

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。
    • QLogic PathScale(TM) 编译器套件:Red Hat Enterprise Linux 上的版本 3.2。
    • Red Hat Enterprise Linux 上的 Sun 5.9。
  • OS X
    • Leopard 上的 Intel C++ 编译器 11.1。
    • Intel C++ 编译器 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 上的 GCC 4.4.1,带和不带 C++0x 扩展。
  • AIX
    • AIX 版本 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 负责此版本的管理。