可移植的网络和其他低级 I/O,包括套接字、定时器、主机名解析、套接字 iostream、串行端口、文件描述符和 Windows HANDLE。
仅使用 C++11 和 Boost.Asio 的可移植 HTTP、WebSocket 和网络操作
C++ 的双向映射库。使用 Boost.Bimap,您可以创建两种类型都可以用作键的关联容器。
boost::bind 是标准函数 std::bind1st 和 std::bind2nd 的泛化。它支持任意函数对象、函数、函数指针和成员函数指针,并且能够将任何参数绑定到特定值或将输入参数路由到任意位置。
Boost.FunctionTypes 的精神继任者,Boost.CallableTraits 是一个仅包含头文件的 C++11 库,用于在编译时检查和操作所有“可调用”类型。对 C++17 功能的额外支持。
一个符合 STL 规范的容器,也称为环形缓冲区或循环缓冲区。
C++11 对后续 C++ 标准中添加的标准组件的实现。
帮助 Boost 库开发人员适应编译器特性;不适用于库用户。
一个与 STL 兼容的哈希函数对象,可以扩展以哈希用户定义类型。
C++ 的契约编程。支持所有契约编程功能:子契约、类不变式、后置条件(带旧值和返回值)、前置条件、断言失败时的可定制操作(例如,终止或抛出)、断言的可选编译和检查等。
Boost CRC 库提供了两种 CRC(循环冗余码)计算对象的实现和两种 CRC 计算函数的实现。这些实现都是基于模板的。
此库包含一组仅包含头文件的实用程序,供 Boost C++ 库内部使用以方便其实现。
dynamic_bitset 类表示一组位。它通过 operator[] 提供对单个位值的访问,并提供所有可应用于内置整数的按位运算符,例如 operator& 和 operator<<。集合中的位数在运行时通过 dynamic_bitset 构造函数的参数指定。
类型和转换函数,用于正确的字节顺序,无论处理器字节序如何。
Boost 异常库支持在异常对象中传输任意数据,以及在线程之间传输异常。
Boost Filesystem 库提供了可移植的工具来查询和操作路径、文件和目录。
在 C++ 中,编写遍历序列的循环很繁琐。我们可以使用迭代器,这需要大量的样板代码,或者我们可以使用 std::for_each() 算法并将循环体移动到谓词中,这需要不少样板代码并强制我们将逻辑远离使用它的地方。相比之下,其他一些语言,如 Perl,提供了专门的“foreach”构造来自动化此过程。BOOST_FOREACH 就是 C++ 的这种构造。它为我们迭代序列,使我们不必直接处理迭代器或编写谓词。
格式库提供了一种类型安全机制,用于根据类似 printf 的格式字符串格式化参数。
Boost.Function 库包含一组函数对象包装器类模板。
Boost.FunctionTypes 提供用于分类、分解和合成函数、函数指针、函数引用和成员指针类型的功能。
Boost.Geometry 库提供几何算法、原语和空间索引。
BGL 图接口和图组件是泛型的,与标准模板库 (STL) 相同。
PBGL 图接口和图组件是泛型的,与标准模板库 (STL) 相同。
一个现代 C++ 元编程库。它提供了操作异构序列的高级算法,允许以自然语法编写类型级计算,提供了内省用户定义类型的工具等等。
将类型包装在圆括号中,以便它们始终可以作为宏参数传递。
boost 整数头文件和类的组织旨在利用 1999 C 标准的 类型,而不会在 1998 C++ 标准的术语中诉诸于未定义行为。头文件 使标准整数类型在 boost 命名空间中安全可用,而不会在 std 命名空间中放置任何名称。
共享内存、内存映射文件、进程共享互斥量、条件变量、容器和分配器。
Boost.IOStreams 提供了一个用于定义流、流缓冲区和 I/O 过滤器的框架。
Boost 迭代器库包含两部分。第一部分是扩展 C++ 标准迭代器要求的概念系统。第二部分是基于这些扩展概念构建迭代器的组件框架,包括几个有用的迭代器适配器。
C++11 中的 JSON 解析、序列化和 DOM
通用的字面文本转换,例如将 int 表示为字符串,反之亦然。
为 C++ 提供本地化和 Unicode 处理工具。
在其他函数内部、直接在需要它们的范围内局部编写函数。
Boost.Math 包含数学领域的几项贡献:浮点实用程序、特定宽度浮点类型、数学常数、统计分布、特殊函数、求根和函数最小化、多项式和有理函数、插值以及数值积分和微分。许多这些功能都是模板化的,以支持内置类型和扩展宽度类型(例如 Boost.Multiprecision)
一个用于生成编译时解析器库,将嵌入式 DSL 代码解析为 C++ 编译过程的一部分
用于同时计算最小/最大值和最小/最大元素的标准库扩展。
C++03 和 C++11 编译器的可移植移动语义。
Boost.MPL 库是一个通用的、高级的 C++ 模板元编程框架,包含编译时算法、序列和元函数。它提供了概念基础和一套强大而连贯的工具,使在当前语言中进行显式 C++ 元编程尽可能简单和愉快。
基于 Boost.Asio 构建的 MQTT5 客户端库。
Boost.MultiArray 提供了一个泛型 N 维数组概念定义和该接口的常见实现。
Boost Multi-index Containers 库提供了一个名为 multi_index_container 的类模板,它支持构建维护一个或多个具有不同排序和访问语义的索引的容器。
基于 Boost.Asio 构建的 MySQL 客户端库。
在 Windows 上使用 UTF-8 API 的标准库函数。
一个值语义、类型安全的包装器,用于表示给定类型的“可选”(或“可空”)对象。可选对象可能包含或不包含底层类型的值。
Boost.Parameter 库 - 编写按名称接受参数的函数。
Boost.Parameter 库 Python 绑定。
用于存储堆分配多态对象的容器,以简化面向对象编程。
Voronoi 图构造和布尔/裁剪、调整大小/偏移等,用于具有整数坐标的平面多边形。
此库根据 C、C++、Objective C 和 Objective C++ 预定义宏或通用头文件中定义的信息,定义了一组编译器、架构、操作系统、库和其他版本号。
program_options 库允许程序开发人员通过命令行和配置文件等传统方法从用户获取程序选项,即(名称,值)对。
用于领域特定嵌入式语言的表达式模板库和编译器构造工具包。
Boost Python 库是一个用于连接 Python 和 C++ 的框架。它允许您快速无缝地将 C++ 类函数和对象暴露给 Python,反之亦然,无需任何特殊工具——只需您的 C++ 编译器。
基于 Boost.Asio 构建的 Redis 异步客户端库。
作用域守卫集合和一个 unique_resource 包装器。
LL 解析器框架直接将解析器表示为内联 C++ 中的 EBNF 语法。
Boost.Statechart - 可以用易于阅读和维护的 C++ 代码实现任意复杂的有限状态机。
C++14 及更高版本的 CRTP 模板,用于定义迭代器、视图和容器。
支持简单的程序测试、完整的单元测试和程序执行监控。
可移植的 C++ 多线程。C++11, C++14, C++17。
uBLAS 提供了张量、矩阵和向量类以及基本的线性代数例程。支持多种密集、紧凑和稀疏存储方案。
各种实用工具,例如 C++03 中的 base-from-member 习语和二进制字面量。
基于 David Abrahams 原始思想的统一语法值初始化包装器。
一个永不为空、具有强保证的 std::variant 实现。
Boost.Wave 库是一个符合标准且高度可配置的 C99/C++ 预处理器功能实现,封装在一个易于使用的迭代器接口后面。
正则表达式,可以写成字符串或表达式模板,并且可以递归地相互引用,具有无上下文语法的强大功能。