---
# System prepended metadata

title: Boost库分类
tags: [C++, Boost]

---

# Boost库分类
---

**1. 字符串和文本处理库**

| 库名 | 库功能说明 | 
| -------- | -------- | 
|Conversion库|对C++类型转换的增强，提供更强的类型安全转换、更高效的类型安全保护、进行范围检查的数值转换和词法转换。|
|Format库|实现类似printf的格式化对象，可以把参数格式化到一个字符串，而且是完全类型安全的。|
|IOStream库|扩展C++标准库流处理，建立一个流处理框架。|
|Lexical Cast库|用于字符串、整数、浮点数的字面转换。|
|Regex 库|正则表达式，已经被TR1所接受。|
|Spirit库|基于EBNF范式的LL解析器框架。|
|String Algo库|一组与字符串相关的算法。|
|Tokenizer库|把字符串拆成一组记号的方法。|
|Wave库|使用spirit库开发的一个完全符合C/C++标准的预处理器。|
|Xpressive 库|无需编译即可使用的正则表达式库。|

**2. 容器库**

| 库名 | 库功能说明 | 
| -------- | -------- | 
|Array 库|对C语言风格的数组进行包装|
|Bimap 库|双向映射结构库|
|Circular Buffer 库|实现循环缓冲区的数据结构|
|Disjoint Sets库 |实现不相交集的库|
|Dynamic Bitset 库|支持运行时调整容器大小的位集合|
|GIL 库|通用图像库|
|Graph 库|处理图结构的库|
|ICL 库|区间容器库，处理区间集合和映射|
|Intrusive 库|侵入式容器和算法|
|Multi-Array 库|多维容器|
|Multi-Index 库|实现具有多个STL兼容索引的容器|
|Pointer Container 库|容纳指针的容器|
|Property Map 库|提供键/值映射的属性概念定义|
|Property Tree 库|保存了多个属性值的树形数据结构|
|Unordered 库|散列容器，相当于hash_xxx|
|Variant 库|简单地说，就是持有string, vector等复杂类型的联合体|

**3. 迭代器库**

| 库名 | 库功能说明 | 
| -------- | -------- | 
|GIL 库|通用图像库|
|Graph 库|处理图结构的库|
|Iterators库|为创建新的迭代器提供框架|
|Operators库|允许用户在自己的类里仅定义少量的操作符，就可方便地自动生成其他操作符重载，而且保证正确的语义实现|
|Tokenizer库|把字符串拆成一组记号的方法|

**4. 算法库**

| 库名 | 库功能说明 | 
| -------- | -------- | 
|Foreach库|容器遍历算法|
|GIL库|通用图像库|
|Graph库|处理图结构的库|
|Min-Max库|可在同一次操作中同时得到最大值和最小值|
|Range库|一组关于范围的概念和实用程序|
|String Algo库|可在不使用正则表达式的情况下处理大多数字符串相关算法操作|
|Utility库|小工具的集合|

**5. 函数对象和高阶编程库**

| 库名 | 库功能说明 | 
| -------- | -------- | 
|Bind库|绑定器的泛化，已被收入TR1|
|Function库|实现一个通用的回调机制，已被收入TR1|
|Functional库|适配器的增强版本|
|Functional/Factory库|用于实现静态和动态的工厂模式|
|Functional/Forward库|用于接受任何类型的参数|
|Functional/Hash库|实现了TR1中的散列函数|
|Lambda库|Lambda表达式，即未命名函数|
|Member Function库|是STL中mem_fun和mem_fun_ref的扩展|
|Ref库|包装了对一个对象的引用，已被收入TR1|
|Result Of库|用于确定一个调用表达式的返回类型，已被收入TR1|
|Signals库|实现线程安全的观察者模式|
|Signals2库|基于Signal的另一种实现|
|Utility库|小工具的集合|
|Phoenix库|实现在C++中的函数式编程。|

**6. 泛型编程库**

| 库名 | 库功能说明 | 
| -------- | -------- | 
|Call Traits库|封装可能是最好的函数传参方式|
|Concept Check库|用来检查是否符合某个概念|
|Enable If库|允许模板函数或模板类在偏特化时仅针对某些特定类型有效|
|Function |Types库|提供对函数、函数指针、函数引用和成员指针等类型进行分类分解和合成的功能|
|GIL库|通用图像库|
|In Place Factory, Typed In Place Factory库|工厂模式的一种实现|
|Operators库|允许用户在自己的类里仅定义少量的操作符，就可方便地自动生成其他操作符重|载，而且保证正确的语义实现|
|Property Map库|提供键值映射的属性概念定义|
|Static Assert库|把断言的诊断时刻由运行期提前到编译期，让编译器检查可能发生的错误|
|Type Traits库|在编译时确定类型是否具有某些特征|
|TTI库|实现类型萃取的反射功能。|

**7. 模板元编程**

| 库名 | 库功能说明 | 
| -------- | -------- |
|Fusion库|提供基于tuple的编译期容器和算法|
|MPL库|模板元编程框架|
|Proto库|构建专用领域嵌入式语言|
|Static Assert库|把断言的诊断时刻由运行期提前到编译期，让编译器检查可能发生的错误|
|Type Traits库|在编译时确定类型是否具有某些特征|

**8. 预处理元编程库**

| 库名 | 库功能说明 | 
| -------- | -------- |
| Preprocessors库|提供预处理元编程工具|

**9. 并发编程库**

| 库名 | 库功能说明 | 
| -------- | -------- |
| Asio库|基于操作系统提供的异步机制，采用前摄设计模式实现了可移植的异步IO操作|
| Interprocess库|实现了可移植的进程间通信功能，包括共享内存、内存映射文件、信号量、文件锁、消息队列等|
| MPI库|用于高性能的分布式并行开发|
| Thread库|为C++增加线程处理能力，支持Windows和POSIX线程|
| Context库|提供了在单个线程上的协同式多任务处理的支持。该库可以用于实现用户级的多任务处理的机制，比如说协程coroutines，用户级协作线程或者类似于C#语言中yield关键字的实现。 [1] |
| Atomic库|实现C++11样式的atomic<>，提供原子数据类型的支持和对这些原子类型的原子操作的支持。|
|Coroutine库|实现对协程的支持。协程与线程的不同之处在于，协程是基于合作式多任务的，而多线程是基于抢先式多任务的。|
|Lockfree库|提供对无锁数据结构的支持。|

**10. 数学和数字库**

| 库名 | 库功能说明 | 
| -------- | -------- |
| Accumulators库|用于增量计算的累加器的框架|
| Integer库|提供一组有关整数处理的类|
| Interval库|处理区间概念的数学问题|
| Math库|数学领域的模板类和算法|
| Math Common Factor库|用于支持最大公约数和最小公倍数|
| Math Octonion库 |用于支持八元数|
| Math Quaternion库|用于支持四元数|
| Math/Special Functions库|数学上一些常用的函数|
| Math/Statistical Distributions库|用于单变量统计分布操作|
| Multi-Array库|多维容器|
| Numeric Conversion库|用于安全数字转换的一组函数|
| Operators库|允许用户在自己的类里仅定义少量的操作符，就可方便地自动生成其他操作符重载，而且保证正确的语义实现|
| Random库|专注于伪随机数的实现，有多种算法可以产生高质量的伪随机数|
| Rational库|实现了没有精度损失的有理数|
| uBLAS库|用于线性代数领域的数学库|
| Geometry库|用于解决几何问题的概念、原语和算法。|
| Ratio库|根据C++ 0x标准N2661号建议 [2]  ，实现编译期的分数操作。|
|Multiprecision库|提供比C++内置的整数、分数和浮点数精度更高的多精度数值运算功能。 [3] |
|Odeint库|用于求解常微分方程的初值问题。 [4] |

**11. 排错和测试库**

| 库名 | 库功能说明 | 
| -------- | -------- |
| Concept Check库 |用来检查是否符合某个概念|
| Static Assert库 |把断言的诊断时刻由运行期提前到编译期，让编译器检查可能发生的错误|
| Test库|提供了一个用于单元测试的基于命令行界面的测试套件|

**12. 数据结构库**

| 库名 | 库功能说明 | 
| -------- | -------- |
| Any库|支持对任意类型的值进行类型安全的存取|
| Bimap库|双向映射结构库|
| Compressed Pair库|优化的对pair对象的存储|
| Fusion库|提供基于tuple的编译期容器和算法|
| ICL库|区间容器库，处理区间集合和映射|
| Multi-Index库|为底层的容器提供多个索引|
| Pointer Container库|容纳指针的容器|
| Property Tree库|保存了多个属性值的树形数据结构|
| Tuple库|元组，已被TR1接受|
| Uuid库|用于表示和生成UUID|
| Variant库|有类别的泛型联合类|
| Heap库|对std::priority_queue扩展，实现优先级队列。|
| Type Erasure: 实现运行时的多态。|

**13. 图像处理库**

| 库名 | 库功能说明 | 
| -------- | -------- |
| GIL库|通用图像库|

14. 输入输出库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Assign库|用简洁的语法实现对STL容器赋值或者初始化|
| Format库|实现类似printf的格式化对象，可以把参数格式化到一个字符串，而且是完全类型安全的|
| IO State Savers库|用来保存流的当前状态，自动恢复流的状态等|
| IOStreams库|扩展C++标准库流处理，建立一个流处理框架|
| Program Options库|提供强大的命令行参数处理功能|
| Serialization库|实现C++数据结构的持久化|

15. 跨语言混合编程库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Python库|用于实现Python和C++对象的无缝接口和混合编程|

16. 内存管理库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Pool库|基于简单分隔存储思想实现了一个快速、紧凑的内存池库|
| Smart Ptr库|智能指针|
| Utility库|小工具的集合|

17. 解析库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Spirit库|基于EBNF范式的LL解析器框架|

18. 编程接口库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Function库|实现一个通用的回调机制，已被收入TR1|
| Parameter库|提供使用参数名来指定函数参数的机制|

19. 综合类库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Compressed Pair库|优化的对pair对象的存储|
| CRC库|实现了循环冗余校验码功能|
| Date Time 库|一个非常全面灵活的日期时间库|
| Exception库|针对标准库中异常类的缺陷进行强化，提供<<操作符重载，可以向异常传入任意数据|
| Filesystem库|可移植的文件系统操作库，可以跨平台操作目录、文件，已被TR2接受|
| Flyweight 库|实现享元模式，享元对象不可修改，只能赋值|
| Lexical Cast 库|用于字符串、整数、浮点数的字面转换|
| Meta State Machine库|用于表示UML2有限状态机的库|
| Numeric Conversion 库|用于安全数字转换的一组函数|
| Optional 库|使用容器的语义，包装了可能产生无效值的对象，实现了未初始化的概念|
| Polygon 库|处理平面多边形的一些算法|
| Program Options库|提供强大的命令行参数处理功能|
| Scope Exit库|使用preprocessor库的预处理技术实现在退出作用域时资源自动释放|
| Statechart库|提供有限自动状态机框架|
| Swap库|为交换两个变量的值提供便捷方法|
| System库|使用轻量级的对象封装操作系统底层的错误代码和错误信息，已被TR2接受|
| Timer库|提供简易的度量时间和进度显示功能，可以用于性能测试等需要计时的任务|
| Tribool库|三态布尔逻辑值，在true和false之外引入indeterminate不确定状态|
| Typeof库|模拟C++0x新增加的typeof和auto关键字，以减轻变量类型声明的工作，简化代码|
| Units库|实现了物理学的量纲处理|
| Utility库|小工具集合|
| Value Initialized库|用于保证变量在声明时被正确初始化|
| Chrono库|实现了C++ 0x标准中N2661号建议 [2]  所支持的时间功能。|
| Log库|实现日志功能。|
| Predef库|提供一批统一兼容探测其他宏的预定义宏。 [5] |

20. 编译器问题的变通方案库

| 库名 | 库功能说明 | 
| -------- | -------- |
| Compatibility库|为不符合标准库要求的环境提供帮助|
| Config库|将程序的编译配置分解为三个部分|平台、编译器和标准库，帮助库开发者解决特定平台特定编译器的兼容问题|

###### tags: `C++` `Boost`
