Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

Boost 库文档

排序方式
  • Accumulators: 增量计算框架,以及统计累加器的集合。
  • Algorithm: 有用的通用算法集合。
  • Align: 内存对齐函数、分配器、特性。
  • Any: 用于不同值类型的单个值的安全通用容器。
  • Array: 用于常量大小数组的 STL 兼容容器包装器。
  • Asio: 可移植的网络和其他底层 I/O,包括套接字、计时器、主机名解析、套接字 iostream、串行端口、文件描述符和 Windows HANDLE。
  • Assert: 可自定义的断言宏。
  • Assign: 用常量或生成的数据填充容器从未如此简单。
  • Atomic: C++11 风格的原子类型。
  • Beast: 仅使用 C++11 和 Boost.Asio 的可移植 HTTP、WebSocket 和网络操作
  • Bimap: C++ 的双向映射库。使用 Boost.Bimap,您可以创建关联容器,其中两种类型都可以用作键。
  • Bind: boost::bind 是标准函数 std::bind1st 和 std::bind2nd 的泛化。它支持任意函数对象、函数、函数指针和成员函数指针,并且能够将任何参数绑定到特定值或将输入参数路由到任意位置。
  • Call Traits: 定义传递参数的类型。
  • CallableTraits: Boost.FunctionTypes 的精神继承者,Boost.CallableTraits 是一个仅标头的 C++11 库,用于编译时检查和操作所有“可调用”类型。额外支持 C++17 功能。
  • CharConv: C++11 中 <charconv> 的实现。
  • Chrono: 有用的时间实用程序。C++11。
  • Circular Buffer: 也称为环形或循环缓冲区的 STL 兼容容器。
  • Cobalt: 协程。基本算法 & 类型
  • Compat: 后期 C++ 标准中添加的标准组件的 C++11 实现。
  • Compatibility: 帮助不符合标准的标准库。
  • Compressed Pair: 具有空成员优化的对类。
  • Compute: 并行/GPU 计算库
  • Concept Check: 用于泛型编程的工具。
  • Config: 帮助 Boost 库开发人员适应编译器特性;不适用于库用户。
  • Container: 标准库容器和扩展。
  • Container Hash: 与 STL 兼容的哈希函数对象,可以扩展以哈希用户定义的类型。
  • Container Hash: 与 STL 兼容的哈希函数对象,可以扩展以哈希用户定义的类型。
  • Context: (C++11) 上下文切换库。
  • Contract: C++ 的契约式编程。支持所有契约式编程功能:分包、类不变式、后置条件(具有旧值和返回值)、前置条件、断言失败时的可自定义操作(例如,终止或抛出)、断言的可选编译和检查等。
  • Conversion: 多态转换。
  • Convert: 可扩展且可配置的类型转换框架。
  • Core: 具有最小依赖性的简单核心实用程序集合。
  • Coroutine (已弃用): 协程库。
  • Coroutine2: (C++11) 协程库。
  • CRC: Boost CRC 库提供 CRC(循环冗余码)计算对象的两种实现和 CRC 计算函数的两种实现。这些实现是基于模板的。
  • Date Time: 一组基于泛型编程概念的日期时间库。
  • Describe: C++14 反射库。
  • DLL: 用于舒适地使用 DLL 和 DSO 的库。
  • Dynamic Bitset: dynamic_bitset 类表示一组位。它通过 operator[] 提供对各个位的值的访问,并提供可以应用于内置整数的所有按位运算符,例如 operator& 和 operator<<。集合中的位数在运行时通过 dynamic_bitset 构造函数的参数指定。
  • Enable If: 函数模板重载的选择性包含。
  • Endian: 用于正确字节顺序的类型和转换函数,无论处理器字节序如何。
  • Exception: Boost Exception 库支持在异常对象中传输任意数据,以及在线程之间传输异常。
  • Fiber: (C++11) 用户级线程库。
  • Filesystem: Boost Filesystem 库提供可移植的工具来查询和操作路径、文件和目录。
  • Flyweight: 用于管理大量高度冗余对象的设计模式。
  • Foreach: 在 C++ 中,编写一个迭代序列的循环是很乏味的。我们可以使用迭代器,这需要大量的样板代码,或者我们可以使用 std::for_each() 算法并将我们的循环体移动到谓词中,这需要不少的样板代码,并迫使我们将逻辑移动到远离它将被使用的地方。相比之下,其他一些语言(如 Perl)提供了专用的“foreach”构造来自动化此过程。BOOST_FOREACH 正是 C++ 的这种构造。它为我们迭代序列,使我们不必直接处理迭代器或编写谓词。
  • Format: format 库提供了一种类型安全的机制,用于根据类似 printf 的格式字符串格式化参数。
  • Function: 用于延迟调用或回调的函数对象包装器。
  • Function Types: Boost.FunctionTypes 提供对函数、函数指针、函数引用和成员类型指针进行分类、分解和合成的功能。
  • Functional: Boost.Function 库包含一系列作为函数对象包装器的类模板。
  • Functional/Factory: 用于动态和静态对象创建的函数对象模板
  • Functional/Forward: 允许泛型函数对象接受任意参数的适配器
  • Functional/Overloaded Function: 将不同的函数重载到单个函数对象中。
  • Fusion: 用于处理元组的库,包括各种容器、算法等。
  • Geometry: Boost.Geometry 库提供几何算法、图元和空间索引。
  • GIL: (C++14) 通用图像库
  • Graph: BGL 图接口和图组件是通用的,与标准模板库 (STL) 的意义相同。
  • GraphParallel: PBGL 图接口和图组件是通用的,与标准模板库 (STL) 的意义相同。
  • Hana: 现代 C++ 元编程库。它提供高级算法来操作异构序列,允许使用自然语法编写类型级计算,提供工具来内省用户定义的类型等等。
  • Hash2: 可扩展的哈希框架。
  • Heap: 优先级队列数据结构。
  • Histogram: 具有方便 C++14 接口的快速多维直方图
  • HOF: C++ 的高阶函数
  • ICL: 区间容器库、区间集合和映射以及关联值的聚合
  • Identity Type: 将类型包装在圆括号中,以便它们始终可以作为宏参数传递。
  • In Place Factory, Typed In Place Factory: 使用可变参数列表对包含的对象进行通用就地构造。
  • Integer: boost integer 标头和类的组织旨在利用 1999 C 标准中的 <stdint.h> 类型,而不会导致 1998 C++ 标准方面的未定义行为。标头 <boost/cstdint.hpp> 使标准整数类型在命名空间 boost 中安全可用,而不会在命名空间 std 中放置任何名称。
  • Interprocess: 共享内存、内存映射文件、进程共享互斥锁、条件变量、容器和分配器。
  • Interval: 将常用算术函数扩展到数学区间。
  • Intrusive: 侵入式容器和算法。
  • IO: 标准 I/O 库的实用程序。
  • Iostreams: Boost.IOStreams 提供了一个框架,用于定义流、流缓冲区和 i/o 过滤器。
  • Iterator: Boost Iterator 库包含两个部分。第一部分是概念系统,它扩展了 C++ 标准迭代器要求。第二部分是用于构建基于这些扩展概念的迭代器的组件框架,包括几个有用的迭代器适配器。
  • JSON: C++11 中的 JSON 解析、序列化和 DOM
  • Lambda: 在实际调用站点定义小的未命名函数对象,以及更多。
  • Lambda2: C++14 lambda 库。
  • LEAF: C++11 的轻量级错误处理库。
  • Lexical Cast: 常规文字文本转换,例如字符串表示的 int,或反之亦然。
  • Local Function: 在其他函数中,直接在需要它们的作用域内,在本地编写程序函数。
  • Locale: 为 C++ 提供本地化和 Unicode 处理工具。
  • Lockfree: 无锁数据结构。
  • Log: 日志记录库。
  • Math: Boost.Math 包括数学领域的多个贡献:浮点实用程序、特定宽度浮点类型、数学常数、统计分布、特殊函数、求根和函数最小化、多项式和有理函数、插值以及数值积分和微分。这些功能中的许多都经过模板化,以支持内置类型和扩展宽度类型(例如 Boost.Multiprecision)
  • Math Common Factor: 最大公约数和最小公倍数。
  • Math Octonion: 八元数。
  • Math Quaternion: 四元数。
  • Math/Special Functions: 各种数学特殊函数。
  • Math/Statistical Distributions: 各种单变量统计分布和对它们进行操作的函数。
  • Member Function: 函数/对象/指针和成员函数的通用绑定器。
  • Meta State Machine: 用于表达 UML2 有限状态机的非常高性能的库。
  • Metaparse: 用于生成编译时解析器的库,该解析器将嵌入式 DSL 代码解析为 C++ 编译过程的一部分
  • Min-Max: 用于同时进行最小/最大和最小/最大元素计算的标准库扩展。
  • Move: C++03 和 C++11 编译器的可移植移动语义。
  • Mp11: C++11 元编程库。
  • MPI: 消息传递接口库,用于分布式内存并行应用程序编程。
  • MPL: Boost.MPL 库是一个通用的、高级的 C++ 模板元编程框架,包含编译时算法、序列和元函数。它提供了一个概念基础和一套广泛而强大的连贯工具,使在当前语言中进行显式元编程尽可能容易和愉快。
  • MQTT5: 基于 Boost.Asio 构建的 MQTT5 客户端库。
  • Multi-Array: Boost.MultiArray 提供通用的 N 维数组概念定义和该接口的常用实现。
  • Multi-Index: Boost Multi-index Containers 库提供了一个名为 multi_index_container 的类模板,该模板允许构造维护一个或多个具有不同排序和访问语义的索引的容器。
  • Multiprecision: 用于浮点、整数和有理算术的扩展精度算术类型。
  • MySQL: 基于 Boost.Asio 构建的 MySQL 客户端库。
  • Nowide: Windows 上具有 UTF-8 API 的标准库函数。
  • Numeric Conversion: 优化的基于策略的数值转换。
  • Odeint: 求解常微分方程。
  • Operators: 用于简化算术类和迭代器中运算符定义的模板。
  • Optional: 用于表示给定类型的“可选”(或“可为空”)对象的具有值语义的类型安全包装器。可选对象可能包含也可能不包含基础类型的值。
  • Outcome: 一种确定性故障处理库,部分模拟轻量级异常。
  • Parameter: Boost.Parameter 库 - 编写按名称接受参数的函数。
  • Parameter Python Bindings: Boost.Parameter 库 Python 绑定。
  • Parser: 解析器组合器库。
  • PFR: 用户定义类型的基本反射。
  • Phoenix: 在实际调用站点定义小的未命名函数对象,以及更多。
  • Pointer Container: 用于存储堆分配的多态对象的容器,以简化 OO 编程。
  • PolyCollection: 多态对象的快速容器。
  • Polygon: Voronoi 图构造以及布尔运算/裁剪、调整大小/偏移以及更多用于具有整数坐标的平面多边形。
  • Pool: 内存池管理。
  • Predef: 此库从它可以收集的 C、C++、Objective C 和 Objective C++ 预定义宏或通用标头中定义的宏的信息中定义一组编译器、体系结构、操作系统、库和其他版本号。
  • Preprocessor: 预处理器元编程工具,包括重复和递归。
  • Process: 以可移植方式创建进程的库。
  • Program Options: program_options 库允许程序开发人员通过传统方法(如命令行和配置文件)从用户处获取程序选项,即(名称,值)对。
  • Property Map: 定义将键对象映射到值对象的接口的概念。
  • Property Map (Parallel): Property Map 的并行扩展,用于并行图。
  • Property Tree: 特别适合存储配置数据的树数据结构。
  • Proto: 表达式模板库和编译器构造工具包,用于特定领域的嵌入式语言。
  • Python: Boost Python 库是一个用于连接 Python 和 C++ 的框架。它允许您快速无缝地将 C++ 类函数和对象暴露给 Python,反之亦然,无需任何特殊工具 - 只需您的 C++ 编译器。
  • QVM: 用于处理四元数向量和矩阵的通用 C++ 库。
  • Random: 完整的随机数生成系统。
  • Range: 基于新迭代器概念构建的通用算法的新基础结构。
  • Ratio: 编译时有理算术。C++11。
  • Rational: 有理数类。
  • Redis: 基于 Boost.Asio 构建的 Redis 异步客户端库。
  • Ref: 用于将引用传递给泛型函数的实用程序库。
  • Regex: 正则表达式库。
  • Result Of: 确定函数调用表达式的类型。
  • Safe Numerics: 保证正确的整数算术
  • Scope: 作用域保护的集合和 unique_resource 包装器。
  • Scope Exit: 在作用域退出时执行任意代码。
  • Serialization: 用于持久性和编组的序列化。
  • Signals2: 托管信号 & 插槽回调实现(线程安全版本 2)。
  • Smart Ptr: 智能指针类模板。
  • Sort: 高性能模板排序函数。
  • Spirit: LL 解析器框架直接将解析器表示为内联 C++ 中的 EBNF 语法。
  • Spirit Classic: LL 解析器框架直接将解析器表示为内联 C++ 中的 EBNF 语法。
  • Spirit Repository: Spirit 存储库是一个社区努力,收集用于 Qi 解析器和 Karma 生成器的不同可重用组件(原语、指令、语法等)。
  • Stacktrace: 收集、存储、复制和打印回溯。
  • Statechart: Boost.Statechart - 可以在易于阅读和维护的 C++ 代码中实现任意复杂的有限状态机。
  • Static Assert: 静态断言(编译时断言)。
  • Static String: 固定容量的动态大小字符串。
  • Stl_interfaces: C++14 及更高版本的 CRTP 模板,用于定义迭代器、视图和容器。
  • String Algo: 字符串算法库。
  • String Ref: 字符串视图模板。
  • String View: 字符串视图模板。
  • Swap: 增强的通用交换函数。
  • System: 可扩展的错误报告。
  • Test: 支持简单的程序测试、完整的单元测试和程序执行监控。
  • Thread: 便携式 C++ 多线程。C++11、C++14、C++17。
  • ThrowException: 用于从 Boost 库抛出异常的通用基础结构。
  • Timer: 事件计时器、进度计时器和进度显示类。
  • Tokenizer: 将字符串或其他字符序列分解为一系列标记。
  • Tribool: 3 态布尔类型库。
  • TTI: 类型特征内省库。
  • Tuple: 简化返回多个值的函数的定义,以及更多。
  • Type Erasure: 基于概念的运行时多态性。
  • Type Index: 运行时/编译时可复制类型信息。
  • Type Traits: 用于类型基本属性的模板。
  • Typeof: Typeof 运算符模拟。
  • uBLAS: uBLAS 提供张量、矩阵和向量类以及基本线性代数例程。支持多种密集、打包和稀疏存储方案。
  • Units: 零开销的量纲分析和单位/数量操作及转换。
  • Unordered: 无序关联容器。
  • URL: C++11 中的 URL 解析
  • Utility: 各种实用程序,例如 C++03 中的 base-from-member 惯用语法和二进制文字。
  • Uuid: 通用唯一标识符。
  • Value Initialized: 基于 David Abrahams 最初想法的统一语法值初始化的包装器。
  • Variant: 安全、通用、基于堆栈的可区分联合容器。
  • Variant2: std::variant 的永不无值、强保证实现。
  • VMD: 可变宏数据库。
  • Wave: Boost.Wave 库是标准兼容且高度可配置的强制性 C99/C++ 预处理器功能的实现,封装在易于使用的迭代器界面后面。
  • Xpressive: 可以编写为字符串或表达式模板的正则表达式,并且可以凭借上下文无关语法的强大功能相互递归引用。
  • YAP: C++14 及更高版本的表达式模板库。