Boost C++ 库

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

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

新闻

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

  • 共审查了12个库
  • 接受了8个库
  • 接受了1个库(函数类型),但需进行小型审查
  • 拒绝了2个库
  • 1个库尚未获得最终裁决(ASIO)

策略指针已从审查队列中移除,因为作者表示它尚未准备好。

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

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

需要审查经理

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

以下库仍需要审查经理

  • Fusion
  • Shmem
  • Pimpl指针
  • 类型特征(修改)
  • 函数类型

审查队列

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

固定字符串

作者 Reece Dunn
审查经理 Harmut Kaiser
下载 Boost沙箱(http://boost-sandbox.sourceforge.net/)在fixed_string下
描述 固定字符串库为静态大小的字符串(char s[ n ])提供缓冲区溢出保护。它提供了一个C风格的字符串接口,以兼容C代码(例如,将C程序移植到C++)。还有一个std::string风格的接口,使用基于Andre Alexandrescu的flex_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沙箱库 -> 内存(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惯用法的实现。

类型特征(修改)

作者

Alexander Nasonov

审查经理

待定

下载

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

描述

提议向type_traits库添加promote、integral_promotion和floating_point_promotion类模板。

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沙箱库(http://boost-consulting.com/vault/)property_tree_rev3.zip

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