库元数据
一个模块可以包含一个可选文件,用于描述它包含的库。它位于 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
- 输入/输出
- 跨语言
- 跨语言支持
- 模拟
- 语言特性模拟
- 内存
- 内存
- 解析
- 解析
- 模式
- 模式和习语
- 编程
- 编程接口
- 状态
- 状态机
- 系统
- 系统
- 杂项
- 杂项
- 解决方法
- 损坏的编译器解决方法