Boost C++ 库

...世界上最受尊敬和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

2006年1月审查向导状态报告

新闻

新年快乐!以下是 2005 年 Boost 库审查的一些统计数据

  • 审查了 12 个库
  • 接受了 8 个库
  • 1 个库(函数类型)在迷你审查后被接受
  • 拒绝了 2 个库
  • 1 个库尚未收到最终裁决 (ASIO)

Policy Pointer 已从审查队列中移除,因为作者声明它尚未完全准备好。

我们需要审查管理员。请查看需要管理员的库列表,并查看它们的描述。如果您可以担任其中任何一个的审查管理员,请给我们发送电子邮件。

注意
如果您对如何改进审查向导的状态报告有任何建议,请发送电子邮件至“reportbase at gmail dot com”和“garcia at cs dot indiana dot edu”。

需要审查管理员

审查队列中还有一些库需要审查管理员。如果您想自愿成为审查管理员,请联系 Ron 或 Tom。

以下库仍然需要审查管理员

  • Fusion
  • Shmem
  • Pimpl 指针
  • Type Traits(修改)
  • 函数类型

审查队列

  • 固定字符串 - 2006 年 1 月 19 日 - 2006 年 1 月 28 日
  • 侵入式容器
  • 函数类型(迷你重新审查)
  • Shmem
  • Fusion
  • Pimpl 指针
  • Type Traits(修改)

固定字符串

作者 Reece Dunn
审查管理员 Harmut Kaiser
下载 Boost 沙盒 (http://boost-sandbox.sourceforge.net/) 在 fixed_string 下
描述 固定字符串库为静态大小的字符串 (char s[ n ]) 提供缓冲区溢出保护。它为与 C 代码的兼容性提供了 C 风格的字符串接口(例如,将 C 程序移植到 C++)。还有一个使用 Andre Alexandrescu 的 flex_string 类构建的 std::string 风格的接口,但由于该类的不可调整大小的特性,有一些限制。

侵入式容器

作者 Olaf Krzikalla
审查管理员 待定
下载 http://people.freenet.de/turtle++/intrusive.zip
描述 虽然侵入式容器在 C 中被广泛使用,但由于标准容器的存在,它在 C++ 世界中越来越被遗忘,标准容器不支持侵入式技术。Boost.Intrusive 不仅将这项技术重新引入 C++,而且还将实现封装在类似 STL 的接口中。因此,任何熟悉标准容器的人都可以轻松使用侵入式容器。

函数类型(迷你重新审查)

作者

Tobias Schwinger

审查管理员

待定

下载

http://boost-sandbox.sourceforge.net/vault/

描述
该库提供了一个元编程工具

用于分类、分解和合成函数、函数指针、函数引用和成员函数指针类型。为了本文档的目的,这些类型统称为函数类型(这与标准定义不同,并且从程序员的角度重新定义了该术语,指的是涉及函数的最常见类型)。

该库引入的类

应符合 Boost 元编程库 (MPL) 的概念。

函数类型库使用户能够
  • 测试任意类型是否为指定类型的函数类型,
  • 检查函数类型的属性,
  • 使用 MPL 序列操作查看和修改封装的函数类型的子类型,以及
  • 合成函数类型。
该库支持可变参数函数,并且

可以配置为支持非默认调用约定。

Shmem

作者

Ion Gaztanaga

审查管理员

待定

下载

Boost 沙盒 Vault -> 内存 (http://boost-sandbox.sourceforge.net/vault/index.php?direction=0&order=&directory=Memory)

http://ice.prohosting.com/newfunk/boost/libs/shmem/doc/html/index.html

描述

Shmem 提供了简化应用程序中共享内存使用的工具。这些工具包括共享内存的创建/销毁和同步对象。它还实现了共享内存段部分的动态分配,以及一种在共享内存中构造 C++ 对象的简单方法。

除此之外,Shmem 还实现了一系列类似 STL 的容器和分配器,这些容器和分配器可以安全地放置在共享内存中,有助于实现复杂的共享内存数据库和其他高效的进程间通信。

Fusion

作者

Joel de Guzman

审查管理员

待定

下载

http://spirit.sourceforge.net/dl_more/fusion_v2/ http://spirit.sourceforge.net/dl_more/fusion_v2.zip

描述

Fusion 是一个异构容器、视图和算法库。它开箱即用地提供了一组异构容器(向量、列表、集合和映射)以及视图类,这些视图类在数据上呈现各种可组合的视图。容器和视图遵循通用的序列概念,底层迭代器概念将它们绑定在一起,从而使算法完全通用,适用于所有序列类型。

该架构在某种程度上以 MPL 为模型,而 MPL 又以 STL 为模型。它被命名为“fusion”,因为该库是编译时元编程与运行时编程的“融合”。

Pimpl 指针

作者 Asger Mangaard
审查管理员 待定
下载 Boost 沙盒 (http://boost-consulting.com/vault/) 在 pimpl_ptr 下。
描述 pimpl 习惯用法被广泛用于减少编译时间和禁用代码耦合。它通过将类的私有部分从 .hpp 文件移动到 .cpp 文件来实现这一点。但是,它的实现可能很棘手,并且存在许多陷阱(尤其是在内存管理方面)。pimpl_ptr 库是一个单头文件,它实现了一个特殊的基于策略的智能指针,以大大简化 pimpl 习惯用法的实现。

Type_Traits(修改)

作者

Alexander Nasonov

审查管理员

待定

下载

http://cpp-experiment.sourceforge.net/promote-20050917.tar.gz http://cpp-experiment.sourceforge.net/promote-20050917/

描述

建议将 promote、integral_promotion 和 floating_point_promotion 类模板添加到 type_traits 库。

Alexander 在不同的编译器上进行了尝试,结果各不相同:GNU/Linux(gentoo-hardened):gcc 3.3 和 3.4,Intel 7、8 和 9 Windows:VC7 免费编译器 Sparc Solaris:Sun C++ 5.3 和 5.7

请查看 promote_enum_test.cpp 开头的注释,了解哪些地方已损坏。 http://cpp-experiment.sourceforge.net/promote-20050917/libs/type_traits/test/promote_enum_test.cpp

Alexander 请求快速通道审查。

正在开发中的库

属性树

作者 Marcin Kalicinski
下载 Boost 沙盒 Vault (http://boost-consulting.com/vault/) property_tree_rev3.zip

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