版本 1.44.0
版本 1.44.0
2010年8月13日 17:00 GMT
平台 | 文件 |
---|---|
unix | boost_1_44_0.tar.bz2 |
boost_1_44_0.tar.gz | |
windows | boost_1_44_0.7z |
boost_1_44_0.zip |
新库
-
Meta State Machine: 来自 Christophe Henry 的高性能、富有表现力的 UML2 有限状态机
-
Polygon: 用于具有整数坐标的平面多边形的布尔运算/裁剪、调整大小/偏移等,来自 Lucanus Simonson。
更新的库
-
Accumulators:
-
更正各种文档不准确之处
-
-
Asio:
-
缩短了编译时间。(请注意,某些程序可能需要添加额外的
#include
,例如,如果程序使用boost::array
但未显式包含<boost/array.hpp>
。) -
减小了生成的代码大小。
-
重构了
deadline_timer
实现以提高性能。 -
通过使用专用的隐藏线程等待计时器,提高了 Windows 上的多处理器可伸缩性。
-
提高了
asio::streambuf
与async_read()
和async_read_until()
的性能。这些读取操作现在在读取时使用streambuf
的现有容量,而不是将读取限制为 512 字节。 -
添加了可选的单独编译。要启用,请将
#include <boost/asio/impl/src.cpp>
添加到程序中的一个源文件,然后在项目/编译器设置中定义BOOST_ASIO_SEPARATE_COMPILATION
来构建程序。或者,可以定义BOOST_ASIO_DYN_LINK
以构建作为共享库一部分的单独编译的 Asio。 -
添加了新的宏
BOOST_ASIO_DISABLE_FENCED_BLOCK
,以允许禁用完成处理程序周围的内存栅栏,即使启用了线程支持。 -
重做了超时示例,以更好地说明典型用例。
-
确保处理程序参数作为
const
类型传递。 -
修复了处理非常小但非零的超时 (#4205)。
-
修复了当将空缓冲区序列传递给组合的读取或写入操作时发生的崩溃。
-
实现了在 Windows 上取消
null_buffers
操作。
-
-
Filesystem:
-
修复了共享库的符号可见性问题。
-
修复了各种小问题。
-
Hash:
-
通过定义宏
BOOST_HASH_NO_IMPLICIT_CASTS
,可以选择在调用哈希函数时防止隐式转换,这可以避免一些细微的问题。这可能会在未来的版本中默认激活。
-
-
Math:
-
修复了不正确的范围和对 Rayleigh 分布的支持。
-
-
MPL:
-
使
mpl::string
与mpl::transform
一起使用。
-
-
TR1:
-
修复了 VC10 支持。
-
std::tr1::result_of
始终使用 TR1 ResultOf 协议,即使在支持基于 C++0xdecltype
的实现的编译器上也是如此。
-
-
Type Traits:
-
修复了票证 #3621。
-
Utility:
-
添加了一个新的模板类,
boost::initialized<T>
,以修复 #3472。 -
新模板
boost::tr1_result_of
,即使boost::result_of
使用基于 C++0xdecltype
的实现,它也实现 TR1 ResultOf 协议。
-
-
Uuid:
-
定义
BOOST_UUID_NO_TYPE_TRAITS
以删除对 Boost.TypeTraits 的依赖。 -
流
operator<<
处理左对齐、内部对齐和右对齐操作符。 -
添加了
to_string
、to_wstring
以将 uuid 转换为字符串。 -
修复了文档中的小错误。
-
-
Xpressive:
-
在
nested_results
中,将不可移植的using
声明替换为typedef
。 -
支持用户定义的断言,其中包含非局部变量的占位符。
-
更新的工具
-
Boostbook:
-
速度显著加快。
-
改进的语法突出显示器。
-
测试的编译器
Boost 的主要测试编译器是
-
OS X
-
Intel Leopard 上的 GCC 4.0.1。
-
-
Linux
-
64 位 Suse 上的 GCC 4.4。
-
-
Windows
-
Visual C++ 7.1 SP1、8.0 SP1、9.0 SP1 和 10.0。
-
使用 Mingw 的 GCC 4.3.3。
-
-
FreeBSD
-
GCC 4.2.1,32 位和 64 位。
-
Boost 的其他测试编译器包括
-
Linux
-
32 位 Red Hat Enterprise Linux 上的 Intel 10.1。
-
64 位 Red Hat Enterprise Linux 上的 Intel 10.1、11.0、11.1。
-
Red Hat Enterprise Linux 上的 GCC 3.4.6、4.2.4、4.3.4、4.4.3、4.5。
-
Red Hat Enterprise Linux 上的带有 C++0x 扩展的 GCC、4.3.4、4.4.3、4.5。
-
64 位 Suse 上的 GCC 4.4。
-
Red Hat Enterprise Linux 上的 QLogic PathScale(TM) Compiler Suite: Version 3.2。
-
来自 subversion 的 Clang(将与 LLVM 2.8 一起发布)。
-
-
OS X
-
Leopard 上的 Intel C++ Compiler 10.1、11.0、11.1。
-
GCC 4.0.1、4.2.1(Apple 构建)。
-
GCC 4.4
-
带有 C++0x 扩展的 GCC,4.4
-
来自 subversion 的 Clang(将与 LLVM 2.8 一起发布)。
-
-
Windows
-
32 位 XP 上的 Visual C++ 7.1 SP、8.0、9.0。
-
XP 和 Windows Mobile 5.0 上使用 STLport 5.2 的 Visual C++ 9.0。
-
XP 上的 Visual C++ 10.0。
-
64 位 Windows 7 上的 Visual C++ 10.0。
-
Borland/Codegear C++ 5.9.3、6.1.3 (2009)、6.2.1 (2010)。
-
Vista 32 位上带有 Visual C++ 9.0 后端的 Intel C++ 11.1。
-
Mingw 上的 GCC 4.3.3、4.5。
-
Mingw 上带有 C++0x 扩展的 GCC,4.5。
-
-
AIX
-
AIX Version 5.3.0.40 上的 IBM XL C/C++ Enterprise Edition, V11.1.0.0。
-
-
FreeBSD
-
64 位 FreeBSD 7.2 上的 GCC 4.2.1。
-
32 位 FreeBSD 8.0 上的 GCC 4.2.1。
-
-
Solaris
-
Solaris 5.10 上的 Sun C++ 5.10。
-
鸣谢
Beman Dawes、Eric Niebler、Rene Rivera、Daniel James 和 Vladimir Prus 管理了此版本。
感谢 Marshall Clow 组织了错误冲刺,并感谢所有参与者。