2024-12-08 08:57:12 +00:00
<!DOCTYPE html> < html lang = 'en' >< head >< title > [qty.non.mem.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#non.mem.conv' > [qty]</ a ></ h2 >< h3 >< a class = 'secnum' style = 'min-width:80pt' > 5.6.15</ a > Non-member conversions < a class = 'abbr_ref' > [qty.non.mem.conv]</ a ></ h3 >< div class = 'texpara' >< div id = 'lib:sudo-cast,quantity' >< div id = 'lib:quantity,sudo-cast' >< div class = 'itemdecl' >< div class = 'marginalizedparent' >< a class = 'itemDeclLink' href = '#lib:quantity,sudo-cast' > 🔗</ a ></ div >< code class = 'itemdeclcode' >< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity' >< span class = 'texttt' > Quantity</ span ></ span ></ a > To, < span class = 'keyword' > typename</ span > FwdFrom, < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity_' >< span class = 'texttt' > Quantity</ span ></ span ></ a > From < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdFrom< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > requires</ span > < i >< span class = 'texttt' > see below</ span ></ i >
< span class = 'keyword' > constexpr</ span > To < span class = 'texttt' >< i > sudo-cast</ i ></ span >< span class = 'parenthesis' > (</ span > FwdFrom< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ; < span class = 'comment' > // < i > exposition only</ i ></ span >
2025-02-11 20:35:14 +00:00
</ 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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5308' > #</ a ></ div >< div class = 'texpara' >< div id = '1.sentence-1' class = 'sentence' >< i > Returns</ i > : TBD< 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 = 'sourceLinkParent' >< a class = 'sourceLink' href = 'https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5313' > #</ a ></ div >< div class = 'texpara' >< div id = '2.sentence-1' class = 'sentence' >< span class = 'texttt' > value_< span class = 'shy' ></ span > cast</ span > is an explicit cast that allows truncation< a class = 'hidden_link' href = '#2.sentence-1' > .</ a ></ div ></ div ></ div >< div class = 'texpara' >< div id = 'lib:quantity,value_cast' >< div id = 'lib:value_cast,quantity' >< div class = 'itemdecl' >< div class = 'marginalizedparent' >< a class = 'itemDeclLink' href = '#lib:value_cast,quantity' > 🔗</ a ></ div >< code class = 'itemdeclcode' >< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.unit.concepts.html#concept:Unit' title = '5.4.4.4 Concepts [qty.unit.concepts]' >< span id = 'conceptref:Unit' >< span class = 'texttt' > Unit</ span ></ span ></ a > < span class = 'keyword' > auto</ span > ToU, < span class = 'keyword' > typename</ span > FwdQ, < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity__' >< span class = 'texttt' > Quantity</ span ></ span ></ a > Q < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
2024-12-08 08:57:12 +00:00
< span class = 'keyword' > requires</ span >< span class = 'parenthesis' > (</ span > convertible< span class = 'parenthesis' > (</ span > Q< span class = 'operator' > ::</ span > reference, ToU< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span >
< span class = 'keyword' > constexpr</ span > < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity___' >< span class = 'texttt' > Quantity</ span ></ span ></ a > < span class = 'keyword' > auto</ span > value_cast< span class = 'parenthesis' > (</ span > FwdQ< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ;
2025-02-11 20:35:14 +00:00
</ 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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5324' > #</ a ></ div >< div class = 'texpara' >< div id = '3.sentence-1' class = 'sentence' >< i > Effects</ i > : Equivalent to:
2024-12-08 08:57:12 +00:00
< span class = 'codeblock' >< span class = 'keyword' > return</ span > < i > sudo-cast</ i >< span class = 'anglebracket' > < </ span > quantity< span class = 'anglebracket' > < </ span >< i > make-reference</ i >< span class = 'parenthesis' > (</ span > Q< span class = 'operator' > ::</ span > quantity_spec, ToU< span class = 'parenthesis' > )</ span > , < span class = 'keyword' > typename</ span > Q< span class = 'operator' > ::</ span > rep< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span >
std< span class = 'operator' > ::</ span > forward< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > q< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span > ;
</ span ></ div ></ div ></ div ></ div >< div class = 'texpara' >< div id = 'lib:quantity,value_cast_' >< div id = 'lib:value_cast,quantity_' >< div class = 'itemdecl' >< div class = 'marginalizedparent' >< a class = 'itemDeclLink' href = '#lib:value_cast,quantity_' > 🔗</ a ></ div >< code class = 'itemdeclcode' >< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.rep.concepts.html#concept:Representation' title = '5.5.4 Concepts [qty.rep.concepts]' >< span id = 'conceptref:Representation' >< span class = 'texttt' > Representation</ span ></ span ></ a > ToRep, < span class = 'keyword' > typename</ span > FwdQ, < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity____' >< span class = 'texttt' > Quantity</ span ></ span ></ a > Q < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > requires</ 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 > ToRep, Q< span class = 'operator' > ::</ span > quantity_spec< span class = 'anglebracket' > > </ span > < span class = 'operator' > & </ span >< span class = 'operator' > & </ span >
std< span class = 'operator' > ::</ span > constructible_from< span class = 'anglebracket' > < </ span > ToRep, < span class = 'keyword' > typename</ span > Q< span class = 'operator' > ::</ span > rep< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > constexpr</ span > quantity< span class = 'anglebracket' > < </ span > Q< span class = 'operator' > ::</ span > reference, ToRep< span class = 'anglebracket' > > </ span > value_cast< span class = 'parenthesis' > (</ span > FwdQ< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ;
2025-02-11 20:35:14 +00:00
</ 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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5342' > #</ a ></ div >< div class = 'texpara' >< div id = '4.sentence-1' class = 'sentence' >< i > Effects</ i > : Equivalent to:
2024-12-08 08:57:12 +00:00
< span class = 'codeblock' >< span class = 'keyword' > return</ span > < i > sudo-cast</ i >< span class = 'anglebracket' > < </ span > quantity< span class = 'anglebracket' > < </ span > Q< span class = 'operator' > ::</ span > reference, ToRep< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > std< span class = 'operator' > ::</ span > forward< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > q< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span > ;
</ span ></ div ></ div ></ div ></ div >< div class = 'texpara' >< div id = 'lib:quantity,value_cast__' >< div id = 'lib:value_cast,quantity__' >< div class = 'itemdecl' >< div class = 'marginalizedparent' >< a class = 'itemDeclLink' href = '#lib:value_cast,quantity__' > 🔗</ a ></ div >< code class = 'itemdeclcode' >< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.unit.concepts.html#concept:Unit' title = '5.4.4.4 Concepts [qty.unit.concepts]' >< span id = 'conceptref:Unit_' >< span class = 'texttt' > Unit</ span ></ span ></ a > < span class = 'keyword' > auto</ span > ToU, < a href = 'qty.rep.concepts.html#concept:Representation' title = '5.5.4 Concepts [qty.rep.concepts]' >< span id = 'conceptref:Representation_' >< span class = 'texttt' > Representation</ span ></ span ></ a > ToRep, < span class = 'keyword' > typename</ span > FwdQ,
< a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity_____' >< span class = 'texttt' > Quantity</ span ></ span ></ a > Q < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > requires</ span > < i >< span class = 'texttt' > see below</ span ></ i >
< span class = 'keyword' > constexpr</ span > < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity______' >< span class = 'texttt' > Quantity</ span ></ span ></ a > < span class = 'keyword' > auto</ span > value_cast< span class = 'parenthesis' > (</ span > FwdQ< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ;
< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.rep.concepts.html#concept:Representation' title = '5.5.4 Concepts [qty.rep.concepts]' >< span id = 'conceptref:Representation__' >< span class = 'texttt' > Representation</ span ></ span ></ a > ToRep, < a href = 'qty.unit.concepts.html#concept:Unit' title = '5.4.4.4 Concepts [qty.unit.concepts]' >< span id = 'conceptref:Unit__' >< span class = 'texttt' > Unit</ span ></ span ></ a > < span class = 'keyword' > auto</ span > ToU, < span class = 'keyword' > typename</ span > FwdQ,
< a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity_______' >< span class = 'texttt' > Quantity</ span ></ span ></ a > Q < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > requires</ span > < i >< span class = 'texttt' > see below</ span ></ i >
< span class = 'keyword' > constexpr</ span > < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity________' >< span class = 'texttt' > Quantity</ span ></ span ></ a > < span class = 'keyword' > auto</ span > value_cast< span class = 'parenthesis' > (</ span > FwdQ< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ;
2025-02-11 20:35:14 +00:00
</ 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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5363' > #</ a ></ div >< div class = 'texpara' >< div id = '5.sentence-1' class = 'sentence' >< i > Effects</ i > : Equivalent to:
2024-12-08 08:57:12 +00:00
< span class = 'codeblock' >< span class = 'keyword' > return</ span > < i > sudo-cast</ i >< span class = 'anglebracket' > < </ span > quantity< span class = 'anglebracket' > < </ span >< i > make-reference</ i >< span class = 'parenthesis' > (</ span > Q< span class = 'operator' > ::</ span > quantity_spec, ToU< span class = 'parenthesis' > )</ span > , ToRep< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span >
std< span class = 'operator' > ::</ span > forward< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > q< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span > ;
2025-02-11 20:35:14 +00:00
</ span ></ 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-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5371' > #</ a ></ div >< div class = 'texpara' >< div id = '6.sentence-1' class = 'sentence' >< i > Remarks</ i > : The expression in the < span class = 'textsf' >< i > requires-clause</ i ></ span > is equivalent to:
2024-12-08 08:57:12 +00:00
< span class = 'codeblock' >< span class = 'parenthesis' > (</ span > convertible< span class = 'parenthesis' > (</ span > Q< span class = 'operator' > ::</ span > reference, ToU< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span > < span class = 'operator' > & </ span >< span class = 'operator' > & </ span > < a href = 'qty.rep.concepts.html#concept:RepresentationOf' title = '5.5.4 Concepts [qty.rep.concepts]' >< span id = 'conceptref:RepresentationOf_' >< span class = 'tcode_in_codeblock' > RepresentationOf</ span ></ span ></ a >< span class = 'anglebracket' > < </ span > ToRep, Q< span class = 'operator' > ::</ span > quantity_spec< span class = 'anglebracket' > > </ span > < span class = 'operator' > & </ span >< span class = 'operator' > & </ span >
std< span class = 'operator' > ::</ span > constructible_from< span class = 'anglebracket' > < </ span > ToRep, < span class = 'keyword' > typename</ span > Q< span class = 'operator' > ::</ span > rep< span class = 'anglebracket' > > </ span >
</ span ></ div ></ div ></ div ></ div >< div class = 'texpara' >< div id = 'lib:quantity,value_cast___' >< div id = 'lib:value_cast,quantity___' >< div class = 'itemdecl' >< div class = 'marginalizedparent' >< a class = 'itemDeclLink' href = '#lib:value_cast,quantity___' > 🔗</ a ></ div >< code class = 'itemdeclcode' >< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity_________' >< span class = 'texttt' > Quantity</ span ></ span ></ a > ToQ, < span class = 'keyword' > typename</ span > FwdQ, < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity__________' >< span class = 'texttt' > Quantity</ span ></ span ></ a > Q < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > requires</ span >< span class = 'parenthesis' > (</ span > convertible< span class = 'parenthesis' > (</ span > Q< span class = 'operator' > ::</ span > reference, ToQ< span class = 'operator' > ::</ span > unit< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span > < span class = 'operator' > & </ span >< span class = 'operator' > & </ span > < span class = 'parenthesis' > (</ span > ToQ< span class = 'operator' > ::</ span > quantity_spec < span class = 'operator' > =</ span >< span class = 'operator' > =</ span > Q< span class = 'operator' > ::</ span > quantity_spec< span class = 'parenthesis' > )</ span > < span class = 'operator' > & </ span >< span class = 'operator' > & </ span >
std< span class = 'operator' > ::</ span > constructible_from< span class = 'anglebracket' > < </ span >< span class = 'keyword' > typename</ span > ToQ< span class = 'operator' > ::</ span > rep, < span class = 'keyword' > typename</ span > Q< span class = 'operator' > ::</ span > rep< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > constexpr</ span > < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity___________' >< span class = 'texttt' > Quantity</ span ></ span ></ a > < span class = 'keyword' > auto</ span > value_cast< span class = 'parenthesis' > (</ span > FwdQ< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ;
2025-02-11 20:35:14 +00:00
</ code ></ div ></ div ></ div ></ div >< div class = 'para' id = '7' >< div class = 'marginalizedparent' >< a class = 'marginalized' href = '#7' > 7</ a ></ div >< div class = 'itemdescr' >< div class = 'sourceLinkParent' >< a class = 'sourceLink' href = 'https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5389' > #</ a ></ div >< div class = 'texpara' >< div id = '7.sentence-1' class = 'sentence' >< i > Effects</ i > : Equivalent to: < span class = 'texttt' >< span class = 'keyword' > return</ span > < span class = 'texttt' >< i > sudo-cast</ i ></ span >< span class = 'anglebracket' > < </ span > ToQ< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > std< span class = 'operator' > ​ ::​ </ span > forward< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > q< span class = 'parenthesis' > )</ span >< span class = 'parenthesis' > )</ span > ;</ span ></ div ></ div ></ div ></ div >< div class = 'para' id = '8' >< div class = 'marginalizedparent' >< a class = 'marginalized' href = '#8' > 8</ a ></ div >< div class = 'sourceLinkParent' >< a class = 'sourceLink' href = 'https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5394' > #</ a ></ div >< div class = 'texpara' >< div id = '8.sentence-1' class = 'sentence' >< span class = 'texttt' > quantity_< span class = 'shy' ></ span > cast</ span > is an explicit cast that allows converting to more specific quantities< a class = 'hidden_link' href = '#8.sentence-1' > .</ a ></ div > < div id = 'example-1' class = 'example' >< div class = 'texpara' > [< i > Example < a href = '#example-1' > 1</ a ></ i > :  < span class = 'codeblock' >< span class = 'keyword' > auto</ span > length < span class = 'operator' > =</ span > isq< span class = 'operator' > ::</ span > length< span class = 'parenthesis' > (</ span >< span class = 'literal' > 42</ span > < span class = 'operator' > *</ span > m< span class = 'parenthesis' > )</ span > ;
2024-12-08 08:57:12 +00:00
< span class = 'keyword' > auto</ span > distance < span class = 'operator' > =</ span > quantity_cast< span class = 'anglebracket' > < </ span > isq< span class = 'operator' > ::</ span > distance< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > length< span class = 'parenthesis' > )</ span > ;
</ span > — < i > end example</ i > ]</ div ></ div ></ div ></ div >< div class = 'texpara' >< div id = 'lib:quantity,quantity_cast' >< div id = 'lib:quantity_cast,quantity' >< div class = 'itemdecl' >< div class = 'marginalizedparent' >< a class = 'itemDeclLink' href = '#lib:quantity_cast,quantity' > 🔗</ a ></ div >< code class = 'itemdeclcode' >< span class = 'keyword' > template</ span >< span class = 'anglebracket' > < </ span >< a href = 'qty.spec.concepts.html#concept:QuantitySpec' title = '5.4.3.2 Concepts [qty.spec.concepts]' >< span id = 'conceptref:QuantitySpec' >< span class = 'texttt' > QuantitySpec</ span ></ span ></ a > < span class = 'keyword' > auto</ span > ToQS, < span class = 'keyword' > typename</ span > FwdQ, < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity____________' >< span class = 'texttt' > Quantity</ span ></ span ></ a > Q < span class = 'operator' > =</ span > std< span class = 'operator' > ::</ span > remove_cvref_t< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > requires</ span > < a class = 'index' id = 'conceptref:QuantitySpecCastableTo' ></ a >< span class = 'texttt' >< i > QuantitySpecCastableTo</ i ></ span >< span class = 'anglebracket' > < </ span > Q< span class = 'operator' > ::</ span > quantity_spec, ToQS< span class = 'anglebracket' > > </ span >
< span class = 'keyword' > constexpr</ span > < a href = 'qty.syn.html#concept:Quantity' title = '5.6.3 Class template quantity [qty.syn]' >< span id = 'conceptref:Quantity_____________' >< span class = 'texttt' > Quantity</ span ></ span ></ a > < span class = 'keyword' > auto</ span > quantity_cast< span class = 'parenthesis' > (</ span > FwdQ< span class = 'operator' > & </ span >< span class = 'operator' > & </ span > q< span class = 'parenthesis' > )</ span > ;
2025-02-11 20:35:14 +00:00
</ code ></ div ></ div ></ div ></ div >< div class = 'para' id = '9' >< div class = 'marginalizedparent' >< a class = 'marginalized' href = '#9' > 9</ a ></ div >< div class = 'itemdescr' >< div class = 'sourceLinkParent' >< a class = 'sourceLink' href = 'https://github.com/mpusz/mp-unitse9c5f7236ebfe1b287a5a4a49aaf57fbefa87233/source/quantities.tex#L5411' > #</ a ></ div >< div class = 'texpara' >< div id = '9.sentence-1' class = 'sentence' >< i > Effects</ i > : Equivalent to:
2024-12-08 08:57:12 +00:00
< span class = 'codeblock' >< span class = 'keyword' > return</ span > quantity< span class = 'curlybracket' > {</ span > std< span class = 'operator' > ::</ span > forward< span class = 'anglebracket' > < </ span > FwdQ< span class = 'anglebracket' > > </ span >< span class = 'parenthesis' > (</ span > q< span class = 'parenthesis' > )</ span >< span class = 'operator' > .</ span >< i > numerical-value</ i > , < i > make-reference</ i >< span class = 'parenthesis' > (</ span > ToQS, Q< span class = 'operator' > ::</ span > unit< span class = 'parenthesis' > )</ span >< span class = 'curlybracket' > }</ span > ;
</ span ></ div ></ div ></ div ></ div ></ div ></ body ></ html >