--- title: Library Metadata - Boost C++ Libraries copyright: Beman Dawes, David Abrahams, 1998-2005. Rene Rivera 2004-2005. revised: 2005-12-17 14:32:46 -0500 --- Library Metadata - Boost C++ Libraries Library Metadata ================ A module can contain an optional file which describes the libraries that it contains. This is located at `meta/libraries.json`. It either contains a single json object for a single library, or a list or json objects for any number of libraries. For example, for a single library: ``` { "key": "unordered", "name": "Unordered", "authors": [ "Daniel James" ], "maintainers": [ "Daniel James " ], "description": "Unordered associative containers.", "category": [ "Containers" ] } ``` An example for multiple libraries: ``` [ { "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 " ], "description": "Function object templates for dynamic and static object creation", "documentation": "factory/", "category": [ "Function-objects" ] }, ] ``` Json fields ----------- ### key This is a unique identifier for the library, typically the path to it from the `libs` directory. ### name Human readable name of the library ### status Used for libraries with special statuses, currently can have value `deprecated` for deprecated libraries, and `hidden` for libraries which shouldn't be displayed to the user. ### authors Either a string, or a list of strings, containing the names of the authors ### description A brief description of what the library does ### category A list of categories that the library belongs to, the full list is below. ### documentation Path to the documentation, defaults to the root of the module. ### cxxstd The minimum C++ standard compilation level at which all, or the large majority, of the functionality in the library is usable. The possible values are: * 98 = C++98 * 03 = C++98/C++03 * 11 = C++11 * 14 = C++14 * 17 = C++17 * 20 = C++20 The level only indicates the minimum level, which means that the functionality of the library can be used when compiling at that level or at a higher level. There may be some functionality in the library which will need a higher C++ standard compilation level than is indicated by this value, but the information about that specific functionality will be provided for the end-user within the documentation for that library. If a library does not have this field it indicates that the end-user will have to read the library documentation to understand what C++ standard compilation level is needed to use the library. Available categories -------------------- String String and text processing Containers Containers Iterators Iterators Algorithms Algorithms Function-objects Function objects and higher-order programming Generic Generic Programming Metaprogramming Template Metaprogramming Preprocessor Preprocessor Metaprogramming Concurrent Concurrent Programming Math Math and numerics Correctness Correctness and testing Error-handling Error handling and recovery Data Data structures Domain Domain Specific Image-processing Image processing IO Input/Output Inter-language Inter-language support Emulation Language Features Emulation Memory Memory Parsing Parsing Patterns Patterns and Idioms Programming Programming Interfaces State State Machines System System Miscellaneous Miscellaneous workarounds Broken compiler workarounds