Files
mp-units/docs/api/gen/static.downcast.html
T

8 lines
5.3 KiB
HTML

<!DOCTYPE html><html lang='en'><head><title>[static.downcast]</title><meta charset='UTF-8'/><link rel='stylesheet' type='text/css' href='14882.css'/><link rel='stylesheet' type='text/css' href='expanded.css' title='Notes and examples expanded'/><link rel='alternate stylesheet' type='text/css' href='colored.css' title='Notes and examples colored'/><link rel='icon' href='icon.png'/></head><body><div class='wrapper'><h1 ><a class='secnum' style='min-width:73pt'>4</a> General utilities library <a class='abbr_ref' href='./#utilities'>[utilities]</a></h1><h2 ><a class='secnum' style='min-width:88pt'>4.2</a> Utility components <a class='abbr_ref' href='utility#static.downcast'>[utility]</a></h2><h3 ><a class='secnum' style='min-width:103pt'>4.2.3</a> <span class='texttt'>static_&shy;downcast</span> <a class='abbr_ref'>[static.downcast]</a></h3><div class='para' id='1'><div class='marginalizedparent'><a class='marginalized' href='#1'>1</a></div><div class='sourceLinkParent'><a class='sourceLink' href='https://github.com/johelegp/jegp/tree/4dfbe8f5446ba1f53439a36ce12119fe285268c9/doc/utilities.tex#L61'>#</a></div><div id='1.sentence-1' class='sentence'>A <span class='texttt'><span class='keyword'>static_&shy;cast</span></span> that performs a downcast<a class='hidden_link' href='#1.sentence-1'>.</a></div> <span class='indexparent'><a class='index' id='lib:static_downcast'></a></span></div><div class='itemdecl' id='itemdecl:1'><div class='marginalizedparent'><a class='itemDeclLink' href='#itemdecl:1'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span> <span class='anglebracket'>&lt;</span><span class='keyword'>class</span> DerivedRef, <span class='keyword'>class</span> Base<span class='anglebracket'>&gt;</span>
<span class='keyword'>constexpr</span> DerivedRef static_downcast<span class='parenthesis'>(</span>Base<span class='operator'>&amp;</span><span class='operator'>&amp;</span> base<span class='parenthesis'>)</span> <span class='keyword'>noexcept</span>;
</code></div><div class='itemdescr'></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/johelegp/jegp/tree/4dfbe8f5446ba1f53439a36ce12119fe285268c9/doc/utilities.tex#L71'>#</a></div><div id='2.sentence-1' class='sentence'>Let <span class='texttt'><span class='textit'>derived-ref</span></span> be
<span class='texttt'><span class='keyword'>static_&shy;cast</span><span class='anglebracket'>&lt;</span>DerivedRef<span class='anglebracket'>&gt;</span><span class='parenthesis'>(</span>std<span class='operator'>&#x200b;::&#x200b;</span>forward<span class='anglebracket'>&lt;</span>Base<span class='anglebracket'>&gt;</span><span class='parenthesis'>(</span>base<span class='parenthesis'>)</span><span class='parenthesis'>)</span></span><a class='hidden_link' href='#2.sentence-1'>.</a></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/johelegp/jegp/tree/4dfbe8f5446ba1f53439a36ce12119fe285268c9/doc/utilities.tex#L75'>#</a></div><div id='3.sentence-1' class='sentence'><span class='textit'>Constraints:</span>
<ul class='itemize'><li id='3.1'><div class='marginalizedparent' style='left:-10em'><a class='marginalized' href='#3.1'>(3.1)</a></div><span class='texttt'>DerivedRef</span> is a reference type,</li><li id='3.2'><div class='marginalizedparent' style='left:-10em'><a class='marginalized' href='#3.2'>(3.2)</a></div><span class='texttt'>std<span class='operator'>&#x200b;::&#x200b;</span>remove_&shy;cvref_&shy;t<span class='anglebracket'>&lt;</span>DerivedRef<span class='anglebracket'>&gt;</span></span> is derived from
<span class='texttt'>std<span class='operator'>&#x200b;::&#x200b;</span>remove_&shy;cvref_&shy;t<span class='anglebracket'>&lt;</span>Base<span class='anglebracket'>&gt;</span></span>, and</li><li id='3.3'><div class='marginalizedparent' style='left:-10em'><a class='marginalized' href='#3.3'>(3.3)</a></div><span class='texttt'><span class='textit'>derived-ref</span></span> is well-formed<a class='hidden_link' href='#3.sentence-1'>.</a></li></ul></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/johelegp/jegp/tree/4dfbe8f5446ba1f53439a36ce12119fe285268c9/doc/utilities.tex#L87'>#</a></div><div id='4.sentence-1' class='sentence'><span class='textit'>Preconditions:</span>
<span class='texttt'><span class='textit'>derived-ref</span></span> has well-defined behavior<a class='hidden_link' href='#4.sentence-1'>.</a></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/johelegp/jegp/tree/4dfbe8f5446ba1f53439a36ce12119fe285268c9/doc/utilities.tex#L91'>#</a></div><div id='5.sentence-1' class='sentence'><span class='textit'>Returns:</span>
<span class='texttt'><span class='textit'>derived-ref</span></span><a class='hidden_link' href='#5.sentence-1'>.</a></div></div></div></div></body></html>