版本 1.33.0
版本 1.33.0
2005年8月11日 12:00 GMT
平台 | 文件 |
---|---|
Unix | boost_1_33_0.tar.bz2 |
boost_1_33_0.tar.gz | |
Windows | boost_1_33_0.exe |
boost_1_33_0.zip |
新增库
-
Iostreams 库: 用于定义流、流缓冲区和 i/o 过滤器的框架,作者 Jonathan Turkanis。
-
Functional/Hash 库: 一个 TR1 哈希函数对象,可以扩展到哈希用户定义类型,作者 Daniel James。
-
Parameter 库: 编写按名称接受参数的函数:当函数具有多个具有有用默认值的参数时,此功能特别有用,因为可以按任何顺序传递命名参数。
-
指针容器库: 用于存储堆分配的多态对象的容器,以简化面向对象编程,作者 Thorsten Ottosen。
-
Wave: 符合标准的 C99/C++ 预处理器功能实现,封装在一个易于使用的迭代器接口之后,作者 Hartmut Kaiser。
更新库
-
日期时间库:
-
添加了本地时间和时区类。
-
添加了基于格式的输入/输出 facet。
-
有关更改的完整列表,请参阅库的更改历史记录。
-
-
图库: 引入了几个新算法并改进了现有算法
-
实验性 Python 绑定,作者 Doug Gregor 和印第安纳大学。
-
floyd warshall 所有 对 最短 路径
,作者 Lauren Foutz 和 Scott Hill。 -
A* 搜索
,作者 Kristopher Beevers 和 Jufeng Peng。 -
Fruchterman-Reingold 力 导向 布局
,作者 Doug Gregor 和印第安纳大学。 -
双连通 分量
和关节点
,作者 Jeremy Siek、Janusz Piwowarski 和 Doug Gregor。 -
顺序 顶点 着色
已更新、测试和记录。 -
Gursoy-Atun 布局
,作者 Jeremiah Willcock 和印第安纳大学的 Doug Gregor。 -
King 排序
,作者印第安纳大学的 D. Kevin McGrath。 -
Cuthill-McKee 排序
已被改写为对广度 优先 搜索
的调用,现在支持具有多个组件的图。 -
Dijkstra 最短 路径
现在使用 relaxed 堆 [61] 作为其优先级队列,将其复杂度提高到 O(V log V) 并提高了较大图的实际性能。 -
读取 Graphviz
现在有一个新的、基于 Spirit 的解析器,适用于所有图形类型,并支持图形上的任意属性,作者 Ron Garcia。旧的、基于 Bison 的 GraphViz 阅读器已被弃用,并将在未来的 Boost 版本中删除。写入 Graphviz
也支持动态属性。 -
子图
:get_property
现在指的是子图属性,而不是根图的属性。 -
有关其他更改和错误修复,请参阅历史记录。
-
-
程序选项库:
-
选项描述现在以自动换行的形式打印。
-
命令行解析器可以绕过未注册的选项,而不是抛出异常。
-
删除了对“隐式”(可选)值的支持。
-
新的自定义方法 'command_line_parser::extra_style_parser'。与 'additional_parser' 不同,它允许用户解析多个标记并返回一个选项向量,而不仅仅是单个选项。
-
在禁用异常的情况下工作。
-
-
Boost.Python:
-
添加了对非静态属性上的文档字符串的支持。
-
我们现在只为最后一个重载导出客户端提供的
init<optional<> >
和 XXX_FUNCTION_OVERLOADS()
的文档字符串。 -
添加了对 MacOS 上的 Embedded VC++ 4 和 GCC-3.3 的支持
-
为 shared_ptr 的右值 Python 转换引入了更好的支持。
-
支持使用索引套件公开
vector<T*>
。 -
更新了 Visual Studio 项目构建文件。
-
在索引页中添加了搜索功能。
-
-
随机数库: 改进了
mersenne_twister
的初始化,算法由 Makoto Matsumoto 和 Takuji Nishimura 提出,由 Jens Maurer 为 Boost 实现。注意:所有为
mersenne_twister
构造的测试向量(不带参数或使用单个unsigned int
参数构造或播种)都将失效。 -
正则表达式库:
-
重写的f前端解析器现在支持 (?imsx-imsx) 构造,以及后向断言和条件表达式。
-
轻量级包装类改进了与 MFC/ATL 代码的集成。
-
通过 ICU 库提供完全(可选)Unicode 支持。有关这些更改和其他一些小更改的更多信息,请参阅正则表达式历史记录页面。
-
-
序列化库:
-
DLL 版本。
-
自动链接。
-
序列化变体。
-
改进了共享指针的序列化。
-
-
信号库: 添加了插槽阻塞/解除阻塞功能,作者 Frantz Maerten。Robert Zeh 对信号调用性能进行了巨大的改进。
支持的编译器
Boost 在各种编译器和平台上进行了测试。由于 Boost 库依赖于并非所有编译器都提供的现代 C++ 功能,因此并非所有 Boost 库都适用于每个编译器。以下编译器和平台已使用 Boost 进行了广泛测试,尽管许多其他编译器和平台也可以工作。有关更多信息,请参阅回归测试结果。
-
Mac OS X 上的 Apple GCC 3.x。
-
Windows 上的 Borland C++ 5.6.4。
-
Windows、Linux 和 Solaris 上的 GNU C++ 2.95.3(带和不带 STLport)、3.2.x.、3.3.x、3.4.x、4.0.x。
-
Windows、Linux 上的 Intel C++ 8.1、9.0。
-
Mac OS X 和 Windows 上的 Metrowerks CodeWarrior 8.3、9.4、9.5。
-
Microsoft Visual C++ 6.0 (sp5,带和不带 STLport)、7.0、7.1、8.0 beta。注意:由于 Visual C++ 8.0 beta 存在间歇性问题,并且存在各种预发布编译器版本,因此我们无法保证在最终编译器发布之前兼容。
致谢
Douglas Gregor 管理了此次发布。
许多人贡献了他们的时间和专业知识,才使此次发布成为可能。特别感谢 Aleksey Gurtovoy 和 Misha Bergal,他们在整个发布过程中设法保持回归测试系统正常工作;感谢 David Abrahams、Beman Dawes、Aleksey Gurtovoy、Rene Rivera 和 Jonathan Turkanis 大大提高了此次发布的质量;感谢 Rene Rivera 设计了新的 Boost 网页;感谢 Zoltan "cad" Juhasz 设计了新的 Boost 徽标。