Files
website2022/development/library_metadata.html
Frank Wiles dde98de1fb Initial Content Conversion
This is based off of revision 56094d2c9f510f5ee4f1ffd4eb6b73788aaa62d7
of https://github.com/boostorg/website/.

URL of exact commit is: 56094d2c9f
2022-08-14 11:21:12 -05:00

213 lines
3.9 KiB
HTML

---
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 <dnljms -at- gmail.com>" ],
"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 <tschwinger -at- isonews2.com>" ],
"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