2
0
mirror of https://github.com/boostorg/website.git synced 2026-01-19 04:42:17 +00:00
Files
website/development/library_metadata.html
2024-09-01 08:56:16 -07:00

284 lines
7.8 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Library Metadata - Boost C++ Libraries</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="icon" href="/favicon.ico" type="image/ico" />
<link rel="stylesheet" type="text/css" href=
"/style-v2/section-development.css" />
<!--[if IE]> <style type="text/css"> body { behavior: url(/style-v2/csshover.htc); } </style> <![endif]-->
<script defer data-domain="original.boost.org" src="https://plausible.io/js/script.js"></script></head>
<body>
<div id="heading">
<!--#include virtual="/common/heading.html" -->
</div>
<div id="body">
<div id="body-inner">
<div id="content">
<div class="section" id="intro">
<div class="section-0">
<div class="section-title">
<h1>Library Metadata</h1>
</div>
<div class="section-body">
<p>A module can contain an optional file which describes the
libraries that it contains. This is located at
<code>meta/libraries.json</code>. It either contains a single
json object for a single library, or a list or json objects for
any number of libraries.</p>
<p>For example, for a single library:</p>
<pre>
{
"key": "unordered",
"name": "Unordered",
"authors": [ "Daniel James" ],
"maintainers": [ "Daniel James &lt;dnljms -at- gmail.com&gt;" ],
"description": "Unordered associative containers.",
"category": [
"Containers"
]
}
</pre>
<p>An example for multiple libraries:</p>
<pre>
[
{
"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 &lt;tschwinger -at- isonews2.com&gt;" ],
"description": "Function object templates for dynamic and static object creation",
"documentation": "factory/",
"category": [
"Function-objects"
]
},
]
</pre>
<h2>Json fields</h2>
<h3>key</h3>
<p>This is a unique identifier for the library, typically the
path to it from the <code>libs</code> directory.</p>
<h3>name</h3>
<p>Human readable name of the library</p>
<h3>status</h3>
<p>Used for libraries with special statuses, currently can have
value <code>deprecated</code> for deprecated libraries, and
<code>hidden</code> for libraries which shouldn't be displayed to
the user.</p>
<h3>authors</h3>
<p>Either a string, or a list of strings, containing the names
of the authors</p>
<h3>description</h3>
<p>A brief description of what the library does</p>
<h3>category</h3>
<p>A list of categories that the library belongs to, the full
list is below.</p>
<h3>documentation</h3>
<p>Path to the documentation, defaults to the root of the
module.</p>
<h3>cxxstd</h3>
<p>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: </p>
<ul>
<li>98 = C++98</li>
<li>03 = C++98/C++03</li>
<li>11 = C++11</li>
<li>14 = C++14</li>
<li>17 = C++17</li>
<li>20 = C++20 </li>
</ul>
<p>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. </p>
<h2>Available categories</h2>
<dl>
<dt>String</dt>
<dd>String and text processing</dd>
<dt>Containers</dt>
<dd>Containers</dd>
<dt>Iterators</dt>
<dd>Iterators</dd>
<dt>Algorithms</dt>
<dd>Algorithms</dd>
<dt>Function-objects</dt>
<dd>Function objects and higher-order programming</dd>
<dt>Generic</dt>
<dd>Generic Programming</dd>
<dt>Metaprogramming</dt>
<dd>Template Metaprogramming</dd>
<dt>Preprocessor</dt>
<dd>Preprocessor Metaprogramming</dd>
<dt>Concurrent</dt>
<dd>Concurrent Programming</dd>
<dt>Math</dt>
<dd>Math and numerics</dd>
<dt>Correctness</dt>
<dd>Correctness and testing</dd>
<dt>Error-handling</dt>
<dd>Error handling and recovery</dd>
<dt>Data</dt>
<dd>Data structures</dd>
<dt>Domain</dt>
<dd>Domain Specific</dd>
<dt>Image-processing</dt>
<dd>Image processing</dd>
<dt>IO</dt>
<dd>Input/Output</dd>
<dt>Inter-language</dt>
<dd>Inter-language support</dd>
<dt>Emulation</dt>
<dd>Language Features Emulation</dd>
<dt>Memory</dt>
<dd>Memory</dd>
<dt>Parsing</dt>
<dd>Parsing</dd>
<dt>Patterns</dt>
<dd>Patterns and Idioms</dd>
<dt>Programming</dt>
<dd>Programming Interfaces</dd>
<dt>State</dt>
<dd>State Machines</dd>
<dt>System</dt>
<dd>System</dd>
<dt>Miscellaneous</dt>
<dd>Miscellaneous</dd>
<dt>workarounds</dt>
<dd>Broken compiler workarounds</dd>
</dl>
</div>
</div>
</div>
</div>
<div id="sidebar">
<!--#include virtual="/common/sidebar-common.html" -->
<!--#include virtual="/common/sidebar-boost.html" -->
</div>
<div class="clear"></div>
</div>
</div>
<div id="footer">
<div id="footer-left">
<div id="revised">
<p>Revised $Date: 2005-12-17 14:32:46 -0500 (Sat, 17 Dec 2005) $</p>
</div>
<div id="copyright">
<p>Copyright Beman Dawes, David Abrahams, 1998-2005.</p>
<p>Copyright Rene Rivera 2004-2005.</p>
</div><!--#include virtual="/common/footer-license.html" -->
</div>
<div id="footer-right">
<!--#include virtual="/common/footer-banners.html" -->
</div>
<div class="clear"></div>
</div>
</body>
</html>