Boost库简介

摘要:
它提供更强的类型安全转换、更有效的类型安全保护、范围检查数字转换和词汇转换。实现循环缓冲区的数据结构DisjointSets库:实现具有多个STL兼容索引的容器PointerContainer库:提供键/值映射的属性概念定义PropertyTree库:存储具有多个属性值的树数据结构Unordered库:可以在不使用正表达式的情况下处理大多数字符串操作实用程序库:

Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。

字符串和文本处理库

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

容器库

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等复杂类型的联合体

迭代器库

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

算法库

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

函数对象和高阶编程库

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++中的函数式编程。

泛型编程库

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

模板元编程

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

预处理元编程库

Preprocessors库:提供预处理元编程工具

并发编程库

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

数学和数字库

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号建议,实现编译期的分数操作。
Multiprecision库:提供比C++内置的整数、分数和浮点数精度更高的多精度数值运算功能。
Odeint库:用于求解常微分方程的初值问题。

排错和测试库

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

数据结构库

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: 实现运行时的多态。

图像处理库

GIL库:通用图像库

输入输出库

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

跨语言混合编程库

Python库:用于实现Python和C++对象的无缝接口和混合编程

内存管理库

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

解析库

Spirit库:基于EBNF范式的LL解析器框架

编程接口库

Function库:实现一个通用的回调机制,已被收入TR1
Parameter库:提供使用参数名来指定函数参数的机制

综合类库

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号建议所支持的时间功能。
Log库:实现日志功能。
Predef库:提供一批统一兼容探测其他宏的预定义宏。

编译器问题的变通方案库

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

参考链接:
https://www.cnblogs.com/findumars/p/7257415.html

免责声明:文章转载自《Boost库简介》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux netstat 命令详解汇编语言(王爽) 第3章寄存器(内存访问)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Robot Framework操作

Robot Framework 介绍 RobotFramework是一款基于python的开源自动化测试框架,遵守Apache License 2.0协议,在此协议下所有人都可以免费开发和使用。因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等。RF提供很多...

sql server如何把整型字段转换成字符串型字段?

如果只是输出时转换的话,可以用CAST 或 CONVERT函数来转换,如:SELECT CAST(整形字段 AS varchar(20))或SELECT CONVERT(varchar(20), 整形字段)如果是要将字段类型改为字符串的话,可以用语句,也可以直接在设计器里改,用语句的话,用:ALTER TABLE 表名 ALTER COLUMN 整形字段...

0-1背包问题的分枝—限界算法

  1.分枝—限界法的基本原理 分枝—限界算法类似于回溯法,也是一种在问题的解空间树上搜索问题解的算法。但两者求解方法有两点不同:第一,回溯法只通过约束条件剪去非可行解,而分枝—限界法不仅通过约束条件,而且通过目标函数的限界来减少无效搜索,也就是剪掉了某些不包含最优解的可行解;第二,在解空间树上,回溯法以深度优先搜索,而分枝—限界法则以广度优先或...

JS-鼠标、键盘事件及事件对象/event

事件对象/event event包含了发生事件的所有信息内容,不如:发生事件类型,发生事件的元素,键盘按下状态等等 事件对象的创建,当事件发生时,游浏览器帮我们创建的,并通过参数的形式传递给事件处理程序的 事件获取方式 //IE window.event; ​ //非IE arguments[0]; //事件处理程序的参数,第一个参数默...

计算智能(CI)之粒子群优化算法(PSO)(一)

欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识! 计算智能(Computational Intelligence , CI)是以生物进化的观点认识和模拟智能。按照这一观点,智能是在生物的遗传、变异、生长以及外部环境的自然选择中产生的。在用进废退、优胜劣汰的过程中,适应度高的...

2018年九个很受欢迎的vue前端UI框架

最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己的公司项目。 学习的过程之中发现继最热的 React 组件库和 Angular 组件库之后,这里有很多个流行和实用的 Vue.js 组件库完善你的下一个用 V...