<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Class template date_generator_formatter</title> <link rel="stylesheet" href="../../boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="../../date_time/doxy.html#header.boost.date_time.date_generator_formatter_hpp" title="Header <boost/date_time/date_generator_formatter.hpp>"> <link rel="prev" href="ostream_date_formatter.html" title="Class template ostream_date_formatter"> <link rel="next" href="date_generator_parser.html" title="Class template date_generator_parser"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td> <td align="center"><a href="../../../../index.html">Home</a></td> <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> <td align="center"><a href="../../../../more/index.htm">More</a></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="ostream_date_formatter.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#header.boost.date_time.date_generator_formatter_hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="date_generator_parser.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a> </div> <div class="refentry" title="Class template date_generator_formatter"> <a name="boost.date_time.date_generator_formatter"></a><div class="titlepage"></div> <div class="refnamediv"> <h2><span class="refentrytitle">Class template date_generator_formatter</span></h2> <p>boost::date_time::date_generator_formatter — Formats date_generators for output. </p> </div> <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: <<a class="link" href="../../date_time/doxy.html#header.boost.date_time.date_generator_formatter_hpp" title="Header <boost/date_time/date_generator_formatter.hpp>">boost/date_time/date_generator_formatter.hpp</a>> </em></span><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> CharT, <span class="bold"><strong>typename</strong></span> OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > > <span class="bold"><strong>class</strong></span> <a class="link" href="date_generator_formatter.html" title="Class template date_generator_formatter">date_generator_formatter</a> { <span class="bold"><strong>public</strong></span>: <span class="emphasis"><em>// types</em></span> <span class="bold"><strong>typedef</strong></span> <a class="link" href="partial_date.html" title="Class template partial_date">partial_date</a>< date_type > <a name="boost.date_time.date_generator_formatter.partial_date_type"></a>partial_date_type; <span class="bold"><strong>typedef</strong></span> <a class="link" href="nth_kday_of_month.html" title="Class template nth_kday_of_month">nth_kday_of_month</a>< date_type > <a name="boost.date_time.date_generator_formatter.nth_kday_type"></a>nth_kday_type; <span class="bold"><strong>typedef</strong></span> <a class="link" href="first_kday_of_month.html" title="Class template first_kday_of_month">first_kday_of_month</a>< date_type > <a name="boost.date_time.date_generator_formatter.first_kday_type"></a>first_kday_type; <span class="bold"><strong>typedef</strong></span> <a class="link" href="last_kday_of_month.html" title="Class template last_kday_of_month">last_kday_of_month</a>< date_type > <a name="boost.date_time.date_generator_formatter.last_kday_type"></a>last_kday_type; <span class="bold"><strong>typedef</strong></span> <a class="link" href="first_kday_after.html" title="Class template first_kday_after">first_kday_after</a>< date_type > <a name="boost.date_time.date_generator_formatter.kday_after_type"></a>kday_after_type; <span class="bold"><strong>typedef</strong></span> <a class="link" href="first_kday_before.html" title="Class template first_kday_before">first_kday_before</a>< date_type > <a name="boost.date_time.date_generator_formatter.kday_before_type"></a>kday_before_type; <span class="bold"><strong>typedef</strong></span> CharT <a name="boost.date_time.date_generator_formatter.char_type"></a>char_type; <span class="bold"><strong>typedef</strong></span> std::basic_string< char_type > <a name="boost.date_time.date_generator_formatter.string_type"></a>string_type; <span class="bold"><strong>typedef</strong></span> std::vector< string_type > <a name="boost.date_time.date_generator_formatter.collection_type"></a>collection_type; <span class="bold"><strong>enum</strong></span> <a name="boost.date_time.date_generator_formatter.phrase_elements"></a>phrase_elements { first = 0, second, third, fourth, fifth, last, before, after, of, number_of_phrase_elements }; <span class="emphasis"><em>// <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatterconstruct-copy-destruct">construct/copy/destruct</a></em></span> <a class="link" href="date_generator_formatter.html#id371165-bb">date_generator_formatter</a>(); <a class="link" href="date_generator_formatter.html#id371168-bb">date_generator_formatter</a>(<span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &, <span class="bold"><strong>const</strong></span> string_type &); <span class="emphasis"><em>// <a class="link" href="date_generator_formatter.html#id339321-bb">public member functions</a></em></span> <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="date_generator_formatter.html#id339324-bb">elements</a>(<span class="bold"><strong>const</strong></span> collection_type &, phrase_elements = first) ; <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id405311-bb">put_partial_date</a>(OutItrT, std::ios_base &, CharT, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.partial_date_type">partial_date_type</a> &, <span class="bold"><strong>const</strong></span> facet_type &) <span class="bold"><strong>const</strong></span>; <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id376363-bb">put_nth_kday</a>(OutItrT, std::ios_base &, CharT, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.nth_kday_type">nth_kday_type</a> &, <span class="bold"><strong>const</strong></span> facet_type &) <span class="bold"><strong>const</strong></span>; <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id606814-bb">put_first_kday</a>(OutItrT, std::ios_base &, CharT, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.first_kday_type">first_kday_type</a> &, <span class="bold"><strong>const</strong></span> facet_type &) <span class="bold"><strong>const</strong></span>; <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id347750-bb">put_last_kday</a>(OutItrT, std::ios_base &, CharT, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.last_kday_type">last_kday_type</a> &, <span class="bold"><strong>const</strong></span> facet_type &) <span class="bold"><strong>const</strong></span>; <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id410525-bb">put_kday_before</a>(OutItrT, std::ios_base &, CharT, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.kday_before_type">kday_before_type</a> &, <span class="bold"><strong>const</strong></span> facet_type &) <span class="bold"><strong>const</strong></span>; <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id341326-bb">put_kday_after</a>(OutItrT, std::ios_base &, CharT, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.kday_after_type">kday_after_type</a> &, <span class="bold"><strong>const</strong></span> facet_type &) <span class="bold"><strong>const</strong></span>; <span class="emphasis"><em>// <a class="link" href="date_generator_formatter.html#id356712-bb">private member functions</a></em></span> <span class="type">OutItrT</span> <a class="link" href="date_generator_formatter.html#id356716-bb">put_string</a>(OutItrT, <span class="bold"><strong>const</strong></span> string_type &) <span class="bold"><strong>const</strong></span>; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> first_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> second_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> third_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> fourth_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> fifth_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> last_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> before_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> after_string; <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> char_type</span> of_string; };</pre></div> <div class="refsect1" title="Description"> <a name="id782533"></a><h2>Description</h2> <p>Formatting of date_generators follows specific orders for the various types of date_generators.</p> <div class="itemizedlist"><ul class="itemizedlist" type="disc"> <li class="listitem"><p>partial_date => "dd Month"</p></li> <li class="listitem"><p>nth_day_of_the_week_in_month => "nth weekday of month"</p></li> <li class="listitem"><p>first_day_of_the_week_in_month => "first weekday of month"</p></li> <li class="listitem"><p>last_day_of_the_week_in_month => "last weekday of month"</p></li> <li class="listitem"><p>first_day_of_the_week_after => "weekday after"</p></li> <li class="listitem"><p>first_day_of_the_week_before => "weekday before" While the order of the elements in these phrases cannot be changed, the elements themselves can be. Weekday and Month get their formats and names from the date_facet. The remaining elements are stored in the date_generator_formatter and can be customized upon construction or via a member function. The default elements are those shown in the examples above. </p></li> </ul></div> <p> </p> <div class="refsect2" title="date_generator_formatter public construct/copy/destruct"> <a name="id782570"></a><h3> <a name="boost.date_time.date_generator_formatterconstruct-copy-destruct"></a><code class="computeroutput">date_generator_formatter</code> public construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> <pre class="literallayout"><a name="id371165-bb"></a>date_generator_formatter();</pre>Default format elements used. </li> <li class="listitem"> <pre class="literallayout"><a name="id371168-bb"></a>date_generator_formatter(<span class="bold"><strong>const</strong></span> string_type & first_str, <span class="bold"><strong>const</strong></span> string_type & second_str, <span class="bold"><strong>const</strong></span> string_type & third_str, <span class="bold"><strong>const</strong></span> string_type & fourth_str, <span class="bold"><strong>const</strong></span> string_type & fifth_str, <span class="bold"><strong>const</strong></span> string_type & last_str, <span class="bold"><strong>const</strong></span> string_type & before_str, <span class="bold"><strong>const</strong></span> string_type & after_str, <span class="bold"><strong>const</strong></span> string_type & of_str);</pre>Constructor that allows for a custom set of phrase elements. </li> </ol></div> </div> <div class="refsect2" title="date_generator_formatter public member functions"> <a name="id782689"></a><h3> <a name="id339321-bb"></a><code class="computeroutput">date_generator_formatter</code> public member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> <pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id339324-bb"></a>elements(<span class="bold"><strong>const</strong></span> collection_type & new_strings, phrase_elements beg_pos = first) ;</pre>Replace the set of phrase elements with those contained in new_strings. <p>The order of the strings in the given collection is important. They must follow:</p> <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>first, second, third, fourth, fifth, last, before, after, of.</p></li></ul></div> <p> </p> <p>It is not necessary to send in a complete set if only a few elements are to be replaced as long as the correct beg_pos is used.</p> <p>Ex: To keep the default first through fifth elements, but replace the rest with a collection of:</p> <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>"final", "prior", "following", "in". The beg_pos of date_generator_formatter::last would be used. </p></li></ul></div> <p> </p> </li> <li class="listitem"> <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a name="id405311-bb"></a>put_partial_date(OutItrT next, std::ios_base & a_ios, CharT a_fill, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.partial_date_type">partial_date_type</a> & pd, <span class="bold"><strong>const</strong></span> facet_type & facet) <span class="bold"><strong>const</strong></span>;</pre>Put a partial_date => "dd Month". </li> <li class="listitem"> <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a name="id376363-bb"></a>put_nth_kday(OutItrT next, std::ios_base & a_ios, CharT a_fill, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.nth_kday_type">nth_kday_type</a> & nkd, <span class="bold"><strong>const</strong></span> facet_type & facet) <span class="bold"><strong>const</strong></span>;</pre>Put an nth_day_of_the_week_in_month => "nth weekday of month". </li> <li class="listitem"> <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a name="id606814-bb"></a>put_first_kday(OutItrT next, std::ios_base & a_ios, CharT a_fill, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.first_kday_type">first_kday_type</a> & fkd, <span class="bold"><strong>const</strong></span> facet_type & facet) <span class="bold"><strong>const</strong></span>;</pre>Put a first_day_of_the_week_in_month => "first weekday of month". </li> <li class="listitem"> <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a name="id347750-bb"></a>put_last_kday(OutItrT next, std::ios_base & a_ios, CharT a_fill, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.last_kday_type">last_kday_type</a> & lkd, <span class="bold"><strong>const</strong></span> facet_type & facet) <span class="bold"><strong>const</strong></span>;</pre>Put a last_day_of_the_week_in_month => "last weekday of month". </li> <li class="listitem"> <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a name="id410525-bb"></a>put_kday_before(OutItrT next, std::ios_base & a_ios, CharT a_fill, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.kday_before_type">kday_before_type</a> & fkb, <span class="bold"><strong>const</strong></span> facet_type & facet) <span class="bold"><strong>const</strong></span>;</pre>Put a first_day_of_the_week_before => "weekday before". </li> <li class="listitem"> <pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> facet_type> <span class="type">OutItrT</span> <a name="id341326-bb"></a>put_kday_after(OutItrT next, std::ios_base & a_ios, CharT a_fill, <span class="bold"><strong>const</strong></span> <a class="link" href="date_generator_formatter.html#boost.date_time.date_generator_formatter.kday_after_type">kday_after_type</a> & fka, <span class="bold"><strong>const</strong></span> facet_type & facet) <span class="bold"><strong>const</strong></span>;</pre>Put a first_day_of_the_week_after => "weekday after". </li> </ol></div> </div> <div class="refsect2" title="date_generator_formatter private member functions"> <a name="id783140"></a><h3> <a name="id356712-bb"></a><code class="computeroutput">date_generator_formatter</code> private member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> <pre class="literallayout"><span class="type">OutItrT</span> <a name="id356716-bb"></a>put_string(OutItrT next, <span class="bold"><strong>const</strong></span> string_type & str) <span class="bold"><strong>const</strong></span>;</pre>helper function to put the various member string into stream </li></ol></div> </div> </div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> <td align="right"><div class="copyright-footer">Copyright © 2001-2005 CrystalClear Software, Inc<p>Subject to the Boost Software License, Version 1.0. (See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p> </div></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="ostream_date_formatter.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#header.boost.date_time.date_generator_formatter_hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="date_generator_parser.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a> </div> </body> </html>