Boost C++ 库

...世界上最受推崇和精心设计的 C++ 库项目之一。 Herb SutterAndrei AlexandrescuC++ 编码标准

库元数据

一个模块可以包含一个可选文件,用于描述它包含的库。它位于 meta/libraries.json。它要么包含一个用于单个库的 json 对象,要么包含一个用于任意数量库的 json 对象列表。

例如,对于单个库

{
    "key": "unordered",
    "name": "Unordered",
    "authors": [ "Daniel James" ],
    "maintainers": [ "Daniel James <dnljms -at- gmail.com>" ],
    "description": "Unordered associative containers.",
    "category": [
        "Containers"
    ]
}

多个库的示例

[
    {
        "key": "functional",
        "name": "Functional",
        "authors": [ "Mark Rodgers" ],
        "description": "The Boost.Function library contains a family of class templates that are function object wrappers.",
        "category": [
            "Function-objects"
        ]
    },
    {
        "key": "functional/factory",
        "name": "Functional/Factory",
        "authors": [ "Tobias Schwinger" ],
        "maintainers": [ "Tobias Schwinger <tschwinger -at- isonews2.com>" ],
        "description": "Function object templates for dynamic and static object creation",
        "documentation": "factory/",
        "category": [
            "Function-objects"
        ]
    },
]

Json 字段

这是库的唯一标识符,通常是从 libs 目录到它的路径。

名称

库的人类可读名称

状态

用于具有特殊状态的库,当前可以具有值 deprecated 用于已弃用的库,以及 hidden 用于不应显示给用户的库。

作者

一个字符串或字符串列表,包含作者的姓名

描述

对库功能的简要描述

类别

库所属的类别列表,完整列表如下。

文档

文档的路径,默认为模块的根目录。

cxxstd

所有或大部分库功能可用的最低 C++ 标准编译级别。可能的值是

  • 98 = C++98
  • 03 = C++98/C++03
  • 11 = C++11
  • 14 = C++14
  • 17 = C++17
  • 20 = C++20

该级别仅指示最低级别,这意味着库的功能可以在该级别或更高级别编译时使用。库中可能存在一些功能需要比此值指示的更高的 C++ 标准编译级别,但有关该特定功能的信息将提供给最终用户,在该库的文档中。如果库没有此字段,则表明最终用户将必须阅读库文档以了解使用库所需的 C++ 标准编译级别。

可用类别

字符串
字符串和文本处理
容器
容器
迭代器
迭代器
算法
算法
函数对象
函数对象和高阶编程
泛型
泛型编程
元编程
模板元编程
预处理器
预处理器元编程
并发
并发编程
数学
数学和数值
正确性
正确性和测试
错误处理
错误处理和恢复
数据
数据结构
领域
领域特定
图像处理
图像处理
I/O
输入/输出
跨语言
跨语言支持
模拟
语言特性模拟
内存
内存
解析
解析
模式
模式和习语
编程
编程接口
状态
状态机
系统
系统
杂项
杂项
解决方法
损坏的编译器解决方法