Boost C++ 库

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

2006年1月 Review Wizard 状态报告

新闻

新年快乐!以下是关于2005年Boost库评审的一些统计信息

  • 12 个库被评审
  • 8 个库被接受
  • 1 个库(Function Types)已被接受,等待一次小型评审
  • 2 个库被拒绝
  • 1 个库尚未收到最终结果(ASIO)

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

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

注意
如果您对我们如何改进 Review Wizard 的状态报告有任何建议,请发送电子邮件至 "reportbase at gmail dot com" 和 "garcia at cs dot indiana dot edu"。

需要评审管理员

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

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

  • Fusion
  • Shmem
  • Pimpl Pointer
  • Type Traits (修改)
  • Function Types

评审队列

  • Fixed Strings - 2006年1月19日 - 2006年1月28日
  • Intrusive Containers
  • Function Types (小型重新评审)
  • Shmem
  • Fusion
  • Pimpl Pointer
  • Type Traits (修改)

Fixed Strings

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

Intrusive Containers

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

Function Types (小型重新评审)

作者

Tobias Schwinger

评审管理员

待定

下载

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

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

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

该库引入的类

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

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

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

Shmem

作者

Ion Gaztanaga

评审管理员

待定

下载

Boost Sandbox Vault -> Memory (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 是一个异构容器、视图和算法库。 一组开箱即用的异构容器(vector、list、set 和 map)以及提供各种可组合数据视图的视图类。 这些容器和视图遵循一个通用的序列概念,底层迭代器概念将其绑定在一起,从而使算法完全通用,适用于所有序列类型。

该架构在某种程度上模仿了 MPL,而 MPL 又模仿了 STL。 它的代码名称为“fusion”,因为该库是编译时元编程与运行时编程的“融合”。

Pimpl Pointer

作者 Asger Mangaard
评审管理员 待定
下载 Boost Sandbox (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 要求进行快速评审。

正在开发中的库

Property Tree

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

请告诉我们您目前正在开发并打算提交以供评审的任何库。