版本 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 库: 编写按名称接受参数的函数:当函数有多个具有有用默认值的参数时尤其有用,因为命名参数可以按任何顺序传递。
-
Pointer Container 库: 用于存储堆分配多态对象的容器,以简化 OO 编程,来自 Thorsten Ottosen。
-
Wave: 符合标准的 C99/C++ 预处理器功能的实现,封装在一个易于使用的迭代器界面之后,来自 Hartmut Kaiser。
更新的库
-
Date-Time 库:
-
添加了 本地时间和时区类。
-
添加了 基于格式的输入/输出 facets。
-
有关完整的更改列表,请参阅库的 变更历史记录。
-
-
Graph 库: 引入了几个新的算法并改进了现有算法
-
实验性的 Python 绑定,来自 Doug Gregor 和印第安纳大学。
-
floyd warshall all pairs shortest paths
,来自 Lauren Foutz 和 Scott Hill。 -
astar search
,来自 Kristopher Beevers 和 Jufeng Peng。 -
fruchterman reingold force directed layout
,来自 Doug Gregor 和印第安纳大学。 -
biconnected components
和articulation points
,来自 Jeremy Siek, Janusz Piwowarski 和 Doug Gregor。 -
sequential vertex coloring
已更新、测试和记录。 -
gursoy atun layout
,来自 Jeremiah Willcock 和印第安纳大学的 Doug Gregor。 -
king ordering
,来自印第安纳大学的 D. Kevin McGrath。 -
cuthill mckee ordering
已被重构为breadth first search
的调用,现在支持具有多个组件的图形。 -
dijkstra shortest paths
现在使用松弛堆 [61] 作为其优先级队列,将其复杂度提高到 O(V log V),并提高了较大图形的实际性能。 -
read graphviz
现在有一个新的、基于 Spirit 的解析器,它适用于所有图形类型,并支持图形上的任意属性,来自 Ron Garcia。 旧的、基于 Bison 的 GraphViz 阅读器已被弃用,将在未来的 Boost 版本中删除。write graphviz
也支持动态属性。 -
subgraph
:get_property
现在引用子图属性,而不是根图的属性。 -
有关其他更改和错误修复,请参阅 历史记录。
-
-
Program Options 库:
-
选项描述现在以自动换行方式打印。
-
命令行解析器可以绕过未注册的选项,而不是抛出异常。
-
删除了对“隐式”(可选)值的支持。
-
新的自定义方法“command_line_parser::extra_style_parser”。 与“additional_parser”不同,它允许用户解析多个标记并返回选项向量,而不仅仅是单个选项。
-
适用于禁用异常的情况。
-
-
Property Map 库: 引入了
dynamic properties
类,它提供了对一组属性映射的动态类型访问。 -
Boost.Python:
-
添加了对非静态属性的文档字符串的支持。
-
我们现在只为最后一个重载导出客户端提供的
init<optional<> >
和 XXX_FUNCTION_OVERLOADS()
的文档字符串。 -
添加了对 Embedded VC++ 4 和 MacOS 上的 GCC-3.3 的支持
-
引入了对 shared_ptr 的 rvalue from-python 转换的更好支持。
-
支持使用索引套件公开
vector<T*>
。 -
更新了 visual studio 项目构建文件。
-
在索引页面中添加了搜索功能。
-
-
随机数库: 改进了
mersenne_twister
的初始化,该算法由 Makoto Matsumoto 和 Takuji Nishimura 提出,由 Jens Maurer 为 Boost 实现。注意:所有没有参数或只有一个
unsigned int
参数构造或播种的mersenne_twister
的测试向量都将失效。 -
Regex 库:
-
重写的前端解析器现在支持 (?imsx-imsx) 构造,以及 lookbehind 断言和条件表达式。
-
Thin wrapper 类改进了与 MFC/ATL 代码的集成。
-
通过 ICU 库的完全(可选)Unicode 支持。 有关这些和其他小更改的更多信息,请参阅 regex 历史记录页面。
-
-
Serialization 库:
-
DLL 版本。
-
自动链接。
-
变体的序列化。
-
改进了共享指针的序列化。
-
-
Signals 库: 添加了 slot 阻塞/解除阻塞,来自 Frantz Maerten。 Robert Zeh 对信号调用性能进行了巨大改进。
支持的编译器
Boost 在各种编译器和平台上进行了测试。 由于 Boost 库依赖于并非所有编译器都提供的现代 C++ 功能,因此并非所有 Boost 库都可以在每个编译器上工作。 以下编译器和平台已经过 Boost 的广泛测试,尽管许多其他编译器和平台也可以使用。 有关更多信息,请参阅 回归测试结果。
-
Apple GCC 3.x 在 Mac OS X 上。
-
Borland C++ 5.6.4 在 Windows 上。
-
GNU C++ 2.95.3 (带和不带 STLport)、3.2.x.、3.3.x、3.4.x、4.0.x 在 Windows、Linux 和 Solaris 上。
-
Intel C++ 8.1、9.0 在 Windows、Linux 上。
-
Metrowerks CodeWarrior 8.3、9.4、9.5 在 Mac OS X 和 Windows 上。
-
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 徽标。