程式庫詮釋資料
模組可以包含一個描述其內含程式庫的選用檔案。該檔案位於 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 欄位
key(鍵值)
這是程式庫的唯一識別碼,通常是從 libs
目錄到程式庫的路徑。
name(名稱)
程式庫的易讀名稱
status(狀態)
用於具有特殊狀態的程式庫,目前可以設定為 deprecated
表示已棄用的程式庫,以及 hidden
表示不應顯示給使用者的程式庫。
authors(作者)
包含作者姓名的字串,或字串列表。
description(描述)
程式庫功能的簡要描述
category(類別)
程式庫所屬的類別列表,完整列表如下。
documentation(文件)
文件的路徑,預設為模組的根目錄。
cxxstd(C++ 標準)
程式庫中全部或大部分功能可用的最低 C++ 標準編譯等級。可能的值為:
- 98 = C++98
- 03 = C++98/C++03
- 11 = C++11
- 14 = C++14
- 17 = C++17
- 20 = C++20
此等級僅表示最低等級,這意味著在該等級或更高等級編譯時可以使用程式庫的功能。程式庫中可能有一些功能需要比此值指示的更高的 C++ 標準編譯等級,但有關該特定功能的資訊將在該程式庫的文件中提供給終端使用者。如果程式庫沒有此欄位,則表示終端使用者必須閱讀程式庫文件才能了解使用該程式庫所需的 C++ 標準編譯等級。
可用類別
- String(字串)
- 字串和文字處理
- Containers(容器)
- Containers(容器)
- Iterators(迭代器)
- Iterators(迭代器)
- Algorithms(演算法)
- Algorithms(演算法)
- Function-objects(函式物件)
- 函式物件和高階程式設計
- Generic(泛型)
- 泛型程式設計
- Metaprogramming(元程式設計)
- 樣板元程式設計
- Preprocessor(前置處理器)
- 前置處理器元程式設計
- Concurrent(並行)
- 並行程式設計
- Math(數學)
- 數學和數值計算
- Correctness(正確性)
- 正確性和測試
- Error-handling(錯誤處理)
- 錯誤處理和復原
- Data(資料)
- 資料結構
- Domain(領域)
- 特定領域
- Image-processing(影像處理)
- 影像處理
- IO(輸入/輸出)
- 輸入/輸出
- Inter-language(跨語言)
- 跨語言支援
- Emulation(模擬)
- 語言特性模擬
- Memory(記憶體)
- Memory(記憶體)
- Parsing(解析)
- Parsing(解析)
- 模式 (Patterns)
- 模式與慣用法 (Patterns and Idioms)
- 程式設計 (Programming)
- 程式設計介面 (Programming Interfaces)
- 狀態 (State)
- 狀態機 (State Machines)
- 系統 (System)
- 系統 (System)
- 其他 (Miscellaneous)
- 其他 (Miscellaneous)
- 解決方案 (Workarounds)
- 破損編譯器解決方案 (Broken Compiler Workarounds)