版本 1.46.0
2011年2月21日 20:36 GMT
文档
新库
- Icl:
- Interval Container Library,区间集和映射以及关联值的聚合,来自 Joachim Faulhaber。
更新的库
-
Array:
- 添加了对 cbegin/cend 的支持 (#4761)
- 修复了 Sun 编译器的问题 (#4757)
-
Asio:
- 修复了在使用 64 位平台的
ip::address_v4::broadcast() 时发生的整数溢出问题。
- 修复了旧版 Linux 内核(使用 epoll 但不支持 timerfd)上在程序运行一段时间后,导致 deadline_timer 处理程序不能及时传递的问题 (#5045)。
-
Bind:
-
make_adaptable 现在已记录 (#4532)
-
Concept Check:
-
Filesystem:
- 库版本 3 现在是默认版本。
- IBM vacpp:编译器错误(影响
iterator_facade)的解决方法。( #4912)
- 验证、澄清、记录
<boost/config/user.hpp> 可用于指定 BOOST_FILESYSTEM_VERSION。( #4891)
- 将 C 风格的
assert 替换为 BOOST_ASSERT。
- 取消了
unique_path() 的弃用。而是添加了一个说明,提到了缺乏线程安全和可能更改 cwd 的解决方法。unique_path() 太方便了,不能弃用!
- 清除了几个 GCC 警告。
- 将 V2 代码更改为使用
BOOST_THROW_EXCEPTION。
- Windows:修复
status() 以正确报告非符号链接的重分析点。
- 向
recursive_directory_iterator 添加 symlink_option,允许控制是否递归进入目录符号链接。请注意,默认已更改为不递归进入目录符号链接。
- 参考文档清理,包括修复丢失和损坏的链接,以及添加缺失的函数。
- 杂项实现代码清理。
-
Fusion:
- vector 复制构造函数现在可在不同平台上以相同的顺序复制序列成员 (#2823)
-
图:
- 修复了 Graphviz 输出在 Visual C++ 7.1 下的兼容性问题。
- 将 assert 替换为
BOOST_ASSERT。
- 更改为 Boost.Filesystem v3。
- 修复了 Trac 中的以下错误: #1021, #4556, #4631, #4642, #4715, #4731, #4737, #4753, #4758, #4793, #4843, #4851, #4852, #4887, #4914, #4966。
- 修复了 Trac 中未列出的各种错误。
-
哈希:
- 支持
std::type_index (#4756)。
- 避免
-Wconversion 警告。
-
Iostreams:
- 使用
BOOST_ASSERT 而不是 assert。
- 修复了 flush 回归问题 (#4590)。
-
Iterator:
- 修复了
implicit_cast 的问题 (#3645)
-
数学:
- 添加了 Wald、Inverse Gaussian 和 geometric 分布。
- 添加了关于配置宏的信息。
- 添加了对 mpreal 作为实数类型(real-numered type)的支持。
-
Meta State Machine:
-
Optional:
- 更新了测试结果,包含预期失败的信息 (#2294)
-
Pool:
- 现在可以为池设置 max_size (#2696)
-
boost/pool/pool.hpp 使用 reinterpret_cast 而不是 static_cast (#2941)
-
boost::pool_allocator 现在可以与 vector of vectors 一起工作 (#386)
- Boost pool 现在与 Microsoft 内存泄漏检测兼容 (#4346)
-
Program Options:
-
Proto:
-
重大更改:
boost/proto/core.hpp 不再定义 functional::pop_front 和 functional::reverse,它们已移动到 boost/proto/functional 下的各自的头文件中
- 为更多的 Fusion 算法(包括
fusion::at)添加了可调用包装器;以及为一些 std 实用程序(如 make_pair、first 和 second)添加了可调用包装器,所有这些都位于新的 boost/proto/functional 目录中
- 允许将变换与文法分开指定
-
proto::matches 保留了特定域的表达式包装器
- 修复了
proto::and_ 变换中 operator, 的 ADL 问题
- 修复了涉及多个域的表达式中语法检查的歧义 (#4675)
- 修复了
proto::display_expr 中模棱两可的 operator<< (#4910)
-
fusion::is_sequence 对 Proto 表达式返回 true (#5006)
- 消除了
boost/proto/fusion.hpp 中 -Wundef GCC 警告 (#5075)
-
Signals:
-
Spirit:
- Spirit V2.4.2,详情请参阅 '最新消息' 部分。
-
Tokenizer:
-
isspace/ispunct 使用了错误的字符类型 (#4791)
-
Unordered:
- 避免使用
operator& 与值类型。
- 避免
-Wconversion 警告。
-
Wave:
更新了工具
-
Boostbook:
-
Inspect:
- 检查 Boost 头文件是否使用了 C 的
assert 宏。
-
Quickbook:
- 为文档信息中的
lang 属性添加了支持。
- 改进了锚点。
- 在条件短语中支持
import, include 和 xinclude。
- 使用 Filesystem 3。
测试的编译器
Boost 的主要测试编译器是:
- Linux
- GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.2,
- GCC, C++0x 模式: 4.3.4, 4.4.3, 4.5.0, 4.5.2
- Intel: 10.1, 11.0, 11.1
- Clang: 2.8
- Pathscale: 3.2。
- OS X
- GCC: 4.0.1, 4.2.1, 4.4
- GCC, C++0x 模式: 4.4。
- Intel: 11.1
- Windows
- Visual C++: 7.1, 8.0, 9.0 和 10.0。
- GCC, mingw: 4.4.0。
- FreeBSD
Boost 的其他测试编译器包括:
- Linux
- GCC: 3.4.6, 4.2.4, 4.3.4, 4.3.5, 4.4.3, 4.4.5, 4.5.0, 4.5.2
- GCC, C++0x 模式: 4.3.4, 4.4.3, 4.5.0, 4.5.2
- pgCC 11.1
- Intel: 10.1, 11.0, 11.1
- PathScale: 3.2, 4.0
- Visual Age C++ 10.1
- Clang 来自 subversion
- OS X
- Intel C++ Compiler: 10.1, 11.0, 11.1
- GCC: 4.0.1, 4.2.1, 4.4.4
- GCC, C++0x 模式: 4.4.4
- Clang 来自 subversion
- Windows
- Visual C++: 7.1, 8.0, 9.0, 10.0
- Visual C++ with STLport: 9.0
- Visual C++, Windows Mobile 5, with STLport: 9.0
- GCC, mingw: 4.4.0, 4.5.1, 4.6.0
- GCC, mingw, C++0x 模式: 4.5.1
- Borland: 6.1.3 (2009), 6.2.1 (2010)
- AIX
- IBM XL C/C++ Enterprise Edition, V11.1.0.0
- FreeBSD
- Solaris
致谢
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James 和 Vladimir Prus 管理了本次发布。