forked from mpusz/mp-units
29 lines
16 KiB
HTML
29 lines
16 KiB
HTML
<!DOCTYPE html><html lang='en'><head><title>[qty.conv]</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'>5</a> Quantities and units library <a class='abbr_ref' href='index.html#quantities'>[quantities]</a></h1><h2 ><a class='secnum' style='min-width:65pt'>5.6</a> Quantity <a class='abbr_ref' href='qty.html#conv'>[qty]</a></h2><h3 ><a class='secnum' style='min-width:80pt'>5.6.6</a> Conversions <a class='abbr_ref'>[qty.conv]</a></h3><div class='texpara'><div id='lib:quantity,in'><div id='lib:in,quantity'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:in,quantity'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'><</span><a class='index' id='conceptref:UnitCompatibleWith'></a><span class='texttt'><i >UnitCompatibleWith</i></span><span class='anglebracket'><</span>unit, quantity_spec<span class='anglebracket'>></span> ToU<span class='anglebracket'>></span>
|
|
<span class='keyword'>requires</span> <a class='index' id='conceptref:QuantityConvertibleTo'></a><span class='texttt'><i >QuantityConvertibleTo</i></span><span class='anglebracket'><</span>quantity, quantity<span class='anglebracket'><</span><span class='texttt'><i >make-reference</i></span><span class='parenthesis'>(</span>quantity_spec, ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span><span class='parenthesis'>)</span>, Rep<span class='anglebracket'>></span><span class='anglebracket'>></span>
|
|
<span class='keyword'>constexpr</span> <a href='qty.syn.html#concept:QuantityOf' title='5.6.3 Class template quantity [qty.syn]'><span id='conceptref:QuantityOf'><span class='texttt'>QuantityOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> <span class='keyword'>auto</span> in<span class='parenthesis'>(</span>ToU<span class='parenthesis'>)</span> <span class='keyword'>const</span>;
|
|
</code></div></div></div></div><div class='para' id='1'><div class='marginalizedparent'><a class='marginalized' href='#1'>1</a></div><div class='itemdescr'><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units329ffdaacb1bd7bed08565ac80d9eef7ccb1e5b5/source/quantities.tex#L4601'>#</a></div><div class='texpara'><div id='1.sentence-1' class='sentence'><i >Effects</i>: Equivalent to:
|
|
<span class='texttt'><span class='keyword'>return</span> quantity<span class='anglebracket'><</span><span class='texttt'><i >make-reference</i></span><span class='parenthesis'>(</span>quantity_<span class='shy'></span>spec, ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span><span class='parenthesis'>)</span>, Rep<span class='anglebracket'>></span><span class='curlybracket'>{</span><span class='operator'>*</span><span class='keyword'>this</span><span class='curlybracket'>}</span>;</span></div></div></div></div><div class='texpara'><div id='lib:quantity,in_'><div id='lib:in,quantity_'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:in,quantity_'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'><</span><a href='qty.rep.concepts.html#concept:RepresentationOf' title='5.5.4 Concepts [qty.rep.concepts]'><span id='conceptref:RepresentationOf'><span class='texttt'>RepresentationOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> ToRep<span class='anglebracket'>></span>
|
|
<span class='keyword'>requires</span> <a class='index' id='conceptref:QuantityConvertibleTo_'></a><span class='texttt'><i >QuantityConvertibleTo</i></span><span class='anglebracket'><</span>quantity, quantity<span class='anglebracket'><</span>reference, ToRep<span class='anglebracket'>></span><span class='anglebracket'>></span>
|
|
<span class='keyword'>constexpr</span> <a href='qty.syn.html#concept:QuantityOf' title='5.6.3 Class template quantity [qty.syn]'><span id='conceptref:QuantityOf_'><span class='texttt'>QuantityOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> <span class='keyword'>auto</span> in<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='keyword'>const</span>;
|
|
</code></div></div></div></div><div class='para' id='2'><div class='marginalizedparent'><a class='marginalized' href='#2'>2</a></div><div class='itemdescr'><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units329ffdaacb1bd7bed08565ac80d9eef7ccb1e5b5/source/quantities.tex#L4615'>#</a></div><div class='texpara'><div id='2.sentence-1' class='sentence'><i >Effects</i>: Equivalent to:
|
|
<span class='texttt'><span class='keyword'>return</span> quantity<span class='anglebracket'><</span>reference, ToRep<span class='anglebracket'>></span><span class='curlybracket'>{</span><span class='operator'>*</span><span class='keyword'>this</span><span class='curlybracket'>}</span>;</span></div></div></div></div><div class='texpara'><div id='lib:quantity,in__'><div id='lib:in,quantity__'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:in,quantity__'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'><</span><a href='qty.rep.concepts.html#concept:RepresentationOf' title='5.5.4 Concepts [qty.rep.concepts]'><span id='conceptref:RepresentationOf_'><span class='texttt'>RepresentationOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> ToRep,
|
|
<a class='index' id='conceptref:UnitCompatibleWith_'></a><span class='texttt'><i >UnitCompatibleWith</i></span><span class='anglebracket'><</span>unit, quantity_spec<span class='anglebracket'>></span> ToU<span class='anglebracket'>></span>
|
|
<span class='keyword'>requires</span> <a class='index' id='conceptref:QuantityConvertibleTo__'></a><span class='texttt'><i >QuantityConvertibleTo</i></span><span class='anglebracket'><</span>quantity,
|
|
quantity<span class='anglebracket'><</span><span class='texttt'><i >make-reference</i></span><span class='parenthesis'>(</span>quantity_spec, ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span><span class='parenthesis'>)</span>, ToRep<span class='anglebracket'>></span><span class='anglebracket'>></span>
|
|
<span class='keyword'>constexpr</span> <a href='qty.syn.html#concept:QuantityOf' title='5.6.3 Class template quantity [qty.syn]'><span id='conceptref:QuantityOf__'><span class='texttt'>QuantityOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> <span class='keyword'>auto</span> in<span class='parenthesis'>(</span>ToU<span class='parenthesis'>)</span> <span class='keyword'>const</span>;
|
|
</code></div></div></div></div><div class='para' id='3'><div class='marginalizedparent'><a class='marginalized' href='#3'>3</a></div><div class='itemdescr'><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units329ffdaacb1bd7bed08565ac80d9eef7ccb1e5b5/source/quantities.tex#L4631'>#</a></div><div class='texpara'><div id='3.sentence-1' class='sentence'><i >Effects</i>: Equivalent to:
|
|
<span class='codeblock'><span class='keyword'>return</span> quantity<span class='anglebracket'><</span><i >make-reference</i><span class='parenthesis'>(</span>quantity_spec, ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span><span class='parenthesis'>)</span>, ToRep<span class='anglebracket'>></span><span class='curlybracket'>{</span><span class='operator'>*</span><span class='keyword'>this</span><span class='curlybracket'>}</span>;
|
|
</span></div></div></div></div><div class='texpara'><div id='lib:quantity,force_in'><div id='lib:force_in,quantity'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:force_in,quantity'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'><</span><a class='index' id='conceptref:UnitCompatibleWith__'></a><span class='texttt'><i >UnitCompatibleWith</i></span><span class='anglebracket'><</span>unit, quantity_spec<span class='anglebracket'>></span> ToU<span class='anglebracket'>></span>
|
|
<span class='keyword'>requires</span> <span class='keyword'>requires</span><span class='parenthesis'>(</span><span class='keyword'>const</span> quantity q<span class='parenthesis'>)</span> <span class='curlybracket'>{</span> value_cast<span class='anglebracket'><</span>ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span><span class='anglebracket'>></span><span class='parenthesis'>(</span>q<span class='parenthesis'>)</span>; <span class='curlybracket'>}</span>
|
|
<span class='keyword'>constexpr</span> <a href='qty.syn.html#concept:QuantityOf' title='5.6.3 Class template quantity [qty.syn]'><span id='conceptref:QuantityOf___'><span class='texttt'>QuantityOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> <span class='keyword'>auto</span> force_in<span class='parenthesis'>(</span>ToU<span class='parenthesis'>)</span> <span class='keyword'>const</span>;
|
|
</code></div></div></div></div><div class='para' id='4'><div class='marginalizedparent'><a class='marginalized' href='#4'>4</a></div><div class='itemdescr'><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units329ffdaacb1bd7bed08565ac80d9eef7ccb1e5b5/source/quantities.tex#L4647'>#</a></div><div class='texpara'><div id='4.sentence-1' class='sentence'><i >Effects</i>: Equivalent to:
|
|
<span class='texttt'><span class='keyword'>return</span> value_<span class='shy'></span>cast<span class='anglebracket'><</span>ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span><span class='anglebracket'>></span><span class='parenthesis'>(</span><span class='operator'>*</span><span class='keyword'>this</span><span class='parenthesis'>)</span>;</span></div></div></div></div><div class='texpara'><div id='lib:quantity,force_in_'><div id='lib:force_in,quantity_'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:force_in,quantity_'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'><</span><a href='qty.rep.concepts.html#concept:RepresentationOf' title='5.5.4 Concepts [qty.rep.concepts]'><span id='conceptref:RepresentationOf__'><span class='texttt'>RepresentationOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> ToRep<span class='anglebracket'>></span>
|
|
<span class='keyword'>requires</span> <span class='keyword'>requires</span><span class='parenthesis'>(</span><span class='keyword'>const</span> quantity q<span class='parenthesis'>)</span> <span class='curlybracket'>{</span> value_cast<span class='anglebracket'><</span>ToRep<span class='anglebracket'>></span><span class='parenthesis'>(</span>q<span class='parenthesis'>)</span>; <span class='curlybracket'>}</span>
|
|
<span class='keyword'>constexpr</span> <a href='qty.syn.html#concept:QuantityOf' title='5.6.3 Class template quantity [qty.syn]'><span id='conceptref:QuantityOf____'><span class='texttt'>QuantityOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> <span class='keyword'>auto</span> force_in<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='keyword'>const</span>;
|
|
</code></div></div></div></div><div class='para' id='5'><div class='marginalizedparent'><a class='marginalized' href='#5'>5</a></div><div class='itemdescr'><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units329ffdaacb1bd7bed08565ac80d9eef7ccb1e5b5/source/quantities.tex#L4661'>#</a></div><div class='texpara'><div id='5.sentence-1' class='sentence'><i >Effects</i>: Equivalent to:
|
|
<span class='texttt'><span class='keyword'>return</span> value_<span class='shy'></span>cast<span class='anglebracket'><</span>ToRep<span class='anglebracket'>></span><span class='parenthesis'>(</span><span class='operator'>*</span><span class='keyword'>this</span><span class='parenthesis'>)</span>;</span></div></div></div></div><div class='texpara'><div id='lib:quantity,force_in__'><div id='lib:force_in,quantity__'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:force_in,quantity__'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'><</span><a href='qty.rep.concepts.html#concept:RepresentationOf' title='5.5.4 Concepts [qty.rep.concepts]'><span id='conceptref:RepresentationOf___'><span class='texttt'>RepresentationOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> ToRep,
|
|
<a class='index' id='conceptref:UnitCompatibleWith___'></a><span class='texttt'><i >UnitCompatibleWith</i></span><span class='anglebracket'><</span>unit, quantity_spec<span class='anglebracket'>></span> ToU<span class='anglebracket'>></span>
|
|
<span class='keyword'>requires</span> <span class='keyword'>requires</span><span class='parenthesis'>(</span><span class='keyword'>const</span> quantity q<span class='parenthesis'>)</span> <span class='curlybracket'>{</span> value_cast<span class='anglebracket'><</span>ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span>, ToRep<span class='anglebracket'>></span><span class='parenthesis'>(</span>q<span class='parenthesis'>)</span>; <span class='curlybracket'>}</span>
|
|
<span class='keyword'>constexpr</span> <a href='qty.syn.html#concept:QuantityOf' title='5.6.3 Class template quantity [qty.syn]'><span id='conceptref:QuantityOf_____'><span class='texttt'>QuantityOf</span></span></a><span class='anglebracket'><</span>quantity_spec<span class='anglebracket'>></span> <span class='keyword'>auto</span> force_in<span class='parenthesis'>(</span>ToU<span class='parenthesis'>)</span> <span class='keyword'>const</span>;
|
|
</code></div></div></div></div><div class='para' id='6'><div class='marginalizedparent'><a class='marginalized' href='#6'>6</a></div><div class='itemdescr'><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/mpusz/mp-units329ffdaacb1bd7bed08565ac80d9eef7ccb1e5b5/source/quantities.tex#L4676'>#</a></div><div class='texpara'><div id='6.sentence-1' class='sentence'><i >Effects</i>: Equivalent to:
|
|
<span class='texttt'><span class='keyword'>return</span> value_<span class='shy'></span>cast<span class='anglebracket'><</span>ToU<span class='curlybracket'>{</span><span class='curlybracket'>}</span>, ToRep<span class='anglebracket'>></span><span class='parenthesis'>(</span><span class='operator'>*</span><span class='keyword'>this</span><span class='parenthesis'>)</span>;</span></div></div></div></div></div></body></html> |