Boost是个C++开发者集结的社群,也是一个可自由下载的C++程序库群。它的网址是http://boost.org。
Boost程序库对付的主题非常繁多,区分数十个类目,包括:
1.字符串与文本处理。
覆盖具备类型安全的printf-like格式化动作、正则表达式,以及语汇单元切割和解析。
2.容器,覆盖“接口与STL相似且大小固定”的数组、大小可变的bitset以及多维数组。
3.函数对象和高级编程。
覆盖若干被用来作为TR1机能基础的程序库。
4.泛型编程。
覆盖一大组trait class。
5.模板元编程。
覆盖一个针对编译期assertion而写的程序库,以及Boost MPL程序库。MPL提供了极好的东西,其中支持编译期实物诸如type的STL-like数据结构等等。
//创建一个list-like编译期容器,其中收纳三个类型:
//(float,double,long double),并将此容器命名为floats
typedef boost::mpl::list<float, double, long double> floats;
//再创建一个编译期间用以收纳类型的list,以floats内的类型为基础
//最前面再加上int,新容器取名为type
typedef boost::mpl::push_front<floats, int>::type types;
6.数学和数值。
包括有理数、八元数和四元数、常见的公约数和少见的多重运算、随机数(有一个影响TR1内部相关机能的程序库)。
7.正确性与测试。
覆盖用来将隐式模板接口形式化的程序库,以及针对“测试优先”编程形态而设计的措施。
8.数据结构。
覆盖类型安全的unions(存储各具差异的“任何”类型),以及tuple程序库(它是TR1同类机能的基础)。
9.语言间的支持。
包括允许C++和python之间的无缝互操作性。
10.内存。
覆盖Pool程序库,用来做出高效率而区块大小固定的分配器,以及多变化的智能指针,包括(但不仅仅是)TR1智能指针。
11.杂项。
包括CRC检验、日期和时间的处理、在文件系统上来回移动等等。
总结
1.Boost是一个社群,也是一个网站。致力于免费、源码开放、同僚复审的C++程序库开发。Boost在C++标准化过程中扮演深具影响力的角色。
2.Boost提供许多TR1组件实现品,以及其他许多程序库。