Boost C++ 库

...世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei AlexandrescuC++ 编码标准

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

新闻

2007 年 8 月 17 日 - 时间序列已接受。
公告:https://lists.boost.org/boost-announce/2007/08/0142.php
2007 年 7 月 24 日 - Boost 版本 1.34.1 发布。
这是一个错误修复版本,解决了 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 发送一个简短的库描述,我们将将其添加到下面的正在开发的库中。我们知道有很多库即将完成,但我们很难跟踪所有这些库。请随时告知我们您的进展。

审查队列

  • 异常
  • 有限状态机
  • 浮点运算工具
  • 开关
  • 属性映射(快速通道)
  • 图形(快速通道)

异常

作者

Emil Dotchevski

审查经理

需要志愿者

下载

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

描述

此库的目的是使异常类设计者免于考虑需要在异常对象中存储什么数据,以便捕获站点能够理解发生了什么错误。

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

有限状态机

作者

Andrey Semashev

审查经理

Martin Vuille

下载

Boost 沙箱保险库

描述

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

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

浮点运算工具

作者 Johan Råde
审查经理

需要志愿者

下载

Boost 沙箱保险库

描述

浮点运算工具库包含以下内容

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

开关

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

属性映射(快速通道)

作者

Andrew Sutton

审查经理

Jeremy Siek

下载

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

描述

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

  • 一个常量值属性映射,对于自然无权图很有用。
  • 一个 noop-writing 属性映射,当您必须提供一个参数,但并不关心输出时很有用。
  • 有关详细信息,请参阅 变更日志

图形(快速通道)

作者

Andrew Sutton

审查经理

Jeremy Siek

下载

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

描述

对图形库进行了一些添加和修改,包括

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

正在开发的库

数据流

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

受约束的值

作者

Robert Kawulak

下载

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

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

描述

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

状态

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

如果您正在开发任何您打算提交以供审查的库,请告知我们。