Boost C++ 库

...世界上最受推崇和专家设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

2007 年 9 月审查向导状态报告

新闻

2007 年 8 月 17 日 -- 时间序列库被接受。
公告:https://lists.boost.org/boost-announce/2007/08/0142.php
2007 年 7 月 24 日 -- Boost 1.34.1 版本发布。
这是一个 bug 修复版本,解决了 1.34.0 版本的许多问题。公告: http://svn.boost.org/trac/boost/query?status=closed&milestone=Boost+1.34.1

我们需要经验丰富的审查管理员。请查看需要管理员的库列表并查看其描述。通常,审查管理员是活跃的 Boost 参与者或库贡献者。如果您能够担任其中任何一个的审查管理员,请分别发送电子邮件给 Ron Garcia 或 John Phillips,“garcia at cs dot indiana dot edu”和“jphillip at capital dot edu”。

此报告的链接将发布到 www.boost.org。如果您希望我们在发布之前对此报告进行任何修改或补充,请发送电子邮件给 Ron 或 John。

如果您是库作者,并计划在未来 3-6 个月内提交库进行审查,请向 Ron 或 John 发送您的库的简短描述,我们将其添加到下面的“正在开发的库”中。我们知道有很多库即将完成,但我们很难跟踪所有库。请随时告知我们您的进度。

审查队列

  • 异常
  • 有限状态机
  • 浮点实用程序
  • Switch
  • 属性映射(快速通道)
  • 图(快速通道)

异常

作者

Emil Dotchevski

审查管理员

需要志愿者

下载

http://www.revergestudios.com/boost-exception/boost-exception.zip

描述

此库的目的是使异常类设计者不必考虑需要在异常对象中存储哪些数据才能使 catch 站点能够理解出错的地方。

使用异常类时,可以在任何异常中存储任意值。这可以直接在 throw 表达式中完成,或者在异常对象沿调用堆栈传播时稍后完成。在抛出异常对象后向其添加数据的能力非常重要,因为处理异常所需的一些信息通常在抛出时不可用。

有限状态机

作者

Andrey Semashev

审查管理员

Martin Vuille

下载

Boost 沙盒库

描述

Boost.FSM 库是 FSM(代表有限状态机)编程概念的实现。该库的主要目标是

  • 简单性。使用此库创建状态机应该非常简单。
  • 性能。状态机基础架构不应非常耗时和占用内存,以便适用于更多用例。
  • 可扩展性。开发人员可能希望向现有状态机添加更多状态。开发人员还应该能够以最少的代码修改为机器指定其他转换和事件。

浮点实用程序

作者 Johan Råde
审查管理员

需要志愿者

下载

Boost 沙盒库

描述

浮点实用程序库包含以下内容

  • 浮点数分类函数:fpclassify、isfinite、isinf、isnan、isnormal(遵循 TR1)
  • 符号位函数:signbit、copysign、changesign(遵循 TR1)
  • 根据 C99 标准格式化和解析无穷大和 NaN 的 Facet。(这些可用于在文本流中可移植地处理无穷大和 NaN。)

Switch

作者 Steven Watanabe
审查管理员 需要志愿者
下载 Boost 沙盒库
描述 内置的 C/C++ switch 语句非常高效。不幸的是,与链式 if/else 结构不同,当 case 数量取决于模板参数时,没有简单的方法可以使用它。Switch 库解决了这个问题。

属性映射(快速通道)

作者

Andrew Sutton

审查管理员

Jeremy Siek

下载

http://svn.boost.org/svn/boost/sandbox/graph-v2

描述

对属性映射库的一些添加和修改,包括

  • 常量值属性映射,对自然未加权图很有用。
  • 无操作写入属性映射,当您必须提供参数但不关心输出时很有用。
  • 有关详细信息,请参阅更改日志

图(快速通道)

作者

Andrew Sutton

审查管理员

Jeremy Siek

下载

http://svn.boost.org/svn/boost/sandbox/graph-v2

描述

对图库的一些添加和修改,包括

  • 两个新的图类(无向和有向),旨在使新开发人员更容易使用该库
  • 一套图度量,包括度中心性和紧密中心性、平均测地线距离、偏心率和聚类系数。
  • 一种访问有向图中所有循环的算法(Tiernan 在 1970 年代提出的)。它也适用于无向图,但会报告两次循环(每个方向一次)。
  • 一种访问图中所有派系的算法(Bron&Kerbosch)。适用于有向图和无向图。
  • 派生图度量半径和直径(来自偏心率)以及周长和周长(来自 Tiernan)以及派系数(来自 Bron&Kerbosch)。
  • 一个 exterior_property 类,有助于隐藏外部属性的一些怪异之处。
  • 新算法的运行时和编译时测试。
  • 大量的文档
  • 图核,由 David Gleich(斯坦福大学)实现
  • 确定性图生成器 - 能够在顶点集上创建或导出特定类型的图(例如,星形图、轮图、棱柱图等)。还有其他几种特定类型可以添加到此,但我还没有时间。

正在开发的库

数据流

作者 Stjepan Rajko
描述 数据流库为数据生产者、消费者以及两者之间的连接提供通用支持。它还为几种特定的数据流机制提供层,即 Boost.Signals、VTK 数据/显示管道和普通指针。数据流库来自信号网络 GSoC 项目,由 Doug Gregor 指导。
状态 我正在完善数据流库以提交,并预计在接下来的几个月内将其添加到审查队列中。我目前正在解决库设计中的一些缺陷,补充缺失的功能,并在不同的数据流机制(目前是 VTK,很快是 Boost.Iostreams)上对其进行测试/调整。一旦我确定事情进展顺利,我就会将它提交到审查队列,同时进行最后的润色。

约束值

作者

Robert Kawulak

下载

http://rk.go.pl/f/constrained_value.zip

http://rk.go.pl/r/constrained_value(文档)

描述

约束值库包含用于创建约束对象的类模板。约束对象的最简单示例是小时。一天中小时的唯一有效值是范围 [0, 23] 中的整数。使用此库,您可以创建一个行为与 int 完全相同的变量,但不允许分配不属于允许范围的值。该库不仅关注包含属于指定范围的值的约束对象(即有界对象)。实际上可以使用适当的谓词施加任何约束。您可以指定在分配无效值时会发生什么,例如,可能会抛出异常,或者可能会调整值以满足约束条件。

状态

我计划在 1-2 个月内完成它。

请告知我们您目前正在开发并打算提交审查的任何库。