Boost C++ 库

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

版本 1.31.0

版本 1.31.0

2004 年 1 月 26 日,格林威治标准时间 12:00

文档

下载
平台文件
unixboost_1_31_0.tar.bz2
boost_1_31_0.tar.gz
windowsboost_1_31_0.zip

新许可证

已开发出统一的 Boost 软件许可证,并将逐步取代大多数 Boost 库的各个许可证。新许可证为用户和开发者提供更好的法律保护,并应加快用户对 Boost 库的法律审查。Dave Abrahams 领导了 Boost 为制定更好的许可而做出的努力。法律团队由哈佛大学法学院 伯克曼互联网与社会中心临床项目主任 Diane Cabell 领导。Nixon Peabody LLP 律师 Devin Smith 撰写了 Boost 许可证。哈佛大学法学院的 Eva Chan 为各种法律文件的议题分析和草案做出了贡献。

注意:许多 Boost 库仍在使用早期的许可证,但都符合 Boost 许可证要求。在此版本发布后,我们将开始努力朝着统一使用新许可证的方向发展。

构建和安装

  • 新的 入门指南 程序简化了下载和安装,由 Rene Rivera 和其他人完成。
  • 改进了对需要单独编译的库的支持,由 John Maddock 和其他人完成。

新库

  • enable_if: 函数模板重载的选择性包含,由 Jaakko Jarvi、Jeremiah Willcock 和 Andrew Lumsdaine 完成。这是一项重要的新技术,它利用了 SFINAE(替换失败不是错误)原则。
  • Variant 库: 安全、通用、基于堆栈的可区分联合容器,由 Eric Friedman 和 Itay Maman 完成。

更新的库

  • Compose: 此库已被弃用,将在未来的版本中移除。请改用 BindLambda
  • Date Time 库: 大量错误修复、新功能和文档改进。有关详细信息,请参阅 Date Time 更改历史记录。
  • Filesystem 库: 添加了多个函数,包括改进了目录和文件名可移植性的检查。
  • Iterator 库: 主要版本升级,接口与 C++ 库 TR 提案一致,包括改进的iterator_adaptor设计以及几个新组件,由 David Abrahams、Jeremy Siek 和 Thomas Witt 完成。
  • MultiArray:multi_array类模板现在提供了元素保留调整大小操作以及默认构造(有关更多信息,请参阅参考手册)。
  • Python 库:
    • 支持 Linux 上的 Python 2.3 和 Intel C++
    • 添加了容器 索引套件
    • 注入的构造函数和包装的函数对象。
    • 包装静态数据成员。
    • std::wstring 转换。
    • 改进的关键字参数
    • 更好的错误消息,包括 GCC 的名称反解。
    • 更简单的 构建过程
    • ...等等....
  • 随机数库: 接口已更改为与 C++ TR 提案 匹配,由 Jens Maurer 完成。
  • Regex: 全新的匹配算法现在比以前快得多,外加一系列新功能和增强功能
  • Boost.Spirit 1.8.0:
    • 多个语法起始规则
    • 多个扫描器规则(不再有扫描器业务难题)
    • 更多动态解析器
    • 预定义的 actor
    • 大量错误修复和 QOI 内容
    • 等等...

    从 Spirit v1.8.0 开始,将不再支持不符合标准的编译器。如果您仍在使用这些旧编译器之一,请使用 Spirit v1.6.x。有关更多详细信息,请参阅 [@http://spirit.sf.net Spirit 的网站]。

  • 测试库:
    • 基于自由函数模板的测试用例
    • 执行监视器中的自定义异常转换器支持,并为单元测试框架添加了 register_exception_translator
    • 在自动注册工具中添加了对多模块单元测试的支持
    • 重新设计了浮点比较算法(不向后兼容!!!)
    • 添加了对返回布尔结果代码和可能的错误消息的自定义用户谓词的支持
    • 文档结构重新设计和更新

    有关更改的完整列表,请参阅测试库发行说明

杂项

  • 扩展的测试和针对不符合标准的编译器的修复。
  • 网站托管现在由 SourceForge 提供。