forked from mpusz/mp-units
12 lines
9.6 KiB
HTML
12 lines
9.6 KiB
HTML
<!DOCTYPE html><html lang='en'><head><title>[spec]</title><meta charset='UTF-8'/><link rel='stylesheet' type='text/css' href='14882.css'/><link rel='stylesheet' type='text/css' href='https://fonts.googleapis.com/css2?family=Noto+Serif'/><link rel='stylesheet' type='text/css' href='https://fonts.googleapis.com/css2?family=Noto+Sans'/><link rel='stylesheet' type='text/css' href='https://fonts.googleapis.com/css2?family=Noto+Sans+Mono'/><link rel='icon' href='icon.png'/><link rel='stylesheet' type='text/css' href='expanded.css' title='Normal'/><link rel='alternate stylesheet' type='text/css' href='colored.css' title='Notes and examples colored'/><link rel='alternate stylesheet' type='text/css' href='normative-only.css' title='Notes and examples hidden'/></head><body><div class='wrapper'><h1 ><a class='secnum' style='min-width:50pt'>4</a> Specification <a class='abbr_ref' href='index.html#spec'>[spec]</a></h1><div id='ext' class='section'><h2 ><a class='secnum' href='#ext' style='min-width:65pt'>4.1</a> External <a class='abbr_ref' href='spec.ext.html'>[spec.ext]</a></h2><div class='para' id='ext-1'><div class='marginalizedparent'><a class='marginalized' href='#ext-1'>1</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units315e47c2573226a4fea735c0514806595d94ed6d/source/intro.tex#L76'>#</a></div><div class='texpara'><div id='ext-1.sentence-1' class='sentence'>The specification of the mp-units library subsumes
|
||
<a href="https://wg21.link/description">N4971, [description]</a>, <a href="https://wg21.link/requirements">N4971, [requirements]</a>, <a href="https://wg21.link/concepts.equality">N4971, [concepts.equality]</a>, and SD-8,
|
||
all assumingly amended for the context of this library<a class='hidden_link' href='#ext-1.sentence-1'>.</a></div> <div id='ext-note-1' class='note'><div class='texpara'>[<i>Note <a href='#ext-note-1'>1</a></i>: <div id='ext-1.sentence-2' class='sentence'>This means that, non exhaustively,
|
||
<ul class='itemize'><li id='ext-1.1'><div class='marginalizedparent' style='left:-27mm'><a class='marginalized' href='#ext-1.1'>(1.1)</a></div><span class='texttt'><span class='operator'>​::​</span>mp_<span class='shy'></span>units2</span> is a reserved namespace, and</li><li id='ext-1.2'><div class='marginalizedparent' style='left:-27mm'><a class='marginalized' href='#ext-1.2'>(1.2)</a></div><span class='texttt'>std<span class='operator'>​::​</span>vector<span class='anglebracket'><</span>mp_<span class='shy'></span>units<span class='operator'>​::​</span><i >type</i><span class='anglebracket'>></span></span>
|
||
is a program-defined specialization and a library-defined specialization
|
||
from the point of view of the C++ standard library and the mp-units library, respectively<a class='hidden_link' href='#ext-1.sentence-2'>.</a></li></ul></div> — <i>end note</i>]</div></div></div></div><div class='para' id='ext-2'><div class='marginalizedparent'><a class='marginalized' href='#ext-2'>2</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units315e47c2573226a4fea735c0514806595d94ed6d/source/intro.tex#L91'>#</a></div><div class='texpara'><div id='ext-2.sentence-1' class='sentence'>The mp-units library is not part of the C++ implementation<a class='hidden_link' href='#ext-2.sentence-1'>.</a></div></div></div></div><div id='cats' class='section'><h2 ><a class='secnum' href='#cats' style='min-width:65pt'>4.2</a> Categories <a class='abbr_ref' href='spec.cats.html'>[spec.cats]</a></h2><div class='para' id='cats-1'><div class='marginalizedparent'><a class='marginalized' href='#cats-1'>1</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units315e47c2573226a4fea735c0514806595d94ed6d/source/intro.tex#L96'>#</a></div><div class='texpara'><div id='cats-1.sentence-1' class='sentence'>Detailed specifications for each of the components in the library are in
|
||
<a href='qties.html' title='5 Quantities library'>[qties]</a>–<a href='qties.html' title='5 Quantities library'>[qties]</a>,
|
||
as shown in Table <a href='#tab:lib.cats' title='Table 1: Library categories'>1</a><a class='hidden_link' href='#cats-1.sentence-1'>.</a></div></div><div class='texpara'><div class='numberedTable' id='tab:lib.cats'>Table <a href='#tab:lib.cats'>1</a>: Library categories <a href='./tab:lib.cats.html'>[tab:lib.cats]</a><br><table ><tr id='tab:lib.cats-row-1' class='rowsep'><td class='hidden'><div class='marginalizedparent'><a class='itemDeclLink' href='#tab:lib.cats-row-1'>🔗</a></div></td><td class='left'><div class='texpara'><div id='tab:lib.cats-row-1-column-1-sentence-1' class='sentence'><b>Clause</b></div></div></td><td class='left'><div class='texpara'><div id='tab:lib.cats-row-1-column-2-sentence-1' class='sentence'><b>Category</b></div></div></td></tr><tr id='tab:lib.cats-row-2' class='capsep'><td class='hidden'><div class='marginalizedparent'><a class='itemDeclLink' href='#tab:lib.cats-row-2'>🔗</a></div></td><td class='left'><div class='texpara'><div id='tab:lib.cats-row-2-column-1-sentence-1' class='sentence'><a href='qties.html' title='5 Quantities library'>[qties]</a></div></div></td><td class='left'><div class='texpara'><div id='tab:lib.cats-row-2-column-2-sentence-1' class='sentence'>Quantities library</div></div></td></tr></table></div></div></div><div class='para' id='cats-2'><div class='marginalizedparent'><a class='marginalized' href='#cats-2'>2</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units315e47c2573226a4fea735c0514806595d94ed6d/source/intro.tex#L108'>#</a></div><div class='texpara'><div id='cats-2.sentence-1' class='sentence'>The quantities library (<a href='qties.html' title='5 Quantities library'>[qties]</a>)
|
||
describes components for dealing with quantities<a class='hidden_link' href='#cats-2.sentence-1'>.</a></div></div></div></div><div id='mods' class='section'><h2 ><a class='secnum' href='#mods' style='min-width:65pt'>4.3</a> Modules <a class='abbr_ref' href='spec.mods.html'>[spec.mods]</a></h2><div class='para' id='mods-1'><div class='marginalizedparent'><a class='marginalized' href='#mods-1'>1</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units315e47c2573226a4fea735c0514806595d94ed6d/source/intro.tex#L114'>#</a></div><div class='texpara'><div id='mods-1.sentence-1' class='sentence'>The mp-units library provides the
|
||
<a class='hidden_link' href='#def:module,mp-units' title='4.3 Modules [spec.mods]'><span id='def:module,mp-units'><i >mp-units modules</i></span></a>,
|
||
shown in Table <a href='#tab:modules' title='Table 2: mp-units modules'>2</a><a class='hidden_link' href='#mods-1.sentence-1'>.</a></div></div><div class='texpara'><div class='numberedTable' id='tab:modules'>Table <a href='#tab:modules'>2</a>: mp-units modules <a href='./tab:modules.html'>[tab:modules]</a><br><table ><tr id='tab:modules-row-1'><td class='hidden'><div class='marginalizedparent'><a class='itemDeclLink' href='#tab:modules-row-1'>🔗</a></div></td><td class='left'><div class='texpara'><div id='tab:modules-row-1-column-1-sentence-1' class='sentence'><span class='texttt'>mp_<span class='shy'></span>units</span></div></div></td><td class='left'><div class='texpara'><div id='tab:modules-row-1-column-2-sentence-1' class='sentence'><span class='texttt'>mp_<span class='shy'></span>units<span class='operator'>.</span>core</span></div></div></td><td class='left'><div class='texpara'><div id='tab:modules-row-1-column-3-sentence-1' class='sentence'><span class='texttt'>mp_<span class='shy'></span>units<span class='operator'>.</span>systems</span></div></div></td></tr></table></div></div></div></div><div id='reqs' class='section'><h2 ><a class='secnum' href='#reqs' style='min-width:65pt'>4.4</a> Library-wide requirements <a class='abbr_ref' href='spec.reqs.html'>[spec.reqs]</a></h2><div id='res.names' class='section'><h3 ><a class='secnum' href='#res.names' style='min-width:80pt'>4.4.1</a> Reserved names <a class='abbr_ref' href='spec.res.names.html'>[spec.res.names]</a></h3><div class='para' id='res.names-1'><div class='marginalizedparent'><a class='marginalized' href='#res.names-1'>1</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units315e47c2573226a4fea735c0514806595d94ed6d/source/intro.tex#L132'>#</a></div><div class='texpara'><div id='res.names-1.sentence-1' class='sentence'>The mp-units library reserves macro names that start with
|
||
<span class='texttt'>MP_<span class='shy'></span>UNITS<span class='textsf'><i >digit-sequence</i></span><span class="mjx-chtml"><span class="mjx-math"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-mi"><span class="mjx-char"></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mstyle" style="font-size: 113.1%; color: black;"><span class="mjx-mrow" style="font-size: 88.4%;"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">o</span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-I" style="padding-top: 0.225em; padding-bottom: 0.446em;">p</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-I" style="padding-top: 0.372em; padding-bottom: 0.298em;">t</span></span></span></span></span></span></span></span></span>_<span class='shy'></span></span><a class='hidden_link' href='#res.names-1.sentence-1'>.</a></div></div></div></div></div></div></body></html> |