Boost C++ 库

...世界上最受尊敬和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

版本 1.31.0

版本 1.31.0

2004 年 1 月 26 日 12:00 GMT

文档

下载
平台文件
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
  • 日期时间库: 大量错误修复、新功能和文档改进。有关详细信息,请参阅日期时间更改历史记录。
  • 文件系统库: 添加了几个函数,包括改进了对目录和文件名称可移植性的检查。
  • 迭代器库: 主要版本升级,其接口与 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:
    • 多个语法起始规则
    • 多个扫描器规则(不再有扫描器业务难题)
    • 更多动态解析器
    • 预定义的动作
    • 大量错误修复和 QOI 内容
    • 等等...

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

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

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

其他

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