Files
mp-units/HEAD/api_reference/gen/qty.val.cmp.html
T

13 lines
8.0 KiB
HTML

<!DOCTYPE html><html lang='en'><head><title>[qty.val.cmp]</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#val.cmp'>[qty]</a></h2><h3 ><a class='secnum' style='min-width:80pt'>5.6.13</a> Value comparison <a class='abbr_ref'>[qty.val.cmp]</a></h3><div class='texpara'><div id='lib:quantity,is_gteq_zero'><div id='lib:is_gteq_zero,quantity'><div id='lib:quantity,is_lteq_zero'><div id='lib:is_lteq_zero,quantity'><div id='lib:quantity,is_gt_zero'><div id='lib:is_gt_zero,quantity'><div id='lib:quantity,is_lt_zero'><div id='lib:is_lt_zero,quantity'><div id='lib:quantity,is_neq_zero'><div id='lib:is_neq_zero,quantity'><div id='lib:quantity,is_eq_zero'><div id='lib:is_eq_zero,quantity'><div class='itemdecl'><div class='marginalizedparent'><a class='itemDeclLink' href='#lib:is_eq_zero,quantity'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>friend</span> <span class='keyword'>constexpr</span> <span class='keyword'>bool</span> is_eq_zero<span class='parenthesis'>(</span><span class='keyword'>const</span> quantity<span class='operator'>&amp;</span> q<span class='parenthesis'>)</span> <span class='keyword'>requires</span> <i ><span class='texttt'>see below</span></i>;
<span class='keyword'>friend</span> <span class='keyword'>constexpr</span> <span class='keyword'>bool</span> is_neq_zero<span class='parenthesis'>(</span><span class='keyword'>const</span> quantity<span class='operator'>&amp;</span> q<span class='parenthesis'>)</span> <span class='keyword'>requires</span> <i ><span class='texttt'>see below</span></i>;
<span class='keyword'>friend</span> <span class='keyword'>constexpr</span> <span class='keyword'>bool</span> is_lt_zero<span class='parenthesis'>(</span><span class='keyword'>const</span> quantity<span class='operator'>&amp;</span> q<span class='parenthesis'>)</span> <span class='keyword'>requires</span> <i ><span class='texttt'>see below</span></i>;
<span class='keyword'>friend</span> <span class='keyword'>constexpr</span> <span class='keyword'>bool</span> is_gt_zero<span class='parenthesis'>(</span><span class='keyword'>const</span> quantity<span class='operator'>&amp;</span> q<span class='parenthesis'>)</span> <span class='keyword'>requires</span> <i ><span class='texttt'>see below</span></i>;
<span class='keyword'>friend</span> <span class='keyword'>constexpr</span> <span class='keyword'>bool</span> is_lteq_zero<span class='parenthesis'>(</span><span class='keyword'>const</span> quantity<span class='operator'>&amp;</span> q<span class='parenthesis'>)</span> <span class='keyword'>requires</span> <i ><span class='texttt'>see below</span></i>;
<span class='keyword'>friend</span> <span class='keyword'>constexpr</span> <span class='keyword'>bool</span> is_gteq_zero<span class='parenthesis'>(</span><span class='keyword'>const</span> quantity<span class='operator'>&amp;</span> q<span class='parenthesis'>)</span> <span class='keyword'>requires</span> <i ><span class='texttt'>see below</span></i>;
</code></div></div></div></div></div></div></div></div></div></div></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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5241'>#</a></div><div class='texpara'><div id='1.sentence-1' class='sentence'>Let <span class='texttt'>is_<span class='shy'></span><i >F</i>_<span class='shy'></span>zero</span> be the function name<a class='hidden_link' href='#1.sentence-1'>.</a></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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5244'>#</a></div><div class='texpara'><div id='2.sentence-1' class='sentence'><i >Returns</i>: <ul class='itemize'><li id='2.1'><div class='marginalizedparent' style='left:-39mm'><a class='marginalized' href='#2.1'>(2.1)</a></div><div class='texpara'><div id='2.1.sentence-1' class='sentence'>If <span class='texttt'><i >F</i></span> is <span class='texttt'>eq</span>, returns <span class='texttt'>q <span class='operator'>=</span><span class='operator'>=</span> zero<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span><a class='hidden_link' href='#2.1.sentence-1'>.</a></div></div></li><li id='2.2'><div class='marginalizedparent' style='left:-39mm'><a class='marginalized' href='#2.2'>(2.2)</a></div><div class='texpara'><div id='2.2.sentence-1' class='sentence'>Otherwise, if <span class='texttt'><i >F</i></span> is <span class='texttt'>neq</span>, returns <span class='texttt'>q <span class='operator'>!</span><span class='operator'>=</span> zero<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span><a class='hidden_link' href='#2.2.sentence-1'>.</a></div></div></li><li id='2.3'><div class='marginalizedparent' style='left:-39mm'><a class='marginalized' href='#2.3'>(2.3)</a></div><div class='texpara'><div id='2.3.sentence-1' class='sentence'>Otherwise, returns <span class='texttt'>is_<span class='shy'></span><i >F</i><span class='parenthesis'>(</span>q <span class='anglebracket'>&lt;</span><span class='operator'>=</span><span class='anglebracket'>&gt;</span> zero<span class='parenthesis'>(</span><span class='parenthesis'>)</span><span class='parenthesis'>)</span></span> (<a href="https://wg21.link/compare.syn">N4971, [compare.syn]</a>)<a class='hidden_link' href='#2.3.sentence-1'>.</a></div></div></li></ul></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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5255'>#</a></div><div class='texpara'><div id='3.sentence-1' class='sentence'><i >Remarks</i>: Let <i >C</i> be
<span class='texttt'>std<span class='operator'>&#x200b;::&#x200b;</span>equality_<span class='shy'></span>comparable_<span class='shy'></span>with</span> if <i >F</i> is <span class='texttt'>eq</span> or <span class='texttt'>neq</span>, and
<span class='texttt'>std<span class='operator'>&#x200b;::&#x200b;</span>three_<span class='shy'></span>way_<span class='shy'></span>comparable_<span class='shy'></span>with</span> otherwise<a class='hidden_link' href='#3.sentence-1'>.</a></div> <div id='3.sentence-2' class='sentence'>The expression in the <span class='textsf'><i >requires-clause</i></span> is equivalent to:
<span class='codeblock'><span class='keyword'>requires</span> <span class='curlybracket'>{</span>
<span class='curlybracket'>{</span> T<span class='operator'>::</span>zero<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='curlybracket'>}</span> <span class='operator'>-</span><span class='anglebracket'>&gt;</span> <i >C</i><span class='anglebracket'>&lt;</span>quantity<span class='anglebracket'>&gt;</span>;
<span class='curlybracket'>}</span>
</span></div></div></div></div></div></body></html>