<!DOCTYPE html><html lang='en'><head><title>[time.cal.md.nonmembers]</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='alternate stylesheet' type='text/css' href='collapsed.css' title='Notes and examples collapsed'/><link rel='icon' href='icon.png'/></head><body><div class='wrapper'><h1 ><a class='secnum' style='min-width:73pt'>26</a> Time library <a class='abbr_ref' href='./#time'>[time]</a></h1><h2 ><a class='secnum' style='min-width:88pt'>26.8</a> The civil calendar <a class='abbr_ref' href='time.cal#md.nonmembers'>[time.cal]</a></h2><h3 ><a class='secnum' style='min-width:103pt'>26.8.9</a> Class <span class='texttt'>month_&shy;day</span> <a class='abbr_ref' href='time.cal.md#nonmembers'>[time.cal.md]</a></h3><h4 ><a class='secnum' style='min-width:118pt'>26.8.9.3</a> Non-member functions <a class='abbr_ref'>[time.cal.md.nonmembers]</a></h4><span class='indexparent'><a class='index' id='lib:operator==,month_day'></a></span><span class='indexparent'><a class='index' id='lib:month_day,operator=='></a></span><div class='itemdecl' id='itemdecl:1'><div class='marginalizedparent'><a class='itemDeclLink' href='#itemdecl:1'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>constexpr</span> <span class='keyword'>bool</span> <span class='keyword'>operator</span><span class='operator'>=</span><span class='operator'>=</span><span class='parenthesis'>(</span><span class='keyword'>const</span> month_day<span class='operator'>&amp;</span> x, <span class='keyword'>const</span> month_day<span class='operator'>&amp;</span> y<span class='parenthesis'>)</span> <span class='keyword'>noexcept</span>;
</code></div><div class='itemdescr'></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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5564'>#</a></div><div id='1.sentence-1' class='sentence'><span class='textit'>Returns:</span> <span class='texttt'>x<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='operator'>=</span><span class='operator'>=</span> y<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='operator'>&amp;</span><span class='operator'>&amp;</span> x<span class='operator'>.</span>day<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='operator'>=</span><span class='operator'>=</span> y<span class='operator'>.</span>day<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span><a class='hidden_link' href='#1.sentence-1'>.</a></div></div></div><span class='indexparent'><a class='index' id='lib:operator<,month_day'></a></span><span class='indexparent'><a class='index' id='lib:month_day,operator<'></a></span><div class='itemdecl' id='itemdecl:2'><div class='marginalizedparent'><a class='itemDeclLink' href='#itemdecl:2'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>constexpr</span> <span class='keyword'>bool</span> <span class='keyword'>operator</span><span class='anglebracket'>&lt;</span><span class='parenthesis'>(</span><span class='keyword'>const</span> month_day<span class='operator'>&amp;</span> x, <span class='keyword'>const</span> month_day<span class='operator'>&amp;</span> y<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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5574'>#</a></div><div id='2.sentence-1' class='sentence'><span class='textit'>Returns:</span> 
If <span class='texttt'>x<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='anglebracket'>&lt;</span> y<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span> returns <span class='texttt'><span class='literal'>true</span></span><a class='hidden_link' href='#2.sentence-1'>.</a></div> <div id='2.sentence-2' class='sentence'>Otherwise, if <span class='texttt'>x<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='anglebracket'>&gt;</span> y<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span> returns <span class='texttt'><span class='literal'>false</span></span><a class='hidden_link' href='#2.sentence-2'>.</a></div> <div id='2.sentence-3' class='sentence'>Otherwise, returns <span class='texttt'>x<span class='operator'>.</span>day<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='anglebracket'>&lt;</span> y<span class='operator'>.</span>day<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span><a class='hidden_link' href='#2.sentence-3'>.</a></div></div></div><span class='indexparent'><a class='index' id='lib:operator<<,month_day'></a></span><span class='indexparent'><a class='index' id='lib:month_day,operator<<'></a></span><div class='itemdecl' id='itemdecl:3'><div class='marginalizedparent'><a class='itemDeclLink' href='#itemdecl:3'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'>&lt;</span><span class='keyword'>class</span> charT, <span class='keyword'>class</span> traits<span class='anglebracket'>&gt;</span>
  basic_ostream<span class='anglebracket'>&lt;</span>charT, traits<span class='anglebracket'>&gt;</span><span class='operator'>&amp;</span>
    <span class='keyword'>operator</span><span class='anglebracket'>&lt;</span><span class='anglebracket'>&lt;</span><span class='parenthesis'>(</span>basic_ostream<span class='anglebracket'>&lt;</span>charT, traits<span class='anglebracket'>&gt;</span><span class='operator'>&amp;</span> os, <span class='keyword'>const</span> month_day<span class='operator'>&amp;</span> md<span class='parenthesis'>)</span>;
</code></div><div class='itemdescr'></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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5589'>#</a></div><div id='3.sentence-1' class='sentence'><span class='textit'>Returns:</span> <span class='texttt'>os <span class='anglebracket'>&lt;</span><span class='anglebracket'>&lt;</span> md<span class='operator'>.</span>month<span class='parenthesis'>(</span><span class='parenthesis'>)</span> <span class='anglebracket'>&lt;</span><span class='anglebracket'>&lt;</span> <span class='literal'>'/'</span> <span class='anglebracket'>&lt;</span><span class='anglebracket'>&lt;</span> md<span class='operator'>.</span>day<span class='parenthesis'>(</span><span class='parenthesis'>)</span></span><a class='hidden_link' href='#3.sentence-1'>.</a></div></div></div><span class='indexparent'><a class='index' id='lib:to_stream,month_day'></a></span><span class='indexparent'><a class='index' id='lib:month_day,to_stream'></a></span><div class='itemdecl' id='itemdecl:4'><div class='marginalizedparent'><a class='itemDeclLink' href='#itemdecl:4'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'>&lt;</span><span class='keyword'>class</span> charT, <span class='keyword'>class</span> traits<span class='anglebracket'>&gt;</span>
  basic_ostream<span class='anglebracket'>&lt;</span>charT, traits<span class='anglebracket'>&gt;</span><span class='operator'>&amp;</span>
    to_stream<span class='parenthesis'>(</span>basic_ostream<span class='anglebracket'>&lt;</span>charT, traits<span class='anglebracket'>&gt;</span><span class='operator'>&amp;</span> os, <span class='keyword'>const</span> charT<span class='operator'>*</span> fmt, <span class='keyword'>const</span> month_day<span class='operator'>&amp;</span> md<span class='parenthesis'>)</span>;
</code></div><div class='itemdescr'></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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5601'>#</a></div><div id='4.sentence-1' class='sentence'><span class='textit'>Effects:</span> 
Streams <span class='texttt'>md</span> into <span class='texttt'>os</span> using
the format specified by the NTCTS <span class='texttt'>fmt</span><a class='hidden_link' href='#4.sentence-1'>.</a></div> <div id='4.sentence-2' class='sentence'><span class='texttt'>fmt</span> encoding follows the rules specified in <a href='time.format'>[time.format]</a><a class='hidden_link' href='#4.sentence-2'>.</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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5607'>#</a></div><div id='5.sentence-1' class='sentence'><span class='textit'>Returns:</span> <span class='texttt'>os</span><a class='hidden_link' href='#5.sentence-1'>.</a></div></div></div><span class='indexparent'><a class='index' id='lib:from_stream,month_day'></a></span><span class='indexparent'><a class='index' id='lib:month_day,from_stream'></a></span><div class='itemdecl' id='itemdecl:5'><div class='marginalizedparent'><a class='itemDeclLink' href='#itemdecl:5'>🔗</a></div><code class='itemdeclcode'><span class='keyword'>template</span><span class='anglebracket'>&lt;</span><span class='keyword'>class</span> charT, <span class='keyword'>class</span> traits, <span class='keyword'>class</span> Alloc <span class='operator'>=</span> allocator<span class='anglebracket'>&lt;</span>charT<span class='anglebracket'>&gt;</span><span class='anglebracket'>&gt;</span>
  basic_istream<span class='anglebracket'>&lt;</span>charT, traits<span class='anglebracket'>&gt;</span><span class='operator'>&amp;</span>
    from_stream<span class='parenthesis'>(</span>basic_istream<span class='anglebracket'>&lt;</span>charT, traits<span class='anglebracket'>&gt;</span><span class='operator'>&amp;</span> is, <span class='keyword'>const</span> charT<span class='operator'>*</span> fmt,
                month_day<span class='operator'>&amp;</span> md, basic_string<span class='anglebracket'>&lt;</span>charT, traits, Alloc<span class='anglebracket'>&gt;</span><span class='operator'>*</span> abbrev <span class='operator'>=</span> <span class='literal'>nullptr</span>,
                minutes<span class='operator'>*</span> offset <span class='operator'>=</span> <span class='literal'>nullptr</span><span class='parenthesis'>)</span>;
</code></div><div class='itemdescr'></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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5621'>#</a></div><div id='6.sentence-1' class='sentence'><span class='textit'>Effects:</span> 
Attempts to parse the input stream <span class='texttt'>is</span>
into the <span class='texttt'>month_&shy;day</span> <span class='texttt'>md</span> using
the format flags given in the NTCTS <span class='texttt'>fmt</span>
as specified in <a href='time.parse'>[time.parse]</a><a class='hidden_link' href='#6.sentence-1'>.</a></div> <div id='6.sentence-2' class='sentence'>If the parse fails to decode a valid <span class='texttt'>month_&shy;day</span>,
<span class='texttt'>is<span class='operator'>.</span>setstate<span class='parenthesis'>(</span>ios_&shy;base<span class='operator'>:</span><span class='operator'>:</span>failbit<span class='parenthesis'>)</span></span> shall be called
and <span class='texttt'>md</span> shall not be modified<a class='hidden_link' href='#6.sentence-2'>.</a></div> <div id='6.sentence-3' class='sentence'>If <span class='texttt'><span class='operator'>%</span>Z</span> is used and successfully parsed,
that value will be assigned to <span class='texttt'><span class='operator'>*</span>abbrev</span> if <span class='texttt'>abbrev</span> is non-null<a class='hidden_link' href='#6.sentence-3'>.</a></div> <div id='6.sentence-4' class='sentence'>If <span class='texttt'><span class='operator'>%</span>z</span> (or a modified variant) is used and successfully parsed,
that value will be assigned to <span class='texttt'><span class='operator'>*</span>offset</span> if <span class='texttt'>offset</span> is non-null<a class='hidden_link' href='#6.sentence-4'>.</a></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/Eelis/draft73ca144c7e48612fe72742f9f6a5ec9ad6a934d2/source/time.tex#L5635'>#</a></div><div id='7.sentence-1' class='sentence'><span class='textit'>Returns:</span> <span class='texttt'>is</span><a class='hidden_link' href='#7.sentence-1'>.</a></div></div></div></div></body></html>