]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/date_time/xmldoc/date_time_autodoc.xml
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / date_time / xmldoc / date_time_autodoc.xml
CommitLineData
b32b8144
FG
1<?xml version="1.0" standalone="yes"?>
2<library-reference id="date_time_reference"><title>Date Time Reference</title><header name="boost/date_time/adjust_functors.hpp">
3<namespace name="boost">
4<namespace name="date_time">
5<class name="day_functor"><template>
6 <template-type-parameter name="date_type"/>
7 </template><purpose>Functor to iterate a fixed number of days. </purpose><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
8<method-group name="public member functions">
11fdf7f2
TL
9<method name="get_offset" cv="const"><type>duration_type</type><parameter name=""><paramtype>const date_type &amp;</paramtype></parameter></method>
10<method name="get_neg_offset" cv="const"><type>duration_type</type><parameter name=""><paramtype>const date_type &amp;</paramtype></parameter></method>
b32b8144
FG
11</method-group>
12<constructor><parameter name="f"><paramtype>int</paramtype></parameter></constructor>
13</class><class name="month_functor"><template>
14 <template-type-parameter name="date_type"/>
15 </template><purpose>Provides calculation to find next nth month given a date. </purpose><description><para>This adjustment function provides the logic for 'month-based' advancement on a ymd based calendar. The policy it uses to handle the non existant end of month days is to back up to the last day of the month. Also, if the starting date is the last day of a month, this functor will attempt to adjust to the end of the month. </para></description><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
16<typedef name="cal_type"><type>date_type::calendar_type</type></typedef>
17<typedef name="ymd_type"><type>cal_type::ymd_type</type></typedef>
18<typedef name="day_type"><type>cal_type::day_type</type></typedef>
19<method-group name="public member functions">
20<method name="get_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
21<method name="get_neg_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><purpose>Returns a negative duration_type. </purpose></method>
22</method-group>
23<constructor><parameter name="f"><paramtype>int</paramtype></parameter></constructor>
24</class><class name="week_functor"><template>
25 <template-type-parameter name="date_type"/>
26 </template><purpose>Functor to iterate a over weeks. </purpose><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
27<typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
28<method-group name="public member functions">
11fdf7f2
TL
29<method name="get_offset" cv="const"><type>duration_type</type><parameter name=""><paramtype>const date_type &amp;</paramtype></parameter></method>
30<method name="get_neg_offset" cv="const"><type>duration_type</type><parameter name=""><paramtype>const date_type &amp;</paramtype></parameter></method>
b32b8144
FG
31</method-group>
32<constructor><parameter name="f"><paramtype>int</paramtype></parameter></constructor>
33</class><class name="year_functor"><template>
34 <template-type-parameter name="date_type"/>
35 </template><purpose>Functor to iterate by a year adjusting for leap years. </purpose><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
36<method-group name="public member functions">
37<method name="get_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
38<method name="get_neg_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
39</method-group>
40<constructor><parameter name="f"><paramtype>int</paramtype></parameter></constructor>
41</class>
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74</namespace>
75</namespace>
76</header>
77<header name="boost/date_time/c_local_time_adjustor.hpp">
78<para>Time adjustment calculations based on machine </para><namespace name="boost">
79<namespace name="date_time">
80<class name="c_local_adjustor"><template>
81 <template-type-parameter name="time_type"/>
82 </template><purpose>Adjust to / from utc using the C API. </purpose><description><para>Warning!!! This class assumes that timezone settings of the machine are correct. This can be a very dangerous assumption. </para></description><typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
83<typedef name="date_type"><type>time_type::date_type</type></typedef>
84<typedef name="date_duration_type"><type>date_type::duration_type</type></typedef>
85<method-group name="public static functions">
86<method name="utc_to_local" specifiers="static"><type>time_type</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter><purpose>Convert a utc time to local time. </purpose></method>
87</method-group>
88</class>
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121</namespace>
122</namespace>
123</header>
124<header name="boost/date_time/c_time.hpp">
125<para>Provide workarounds related to the ctime header </para><namespace name="std">
126</namespace>
127<namespace name="boost">
128<namespace name="date_time">
129<struct name="c_time"><purpose>Provides a uniform interface to some 'ctime' functions. </purpose><description><para>Provides a uniform interface to some ctime functions and their '_r' counterparts. The '_r' functions require a pointer to a user created std::tm struct whereas the regular functions use a staticly created struct and return a pointer to that. These wrapper functions require the user to create a std::tm struct and send in a pointer to it. This struct may be used to store the resulting time. The returned pointer may or may not point to this struct, however, it will point to the result of the corresponding function. All functions do proper checking of the C function results and throw exceptions on error. Therefore the functions will never return NULL. </para></description><method-group name="public static functions">
130<method name="localtime" specifiers="static"><type>std::tm *</type><parameter name="t"><paramtype>const std::time_t *</paramtype></parameter><parameter name="result"><paramtype>std::tm *</paramtype></parameter><purpose>requires a pointer to a user created std::tm struct </purpose></method>
131<method name="gmtime" specifiers="static"><type>std::tm *</type><parameter name="t"><paramtype>const std::time_t *</paramtype></parameter><parameter name="result"><paramtype>std::tm *</paramtype></parameter><purpose>requires a pointer to a user created std::tm struct </purpose></method>
132<method name="localtime" specifiers="static"><type>std::tm *</type><parameter name="t"><paramtype>const std::time_t *</paramtype></parameter><parameter name="result"><paramtype>std::tm *</paramtype></parameter><purpose>requires a pointer to a user created std::tm struct </purpose></method>
133<method name="gmtime" specifiers="static"><type>std::tm *</type><parameter name="t"><paramtype>const std::time_t *</paramtype></parameter><parameter name="result"><paramtype>std::tm *</paramtype></parameter><purpose>requires a pointer to a user created std::tm struct </purpose></method>
134</method-group>
135</struct>
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168</namespace>
169</namespace>
170</header>
171<header name="boost/date_time/compiler_config.hpp">
172<namespace name="std">
173</namespace>
174</header>
175<header name="boost/date_time/constrained_value.hpp">
176<namespace name="boost">
177<namespace name="CV">
178<class name="constrained_value"><template>
179 <template-type-parameter name="value_policies"/>
180 </template><purpose>A template to specify a constrained basic value type. </purpose><description><para>This template provides a quick way to generate an integer type with a constrained range. The type provides for the ability to specify the min, max, and and error handling policy.</para><para><emphasis role="bold">value policies</emphasis> A class that provides the range limits via the min and max functions as well as a function on_error that determines how errors are handled. A common strategy would be to assert or throw and exception. The on_error is passed both the current value and the new value that is in error. </para></description><typedef name="value_type"><type>value_policies::value_type</type></typedef>
181<method-group name="public member functions">
182<method name="conversion-operator" cv="const"><type>value_type</type><purpose>Coerce into the representation type. </purpose></method>
183</method-group>
184<constructor><parameter name="value"><paramtype>value_type</paramtype></parameter></constructor>
185<copy-assignment><type><classname>constrained_value</classname> &amp;</type><parameter name="v"><paramtype>value_type</paramtype></parameter></copy-assignment>
186<method-group name="public static functions">
187<method name="BOOST_PREVENT_MACRO_SUBSTITUTION" specifiers="static"><type>value_type max</type><purpose>Return the max allowed value (traits method) </purpose></method>
188<method name="BOOST_PREVENT_MACRO_SUBSTITUTION" specifiers="static"><type>value_type min</type><purpose>Return the min allowed value (traits method) </purpose></method>
189</method-group>
190<method-group name="private member functions">
191<method name="assign"><type>void</type><parameter name="value"><paramtype>value_type</paramtype></parameter></method>
192</method-group>
193</class><class name="simple_exception_policy"><template>
194 <template-type-parameter name="rep_type"/>
195 <template-nontype-parameter name="min_value"><type>rep_type</type></template-nontype-parameter>
196 <template-nontype-parameter name="max_value"><type>rep_type</type></template-nontype-parameter>
197 <template-type-parameter name="exception_type"/>
198 </template><purpose>Template to shortcut the <classname alt="boost::CV::constrained_value">constrained_value</classname> policy creation process. </purpose><struct name="exception_wrapper"><inherit access="public">exception_type</inherit><method-group name="public member functions">
199<method name="conversion-operator" cv="const"><type>std::out_of_range</type></method>
200</method-group>
201</struct><typedef name="value_type"><type>rep_type</type></typedef>
202<method-group name="public static functions">
203<method name="BOOST_PREVENT_MACRO_SUBSTITUTION" specifiers="static"><type>rep_type min</type></method>
204<method name="BOOST_PREVENT_MACRO_SUBSTITUTION" specifiers="static"><type>rep_type max</type></method>
205<method name="on_error" specifiers="static"><type>void</type><parameter name=""><paramtype>rep_type</paramtype></parameter><parameter name=""><paramtype>rep_type</paramtype></parameter><parameter name=""><paramtype>violation_enum</paramtype></parameter></method>
206</method-group>
207</class><enum name="violation_enum"><enumvalue name="min_violation"/><enumvalue name="max_violation"/><purpose>Represent a min or max violation type. </purpose></enum>
208</namespace>
209</namespace>
210</header>
211<header name="boost/date_time/date.hpp">
212<namespace name="boost">
213<namespace name="date_time">
214<class name="date"><template>
215 <template-type-parameter name="T"/>
216 <template-type-parameter name="calendar"/>
217 <template-type-parameter name="duration_type_"/>
218 </template><inherit access="private">boost::less_than_comparable&lt; T, boost::equality_comparable&lt; T &gt; &gt;</inherit><purpose>Representation of timepoint at the one day level resolution. </purpose><description><para>The date template represents an interface shell for a date class that is based on a year-month-day system such as the gregorian or iso systems. It provides basic operations to enable calculation and comparisons.</para><para><emphasis role="bold">Theory</emphasis></para><para>This date representation fundamentally departs from the C tm struct approach. The goal for this type is to provide efficient date operations (add, subtract) and storage (minimize space to represent) in a concrete class. Thus, the date uses a count internally to represent a particular date. The calendar parameter defines the policies for converting the the year-month-day and internal counted form here. Applications that need to perform heavy formatting of the same date repeatedly will perform better by using the year-month-day representation.</para><para>Internally the date uses a day number to represent the date. This is a monotonic time representation. This representation allows for fast comparison as well as simplifying the creation of writing numeric operations. Essentially, the internal day number is like adjusted julian day. The adjustment is determined by the Epoch date which is represented as day 1 of the calendar. Day 0 is reserved for negative infinity so that any actual date is automatically greater than negative infinity. When a date is constructed from a date or formatted for output, the appropriate conversions are applied to create the year, month, day representations. </para></description><typedef name="date_type"><type>T</type></typedef>
219<typedef name="calendar_type"><type>calendar</type></typedef>
220<typedef name="traits_type"><type>calendar::date_traits_type</type></typedef>
221<typedef name="duration_type"><type>duration_type_</type></typedef>
222<typedef name="year_type"><type>calendar::year_type</type></typedef>
223<typedef name="month_type"><type>calendar::month_type</type></typedef>
224<typedef name="day_type"><type>calendar::day_type</type></typedef>
225<typedef name="ymd_type"><type>calendar::ymd_type</type></typedef>
226<typedef name="date_rep_type"><type>calendar::date_rep_type</type></typedef>
227<typedef name="date_int_type"><type>calendar::date_int_type</type></typedef>
228<typedef name="day_of_week_type"><type>calendar::day_of_week_type</type></typedef>
229<method-group name="public member functions">
230<method name="year" cv="const"><type>year_type</type></method>
231<method name="month" cv="const"><type>month_type</type></method>
232<method name="day" cv="const"><type>day_type</type></method>
233<method name="day_of_week" cv="const"><type>day_of_week_type</type></method>
234<method name="year_month_day" cv="const"><type>ymd_type</type></method>
235<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const date_type &amp;</paramtype></parameter></method>
236<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const date_type &amp;</paramtype></parameter></method>
237<method name="is_special" cv="const"><type>bool</type><purpose>check to see if date is a special value </purpose></method>
238<method name="is_not_a_date" cv="const"><type>bool</type><purpose>check to see if date is not a value </purpose></method>
239<method name="is_infinity" cv="const"><type>bool</type><purpose>check to see if date is one of the infinity values </purpose></method>
240<method name="is_pos_infinity" cv="const"><type>bool</type><purpose>check to see if date is greater than all possible dates </purpose></method>
241<method name="is_neg_infinity" cv="const"><type>bool</type><purpose>check to see if date is greater than all possible dates </purpose></method>
242<method name="as_special" cv="const"><type>special_values</type><purpose>return as a special value or a not_special if a normal date </purpose></method>
243<method name="operator-" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
244<method name="operator-" cv="const"><type>date_type</type><parameter name="dd"><paramtype>const duration_type &amp;</paramtype></parameter></method>
245<method name="operator-="><type>date_type</type><parameter name="dd"><paramtype>const duration_type &amp;</paramtype></parameter></method>
246<method name="day_count" cv="const"><type>date_rep_type</type></method>
247<method name="operator+" cv="const"><type>date_type</type><parameter name="dd"><paramtype>const duration_type &amp;</paramtype></parameter></method>
248<method name="operator+="><type>date_type</type><parameter name="dd"><paramtype>const duration_type &amp;</paramtype></parameter></method>
249</method-group>
250<constructor><parameter name="y"><paramtype>year_type</paramtype></parameter><parameter name="m"><paramtype>month_type</paramtype></parameter><parameter name="d"><paramtype>day_type</paramtype></parameter></constructor>
251<constructor><parameter name="ymd"><paramtype>const ymd_type &amp;</paramtype></parameter></constructor>
252<method-group name="protected member functions">
253</method-group>
254<constructor specifiers="explicit"><parameter name="days"><paramtype>date_int_type</paramtype></parameter><description><para>This is a private constructor which allows for the creation of new dates. It is not exposed to users since that would require class users to understand the inner workings of the date class. </para></description></constructor>
255<constructor specifiers="explicit"><parameter name="days"><paramtype>date_rep_type</paramtype></parameter></constructor>
256</class>
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289</namespace>
290</namespace>
291</header>
292<header name="boost/date_time/date_clock_device.hpp">
293<namespace name="boost">
294<namespace name="date_time">
295<class name="day_clock"><template>
296 <template-type-parameter name="date_type"/>
297 </template><purpose>A clock providing day level services based on C time_t capabilities. </purpose><description><para>This clock uses Posix interfaces as its implementation and hence uses the timezone settings of the operating system. Incorrect user settings will result in incorrect results for the calls to local_day. </para></description><typedef name="ymd_type"><type>date_type::ymd_type</type></typedef>
298<method-group name="public static functions">
299<method name="local_day" specifiers="static"><type>date_type</type><purpose>Get the local day as a date type. </purpose></method>
300<method name="local_day_ymd" specifiers="static"><type>date_type::ymd_type</type><purpose>Get the local day as a ymd_type. </purpose></method>
301<method name="universal_day_ymd" specifiers="static"><type>date_type::ymd_type</type><purpose>Get the current day in universal date as a ymd_type. </purpose></method>
302<method name="universal_day" specifiers="static"><type>date_type</type><purpose>Get the UTC day as a date type. </purpose></method>
303</method-group>
304<method-group name="private static functions">
305<method name="get_local_time" specifiers="static"><type>::std::tm *</type><parameter name="result"><paramtype>std::tm &amp;</paramtype></parameter></method>
306<method name="get_universal_time" specifiers="static"><type>::std::tm *</type><parameter name="result"><paramtype>std::tm &amp;</paramtype></parameter></method>
307</method-group>
308</class>
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341</namespace>
342</namespace>
343</header>
344<header name="boost/date_time/date_defs.hpp">
345<namespace name="boost">
346<namespace name="date_time">
347<enum name="weekdays"><enumvalue name="Sunday"/><enumvalue name="Monday"/><enumvalue name="Tuesday"/><enumvalue name="Wednesday"/><enumvalue name="Thursday"/><enumvalue name="Friday"/><enumvalue name="Saturday"/><purpose>An enumeration of weekday names. </purpose></enum>
348<enum name="months_of_year"><enumvalue name="Jan"><default>=1</default></enumvalue><enumvalue name="Feb"/><enumvalue name="Mar"/><enumvalue name="Apr"/><enumvalue name="May"/><enumvalue name="Jun"/><enumvalue name="Jul"/><enumvalue name="Aug"/><enumvalue name="Sep"/><enumvalue name="Oct"/><enumvalue name="Nov"/><enumvalue name="Dec"/><enumvalue name="NotAMonth"/><enumvalue name="NumMonths"/><purpose>Simple enum to allow for nice programming with Jan, Feb, etc. </purpose></enum>
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382</namespace>
383</namespace>
384</header>
385<header name="boost/date_time/date_duration.hpp">
386<namespace name="boost">
387<namespace name="date_time">
388<class name="date_duration"><template>
389 <template-type-parameter name="duration_rep_traits"/>
390 </template><inherit access="private">boost::less_than_comparable1&lt; date_duration&lt; duration_rep_traits &gt;, boost::equality_comparable1&lt; date_duration&lt; duration_rep_traits &gt;, boost::addable1&lt; date_duration&lt; duration_rep_traits &gt;, boost::subtractable1&lt; date_duration&lt; duration_rep_traits &gt;, boost::dividable2&lt; date_duration&lt; duration_rep_traits &gt;, int &gt; &gt; &gt; &gt; &gt;</inherit><purpose>Duration type with date level resolution. </purpose><typedef name="duration_rep_type"><type>duration_rep_traits::int_type</type></typedef>
391<typedef name="duration_rep"><type>duration_rep_traits::impl_type</type></typedef>
392<method-group name="public member functions">
393<method name="get_rep" cv="const"><type>duration_rep</type><purpose>returns days_ as it's instantiated type - used for streaming </purpose></method>
11fdf7f2 394<method name="as_special" cv="const"><type>special_values</type></method>
b32b8144
FG
395<method name="is_special" cv="const"><type>bool</type></method>
396<method name="days" cv="const"><type>duration_rep_type</type><purpose>returns days as value, not object. </purpose></method>
397<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>date_duration</classname> &amp;</paramtype></parameter><purpose>Equality. </purpose></method>
398<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>date_duration</classname> &amp;</paramtype></parameter><purpose>Less. </purpose></method>
399<method name="operator-="><type><classname>date_duration</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>date_duration</classname> &amp;</paramtype></parameter><purpose>Subtract another duration – result is signed. </purpose></method>
400<method name="operator+="><type><classname>date_duration</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>date_duration</classname> &amp;</paramtype></parameter><purpose>Add a duration – result is signed. </purpose></method>
401<method name="operator-" cv="const"><type><classname>date_duration</classname></type><purpose>unary- Allows for dd = -date_duration(2); -&gt; dd == -2 </purpose></method>
402<method name="operator/="><type><classname>date_duration</classname> &amp;</type><parameter name="divisor"><paramtype>int</paramtype></parameter><purpose>Division operations on a duration with an integer. </purpose></method>
403<method name="is_negative" cv="const"><type>bool</type><purpose>return sign information </purpose></method>
404</method-group>
405<constructor specifiers="explicit"><parameter name="day_count"><paramtype>duration_rep</paramtype></parameter><purpose>Construct from a day count. </purpose></constructor>
406<constructor><parameter name="sv"><paramtype>special_values</paramtype></parameter><description><para>construct from special_values - only works when instantiated with <classname alt="boost::date_time::duration_traits_adapted">duration_traits_adapted</classname> </para></description></constructor>
407<constructor><parameter name="other"><paramtype>const <classname>date_duration</classname>&lt; duration_rep_traits &gt; &amp;</paramtype></parameter><purpose>Construct from another <classname alt="boost::date_time::date_duration">date_duration</classname> (Copy Constructor) </purpose></constructor>
408<method-group name="public static functions">
409<method name="unit" specifiers="static"><type><classname>date_duration</classname></type><purpose>Returns the smallest duration – used by to calculate 'end'. </purpose></method>
410</method-group>
92f5a8d4 411</class><struct name="duration_traits_adapted"><description><para>Struct for instantiating <classname alt="boost::date_time::date_duration">date_duration</classname> <emphasis role="bold">WITH</emphasis> special values functionality. Allows for transparent implementation of either date_duration&lt;long&gt; or <classname alt="boost::date_time::date_duration">date_duration</classname>&lt;int_adapter&lt;long&gt; &gt; </para></description><typedef name="int_type"><type>long</type></typedef>
b32b8144
FG
412<typedef name="impl_type"><type><classname>boost::date_time::int_adapter</classname>&lt; long &gt;</type></typedef>
413<method-group name="public static functions">
414<method name="as_number" specifiers="static"><type>int_type</type><parameter name="i"><paramtype><classname>impl_type</classname></paramtype></parameter></method>
415</method-group>
92f5a8d4
TL
416</struct><struct name="duration_traits_long"><description><para>Struct for instantiating <classname alt="boost::date_time::date_duration">date_duration</classname> with <emphasis role="bold">NO</emphasis> special values functionality. Allows for transparent implementation of either date_duration&lt;long&gt; or <classname alt="boost::date_time::date_duration">date_duration</classname>&lt;int_adapter&lt;long&gt; &gt; </para></description><typedef name="int_type"><type>long</type></typedef>
417<typedef name="impl_type"><type>long</type></typedef>
418<method-group name="public static functions">
419<method name="as_number" specifiers="static"><type>int_type</type><parameter name="i"><paramtype>impl_type</paramtype></parameter></method>
420</method-group>
b32b8144
FG
421</struct>
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454</namespace>
455</namespace>
456</header>
457<header name="boost/date_time/date_duration_types.hpp">
458<namespace name="boost">
459<namespace name="date_time">
92f5a8d4 460<class name="months_duration"><template>
b32b8144
FG
461 <template-type-parameter name="base_config"/>
462 </template><purpose>additional duration type that represents a logical month </purpose><description><para>A logical month enables things like: "date(2002,Mar,2) + months(2) -&gt;
4632002-May2". If the date is a last day-of-the-month, the result will also be a last-day-of-the-month. </para></description><method-group name="public member functions">
464<method name="number_of_months" cv="const"><type>int_rep</type></method>
465<method name="get_neg_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><purpose>returns a negative duration </purpose></method>
466<method name="get_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
467<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
468<method name="operator!=" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
469<method name="operator+" cv="const"><type><classname>months_type</classname></type><parameter name="rhs"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
470<method name="operator+="><type><classname>months_type</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
471<method name="operator-" cv="const"><type><classname>months_type</classname></type><parameter name="rhs"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
472<method name="operator-="><type><classname>months_type</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
92f5a8d4
TL
473<method name="operator *" cv="const"><type><classname>months_type</classname></type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
474<method name="operator *="><type><classname>months_type</classname> &amp;</type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
b32b8144
FG
475<method name="operator/" cv="const"><type><classname>months_type</classname></type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
476<method name="operator/="><type><classname>months_type</classname> &amp;</type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
477<method name="operator+" cv="const"><type><classname>months_type</classname></type><parameter name="y"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
478<method name="operator+="><type><classname>months_type</classname> &amp;</type><parameter name="y"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
479<method name="operator-" cv="const"><type><classname>months_type</classname></type><parameter name="y"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
480<method name="operator-="><type><classname>months_type</classname> &amp;</type><parameter name="y"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
481</method-group>
482<constructor><parameter name="num"><paramtype>int_rep</paramtype></parameter></constructor>
483<constructor><parameter name="sv"><paramtype>special_values</paramtype></parameter></constructor>
92f5a8d4
TL
484</class><class name="weeks_duration"><template>
485 <template-type-parameter name="duration_config"/>
486 </template><inherit access="public">boost::date_time::date_duration&lt; duration_config &gt;</inherit><purpose>Additional duration type that represents a number of n*7 days. </purpose><method-group name="public member functions">
487</method-group>
488<constructor><parameter name="w"><paramtype>typename duration_config::impl_type</paramtype></parameter></constructor>
489<constructor><parameter name="sv"><paramtype>special_values</paramtype></parameter></constructor>
b32b8144
FG
490</class><class name="years_duration"><template>
491 <template-type-parameter name="base_config"/>
492 </template><purpose>additional duration type that represents a logical year </purpose><description><para>A logical year enables things like: "date(2002,Mar,2) + years(2) -&gt;
4932004-Mar-2". If the date is a last day-of-the-month, the result will also be a last-day-of-the-month (ie date(2001-Feb-28) + years(3) -&gt; 2004-Feb-29). </para></description><method-group name="public member functions">
494<method name="number_of_years" cv="const"><type>int_rep</type></method>
495<method name="get_neg_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><purpose>returns a negative duration </purpose></method>
496<method name="get_offset" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
497<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
498<method name="operator!=" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
499<method name="operator+" cv="const"><type><classname>years_type</classname></type><parameter name="rhs"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
500<method name="operator+="><type><classname>years_type</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
501<method name="operator-" cv="const"><type><classname>years_type</classname></type><parameter name="rhs"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
502<method name="operator-="><type><classname>years_type</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>years_type</classname> &amp;</paramtype></parameter></method>
92f5a8d4
TL
503<method name="operator *" cv="const"><type><classname>years_type</classname></type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
504<method name="operator *="><type><classname>years_type</classname> &amp;</type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
b32b8144
FG
505<method name="operator/" cv="const"><type><classname>years_type</classname></type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
506<method name="operator/="><type><classname>years_type</classname> &amp;</type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
507<method name="operator+" cv="const"><type><classname>months_type</classname></type><parameter name="m"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
508<method name="operator-" cv="const"><type><classname>months_type</classname></type><parameter name="m"><paramtype>const <classname>months_type</classname> &amp;</paramtype></parameter></method>
509</method-group>
510<constructor><parameter name="num"><paramtype>int_rep</paramtype></parameter></constructor>
511<constructor><parameter name="sv"><paramtype>special_values</paramtype></parameter></constructor>
512</class><data-member name="years_duration"><type>class BOOST_SYMBOL_VISIBLE</type></data-member>
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546</namespace>
547</namespace>
548</header>
549<header name="boost/date_time/date_facet.hpp">
550<namespace name="boost">
551<namespace name="date_time">
552<class name="date_facet"><template>
553 <template-type-parameter name="date_type"/>
554 <template-type-parameter name="CharT"/>
555 <template-type-parameter name="OutItrT"><default>std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
556 </template><inherit access="public">facet</inherit><description><para>Class that provides format based I/O facet for date types.</para><para>This class allows the formatting of dates by using format string. Format strings are:</para><para><itemizedlist>
92f5a8d4
TL
557<listitem><para>A =&gt; long_weekday_format - Full name Ex: Tuesday</para>
558</listitem><listitem><para>a =&gt; short_weekday_format - Three letter abbreviation Ex: Tue</para>
559</listitem><listitem><para>B =&gt; long_month_format - Full name Ex: October</para>
560</listitem><listitem><para>b =&gt; short_month_format - Three letter abbreviation Ex: Oct</para>
561</listitem><listitem><para>x =&gt; standard_format_specifier - defined by the locale</para>
562</listitem><listitem><para>Y-b-d =&gt; default_date_format - YYYY-Mon-dd</para>
563</listitem></itemizedlist>
b32b8144
FG
564</para><para>Default month format == b Default weekday format == a </para></description><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
565<typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
566<typedef name="day_type"><type>date_type::day_type</type></typedef>
567<typedef name="month_type"><type>date_type::month_type</type></typedef>
568<typedef name="period_type"><type><classname>boost::date_time::period</classname>&lt; date_type, duration_type &gt;</type></typedef>
569<typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
570<typedef name="char_type"><type>CharT</type></typedef>
571<typedef name="period_formatter_type"><type><classname>boost::date_time::period_formatter</classname>&lt; CharT &gt;</type></typedef>
572<typedef name="special_values_formatter_type"><type><classname>boost::date_time::special_values_formatter</classname>&lt; CharT &gt;</type></typedef>
573<typedef name="input_collection_type"><type>std::vector&lt; std::basic_string&lt; CharT &gt; &gt;</type></typedef>
574<typedef name="date_gen_formatter_type"><type><classname>date_generator_formatter</classname>&lt; date_type, CharT &gt;</type></typedef>
575<typedef name="partial_date_type"><type><classname>partial_date</classname>&lt; date_type &gt;</type></typedef>
576<typedef name="nth_kday_type"><type><classname>nth_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
577<typedef name="first_kday_type"><type><classname>first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
578<typedef name="last_kday_type"><type><classname>last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
579<typedef name="kday_after_type"><type><classname>first_kday_after</classname>&lt; date_type &gt;</type></typedef>
580<typedef name="kday_before_type"><type><classname>first_kday_before</classname>&lt; date_type &gt;</type></typedef>
581<data-member name="long_weekday_format" specifiers="static"><type>const char_type</type></data-member>
582<data-member name="short_weekday_format" specifiers="static"><type>const char_type</type></data-member>
583<data-member name="long_month_format" specifiers="static"><type>const char_type</type></data-member>
584<data-member name="short_month_format" specifiers="static"><type>const char_type</type></data-member>
585<data-member name="default_period_separator" specifiers="static"><type>const char_type</type></data-member>
586<data-member name="standard_format_specifier" specifiers="static"><type>const char_type</type></data-member>
587<data-member name="iso_format_specifier" specifiers="static"><type>const char_type</type></data-member>
588<data-member name="iso_format_extended_specifier" specifiers="static"><type>const char_type</type></data-member>
589<data-member name="default_date_format" specifiers="static"><type>const char_type</type></data-member>
590<data-member name="id" specifiers="static"><type>std::locale::id</type></data-member>
591<method-group name="public member functions">
592<method name="__get_id" cv="const"><type>std::locale::id &amp;</type><parameter name=""><paramtype>void</paramtype></parameter></method>
593<method name="format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
594<method name="set_iso_format" specifiers="virtual"><type>void</type></method>
595<method name="set_iso_extended_format" specifiers="virtual"><type>void</type></method>
596<method name="month_format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
597<method name="weekday_format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
598<method name="period_formatter"><type>void</type><parameter name="per_formatter"><paramtype><classname>period_formatter_type</classname></paramtype></parameter></method>
599<method name="special_values_formatter"><type>void</type><parameter name="svf"><paramtype>const <classname>special_values_formatter_type</classname> &amp;</paramtype></parameter></method>
600<method name="short_weekday_names"><type>void</type><parameter name="short_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
601<method name="long_weekday_names"><type>void</type><parameter name="long_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
602<method name="short_month_names"><type>void</type><parameter name="short_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
603<method name="long_month_names"><type>void</type><parameter name="long_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
604<method name="date_gen_phrase_strings"><type>void</type><parameter name="new_strings"><paramtype>const input_collection_type &amp;</paramtype></parameter><parameter name="beg_pos"><paramtype>typename date_gen_formatter_type::phrase_elements</paramtype><default>date_gen_formatter_type::first</default></parameter></method>
605<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
606<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="dd"><paramtype>const duration_type &amp;</paramtype></parameter></method>
607<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="m"><paramtype>const month_type &amp;</paramtype></parameter></method>
608<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="day"><paramtype>const day_type &amp;</paramtype></parameter><purpose>puts the day of month </purpose></method>
609<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="dow"><paramtype>const day_of_week_type &amp;</paramtype></parameter></method>
610<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="p"><paramtype>const <classname>period_type</classname> &amp;</paramtype></parameter></method>
611<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="pd"><paramtype>const <classname>partial_date_type</classname> &amp;</paramtype></parameter></method>
612<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="nkd"><paramtype>const <classname>nth_kday_type</classname> &amp;</paramtype></parameter></method>
613<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="fkd"><paramtype>const <classname>first_kday_type</classname> &amp;</paramtype></parameter></method>
614<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="lkd"><paramtype>const <classname>last_kday_type</classname> &amp;</paramtype></parameter></method>
615<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="fkb"><paramtype>const <classname>kday_before_type</classname> &amp;</paramtype></parameter></method>
616<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="fka"><paramtype>const <classname>kday_after_type</classname> &amp;</paramtype></parameter></method>
617</method-group>
618<constructor specifiers="explicit"><parameter name="a_ref"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
619<constructor specifiers="explicit"><parameter name="format_str"><paramtype>const char_type *</paramtype></parameter><parameter name="short_names"><paramtype>const input_collection_type &amp;</paramtype></parameter><parameter name="ref_count"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
620<constructor specifiers="explicit"><parameter name="format_str"><paramtype>const char_type *</paramtype></parameter><parameter name="per_formatter"><paramtype><classname>period_formatter_type</classname></paramtype><default><classname alt="boost::date_time::period_formatter">period_formatter_type</classname>()</default></parameter><parameter name="sv_formatter"><paramtype><classname>special_values_formatter_type</classname></paramtype><default><classname alt="boost::date_time::special_values_formatter">special_values_formatter_type</classname>()</default></parameter><parameter name="dg_formatter"><paramtype><classname>date_gen_formatter_type</classname></paramtype><default><classname alt="boost::date_time::date_generator_formatter">date_gen_formatter_type</classname>()</default></parameter><parameter name="ref_count"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
621<method-group name="protected member functions">
622<method name="do_put_special" cv="const" specifiers="virtual"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name=""><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name=""><paramtype>char_type</paramtype></parameter><parameter name="sv"><paramtype>const boost::date_time::special_values</paramtype></parameter></method>
623<method name="do_put_tm" cv="const" specifiers="virtual"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_char"><paramtype>char_type</paramtype></parameter><parameter name="tm_value"><paramtype>const tm &amp;</paramtype></parameter><parameter name="a_format"><paramtype>string_type</paramtype></parameter></method>
624</method-group>
625</class><class name="date_input_facet"><template>
626 <template-type-parameter name="date_type"/>
627 <template-type-parameter name="CharT"/>
628 <template-type-parameter name="InItrT"><default>std::istreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
629 </template><inherit access="public">facet</inherit><purpose>Input facet. </purpose><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
630<typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
631<typedef name="day_type"><type>date_type::day_type</type></typedef>
632<typedef name="month_type"><type>date_type::month_type</type></typedef>
633<typedef name="year_type"><type>date_type::year_type</type></typedef>
634<typedef name="period_type"><type><classname>boost::date_time::period</classname>&lt; date_type, duration_type &gt;</type></typedef>
635<typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
636<typedef name="char_type"><type>CharT</type></typedef>
637<typedef name="period_parser_type"><type><classname>boost::date_time::period_parser</classname>&lt; date_type, CharT &gt;</type></typedef>
638<typedef name="special_values_parser_type"><type><classname>boost::date_time::special_values_parser</classname>&lt; date_type, CharT &gt;</type></typedef>
639<typedef name="input_collection_type"><type>std::vector&lt; std::basic_string&lt; CharT &gt; &gt;</type></typedef>
640<typedef name="format_date_parser_type"><type><classname>format_date_parser</classname>&lt; date_type, CharT &gt;</type></typedef>
641<typedef name="date_gen_parser_type"><type><classname>date_generator_parser</classname>&lt; date_type, CharT &gt;</type></typedef>
642<typedef name="partial_date_type"><type><classname>partial_date</classname>&lt; date_type &gt;</type></typedef>
643<typedef name="nth_kday_type"><type><classname>nth_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
644<typedef name="first_kday_type"><type><classname>first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
645<typedef name="last_kday_type"><type><classname>last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
646<typedef name="kday_after_type"><type><classname>first_kday_after</classname>&lt; date_type &gt;</type></typedef>
647<typedef name="kday_before_type"><type><classname>first_kday_before</classname>&lt; date_type &gt;</type></typedef>
648<data-member name="long_weekday_format" specifiers="static"><type>const char_type</type></data-member>
649<data-member name="short_weekday_format" specifiers="static"><type>const char_type</type></data-member>
650<data-member name="long_month_format" specifiers="static"><type>const char_type</type></data-member>
651<data-member name="short_month_format" specifiers="static"><type>const char_type</type></data-member>
652<data-member name="four_digit_year_format" specifiers="static"><type>const char_type</type></data-member>
653<data-member name="two_digit_year_format" specifiers="static"><type>const char_type</type></data-member>
654<data-member name="default_period_separator" specifiers="static"><type>const char_type</type></data-member>
655<data-member name="standard_format_specifier" specifiers="static"><type>const char_type</type></data-member>
656<data-member name="iso_format_specifier" specifiers="static"><type>const char_type</type></data-member>
657<data-member name="iso_format_extended_specifier" specifiers="static"><type>const char_type</type></data-member>
658<data-member name="default_date_format" specifiers="static"><type>const char_type</type></data-member>
659<data-member name="id" specifiers="static"><type>std::locale::id</type></data-member>
660<method-group name="public member functions">
661<method name="format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
662<method name="set_iso_format" specifiers="virtual"><type>void</type></method>
663<method name="set_iso_extended_format" specifiers="virtual"><type>void</type></method>
664<method name="month_format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
665<method name="weekday_format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
666<method name="year_format"><type>void</type><parameter name="format_str"><paramtype>const char_type *const</paramtype></parameter></method>
667<method name="period_parser"><type>void</type><parameter name="per_parser"><paramtype><classname>period_parser_type</classname></paramtype></parameter></method>
668<method name="short_weekday_names"><type>void</type><parameter name="weekday_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
669<method name="long_weekday_names"><type>void</type><parameter name="weekday_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
670<method name="short_month_names"><type>void</type><parameter name="month_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
671<method name="long_month_names"><type>void</type><parameter name="month_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
672<method name="date_gen_element_strings"><type>void</type><parameter name="col"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
673<method name="date_gen_element_strings"><type>void</type><parameter name="first"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="second"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="third"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fourth"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fifth"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="last"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="before"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="after"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="of"><paramtype>const string_type &amp;</paramtype></parameter></method>
674<method name="special_values_parser"><type>void</type><parameter name="sv_parser"><paramtype><classname>special_values_parser_type</classname></paramtype></parameter></method>
675<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name=""><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="d"><paramtype>date_type &amp;</paramtype></parameter></method>
676<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name=""><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="m"><paramtype>month_type &amp;</paramtype></parameter></method>
677<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name=""><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="wd"><paramtype>day_of_week_type &amp;</paramtype></parameter></method>
678<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name=""><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="d"><paramtype>day_type &amp;</paramtype></parameter><purpose>Expects 1 or 2 digit day range: 1-31. </purpose></method>
679<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name=""><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="y"><paramtype>year_type &amp;</paramtype></parameter></method>
680<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="dd"><paramtype>duration_type &amp;</paramtype></parameter></method>
681<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="p"><paramtype><classname>period_type</classname> &amp;</paramtype></parameter></method>
682<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="nkd"><paramtype><classname>nth_kday_type</classname> &amp;</paramtype></parameter></method>
683<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="pd"><paramtype><classname>partial_date_type</classname> &amp;</paramtype></parameter></method>
684<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fkd"><paramtype><classname>first_kday_type</classname> &amp;</paramtype></parameter></method>
685<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="lkd"><paramtype><classname>last_kday_type</classname> &amp;</paramtype></parameter></method>
686<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fkb"><paramtype><classname>kday_before_type</classname> &amp;</paramtype></parameter></method>
687<method name="get" cv="const"><type>InItrT</type><parameter name="from"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="to"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fka"><paramtype><classname>kday_after_type</classname> &amp;</paramtype></parameter></method>
688</method-group>
689<constructor specifiers="explicit"><parameter name="a_ref"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
690<constructor specifiers="explicit"><parameter name="format_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="a_ref"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
691<constructor specifiers="explicit"><parameter name="format_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="date_parser"><paramtype>const <classname>format_date_parser_type</classname> &amp;</paramtype></parameter><parameter name="sv_parser"><paramtype>const <classname>special_values_parser_type</classname> &amp;</paramtype></parameter><parameter name="per_parser"><paramtype>const <classname>period_parser_type</classname> &amp;</paramtype></parameter><parameter name="date_gen_parser"><paramtype>const <classname>date_gen_parser_type</classname> &amp;</paramtype></parameter><parameter name="ref_count"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
692</class>
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725</namespace>
726</namespace>
727</header>
728<header name="boost/date_time/date_format_simple.hpp">
729<namespace name="boost">
730<namespace name="date_time">
731<class name="simple_format"><template>
732 <template-type-parameter name="charT"/>
733 </template><purpose>Class to provide simple basic formatting rules. </purpose><method-group name="public static functions">
734<method name="not_a_date" specifiers="static"><type>const charT *</type><purpose>String used printed is date is invalid. </purpose></method>
735<method name="pos_infinity" specifiers="static"><type>const charT *</type><purpose>String used to for positive infinity value. </purpose></method>
736<method name="neg_infinity" specifiers="static"><type>const charT *</type><purpose>String used to for positive infinity value. </purpose></method>
737<method name="month_format" specifiers="static"><type>month_format_spec</type><purpose>Describe month format. </purpose></method>
738<method name="date_order" specifiers="static"><type>ymd_order_spec</type></method>
739<method name="has_date_sep_chars" specifiers="static"><type>bool</type><purpose>This format uses '-' to separate date elements. </purpose></method>
740<method name="year_sep_char" specifiers="static"><type>charT</type><purpose>Char to sep? </purpose></method>
741<method name="month_sep_char" specifiers="static"><type>charT</type><purpose>char between year-month </purpose></method>
742<method name="day_sep_char" specifiers="static"><type>charT</type><purpose>Char to separate month-day. </purpose></method>
743<method name="hour_sep_char" specifiers="static"><type>charT</type><purpose>char between date-hours </purpose></method>
744<method name="minute_sep_char" specifiers="static"><type>charT</type><purpose>char between hour and minute </purpose></method>
745<method name="second_sep_char" specifiers="static"><type>charT</type><purpose>char for second </purpose></method>
746</method-group>
747</class><class-specialization name="simple_format"><template>
748 </template><specialization><template-arg>wchar_t</template-arg></specialization><purpose>Specialization of formmating rules for wchar_t. </purpose><method-group name="public static functions">
749<method name="not_a_date" specifiers="static"><type>const wchar_t *</type><purpose>String used printed is date is invalid. </purpose></method>
750<method name="pos_infinity" specifiers="static"><type>const wchar_t *</type><purpose>String used to for positive infinity value. </purpose></method>
751<method name="neg_infinity" specifiers="static"><type>const wchar_t *</type><purpose>String used to for positive infinity value. </purpose></method>
752<method name="month_format" specifiers="static"><type>month_format_spec</type><purpose>Describe month format. </purpose></method>
753<method name="date_order" specifiers="static"><type>ymd_order_spec</type></method>
754<method name="has_date_sep_chars" specifiers="static"><type>bool</type><purpose>This format uses '-' to separate date elements. </purpose></method>
755<method name="year_sep_char" specifiers="static"><type>wchar_t</type><purpose>Char to sep? </purpose></method>
756<method name="month_sep_char" specifiers="static"><type>wchar_t</type><purpose>char between year-month </purpose></method>
757<method name="day_sep_char" specifiers="static"><type>wchar_t</type><purpose>Char to separate month-day. </purpose></method>
758<method name="hour_sep_char" specifiers="static"><type>wchar_t</type><purpose>char between date-hours </purpose></method>
759<method name="minute_sep_char" specifiers="static"><type>wchar_t</type><purpose>char between hour and minute </purpose></method>
760<method name="second_sep_char" specifiers="static"><type>wchar_t</type><purpose>char for second </purpose></method>
761</method-group>
762</class-specialization>
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795</namespace>
796</namespace>
797</header>
798<header name="boost/date_time/date_formatting.hpp">
799<namespace name="boost">
800<namespace name="date_time">
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834</namespace>
835</namespace>
836</header>
837<header name="boost/date_time/date_formatting_limited.hpp">
838<namespace name="boost">
839<namespace name="date_time">
92f5a8d4
TL
840<class name="date_formatter"><template>
841 <template-type-parameter name="date_type"/>
842 <template-type-parameter name="format_type"/>
843 </template><purpose>Convert a date to string using format policies. </purpose><method-group name="public static functions">
844<method name="date_to_string" specifiers="static"><type>std::string</type><parameter name="d"><paramtype>date_type</paramtype></parameter><purpose>Convert to a date to standard string using format policies. </purpose></method>
845<method name="date_to_string" specifiers="static"><type>string_type</type><parameter name="d"><paramtype>date_type</paramtype></parameter><purpose>Convert to a date to standard string using format policies. </purpose></method>
846</method-group>
847</class><class name="month_formatter"><template>
b32b8144
FG
848 <template-type-parameter name="month_type"/>
849 <template-type-parameter name="format_type"/>
850 </template><purpose>Formats a month as as string into an ostream. </purpose><method-group name="public static functions">
851<method name="format_month" specifiers="static"><type>std::ostream &amp;</type><parameter name="month"><paramtype>const month_type &amp;</paramtype></parameter><parameter name="os"><paramtype>std::ostream &amp;</paramtype></parameter><purpose>Formats a month as as string into an ostream. </purpose><description><para>This function demands that month_type provide functions for converting to short and long strings if that capability is used. </para></description></method>
852<method name="format_month" specifiers="static"><type>ostream_type &amp;</type><parameter name="month"><paramtype>const month_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><purpose>Formats a month as as string into an ostream. </purpose><description><para>This function demands that month_type provide functions for converting to short and long strings if that capability is used. </para></description></method>
853</method-group>
854</class><class name="ymd_formatter"><template>
855 <template-type-parameter name="ymd_type"/>
856 <template-type-parameter name="format_type"/>
857 </template><purpose>Convert ymd to a standard string formatting policies. </purpose><method-group name="public static functions">
858<method name="ymd_to_string" specifiers="static"><type>std::string</type><parameter name="ymd"><paramtype>ymd_type</paramtype></parameter><purpose>Convert ymd to a standard string formatting policies. </purpose><description><para>This is standard code for handling date formatting with year-month-day based date information. This function uses the format_type to control whether the string will contain separator characters, and if so what the character will be. In addtion, it can format the month as either an integer or a string as controled by the formatting policy </para></description></method>
859<method name="ymd_to_string" specifiers="static"><type>std::basic_string&lt; charT &gt;</type><parameter name="ymd"><paramtype>ymd_type</paramtype></parameter><purpose>Convert ymd to a standard string formatting policies. </purpose><description><para>This is standard code for handling date formatting with year-month-day based date information. This function uses the format_type to control whether the string will contain separator characters, and if so what the character will be. In addtion, it can format the month as either an integer or a string as controled by the formatting policy </para></description></method>
860</method-group>
b32b8144
FG
861</class>
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894</namespace>
895</namespace>
896</header>
897<header name="boost/date_time/date_formatting_locales.hpp">
898<namespace name="boost">
899<namespace name="date_time">
92f5a8d4
TL
900<class name="ostream_date_formatter"><template>
901 <template-type-parameter name="date_type"/>
902 <template-type-parameter name="facet_type"/>
903 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
904 </template><purpose>Convert a date to string using format policies. </purpose><typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
905<typedef name="ymd_type"><type>date_type::ymd_type</type></typedef>
906<method-group name="public static functions">
907<method name="date_put" specifiers="static"><type>void</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><parameter name="f"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put date into an ostream. </purpose></method>
908<method name="date_put" specifiers="static"><type>void</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><purpose>Put date into an ostream. </purpose></method>
909</method-group>
910</class><class name="ostream_month_formatter"><template>
b32b8144
FG
911 <template-type-parameter name="facet_type"/>
912 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
913 </template><purpose>Formats a month as as string into an ostream. </purpose><typedef name="month_type"><type>facet_type::month_type</type></typedef>
914<typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
915<method-group name="public static functions">
916<method name="format_month" specifiers="static"><type>void</type><parameter name="month"><paramtype>const month_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><parameter name="f"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Formats a month as as string into an output iterator. </purpose></method>
917</method-group>
918</class><class name="ostream_weekday_formatter"><template>
919 <template-type-parameter name="weekday_type"/>
920 <template-type-parameter name="facet_type"/>
921 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
922 </template><purpose>Formats a weekday. </purpose><typedef name="month_type"><type>facet_type::month_type</type></typedef>
923<typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
924<method-group name="public static functions">
925<method name="format_weekday" specifiers="static"><type>void</type><parameter name="wd"><paramtype>const weekday_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><parameter name="f"><paramtype>const facet_type &amp;</paramtype></parameter><parameter name="as_long_string"><paramtype>bool</paramtype></parameter><purpose>Formats a month as as string into an output iterator. </purpose></method>
926</method-group>
927</class><class name="ostream_ymd_formatter"><template>
928 <template-type-parameter name="ymd_type"/>
929 <template-type-parameter name="facet_type"/>
930 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
931 </template><purpose>Convert ymd to a standard string formatting policies. </purpose><typedef name="month_type"><type>ymd_type::month_type</type></typedef>
932<typedef name="month_formatter_type"><type><classname>ostream_month_formatter</classname>&lt; facet_type, charT &gt;</type></typedef>
933<typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
934<typedef name="foo_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
935<method-group name="public static functions">
936<method name="ymd_put" specifiers="static"><type>void</type><parameter name="ymd"><paramtype>ymd_type</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><parameter name="f"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Convert ymd to a standard string formatting policies. </purpose><description><para>This is standard code for handling date formatting with year-month-day based date information. This function uses the format_type to control whether the string will contain separator characters, and if so what the character will be. In addtion, it can format the month as either an integer or a string as controled by the formatting policy </para></description></method>
937</method-group>
b32b8144
FG
938</class>
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971</namespace>
972</namespace>
973</header>
974<header name="boost/date_time/date_generator_formatter.hpp">
975<namespace name="boost">
976<namespace name="date_time">
977<class name="date_generator_formatter"><template>
978 <template-type-parameter name="date_type"/>
979 <template-type-parameter name="CharT"/>
980 <template-type-parameter name="OutItrT"><default>std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
981 </template><purpose>Formats date_generators for output. </purpose><description><para>Formatting of date_generators follows specific orders for the various types of date_generators.<itemizedlist>
92f5a8d4
TL
982<listitem><para><classname alt="boost::date_time::partial_date">partial_date</classname> =&gt; "dd Month"</para>
983</listitem><listitem><para>nth_day_of_the_week_in_month =&gt; "nth weekday of month"</para>
984</listitem><listitem><para>first_day_of_the_week_in_month =&gt; "first weekday of month"</para>
985</listitem><listitem><para>last_day_of_the_week_in_month =&gt; "last weekday of month"</para>
986</listitem><listitem><para>first_day_of_the_week_after =&gt; "weekday after"</para>
987</listitem><listitem><para>first_day_of_the_week_before =&gt; "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 <classname alt="boost::date_time::date_facet">date_facet</classname>. The remaining elements are stored in the <classname alt="boost::date_time::date_generator_formatter">date_generator_formatter</classname> and can be customized upon construction or via a member function. The default elements are those shown in the examples above. </para>
988</listitem></itemizedlist>
b32b8144
FG
989</para></description><enum name="phrase_elements"><enumvalue name="first"><default>=0</default></enumvalue><enumvalue name="second"/><enumvalue name="third"/><enumvalue name="fourth"/><enumvalue name="fifth"/><enumvalue name="last"/><enumvalue name="before"/><enumvalue name="after"/><enumvalue name="of"/><enumvalue name="number_of_phrase_elements"/></enum>
990<typedef name="partial_date_type"><type><classname>partial_date</classname>&lt; date_type &gt;</type></typedef>
991<typedef name="nth_kday_type"><type><classname>nth_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
992<typedef name="first_kday_type"><type><classname>first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
993<typedef name="last_kday_type"><type><classname>last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
994<typedef name="kday_after_type"><type><classname>first_kday_after</classname>&lt; date_type &gt;</type></typedef>
995<typedef name="kday_before_type"><type><classname>first_kday_before</classname>&lt; date_type &gt;</type></typedef>
996<typedef name="char_type"><type>CharT</type></typedef>
997<typedef name="string_type"><type>std::basic_string&lt; char_type &gt;</type></typedef>
998<typedef name="collection_type"><type>std::vector&lt; string_type &gt;</type></typedef>
999<data-member name="first_string" specifiers="static"><type>const char_type</type></data-member>
1000<data-member name="second_string" specifiers="static"><type>const char_type</type></data-member>
1001<data-member name="third_string" specifiers="static"><type>const char_type</type></data-member>
1002<data-member name="fourth_string" specifiers="static"><type>const char_type</type></data-member>
1003<data-member name="fifth_string" specifiers="static"><type>const char_type</type></data-member>
1004<data-member name="last_string" specifiers="static"><type>const char_type</type></data-member>
1005<data-member name="before_string" specifiers="static"><type>const char_type</type></data-member>
1006<data-member name="after_string" specifiers="static"><type>const char_type</type></data-member>
1007<data-member name="of_string" specifiers="static"><type>const char_type</type></data-member>
1008<method-group name="public member functions">
1009<method name="elements"><type>void</type><parameter name="new_strings"><paramtype>const collection_type &amp;</paramtype></parameter><parameter name="beg_pos"><paramtype>phrase_elements</paramtype><default>first</default></parameter><purpose>Replace the set of phrase elements with those contained in new_strings. </purpose><description><para>The order of the strings in the given collection is important. They must follow:<itemizedlist>
92f5a8d4
TL
1010<listitem><para>first, second, third, fourth, fifth, last, before, after, of.</para>
1011</listitem></itemizedlist>
b32b8144 1012</para><para>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.</para><para>Ex: To keep the default first through fifth elements, but replace the rest with a collection of:<itemizedlist>
92f5a8d4
TL
1013<listitem><para>"final", "prior", "following", "in". The beg_pos of date_generator_formatter::last would be used. </para>
1014</listitem></itemizedlist>
b32b8144
FG
1015</para></description></method>
1016<method name="put_partial_date" cv="const"><type>OutItrT</type><template>
1017 <template-type-parameter name="facet_type"/>
1018 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>CharT</paramtype></parameter><parameter name="pd"><paramtype>const <classname>partial_date_type</classname> &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put a <classname alt="boost::date_time::partial_date">partial_date</classname> =&gt; "dd Month". </purpose></method>
1019<method name="put_nth_kday" cv="const"><type>OutItrT</type><template>
1020 <template-type-parameter name="facet_type"/>
1021 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>CharT</paramtype></parameter><parameter name="nkd"><paramtype>const <classname>nth_kday_type</classname> &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put an nth_day_of_the_week_in_month =&gt; "nth weekday of month". </purpose></method>
1022<method name="put_first_kday" cv="const"><type>OutItrT</type><template>
1023 <template-type-parameter name="facet_type"/>
1024 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>CharT</paramtype></parameter><parameter name="fkd"><paramtype>const <classname>first_kday_type</classname> &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put a first_day_of_the_week_in_month =&gt; "first weekday of month". </purpose></method>
1025<method name="put_last_kday" cv="const"><type>OutItrT</type><template>
1026 <template-type-parameter name="facet_type"/>
1027 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>CharT</paramtype></parameter><parameter name="lkd"><paramtype>const <classname>last_kday_type</classname> &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put a last_day_of_the_week_in_month =&gt; "last weekday of month". </purpose></method>
1028<method name="put_kday_before" cv="const"><type>OutItrT</type><template>
1029 <template-type-parameter name="facet_type"/>
1030 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>CharT</paramtype></parameter><parameter name="fkb"><paramtype>const <classname>kday_before_type</classname> &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put a first_day_of_the_week_before =&gt; "weekday before". </purpose></method>
1031<method name="put_kday_after" cv="const"><type>OutItrT</type><template>
1032 <template-type-parameter name="facet_type"/>
1033 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>CharT</paramtype></parameter><parameter name="fka"><paramtype>const <classname>kday_after_type</classname> &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Put a first_day_of_the_week_after =&gt; "weekday after". </purpose></method>
1034</method-group>
1035<constructor><purpose>Default format elements used. </purpose></constructor>
1036<constructor><parameter name="first_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="second_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="third_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fourth_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fifth_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="last_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="before_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="after_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="of_str"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Constructor that allows for a custom set of phrase elements. </purpose></constructor>
1037<method-group name="private member functions">
1038<method name="put_string" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="str"><paramtype>const string_type &amp;</paramtype></parameter><purpose>helper function to put the various member string into stream </purpose></method>
1039</method-group>
1040</class>
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073</namespace>
1074</namespace>
1075</header>
1076<header name="boost/date_time/date_generator_parser.hpp">
1077<namespace name="boost">
1078<namespace name="date_time">
1079<class name="date_generator_parser"><template>
1080 <template-type-parameter name="date_type"/>
1081 <template-type-parameter name="charT"/>
1082 </template><purpose>Class for date_generator parsing. </purpose><description><para>The elements of a date_generator "phrase" are parsed from the input stream in a particular order. All elements are required and the order in which they appear cannot change, however, the elements themselves can be changed. The default elements and their order are as follows:</para><para><itemizedlist>
92f5a8d4
TL
1083<listitem><para><classname alt="boost::date_time::partial_date">partial_date</classname> =&gt; "dd Month"</para>
1084</listitem><listitem><para>nth_day_of_the_week_in_month =&gt; "nth weekday of month"</para>
1085</listitem><listitem><para>first_day_of_the_week_in_month =&gt; "first weekday of month"</para>
1086</listitem><listitem><para>last_day_of_the_week_in_month =&gt; "last weekday of month"</para>
1087</listitem><listitem><para>first_day_of_the_week_after =&gt; "weekday after"</para>
1088</listitem><listitem><para>first_day_of_the_week_before =&gt; "weekday before"</para>
1089</listitem></itemizedlist>
b32b8144
FG
1090</para><para>Weekday and Month names and formats are handled via the <classname alt="boost::date_time::date_input_facet">date_input_facet</classname>. </para></description><enum name="phrase_elements"><enumvalue name="first"><default>=0</default></enumvalue><enumvalue name="second"/><enumvalue name="third"/><enumvalue name="fourth"/><enumvalue name="fifth"/><enumvalue name="last"/><enumvalue name="before"/><enumvalue name="after"/><enumvalue name="of"/><enumvalue name="number_of_phrase_elements"/></enum>
1091<typedef name="string_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
1092<typedef name="stream_itr_type"><type>std::istreambuf_iterator&lt; charT &gt;</type></typedef>
1093<typedef name="month_type"><type>date_type::month_type</type></typedef>
1094<typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
1095<typedef name="day_type"><type>date_type::day_type</type></typedef>
1096<typedef name="parse_tree_type"><type><classname>string_parse_tree</classname>&lt; charT &gt;</type></typedef>
1097<typedef name="match_results"><type><classname>parse_tree_type::parse_match_result_type</classname></type></typedef>
1098<typedef name="collection_type"><type>std::vector&lt; std::basic_string&lt; charT &gt; &gt;</type></typedef>
1099<typedef name="partial_date_type"><type><classname>partial_date</classname>&lt; date_type &gt;</type></typedef>
1100<typedef name="nth_kday_type"><type><classname>nth_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
1101<typedef name="first_kday_type"><type><classname>first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
1102<typedef name="last_kday_type"><type><classname>last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
1103<typedef name="kday_after_type"><type><classname>first_kday_after</classname>&lt; date_type &gt;</type></typedef>
1104<typedef name="kday_before_type"><type><classname>first_kday_before</classname>&lt; date_type &gt;</type></typedef>
1105<typedef name="char_type"><type>charT</type></typedef>
1106<data-member name="first_string" specifiers="static"><type>const char_type</type></data-member>
1107<data-member name="second_string" specifiers="static"><type>const char_type</type></data-member>
1108<data-member name="third_string" specifiers="static"><type>const char_type</type></data-member>
1109<data-member name="fourth_string" specifiers="static"><type>const char_type</type></data-member>
1110<data-member name="fifth_string" specifiers="static"><type>const char_type</type></data-member>
1111<data-member name="last_string" specifiers="static"><type>const char_type</type></data-member>
1112<data-member name="before_string" specifiers="static"><type>const char_type</type></data-member>
1113<data-member name="after_string" specifiers="static"><type>const char_type</type></data-member>
1114<data-member name="of_string" specifiers="static"><type>const char_type</type></data-member>
1115<method-group name="public member functions">
1116<method name="element_strings"><type>void</type><parameter name="first_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="second_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="third_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fourth_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fifth_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="last_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="before_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="after_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="of_str"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Replace strings that determine nth week for generator. </purpose></method>
1117<method name="element_strings"><type>void</type><parameter name="col"><paramtype>const collection_type &amp;</paramtype></parameter></method>
1118<method name="get_partial_date_type" cv="const"><type><classname>partial_date_type</classname></type><template>
1119 <template-type-parameter name="facet_type"/>
1120 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>returns <classname alt="boost::date_time::partial_date">partial_date</classname> parsed from stream </purpose></method>
1121<method name="get_nth_kday_type" cv="const"><type><classname>nth_kday_type</classname></type><template>
1122 <template-type-parameter name="facet_type"/>
1123 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>returns nth_kday_of_week parsed from stream </purpose></method>
1124<method name="get_first_kday_type" cv="const"><type><classname>first_kday_type</classname></type><template>
1125 <template-type-parameter name="facet_type"/>
1126 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>returns first_kday_of_week parsed from stream </purpose></method>
1127<method name="get_last_kday_type" cv="const"><type><classname>last_kday_type</classname></type><template>
1128 <template-type-parameter name="facet_type"/>
1129 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>returns last_kday_of_week parsed from stream </purpose></method>
1130<method name="get_kday_before_type" cv="const"><type><classname>kday_before_type</classname></type><template>
1131 <template-type-parameter name="facet_type"/>
1132 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>returns first_kday_of_week parsed from stream </purpose></method>
1133<method name="get_kday_after_type" cv="const"><type><classname>kday_after_type</classname></type><template>
1134 <template-type-parameter name="facet_type"/>
1135 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>returns first_kday_of_week parsed from stream </purpose></method>
1136</method-group>
1137<constructor><purpose>Creates a <classname alt="boost::date_time::date_generator_parser">date_generator_parser</classname> with the default set of "element_strings". </purpose></constructor>
1138<constructor><parameter name="first_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="second_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="third_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fourth_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="fifth_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="last_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="before_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="after_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="of_str"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Creates a <classname alt="boost::date_time::date_generator_parser">date_generator_parser</classname> using a user defined set of element strings. </purpose></constructor>
1139<method-group name="private member functions">
1140<method name="extract_element" cv="const"><type>void</type><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="ele"><paramtype>typename date_generator_parser::phrase_elements</paramtype></parameter><purpose>Extracts phrase element from input. Throws ios_base::failure on error. </purpose></method>
1141</method-group>
1142</class>
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175</namespace>
1176</namespace>
1177</header>
1178<header name="boost/date_time/date_generators.hpp">
1179<para>Definition and implementation of date algorithm templates </para><namespace name="boost">
1180<namespace name="date_time">
92f5a8d4 1181<class name="first_kday_after"><template>
b32b8144 1182 <template-type-parameter name="date_type"/>
92f5a8d4
TL
1183 </template><purpose>Calculate something like "First Sunday after Jan 1,2002. </purpose><description><para>Date generator that takes a date and finds kday after <programlisting language="c++">typedef boost::date_time::first_kday_after&lt;date&gt; firstkdayafter;
1184firstkdayafter fkaf(Monday);
1185fkaf.get_date(date(2002,Feb,1));
b32b8144 1186</programlisting> </para></description><typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
92f5a8d4 1187<typedef name="day_of_week_type"><type>calendar_type::day_of_week_type</type></typedef>
b32b8144 1188<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
b32b8144 1189<method-group name="public member functions">
92f5a8d4
TL
1190<method name="get_date" cv="const"><type>date_type</type><parameter name="start_day"><paramtype>date_type</paramtype></parameter><purpose>Return next kday given. </purpose></method>
1191<method name="day_of_week" cv="const"><type>day_of_week_type</type></method>
b32b8144 1192</method-group>
92f5a8d4
TL
1193<constructor><parameter name="dow"><paramtype>day_of_week_type</paramtype></parameter></constructor>
1194</class><class name="first_kday_before"><template>
b32b8144 1195 <template-type-parameter name="date_type"/>
92f5a8d4
TL
1196 </template><purpose>Calculate something like "First Sunday before Jan 1,2002. </purpose><description><para>Date generator that takes a date and finds kday after <programlisting language="c++">typedef boost::date_time::first_kday_before&lt;date&gt; firstkdaybefore;
1197firstkdaybefore fkbf(Monday);
1198fkbf.get_date(date(2002,Feb,1));
1199</programlisting> </para></description><typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
b32b8144 1200<typedef name="day_of_week_type"><type>calendar_type::day_of_week_type</type></typedef>
b32b8144
FG
1201<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1202<method-group name="public member functions">
92f5a8d4 1203<method name="get_date" cv="const"><type>date_type</type><parameter name="start_day"><paramtype>date_type</paramtype></parameter><purpose>Return next kday given. </purpose></method>
b32b8144 1204<method name="day_of_week" cv="const"><type>day_of_week_type</type></method>
b32b8144 1205</method-group>
92f5a8d4 1206<constructor><parameter name="dow"><paramtype>day_of_week_type</paramtype></parameter></constructor>
b32b8144
FG
1207</class><class name="first_kday_of_month"><template>
1208 <template-type-parameter name="date_type"/>
1209 </template><inherit access="public">boost::date_time::year_based_generator&lt; date_type &gt;</inherit><purpose>Useful generator functor for finding holidays and daylight savings. </purpose><description><para>Similar to <classname alt="boost::date_time::nth_kday_of_month">nth_kday_of_month</classname>, but requires less paramters </para></description><typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
1210<typedef name="day_of_week_type"><type>calendar_type::day_of_week_type</type></typedef>
1211<typedef name="month_type"><type>calendar_type::month_type</type></typedef>
1212<typedef name="year_type"><type>calendar_type::year_type</type></typedef>
1213<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1214<method-group name="public member functions">
1215<method name="get_date" cv="const" specifiers="virtual"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter><purpose>Return a concrete date when provided with a year specific year. </purpose></method>
1216<method name="month" cv="const"><type>month_type</type></method>
1217<method name="day_of_week" cv="const"><type>day_of_week_type</type></method>
1218<method name="to_string" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns string suitable for use in POSIX time zone string. </purpose><description><para>Returns a string formatted as "M4.1.0" ==&gt; 1st Sunday in April. </para></description></method>
1219</method-group>
1220<constructor><parameter name="dow"><paramtype>day_of_week_type</paramtype><description><para>The day of week, eg: Sunday, Monday, etc </para></description></parameter><parameter name="m"><paramtype>month_type</paramtype><description><para>The month of the year, eg: Jan, Feb, Mar, etc </para></description></parameter><purpose>Specify the first 'Sunday' in 'April' spec. </purpose><description><para>
1221</para></description></constructor>
1222</class><class name="last_kday_of_month"><template>
92f5a8d4 1223 <template-type-parameter name="date_type"><purpose><para>A date class that exports day_of_week, month_type, etc. </para></purpose></template-type-parameter>
b32b8144
FG
1224 </template><inherit access="public">boost::date_time::year_based_generator&lt; date_type &gt;</inherit><purpose>Calculate something like Last Sunday of January. </purpose><description><para>Useful generator functor for finding holidays and daylight savings Get the last day of the month and then calculate the difference to the last previous day.
1225</para></description><typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
1226<typedef name="day_of_week_type"><type>calendar_type::day_of_week_type</type></typedef>
1227<typedef name="month_type"><type>calendar_type::month_type</type></typedef>
1228<typedef name="year_type"><type>calendar_type::year_type</type></typedef>
1229<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1230<method-group name="public member functions">
1231<method name="get_date" cv="const" specifiers="virtual"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter><purpose>Return a concrete date when provided with a year specific year. </purpose></method>
1232<method name="month" cv="const"><type>month_type</type></method>
1233<method name="day_of_week" cv="const"><type>day_of_week_type</type></method>
1234<method name="to_string" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns string suitable for use in POSIX time zone string. </purpose><description><para>Returns a string formatted as "M4.5.0" ==&gt; last Sunday in April. </para></description></method>
1235</method-group>
1236<constructor><parameter name="dow"><paramtype>day_of_week_type</paramtype><description><para>The day of week, eg: Sunday, Monday, etc </para></description></parameter><parameter name="m"><paramtype>month_type</paramtype><description><para>The month of the year, eg: Jan, Feb, Mar, etc </para></description></parameter><purpose>Specify the date spec like last 'Sunday' in 'April' spec. </purpose><description><para>
1237</para></description></constructor>
92f5a8d4 1238</class><class name="nth_kday_of_month"><template>
b32b8144 1239 <template-type-parameter name="date_type"/>
92f5a8d4
TL
1240 </template><inherit access="public">boost::date_time::year_based_generator&lt; date_type &gt;</inherit><purpose>Useful generator functor for finding holidays. </purpose><description><para>Based on the idea in Cal. Calc. for finding holidays that are the 'first Monday of September'. When instantiated with 'fifth' kday of month, the result will be the last kday of month which can be the fourth or fifth depending on the structure of the month.</para><para>The algorithm here basically guesses for the first day of the month. Then finds the first day of the correct type. That is, if the first of the month is a Tuesday and it needs Wenesday then we simply increment by a day and then we can add the length of a week until we get to the 'nth kday'. There are probably more efficient algorithms based on using a mod 7, but this one works reasonably well for basic applications. </para></description><enum name="week_num"><enumvalue name="first"><default>=1</default></enumvalue><enumvalue name="second"/><enumvalue name="third"/><enumvalue name="fourth"/><enumvalue name="fifth"/></enum>
1241<typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
b32b8144 1242<typedef name="day_of_week_type"><type>calendar_type::day_of_week_type</type></typedef>
92f5a8d4
TL
1243<typedef name="month_type"><type>calendar_type::month_type</type></typedef>
1244<typedef name="year_type"><type>calendar_type::year_type</type></typedef>
b32b8144
FG
1245<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1246<method-group name="public member functions">
92f5a8d4
TL
1247<method name="get_date" cv="const" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter><purpose>Return a concrete date when provided with a year specific year. </purpose></method>
1248<method name="month" cv="const"><type>month_type</type></method>
1249<method name="nth_week" cv="const"><type>week_num</type></method>
b32b8144 1250<method name="day_of_week" cv="const"><type>day_of_week_type</type></method>
92f5a8d4
TL
1251<method name="nth_week_as_str" cv="const"><type>const char *</type></method>
1252<method name="to_string" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns string suitable for use in POSIX time zone string. </purpose><description><para>Returns a string formatted as "M4.3.0" ==&gt; 3rd Sunday in April. </para></description></method>
b32b8144 1253</method-group>
92f5a8d4
TL
1254<constructor><parameter name="week_no"><paramtype>week_num</paramtype></parameter><parameter name="dow"><paramtype>day_of_week_type</paramtype></parameter><parameter name="m"><paramtype>month_type</paramtype></parameter></constructor>
1255</class><class name="partial_date"><template>
b32b8144 1256 <template-type-parameter name="date_type"/>
92f5a8d4
TL
1257 </template><inherit access="public">boost::date_time::year_based_generator&lt; date_type &gt;</inherit><purpose>Generates a date by applying the year to the given month and day. </purpose><description><para>Example usage: <programlisting language="c++">partial_date pd(1, Jan);
1258partial_date pd2(70);
1259date d = pd.get_date(2002); //2002-Jan-01
1260date d2 = pd2.get_date(2002); //2002-Mar-10
b32b8144 1261</programlisting> </para></description><typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
92f5a8d4
TL
1262<typedef name="day_type"><type>calendar_type::day_type</type></typedef>
1263<typedef name="month_type"><type>calendar_type::month_type</type></typedef>
1264<typedef name="year_type"><type>calendar_type::year_type</type></typedef>
b32b8144 1265<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
92f5a8d4 1266<typedef name="duration_rep"><type>duration_type::duration_rep</type></typedef>
b32b8144 1267<method-group name="public member functions">
92f5a8d4
TL
1268<method name="get_date" cv="const" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter><purpose>Return a concrete date when provided with a year specific year. </purpose><description><para>Will throw an 'invalid_argument' exception if a <classname alt="boost::date_time::partial_date">partial_date</classname> object, instantiated with Feb-29, has get_date called with a non-leap year. Example: <programlisting language="c++">partial_date pd(29, Feb);
1269pd.get_date(2003); // throws invalid_argument exception
1270pg.get_date(2000); // returns 2000-2-29
1271</programlisting> </para></description></method>
1272<method name="operator()" cv="const"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
1273<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>partial_date</classname> &amp;</paramtype></parameter></method>
1274<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>partial_date</classname> &amp;</paramtype></parameter></method>
1275<method name="month" cv="const"><type>month_type</type></method>
1276<method name="day" cv="const"><type>day_type</type></method>
1277<method name="to_string" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns string suitable for use in POSIX time zone string. </purpose><description><para>Returns string formatted with up to 3 digits: Jan-01 == "0" Feb-29 == "58" Dec-31 == "365" </para></description></method>
b32b8144 1278</method-group>
92f5a8d4
TL
1279<constructor><parameter name="d"><paramtype>day_type</paramtype></parameter><parameter name="m"><paramtype>month_type</paramtype></parameter></constructor>
1280<constructor><parameter name="days"><paramtype>duration_rep</paramtype></parameter><purpose>Partial date created from number of days into year. Range 1-366. </purpose><description><para>Allowable values range from 1 to 366. 1=Jan1, 366=Dec31. If argument exceeds range, <classname alt="boost::date_time::partial_date">partial_date</classname> will be created with closest in-range value. 60 will always be Feb29, if get_date() is called with a non-leap year an exception will be thrown </para></description></constructor>
1281</class><class name="year_based_generator"><template>
1282 <template-type-parameter name="date_type"><purpose><para>The type representing a date. This type must export a calender_type which defines a year_type. </para></purpose></template-type-parameter>
1283 </template><purpose>Base class for all generators that take a year and produce a date. </purpose><description><para>This class is a base class for polymorphic function objects that take a year and produce a concrete date.
1284</para></description><typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
1285<typedef name="year_type"><type>calendar_type::year_type</type></typedef>
1286<method-group name="public member functions">
1287<method name="get_date" cv="const = 0" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
1288<method name="to_string" cv="const = 0" specifiers="virtual"><type>std::string</type><purpose>Returns a string for use in a POSIX time_zone string. </purpose></method>
1289</method-group>
1290<constructor/>
1291<destructor/>
b32b8144
FG
1292</class>
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320<function name="nth_as_str"><type>BOOST_DATE_TIME_DECL const char *</type><parameter name="n"><paramtype>int</paramtype></parameter><purpose>Returns nth arg as string. 1 -&gt; "first", 2 -&gt; "second", max is 5. </purpose></function>
1321<function name="days_until_weekday"><type>date_type::duration_type</type><template>
1322 <template-type-parameter name="date_type"/>
1323 <template-type-parameter name="weekday_type"/>
1324 </template><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>const weekday_type &amp;</paramtype></parameter><purpose>Calculates the number of days until the next weekday. </purpose><description><para>Calculates the number of days until the next weekday. If the date given falls on a Sunday and the given weekday is Tuesday the result will be 2 days </para></description></function>
1325<function name="days_before_weekday"><type>date_type::duration_type</type><template>
1326 <template-type-parameter name="date_type"/>
1327 <template-type-parameter name="weekday_type"/>
1328 </template><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>const weekday_type &amp;</paramtype></parameter><purpose>Calculates the number of days since the previous weekday. </purpose><description><para>Calculates the number of days since the previous weekday If the date given falls on a Sunday and the given weekday is Tuesday the result will be 5 days. The answer will be a positive number because Tuesday is 5 days before Sunday, not -5 days before. </para></description></function>
1329<function name="next_weekday"><type>date_type</type><template>
1330 <template-type-parameter name="date_type"/>
1331 <template-type-parameter name="weekday_type"/>
1332 </template><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>const weekday_type &amp;</paramtype></parameter><purpose>Generates a date object representing the date of the following weekday from the given date. </purpose><description><para>Generates a date object representing the date of the following weekday from the given date. If the date given is 2004-May-9 (a Sunday) and the given weekday is Tuesday then the resulting date will be 2004-May-11. </para></description></function>
1333<function name="previous_weekday"><type>date_type</type><template>
1334 <template-type-parameter name="date_type"/>
1335 <template-type-parameter name="weekday_type"/>
1336 </template><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>const weekday_type &amp;</paramtype></parameter><purpose>Generates a date object representing the date of the previous weekday from the given date. </purpose><description><para>Generates a date object representing the date of the previous weekday from the given date. If the date given is 2004-May-9 (a Sunday) and the given weekday is Tuesday then the resulting date will be 2004-May-4. </para></description></function>
1337</namespace>
1338</namespace>
1339</header>
1340<header name="boost/date_time/date_iterator.hpp">
1341<namespace name="boost">
1342<namespace name="date_time">
92f5a8d4
TL
1343<class name="date_itr"><template>
1344 <template-type-parameter name="offset_functor"/>
1345 <template-type-parameter name="date_type"/>
1346 </template><inherit access="public">boost::date_time::date_itr_base&lt; date_type &gt;</inherit><purpose>Overrides the base date iterator providing hook for functors. </purpose><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1347<method-group name="public member functions">
1348</method-group>
1349<constructor><parameter name="d"><paramtype>date_type</paramtype></parameter><parameter name="factor"><paramtype>int</paramtype><default>1</default></parameter></constructor>
1350<method-group name="private member functions">
1351<method name="get_offset" cv="const" specifiers="virtual"><type>duration_type</type><parameter name="current"><paramtype>const date_type &amp;</paramtype></parameter></method>
1352<method name="get_neg_offset" cv="const" specifiers="virtual"><type>duration_type</type><parameter name="current"><paramtype>const date_type &amp;</paramtype></parameter></method>
1353</method-group>
1354</class><class name="date_itr_base"><template>
b32b8144
FG
1355 <template-type-parameter name="date_type"/>
1356 </template><purpose>Base date iterator type. </purpose><description><para>This class provides the skeleton for the creation of iterators. New and interesting interators can be created by plugging in a new function that derives the next value from the current state. generation of various types of -based information.</para><para><emphasis role="bold">Template Parameters</emphasis></para><para><emphasis role="bold">date_type</emphasis></para><para>The date_type is a concrete date_type. The date_type must define a duration_type and a calendar_type. </para></description><typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1357<typedef name="value_type"><type>date_type</type></typedef>
1358<typedef name="iterator_category"><type>std::input_iterator_tag</type></typedef>
1359<method-group name="public member functions">
1360<method name="operator++"><type><classname>date_itr_base</classname> &amp;</type></method>
1361<method name="operator--"><type><classname>date_itr_base</classname> &amp;</type></method>
1362<method name="get_offset" cv="const = 0" specifiers="virtual"><type>duration_type</type><parameter name="current"><paramtype>const date_type &amp;</paramtype></parameter></method>
1363<method name="get_neg_offset" cv="const = 0" specifiers="virtual"><type>duration_type</type><parameter name="current"><paramtype>const date_type &amp;</paramtype></parameter></method>
92f5a8d4 1364<method name="operator *"><type>date_type</type></method>
b32b8144
FG
1365<method name="operator-&gt;"><type>date_type *</type></method>
1366<method name="operator&lt;"><type>bool</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
1367<method name="operator&lt;="><type>bool</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
1368<method name="operator&gt;"><type>bool</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
1369<method name="operator&gt;="><type>bool</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
1370<method name="operator=="><type>bool</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
1371<method name="operator!="><type>bool</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter></method>
1372</method-group>
1373<constructor><parameter name="d"><paramtype>date_type</paramtype></parameter></constructor>
1374<destructor/>
b32b8144
FG
1375</class><enum name="date_resolutions"><enumvalue name="day"/><enumvalue name="week"/><enumvalue name="months"/><enumvalue name="year"/><enumvalue name="decade"/><enumvalue name="century"/><enumvalue name="NumDateResolutions"/><purpose>An iterator over dates with varying resolution (day, week, month, year, etc) </purpose></enum>
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409</namespace>
1410</namespace>
1411</header>
1412<header name="boost/date_time/date_names_put.hpp">
1413<namespace name="boost">
1414<namespace name="date_time">
92f5a8d4
TL
1415<class name="all_date_names_put"><template>
1416 <template-type-parameter name="Config"/>
1417 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
1418 <template-type-parameter name="OutputIterator"><default>std::ostreambuf_iterator&lt;charT&gt;</default></template-type-parameter>
1419 </template><inherit access="public">boost::date_time::date_names_put&lt; Config, charT, OutputIterator &gt;</inherit><purpose>A date name output facet that takes an array of char* to define strings. </purpose><typedef name="iter_type"><type>OutputIterator</type></typedef>
1420<typedef name="month_enum"><type>Config::month_enum</type></typedef>
1421<typedef name="weekday_enum"><type>Config::weekday_enum</type></typedef>
1422<typedef name="special_value_enum"><type>Config::special_value_enum</type></typedef>
1423<method-group name="public member functions">
1424<method name="get_short_month_names" cv="const"><type>const charT *const *</type></method>
1425<method name="get_long_month_names" cv="const"><type>const charT *const *</type></method>
1426<method name="get_special_value_names" cv="const"><type>const charT *const *</type></method>
1427<method name="get_short_weekday_names" cv="const"><type>const charT *const *</type></method>
1428<method name="get_long_weekday_names" cv="const"><type>const charT *const *</type></method>
1429</method-group>
1430<constructor><parameter name="month_short_names"><paramtype>const charT *const</paramtype></parameter><parameter name="month_long_names"><paramtype>const charT *const</paramtype></parameter><parameter name="special_value_names"><paramtype>const charT *const</paramtype></parameter><parameter name="weekday_short_names"><paramtype>const charT *const</paramtype></parameter><parameter name="weekday_long_names"><paramtype>const charT *const</paramtype></parameter><parameter name="separator_char"><paramtype>charT</paramtype><default>'-'</default></parameter><parameter name="order_spec"><paramtype>ymd_order_spec</paramtype><default>ymd_order_iso</default></parameter><parameter name="month_format"><paramtype>month_format_spec</paramtype><default>month_as_short_string</default></parameter></constructor>
1431<method-group name="protected member functions">
1432<method name="do_put_month_short" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="moy"><paramtype>month_enum</paramtype></parameter><purpose>Generic facet that takes array of chars. </purpose></method>
1433<method name="do_put_month_long" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="moy"><paramtype>month_enum</paramtype></parameter><purpose>Long month names. </purpose></method>
1434<method name="do_put_special_value" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="sv"><paramtype>special_value_enum</paramtype></parameter><purpose>Special values names. </purpose></method>
1435<method name="do_put_weekday_short" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>weekday_enum</paramtype></parameter></method>
1436<method name="do_put_weekday_long" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>weekday_enum</paramtype></parameter></method>
1437<method name="do_month_sep_char" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><purpose>char between year-month </purpose></method>
1438<method name="do_day_sep_char" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><purpose>Char to separate month-day. </purpose></method>
1439<method name="do_date_order" cv="const" specifiers="virtual"><type>ymd_order_spec</type><purpose>Set the date ordering. </purpose></method>
1440<method name="do_month_format" cv="const" specifiers="virtual"><type>month_format_spec</type><purpose>Set the date ordering. </purpose></method>
1441</method-group>
1442</class><class name="date_names_put"><template>
b32b8144
FG
1443 <template-type-parameter name="Config"/>
1444 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
1445 <template-type-parameter name="OutputIterator"><default>std::ostreambuf_iterator&lt;charT&gt;</default></template-type-parameter>
1446 </template><inherit access="public">facet</inherit><purpose>Output facet base class for gregorian dates. </purpose><description><para>This class is a base class for date facets used to localize the names of months and the names of days in the week.</para><para>Requirements of Config<itemizedlist>
92f5a8d4
TL
1447<listitem><para>define an enumeration month_enum that enumerates the months. The enumeration should be '1' based eg: Jan==1</para>
1448</listitem><listitem><para>define as_short_string and as_long_string</para>
1449</listitem></itemizedlist>
b32b8144
FG
1450</para><para>(see langer &amp; kreft p334). </para></description><typedef name="iter_type"><type>OutputIterator</type></typedef>
1451<typedef name="month_type"><type>Config::month_type</type></typedef>
1452<typedef name="month_enum"><type>Config::month_enum</type></typedef>
1453<typedef name="weekday_enum"><type>Config::weekday_enum</type></typedef>
1454<typedef name="special_value_enum"><type>Config::special_value_enum</type></typedef>
1455<typedef name="string_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
1456<typedef name="char_type"><type>charT</type></typedef>
1457<data-member name="default_special_value_names" specifiers="static"><type>const char_type</type></data-member>
1458<data-member name="separator" specifiers="static"><type>const char_type</type></data-member>
1459<data-member name="id" specifiers="static"><type>std::locale::id</type><purpose>Generate storage location for a std::locale::id. </purpose></data-member>
1460<method-group name="public member functions">
1461<method name="__get_id" cv="const"><type>std::locale::id &amp;</type><parameter name=""><paramtype>void</paramtype></parameter></method>
1462<method name="put_special_value" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="sv"><paramtype>special_value_enum</paramtype></parameter></method>
1463<method name="put_month_short" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="moy"><paramtype>month_enum</paramtype></parameter></method>
1464<method name="put_month_long" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="moy"><paramtype>month_enum</paramtype></parameter></method>
1465<method name="put_weekday_short" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>weekday_enum</paramtype></parameter></method>
1466<method name="put_weekday_long" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="wd"><paramtype>weekday_enum</paramtype></parameter></method>
1467<method name="has_date_sep_chars" cv="const"><type>bool</type></method>
1468<method name="year_sep_char" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter></method>
1469<method name="month_sep_char" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><purpose>char between year-month </purpose></method>
1470<method name="day_sep_char" cv="const"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><purpose>Char to separate month-day. </purpose></method>
1471<method name="date_order" cv="const"><type>ymd_order_spec</type><purpose>Determines the order to put the date elements. </purpose></method>
1472<method name="month_format" cv="const"><type>month_format_spec</type><purpose>Determines if month is displayed as integer, short or long string. </purpose></method>
1473</method-group>
1474<constructor/>
1475<method-group name="protected member functions">
1476<method name="do_put_month_short" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="moy"><paramtype>month_enum</paramtype></parameter><purpose>Default facet implementation uses month_type defaults. </purpose></method>
1477<method name="do_put_month_long" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="moy"><paramtype>month_enum</paramtype></parameter><purpose>Default facet implementation uses month_type defaults. </purpose></method>
1478<method name="do_put_special_value" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="sv"><paramtype>special_value_enum</paramtype></parameter><purpose>Default facet implementation for special value types. </purpose></method>
1479<method name="do_put_weekday_short" cv="const" specifiers="virtual"><type>void</type><parameter name=""><paramtype>iter_type &amp;</paramtype></parameter><parameter name=""><paramtype>weekday_enum</paramtype></parameter></method>
1480<method name="do_put_weekday_long" cv="const" specifiers="virtual"><type>void</type><parameter name=""><paramtype>iter_type &amp;</paramtype></parameter><parameter name=""><paramtype>weekday_enum</paramtype></parameter></method>
1481<method name="do_has_date_sep_chars" cv="const" specifiers="virtual"><type>bool</type></method>
1482<method name="do_year_sep_char" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter></method>
1483<method name="do_month_sep_char" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><purpose>char between year-month </purpose></method>
1484<method name="do_day_sep_char" cv="const" specifiers="virtual"><type>void</type><parameter name="oitr"><paramtype>iter_type &amp;</paramtype></parameter><purpose>Char to separate month-day. </purpose></method>
1485<method name="do_date_order" cv="const" specifiers="virtual"><type>ymd_order_spec</type><purpose>Default for date order. </purpose></method>
1486<method name="do_month_format" cv="const" specifiers="virtual"><type>month_format_spec</type><purpose>Default month format. </purpose></method>
1487<method name="put_string" cv="const"><type>void</type><parameter name="oi"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="s"><paramtype>const charT *const</paramtype></parameter></method>
1488<method name="put_string" cv="const"><type>void</type><parameter name="oi"><paramtype>iter_type &amp;</paramtype></parameter><parameter name="s1"><paramtype>const string_type &amp;</paramtype></parameter></method>
1489</method-group>
b32b8144
FG
1490</class>
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523</namespace>
1524</namespace>
1525</header>
1526<header name="boost/date_time/date_parsing.hpp">
1527<namespace name="boost">
1528<namespace name="date_time">
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547<function name="convert_to_lower"><type>std::string</type><parameter name="inp"><paramtype>std::string</paramtype></parameter><purpose>A function to replace the std::transform( , , ,tolower) construct. </purpose><description><para>This function simply takes a string, and changes all the characters in that string to lowercase (according to the default system locale). In the event that a compiler does not support locales, the old C style tolower() is used. </para></description></function>
1548<function name="month_str_to_ushort"><type>unsigned short</type><template>
1549 <template-type-parameter name="month_type"/>
1550 </template><parameter name="s"><paramtype>std::string const &amp;</paramtype></parameter><purpose>Helper function for parse_date. </purpose></function>
1551<function name="find_match"><type>short</type><template>
1552 <template-type-parameter name="charT"/>
1553 </template><parameter name="short_names"><paramtype>const charT *const *</paramtype></parameter><parameter name="long_names"><paramtype>const charT *const *</paramtype></parameter><parameter name="size"><paramtype>short</paramtype></parameter><parameter name="s"><paramtype>const std::basic_string&lt; charT &gt; &amp;</paramtype></parameter><purpose>Find index of a string in either of 2 arrays. </purpose><description><para>find_match searches both arrays for a match to 's'. Both arrays must contain 'size' elements. The index of the match is returned. If no match is found, 'size' is returned. Ex. "Jan" returns 0, "Dec" returns 11, "Tue" returns 2. 'size' can be sent in with: (greg_month::max)() (which 12), (greg_weekday::max)() + 1 (which is 7) or date_time::NumSpecialValues </para></description></function>
1554<function name="parse_date"><type>date_type</type><template>
1555 <template-type-parameter name="date_type"/>
1556 </template><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><parameter name="order_spec"><paramtype>int</paramtype><default>ymd_order_iso</default></parameter><purpose>Generic function to parse a delimited date (eg: 2002-02-10) </purpose><description><para>Accepted formats are: "2003-02-10" or " 2003-Feb-10" or "2003-Feburary-10" The order in which the Month, Day, &amp; Year appear in the argument string can be accomodated by passing in the appropriate ymd_order_spec </para></description></function>
1557<function name="parse_undelimited_date"><type>date_type</type><template>
1558 <template-type-parameter name="date_type"/>
1559 </template><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><purpose>Generic function to parse undelimited date (eg: 20020201) </purpose></function>
1560<function name="from_stream_type"><type>date_type</type><template>
1561 <template-type-parameter name="date_type"/>
1562 <template-type-parameter name="iterator_type"/>
1563 </template><parameter name="beg"><paramtype>iterator_type &amp;</paramtype></parameter><parameter name="end"><paramtype>iterator_type const &amp;</paramtype></parameter><parameter name=""><paramtype>char</paramtype></parameter><purpose>Helper function for 'date gregorian::from_stream()'. </purpose><description><para>Creates a string from the iterators that reference the begining &amp; end of a char[] or string. All elements are used in output string </para></description></function>
1564<function name="from_stream_type"><type>date_type</type><template>
1565 <template-type-parameter name="date_type"/>
1566 <template-type-parameter name="iterator_type"/>
1567 </template><parameter name="beg"><paramtype>iterator_type &amp;</paramtype></parameter><parameter name=""><paramtype>iterator_type const &amp;</paramtype></parameter><parameter name=""><paramtype>std::string const &amp;</paramtype></parameter><purpose>Helper function for 'date gregorian::from_stream()'. </purpose><description><para>Returns the first string found in the stream referenced by the begining &amp; end iterators </para></description></function>
1568<function name="from_stream_type"><type>date_type</type><template>
1569 <template-type-parameter name="date_type"/>
1570 <template-type-parameter name="iterator_type"/>
1571 </template><parameter name="beg"><paramtype>iterator_type &amp;</paramtype></parameter><parameter name="end"><paramtype>iterator_type const &amp;</paramtype></parameter><parameter name=""><paramtype>wchar_t</paramtype></parameter><purpose>Helper function for 'date gregorian::from_stream()'. </purpose><description><para>Creates a string from the iterators that reference the begining &amp; end of a wstring. All elements are used in output string </para></description></function>
1572<function name="from_stream_type"><type>date_type</type><template>
1573 <template-type-parameter name="date_type"/>
1574 <template-type-parameter name="iterator_type"/>
1575 </template><parameter name="beg"><paramtype>iterator_type &amp;</paramtype></parameter><parameter name=""><paramtype>iterator_type const &amp;</paramtype></parameter><parameter name=""><paramtype>std::wstring const &amp;</paramtype></parameter><purpose>Helper function for 'date gregorian::from_stream()'. </purpose><description><para>Creates a string from the first wstring found in the stream referenced by the begining &amp; end iterators </para></description></function>
1576<function name="from_simple_string_type"><type><classname>period</classname>&lt; date_type, typename date_type::duration_type &gt;</type><template>
1577 <template-type-parameter name="date_type"/>
1578 <template-type-parameter name="charT"/>
1579 </template><parameter name="s"><paramtype>const std::basic_string&lt; charT &gt; &amp;</paramtype></parameter><purpose>function called by wrapper functions: date_period_from_(w)string() </purpose></function>
1580
1581
1582
1583
1584
1585</namespace>
1586</namespace>
1587</header>
1588<header name="boost/date_time/dst_rules.hpp">
1589<para>Contains template class to provide static dst rule calculations </para><namespace name="boost">
1590<namespace name="date_time">
92f5a8d4
TL
1591<class name="dst_calc_engine"><template>
1592 <template-type-parameter name="date_type"/>
1593 <template-type-parameter name="time_duration_type"/>
1594 <template-type-parameter name="dst_traits"/>
1595 </template><purpose>Compile-time configurable daylight savings time calculation engine. </purpose><typedef name="year_type"><type>date_type::year_type</type></typedef>
1596<typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
1597<typedef name="dstcalc"><type><classname>dst_calculator</classname>&lt; date_type, time_duration_type &gt;</type></typedef>
1598<method-group name="public static functions">
1599<method name="local_is_dst" specifiers="static"><type>time_is_dst_result</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>Calculates if the given local time is dst or not. </purpose><description><para>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
1600</para></description></method>
1601<method name="is_dst_boundary_day" specifiers="static"><type>bool</type><parameter name="d"><paramtype>date_type</paramtype></parameter></method>
1602<method name="dst_offset" specifiers="static"><type>time_duration_type</type><purpose>The time of day for the dst transition (eg: typically 01:00:00 or 02:00:00) </purpose></method>
1603<method name="local_dst_start_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
1604<method name="local_dst_end_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
1605</method-group>
1606</class><class name="dst_calculator"><template>
b32b8144
FG
1607 <template-type-parameter name="date_type_"/>
1608 <template-type-parameter name="time_duration_type_"/>
1609 </template><purpose>Dynamic class used to caluclate dst transition information. </purpose><typedef name="time_duration_type"><type>time_duration_type_</type></typedef>
1610<typedef name="date_type"><type>date_type_</type></typedef>
1611<method-group name="public static functions">
92f5a8d4 1612<method name="process_local_dst_start_day" specifiers="static"><type>time_is_dst_result</type><parameter name="time_of_day"><paramtype>const time_duration_type &amp;</paramtype><description><para>Time offset in the day for the local time </para></description></parameter><parameter name="dst_start_offset_minutes"><paramtype>unsigned int</paramtype><description><para>Local day offset for start of dst </para></description></parameter><parameter name="dst_length_minutes"><paramtype>long</paramtype><description><para>Number of minutes to adjust clock forward </para></description></parameter><purpose>Check the local time offset when on dst start day. </purpose><description><para>On this dst transition, the time label between the transition boundary and the boudary + the offset are invalid times. If before the boundary then still not in dst.</para><para>
b32b8144
FG
1613
1614</para></description></method>
1615<method name="process_local_dst_end_day" specifiers="static"><type>time_is_dst_result</type><parameter name="time_of_day"><paramtype>const time_duration_type &amp;</paramtype><description><para>Time offset in the day for the local time </para></description></parameter><parameter name="dst_end_offset_minutes"><paramtype>unsigned int</paramtype><description><para>Local time of day for end of dst </para></description></parameter><parameter name="dst_length_minutes"><paramtype>long</paramtype></parameter><purpose>Check the local time offset when on the last day of dst. </purpose><description><para>This is the calculation for the DST end day. On that day times prior to the conversion time - dst_length (1 am in US) are still in dst. Times between the above and the switch time are ambiguous. Times after the start_offset are not in dst.
1616
1617</para></description></method>
92f5a8d4 1618<method name="local_is_dst" specifiers="static"><type>time_is_dst_result</type><parameter name="current_day"><paramtype>const date_type &amp;</paramtype><description><para>The day to check for dst </para></description></parameter><parameter name="time_of_day"><paramtype>const time_duration_type &amp;</paramtype><description><para>Time offset within the day to check </para></description></parameter><parameter name="dst_start_day"><paramtype>const date_type &amp;</paramtype><description><para>Starting day of dst for the given locality </para></description></parameter><parameter name="dst_start_offset"><paramtype>const time_duration_type &amp;</paramtype><description><para>Time offset within day for dst boundary </para></description></parameter><parameter name="dst_end_day"><paramtype>const date_type &amp;</paramtype><description><para>Ending day of dst for the given locality </para></description></parameter><parameter name="dst_end_offset"><paramtype>const time_duration_type &amp;</paramtype><description><para>Time offset within day given in dst for dst boundary </para></description></parameter><parameter name="dst_length"><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>Calculates if the given local time is dst or not. </purpose><description><para>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
b32b8144
FG
1619
1620</para></description></method>
1621<method name="local_is_dst" specifiers="static"><type>time_is_dst_result</type><parameter name="current_day"><paramtype>const date_type &amp;</paramtype><description><para>The day to check for dst </para></description></parameter><parameter name="time_of_day"><paramtype>const time_duration_type &amp;</paramtype><description><para>Time offset within the day to check </para></description></parameter><parameter name="dst_start_day"><paramtype>const date_type &amp;</paramtype><description><para>Starting day of dst for the given locality </para></description></parameter><parameter name="dst_start_offset_minutes"><paramtype>unsigned int</paramtype><description><para>Offset within day for dst boundary (eg 120 for US which is 02:00:00) </para></description></parameter><parameter name="dst_end_day"><paramtype>const date_type &amp;</paramtype><description><para>Ending day of dst for the given locality </para></description></parameter><parameter name="dst_end_offset_minutes"><paramtype>unsigned int</paramtype><description><para>Offset within day given in dst for dst boundary (eg 120 for US which is 02:00:00) </para></description></parameter><parameter name="dst_length_minutes"><paramtype>long</paramtype><description><para>Length of dst adjusment (eg: 60 for US) </para></description></parameter><purpose>Calculates if the given local time is dst or not. </purpose><description><para>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
1622
1623</para></description></method>
1624</method-group>
92f5a8d4
TL
1625</class><class name="null_dst_rules"><template>
1626 <template-type-parameter name="date_type_"/>
1627 <template-type-parameter name="time_duration_type_"/>
1628 </template><purpose>Used for local time adjustments in places that don't use dst. </purpose><typedef name="time_duration_type"><type>time_duration_type_</type></typedef>
1629<typedef name="date_type"><type>date_type_</type></typedef>
b32b8144 1630<method-group name="public static functions">
92f5a8d4 1631<method name="local_is_dst" specifiers="static"><type>time_is_dst_result</type><parameter name=""><paramtype>const date_type &amp;</paramtype></parameter><parameter name=""><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>Calculates if the given local time is dst or not. </purpose><description><para>
b32b8144 1632</para></description></method>
92f5a8d4
TL
1633<method name="utc_is_dst" specifiers="static"><type>time_is_dst_result</type><parameter name=""><paramtype>const date_type &amp;</paramtype></parameter><parameter name=""><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>Calculates if the given utc time is in dst. </purpose></method>
1634<method name="is_dst_boundary_day" specifiers="static"><type>bool</type><parameter name=""><paramtype>date_type</paramtype></parameter></method>
1635<method name="dst_offset" specifiers="static"><type>time_duration_type</type></method>
b32b8144
FG
1636</method-group>
1637</class><class name="us_dst_rules"><template>
1638 <template-type-parameter name="date_type_"/>
1639 <template-type-parameter name="time_duration_type_"/>
1640 <template-nontype-parameter name="dst_start_offset_minutes"><type>unsigned int</type><default>120</default></template-nontype-parameter>
1641 <template-nontype-parameter name="dst_length_minutes"><type>short</type><default>60</default></template-nontype-parameter>
1642 </template><purpose>Depricated: Class to calculate dst boundaries for US time zones. </purpose><typedef name="time_duration_type"><type>time_duration_type_</type></typedef>
1643<typedef name="date_type"><type>date_type_</type></typedef>
1644<typedef name="year_type"><type>date_type::year_type</type></typedef>
1645<typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
1646<typedef name="lkday"><type><classname>date_time::last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
1647<typedef name="fkday"><type><classname>date_time::first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
1648<typedef name="nkday"><type><classname>date_time::nth_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
1649<typedef name="dstcalc"><type><classname>dst_calculator</classname>&lt; date_type, time_duration_type &gt;</type></typedef>
1650<method-group name="public static functions">
1651<method name="local_is_dst" specifiers="static"><type>time_is_dst_result</type><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>Calculates if the given local time is dst or not. </purpose><description><para>Determines if the time is really in DST or not. Also checks for invalid and ambiguous.
1652</para></description></method>
1653<method name="is_dst_boundary_day" specifiers="static"><type>bool</type><parameter name="d"><paramtype>date_type</paramtype></parameter></method>
1654<method name="local_dst_start_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
1655<method name="local_dst_end_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
1656<method name="dst_offset" specifiers="static"><type>time_duration_type</type></method>
1657</method-group>
b32b8144
FG
1658</class><enum name="time_is_dst_result"><enumvalue name="is_not_in_dst"/><enumvalue name="is_in_dst"/><enumvalue name="ambiguous"/><enumvalue name="invalid_time_label"/></enum>
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692</namespace>
1693</namespace>
1694</header>
1695<header name="boost/date_time/dst_transition_generators.hpp">
1696<namespace name="boost">
1697<namespace name="date_time">
92f5a8d4
TL
1698<class name="day_calc_dst_rule"><template>
1699 <template-type-parameter name="spec"><purpose><para>Provides a specifiction of the function object types used to generate start and end days of daylight savings as well as the date type. </para></purpose></template-type-parameter>
b32b8144
FG
1700 </template><inherit access="public">boost::date_time::dst_day_calc_rule&lt; spec::date_type &gt;</inherit><purpose>Canonical form for a class that provides day rule calculation. </purpose><description><para>This class is used to generate specific sets of dst rules</para><para>
1701</para></description><typedef name="date_type"><type>spec::date_type</type></typedef>
1702<typedef name="year_type"><type>date_type::year_type</type></typedef>
1703<typedef name="start_rule"><type>spec::start_rule</type></typedef>
1704<typedef name="end_rule"><type>spec::end_rule</type></typedef>
1705<method-group name="public member functions">
1706<method name="start_day" cv="const" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
1707<method name="start_rule_as_string" cv="const" specifiers="virtual"><type>std::string</type></method>
1708<method name="end_day" cv="const" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
1709<method name="end_rule_as_string" cv="const" specifiers="virtual"><type>std::string</type></method>
1710</method-group>
1711<constructor><parameter name="dst_start"><paramtype>start_rule</paramtype></parameter><parameter name="dst_end"><paramtype>end_rule</paramtype></parameter></constructor>
92f5a8d4
TL
1712</class><class name="dst_day_calc_rule"><template>
1713 <template-type-parameter name="date_type"/>
1714 </template><purpose>Defines base interface for calculating start and end date of daylight savings. </purpose><typedef name="year_type"><type>date_type::year_type</type></typedef>
1715<method-group name="public member functions">
1716<method name="start_day" cv="const = 0" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
1717<method name="start_rule_as_string" cv="const = 0" specifiers="virtual"><type>std::string</type></method>
1718<method name="end_day" cv="const = 0" specifiers="virtual"><type>date_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
1719<method name="end_rule_as_string" cv="const = 0" specifiers="virtual"><type>std::string</type></method>
1720</method-group>
1721<destructor/>
b32b8144
FG
1722</class>
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755</namespace>
1756</namespace>
1757</header>
1758<header name="boost/date_time/filetime_functions.hpp">
1759<para>Function(s) for converting between a FILETIME structure and a time object. This file is only available on systems that have BOOST_HAS_FTIME defined. </para><namespace name="boost">
1760<namespace name="date_time">
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778<function name="time_from_ftime"><type>TimeT</type><template>
1779 <template-type-parameter name="TimeT"/>
1780 <template-type-parameter name="FileTimeT"/>
92f5a8d4
TL
1781 </template><parameter name="ft"><paramtype>const FileTimeT &amp;</paramtype></parameter><purpose>Create a time object from an initialized FILETIME struct. </purpose><description><para>Create a time object from an initialized FILETIME struct. A FILETIME struct holds 100-nanosecond units (0.0000001). When built with microsecond resolution the file_time's sub second value will be truncated. Nanosecond resolution has no truncation.</para><para><note><para>The function is templated on the FILETIME type, so that it can be used with both native FILETIME and the ad-hoc boost::detail::winapi::FILETIME_ type. </para>
1782</note>
b32b8144
FG
1783</para></description></function>
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799</namespace>
1800</namespace>
1801</header>
1802<header name="boost/date_time/format_date_parser.hpp">
1803<namespace name="std">
1804</namespace>
1805<namespace name="boost">
1806<namespace name="date_time">
1807<class name="format_date_parser"><template>
1808 <template-type-parameter name="date_type"/>
1809 <template-type-parameter name="charT"/>
1810 </template><purpose>Class with generic date parsing using a format string. </purpose><description><para>The following is the set of recognized format specifiers<itemizedlist>
92f5a8d4
TL
1811<listitem><para>a - Short weekday name</para>
1812</listitem><listitem><para>A - Long weekday name</para>
1813</listitem><listitem><para>b - Abbreviated month name</para>
1814</listitem><listitem><para>B - Full month name</para>
1815</listitem><listitem><para>d - Day of the month as decimal 01 to 31</para>
1816</listitem><listitem><para>j - Day of year as decimal from 001 to 366</para>
1817</listitem><listitem><para>m - Month name as a decimal 01 to 12</para>
1818</listitem><listitem><para>U - Week number 00 to 53 with first Sunday as the first day of week 1?</para>
1819</listitem><listitem><para>w - Weekday as decimal number 0 to 6 where Sunday == 0</para>
1820</listitem><listitem><para>W - Week number 00 to 53 where Monday is first day of week 1</para>
1821</listitem><listitem><para>x - facet default date representation</para>
1822</listitem><listitem><para>y - Year without the century - eg: 04 for 2004</para>
1823</listitem><listitem><para>Y - Year with century</para>
1824</listitem></itemizedlist>
b32b8144
FG
1825</para><para>The weekday specifiers (a and A) do not add to the date construction, but they provide a way to skip over the weekday names for formats that provide them.</para><para>todo – Another interesting feature that this approach could provide is an option to fill in any missing fields with the current values from the clock. So if you have m-d the parser would detect the missing year value and fill it in using the clock.</para><para>todo – What to do with the x. x in the classic facet is just bad... </para></description><typedef name="string_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
1826<typedef name="stringstream_type"><type>std::basic_istringstream&lt; charT &gt;</type></typedef>
1827<typedef name="stream_itr_type"><type>std::istreambuf_iterator&lt; charT &gt;</type></typedef>
1828<typedef name="const_itr"><type>string_type::const_iterator</type></typedef>
1829<typedef name="year_type"><type>date_type::year_type</type></typedef>
1830<typedef name="month_type"><type>date_type::month_type</type></typedef>
1831<typedef name="day_type"><type>date_type::day_type</type></typedef>
1832<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
1833<typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
1834<typedef name="day_of_year_type"><type>date_type::day_of_year_type</type></typedef>
1835<typedef name="parse_tree_type"><type><classname>string_parse_tree</classname>&lt; charT &gt;</type></typedef>
1836<typedef name="match_results"><type><classname>parse_tree_type::parse_match_result_type</classname></type></typedef>
1837<typedef name="input_collection_type"><type>std::vector&lt; std::basic_string&lt; charT &gt; &gt;</type></typedef>
1838<method-group name="public member functions">
1839<method name="format" cv="const"><type>string_type</type></method>
1840<method name="format"><type>void</type><parameter name="format_str"><paramtype>string_type</paramtype></parameter></method>
1841<method name="short_month_names"><type>void</type><parameter name="month_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
1842<method name="long_month_names"><type>void</type><parameter name="month_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
1843<method name="short_weekday_names"><type>void</type><parameter name="weekday_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
1844<method name="long_weekday_names"><type>void</type><parameter name="weekday_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></method>
1845<method name="parse_date" cv="const"><type>date_type</type><parameter name="value"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="format_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="sv_parser"><paramtype>const <classname>special_values_parser</classname>&lt; date_type, charT &gt; &amp;</paramtype></parameter></method>
1846<method name="parse_date" cv="const"><type>date_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="sv_parser"><paramtype>const <classname>special_values_parser</classname>&lt; date_type, charT &gt; &amp;</paramtype></parameter></method>
1847<method name="parse_date" cv="const"><type>date_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter><parameter name="sv_parser"><paramtype>const <classname>special_values_parser</classname>&lt; date_type, charT &gt; &amp;</paramtype></parameter><description><para>Of all the objects that the <classname alt="boost::date_time::format_date_parser">format_date_parser</classname> can parse, only a date can be a special value. Therefore, only parse_date checks for special_values. </para></description></method>
1848<method name="parse_month" cv="const"><type>month_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter><purpose>Throws bad_month if unable to parse. </purpose></method>
1849<method name="parse_month" cv="const"><type>month_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter><parameter name="mr"><paramtype><classname>match_results</classname> &amp;</paramtype></parameter><purpose>Throws bad_month if unable to parse. </purpose></method>
1850<method name="parse_var_day_of_month" cv="const"><type>day_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><purpose>Expects 1 or 2 digits 1-31. Throws bad_day_of_month if unable to parse. </purpose></method>
1851<method name="parse_day_of_month" cv="const"><type>day_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><purpose>Expects 2 digits 01-31. Throws bad_day_of_month if unable to parse. </purpose></method>
1852<method name="parse_weekday" cv="const"><type>day_of_week_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter></method>
1853<method name="parse_weekday" cv="const"><type>day_of_week_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter><parameter name="mr"><paramtype><classname>match_results</classname> &amp;</paramtype></parameter></method>
1854<method name="parse_year" cv="const"><type>year_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter><purpose>throws bad_year if unable to parse </purpose></method>
1855<method name="parse_year" cv="const"><type>year_type</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="format_str"><paramtype>string_type</paramtype></parameter><parameter name="mr"><paramtype><classname>match_results</classname> &amp;</paramtype></parameter><purpose>throws bad_year if unable to parse </purpose></method>
1856</method-group>
1857<constructor><parameter name="format_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="month_short_names"><paramtype>const input_collection_type &amp;</paramtype></parameter><parameter name="month_long_names"><paramtype>const input_collection_type &amp;</paramtype></parameter><parameter name="weekday_short_names"><paramtype>const input_collection_type &amp;</paramtype></parameter><parameter name="weekday_long_names"><paramtype>const input_collection_type &amp;</paramtype></parameter></constructor>
1858<constructor><parameter name="format_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="locale"><paramtype>const std::locale &amp;</paramtype></parameter></constructor>
1859<constructor><parameter name="fdp"><paramtype>const <classname>format_date_parser</classname>&lt; date_type, charT &gt; &amp;</paramtype></parameter></constructor>
1860</class>
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874<function name="fixed_string_to_int"><type>int_type</type><template>
1875 <template-type-parameter name="int_type"/>
1876 <template-type-parameter name="charT"/>
1877 </template><parameter name="itr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="mr"><paramtype><classname>parse_match_result</classname>&lt; charT &gt; &amp;</paramtype></parameter><parameter name="length"><paramtype>unsigned int</paramtype></parameter><parameter name="fill_char"><paramtype>const charT &amp;</paramtype></parameter><purpose>Helper function for parsing fixed length strings into integers. </purpose><description><para>Will consume 'length' number of characters from stream. Consumed character are transfered to <classname alt="boost::date_time::parse_match_result">parse_match_result</classname> struct. Returns '-1' if no number can be parsed or incorrect number of digits in stream. </para></description></function>
1878<function name="fixed_string_to_int"><type>int_type</type><template>
1879 <template-type-parameter name="int_type"/>
1880 <template-type-parameter name="charT"/>
1881 </template><parameter name="itr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="mr"><paramtype><classname>parse_match_result</classname>&lt; charT &gt; &amp;</paramtype></parameter><parameter name="length"><paramtype>unsigned int</paramtype></parameter><purpose>Helper function for parsing fixed length strings into integers. </purpose><description><para>Will consume 'length' number of characters from stream. Consumed character are transfered to <classname alt="boost::date_time::parse_match_result">parse_match_result</classname> struct. Returns '-1' if no number can be parsed or incorrect number of digits in stream. </para></description></function>
1882<function name="var_string_to_int"><type>int_type</type><template>
1883 <template-type-parameter name="int_type"/>
1884 <template-type-parameter name="charT"/>
1885 </template><parameter name="itr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>const std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="max_length"><paramtype>unsigned int</paramtype></parameter><purpose>Helper function for parsing varied length strings into integers. </purpose><description><para>Will consume 'max_length' characters from stream only if those characters are digits. Returns '-1' if no number can be parsed. Will not parse a number preceeded by a '+' or '-'. </para></description></function>
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902</namespace>
1903</namespace>
1904</header>
1905<header name="boost/date_time/gregorian_calendar.hpp">
1906<namespace name="boost">
1907<namespace name="date_time">
1908<class name="gregorian_calendar_base"><template>
92f5a8d4
TL
1909 <template-type-parameter name="ymd_type_"><purpose><para>Struct type representing the year, month, day. The ymd_type must define a of types for the year, month, and day. These types need to be arithmetic types. </para></purpose></template-type-parameter>
1910 <template-type-parameter name="date_int_type_"><purpose><para>Underlying type for the date count. Must be an arithmetic type. </para></purpose></template-type-parameter>
b32b8144
FG
1911 </template><purpose>An implementation of the Gregorian calendar. </purpose><description><para>This is a parameterized implementation of a proleptic Gregorian Calendar that can be used in the creation of date systems or just to perform calculations. All the methods of this class are static functions, so the intent is to never create instances of this class.
1912</para></description><typedef name="ymd_type"><purpose>define a type a date split into components </purpose><type>ymd_type_</type></typedef>
1913<typedef name="month_type"><purpose>define a type for representing months </purpose><type>ymd_type::month_type</type></typedef>
1914<typedef name="day_type"><purpose>define a type for representing days </purpose><type>ymd_type::day_type</type></typedef>
1915<typedef name="year_type"><purpose>Type to hold a stand alone year value (eg: 2002) </purpose><type>ymd_type::year_type</type></typedef>
1916<typedef name="date_int_type"><purpose>Define the integer type to use for internal calculations. </purpose><type>date_int_type_</type></typedef>
1917<method-group name="public static functions">
1918<method name="day_of_week" specifiers="static"><type>unsigned short</type><parameter name="ymd"><paramtype>const ymd_type &amp;</paramtype></parameter></method>
1919<method name="week_number" specifiers="static"><type>int</type><parameter name="ymd"><paramtype>const ymd_type &amp;</paramtype></parameter></method>
1920<method name="day_number" specifiers="static"><type>date_int_type</type><parameter name="ymd"><paramtype>const ymd_type &amp;</paramtype></parameter></method>
1921<method name="julian_day_number" specifiers="static"><type>date_int_type</type><parameter name="ymd"><paramtype>const ymd_type &amp;</paramtype></parameter></method>
1922<method name="modjulian_day_number" specifiers="static"><type>date_int_type</type><parameter name="ymd"><paramtype>const ymd_type &amp;</paramtype></parameter></method>
1923<method name="from_day_number" specifiers="static"><type>ymd_type</type><parameter name=""><paramtype>date_int_type</paramtype></parameter></method>
1924<method name="from_julian_day_number" specifiers="static"><type>ymd_type</type><parameter name=""><paramtype>date_int_type</paramtype></parameter></method>
1925<method name="from_modjulian_day_number" specifiers="static"><type>ymd_type</type><parameter name=""><paramtype>date_int_type</paramtype></parameter></method>
1926<method name="is_leap_year" specifiers="static"><type>bool</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
1927<method name="end_of_month_day" specifiers="static"><type>unsigned short</type><parameter name="y"><paramtype>year_type</paramtype></parameter><parameter name="m"><paramtype>month_type</paramtype></parameter></method>
1928<method name="epoch" specifiers="static"><type>ymd_type</type></method>
1929<method name="days_in_week" specifiers="static"><type>unsigned short</type></method>
1930</method-group>
1931</class>
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964</namespace>
1965</namespace>
1966</header>
1967<header name="boost/date_time/int_adapter.hpp">
1968<namespace name="boost">
1969<namespace name="date_time">
1970<class name="int_adapter"><template>
1971 <template-type-parameter name="int_type_"/>
1972 </template><purpose>Adapter to create integer types with +-infinity, and not a value. </purpose><description><para>This class is used internally in counted date/time representations. It adds the floating point like features of infinities and not a number. It also provides mathmatical operations with consideration to special values following these rules: <programlisting language="c++">+infinity - infinity == Not A Number (NAN)
1973 infinity * non-zero == infinity
1974 infinity * zero == NAN
1975+infinity * -integer == -infinity
1976 infinity / infinity == NAN
1977 infinity * infinity == infinity
1978</programlisting> </para></description><typedef name="int_type"><type>int_type_</type></typedef>
1979<method-group name="public member functions">
1980<method name="is_infinity" cv="const"><type>bool</type></method>
1981<method name="is_pos_infinity" cv="const"><type>bool</type></method>
1982<method name="is_neg_infinity" cv="const"><type>bool</type></method>
1983<method name="is_nan" cv="const"><type>bool</type></method>
1984<method name="is_special" cv="const"><type>bool</type></method>
1985<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
1986<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const int &amp;</paramtype></parameter></method>
1987<method name="operator!=" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
1988<method name="operator!=" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const int &amp;</paramtype></parameter></method>
1989<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
1990<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const int &amp;</paramtype></parameter></method>
1991<method name="operator&gt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
1992<method name="as_number" cv="const"><type>int_type</type></method>
1993<method name="as_special" cv="const"><type>special_values</type><purpose>Returns either special value type or is_not_special. </purpose></method>
1994<method name="operator+" cv="const"><type><classname>int_adapter</classname></type><template>
1995 <template-type-parameter name="rhs_type"/>
1996 </template><parameter name="rhs"><paramtype>const <classname>int_adapter</classname>&lt; rhs_type &gt; &amp;</paramtype></parameter><description><para>Operator allows for adding dissimilar <classname alt="boost::date_time::int_adapter">int_adapter</classname> types. The return type will match that of the the calling object's type </para></description></method>
1997<method name="operator+" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
1998<method name="operator-" cv="const"><type><classname>int_adapter</classname></type><template>
1999 <template-type-parameter name="rhs_type"/>
2000 </template><parameter name="rhs"><paramtype>const <classname>int_adapter</classname>&lt; rhs_type &gt; &amp;</paramtype></parameter><description><para>Operator allows for subtracting dissimilar <classname alt="boost::date_time::int_adapter">int_adapter</classname> types. The return type will match that of the the calling object's type </para></description></method>
2001<method name="operator-" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const int_type</paramtype></parameter></method>
92f5a8d4
TL
2002<method name="operator *" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
2003<method name="operator *" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const int</paramtype></parameter><description><para>Provided for cases when automatic conversion from 'int' to '<classname alt="boost::date_time::int_adapter">int_adapter</classname>' causes incorrect results. </para></description></method>
b32b8144
FG
2004<method name="operator/" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
2005<method name="operator/" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const int</paramtype></parameter><description><para>Provided for cases when automatic conversion from 'int' to '<classname alt="boost::date_time::int_adapter">int_adapter</classname>' causes incorrect results. </para></description></method>
2006<method name="operator%" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter></method>
2007<method name="operator%" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const int</paramtype></parameter><description><para>Provided for cases when automatic conversion from 'int' to '<classname alt="boost::date_time::int_adapter">int_adapter</classname>' causes incorrect results. </para></description></method>
2008</method-group>
2009<constructor><parameter name="v"><paramtype>int_type</paramtype></parameter></constructor>
2010<method-group name="public static functions">
2011<method name="has_infinity" specifiers="static"><type>bool</type></method>
2012<method name="pos_infinity" specifiers="static"><type>const <classname>int_adapter</classname></type></method>
2013<method name="neg_infinity" specifiers="static"><type>const <classname>int_adapter</classname></type></method>
2014<method name="not_a_number" specifiers="static"><type>const <classname>int_adapter</classname></type></method>
2015<method name="BOOST_PREVENT_MACRO_SUBSTITUTION" specifiers="static"><type><classname>int_adapter</classname> max</type></method>
2016<method name="BOOST_PREVENT_MACRO_SUBSTITUTION" specifiers="static"><type><classname>int_adapter</classname> min</type></method>
2017<method name="from_special" specifiers="static"><type><classname>int_adapter</classname></type><parameter name="sv"><paramtype>special_values</paramtype></parameter></method>
2018<method name="is_inf" specifiers="static"><type>bool</type><parameter name="v"><paramtype>int_type</paramtype></parameter></method>
2019<method name="is_neg_inf" specifiers="static"><type>bool</type><parameter name="v"><paramtype>int_type</paramtype></parameter></method>
2020<method name="is_pos_inf" specifiers="static"><type>bool</type><parameter name="v"><paramtype>int_type</paramtype></parameter></method>
2021<method name="is_not_a_number" specifiers="static"><type>bool</type><parameter name="v"><paramtype>int_type</paramtype></parameter></method>
2022<method name="to_special" specifiers="static"><type>special_values</type><parameter name="v"><paramtype>int_type</paramtype></parameter><purpose>Returns either special value type or is_not_special. </purpose></method>
2023<method name="maxcount" specifiers="static"><type>int_type</type></method>
2024</method-group>
2025<method-group name="private member functions">
2026<method name="compare" cv="const"><type>int</type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter><purpose>returns -1, 0, 1, or 2 if 'this' is &lt;, ==, &gt;, or 'nan comparison' rhs </purpose></method>
2027<method name="mult_div_specials" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const <classname>int_adapter</classname> &amp;</paramtype></parameter><purpose>Assumes at least 'this' or 'rhs' is a special value. </purpose></method>
2028<method name="mult_div_specials" cv="const"><type><classname>int_adapter</classname></type><parameter name="rhs"><paramtype>const int &amp;</paramtype></parameter><purpose>Assumes 'this' is a special value. </purpose></method>
2029</method-group>
2030</class>
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043<function name="operator&lt;&lt;"><type>std::basic_ostream&lt; charT, traits &gt; &amp;</type><template>
2044 <template-type-parameter name="charT"/>
2045 <template-type-parameter name="traits"/>
2046 <template-type-parameter name="int_type"/>
2047 </template><parameter name="os"><paramtype>std::basic_ostream&lt; charT, traits &gt; &amp;</paramtype></parameter><parameter name="ia"><paramtype>const <classname>int_adapter</classname>&lt; int_type &gt; &amp;</paramtype></parameter><description><para>Expected output is either a numeric representation or a special values representation.<sbr/>
2048 Ex. "12", "+infinity", "not-a-number", etc. </para></description></function>
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068</namespace>
2069</namespace>
2070</header>
2071<header name="boost/date_time/iso_format.hpp">
2072<namespace name="boost">
2073<namespace name="date_time">
92f5a8d4
TL
2074<class name="iso_extended_format"><template>
2075 <template-type-parameter name="charT"/>
2076 </template><inherit access="public">boost::date_time::iso_format_base&lt; charT &gt;</inherit><purpose>Extended format uses seperators YYYY-MM-DD. </purpose><method-group name="public static functions">
2077<method name="has_date_sep_chars" specifiers="static"><type>bool</type><purpose>Extended format needs char separators. </purpose></method>
2078</method-group>
2079</class><class name="iso_format"><template>
2080 <template-type-parameter name="charT"/>
2081 </template><inherit access="public">boost::date_time::iso_format_base&lt; charT &gt;</inherit><purpose>Format description for iso normal YYYYMMDD. </purpose><method-group name="public static functions">
2082<method name="has_date_sep_chars" specifiers="static"><type>bool</type><purpose>The ios standard format doesn't use char separators. </purpose></method>
2083</method-group>
2084</class><class name="iso_format_base"><template>
b32b8144
FG
2085 <template-type-parameter name="charT"/>
2086 </template><purpose>Class to provide common iso formatting spec. </purpose><method-group name="public static functions">
2087<method name="month_format" specifiers="static"><type>month_format_spec</type><purpose>Describe month format – its an integer in iso format. </purpose></method>
2088<method name="not_a_date" specifiers="static"><type>const charT *</type><purpose>String used printed is date is invalid. </purpose></method>
2089<method name="pos_infinity" specifiers="static"><type>const charT *</type><purpose>String used to for positive infinity value. </purpose></method>
2090<method name="neg_infinity" specifiers="static"><type>const charT *</type><purpose>String used to for positive infinity value. </purpose></method>
2091<method name="year_sep_char" specifiers="static"><type>charT</type><purpose>ISO char for a year – used in durations. </purpose></method>
2092<method name="month_sep_char" specifiers="static"><type>charT</type><purpose>ISO char for a month. </purpose></method>
2093<method name="day_sep_char" specifiers="static"><type>charT</type><purpose>ISO char for a day. </purpose></method>
2094<method name="hour_sep_char" specifiers="static"><type>charT</type><purpose>char for minute </purpose></method>
2095<method name="minute_sep_char" specifiers="static"><type>charT</type><purpose>char for minute </purpose></method>
2096<method name="second_sep_char" specifiers="static"><type>charT</type><purpose>char for second </purpose></method>
2097<method name="period_start_char" specifiers="static"><type>charT</type><purpose>ISO char for a period. </purpose></method>
2098<method name="time_start_char" specifiers="static"><type>charT</type><purpose>Used in time in mixed strings to set start of time. </purpose></method>
2099<method name="week_start_char" specifiers="static"><type>charT</type><purpose>Used in mixed strings to identify start of a week number. </purpose></method>
2100<method name="period_sep_char" specifiers="static"><type>charT</type><purpose>Separators for periods. </purpose></method>
2101<method name="time_sep_char" specifiers="static"><type>charT</type><purpose>Separator for hh:mm:ss. </purpose></method>
2102<method name="fractional_time_sep_char" specifiers="static"><type>charT</type><purpose>Preferred Separator for hh:mm:ss,decimal_fraction. </purpose></method>
2103<method name="is_component_sep" specifiers="static"><type>bool</type><parameter name="sep"><paramtype>charT</paramtype></parameter></method>
2104<method name="is_fractional_time_sep" specifiers="static"><type>bool</type><parameter name="sep"><paramtype>charT</paramtype></parameter></method>
2105<method name="is_timezone_sep" specifiers="static"><type>bool</type><parameter name="sep"><paramtype>charT</paramtype></parameter></method>
2106<method name="element_sep_char" specifiers="static"><type>charT</type></method>
2107</method-group>
2108</class><class-specialization name="iso_format_base"><template>
2109 </template><specialization><template-arg>wchar_t</template-arg></specialization><purpose>Class to provide common iso formatting spec. </purpose><method-group name="public static functions">
2110<method name="month_format" specifiers="static"><type>month_format_spec</type><purpose>Describe month format – its an integer in iso format. </purpose></method>
2111<method name="not_a_date" specifiers="static"><type>const wchar_t *</type><purpose>String used printed is date is invalid. </purpose></method>
2112<method name="pos_infinity" specifiers="static"><type>const wchar_t *</type><purpose>String used to for positive infinity value. </purpose></method>
2113<method name="neg_infinity" specifiers="static"><type>const wchar_t *</type><purpose>String used to for positive infinity value. </purpose></method>
2114<method name="year_sep_char" specifiers="static"><type>wchar_t</type><purpose>ISO char for a year – used in durations. </purpose></method>
2115<method name="month_sep_char" specifiers="static"><type>wchar_t</type><purpose>ISO char for a month. </purpose></method>
2116<method name="day_sep_char" specifiers="static"><type>wchar_t</type><purpose>ISO char for a day. </purpose></method>
2117<method name="hour_sep_char" specifiers="static"><type>wchar_t</type><purpose>char for minute </purpose></method>
2118<method name="minute_sep_char" specifiers="static"><type>wchar_t</type><purpose>char for minute </purpose></method>
2119<method name="second_sep_char" specifiers="static"><type>wchar_t</type><purpose>char for second </purpose></method>
2120<method name="period_start_char" specifiers="static"><type>wchar_t</type><purpose>ISO char for a period. </purpose></method>
2121<method name="time_start_char" specifiers="static"><type>wchar_t</type><purpose>Used in time in mixed strings to set start of time. </purpose></method>
2122<method name="week_start_char" specifiers="static"><type>wchar_t</type><purpose>Used in mixed strings to identify start of a week number. </purpose></method>
2123<method name="period_sep_char" specifiers="static"><type>wchar_t</type><purpose>Separators for periods. </purpose></method>
92f5a8d4
TL
2124<method name="time_sep_char" specifiers="static"><type>wchar_t</type><purpose>Separator for hh:mm:ss. </purpose></method>
2125<method name="fractional_time_sep_char" specifiers="static"><type>wchar_t</type><purpose>Preferred Separator for hh:mm:ss,decimal_fraction. </purpose></method>
2126<method name="is_component_sep" specifiers="static"><type>bool</type><parameter name="sep"><paramtype>wchar_t</paramtype></parameter></method>
2127<method name="is_fractional_time_sep" specifiers="static"><type>bool</type><parameter name="sep"><paramtype>wchar_t</paramtype></parameter></method>
2128<method name="is_timezone_sep" specifiers="static"><type>bool</type><parameter name="sep"><paramtype>wchar_t</paramtype></parameter></method>
2129<method name="element_sep_char" specifiers="static"><type>wchar_t</type></method>
b32b8144 2130</method-group>
92f5a8d4 2131</class-specialization>
b32b8144
FG
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164</namespace>
2165</namespace>
2166</header>
2167<header name="boost/date_time/local_time_adjustor.hpp">
2168<para>Time adjustment calculations for local times </para><namespace name="boost">
2169<namespace name="date_time">
92f5a8d4 2170<class name="dynamic_local_time_adjustor"><template>
b32b8144
FG
2171 <template-type-parameter name="time_type"/>
2172 <template-type-parameter name="dst_rules"/>
2173 </template><inherit access="public">dst_rules</inherit><purpose>Allow sliding utc adjustment with fixed dst rules. </purpose><typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
2174<typedef name="date_type"><type>time_type::date_type</type></typedef>
2175<method-group name="public member functions">
2176<method name="utc_offset"><type>time_duration_type</type><parameter name="is_dst"><paramtype>bool</paramtype></parameter><purpose>Presumes local time. </purpose></method>
2177</method-group>
2178<constructor><parameter name="utc_offset"><paramtype>time_duration_type</paramtype></parameter></constructor>
b32b8144
FG
2179</class><class name="local_adjustor"><template>
2180 <template-type-parameter name="time_type"/>
2181 <template-nontype-parameter name="utc_offset"><type>short</type></template-nontype-parameter>
2182 <template-type-parameter name="dst_rule"/>
2183 </template><purpose>Template that simplifies the creation of local time calculator. </purpose><description><para>Use this template to create the timezone to utc convertors as required.</para><para>This class will also work for other regions that don't use dst and have a utc offset which is an integral number of hours.</para><para><emphasis role="bold">Template Parameters</emphasis> -time_type – Time class to use -utc_offset – Number hours local time is adjust from utc -use_dst – true (default) if region uses dst, false otherwise For example: <programlisting language="c++"> //eastern timezone is utc-5
2184typedef date_time::local_adjustor&lt;ptime, -5, us_dst&gt; us_eastern;
2185typedef date_time::local_adjustor&lt;ptime, -6, us_dst&gt; us_central;
2186typedef date_time::local_adjustor&lt;ptime, -7, us_dst&gt; us_mountain;
2187typedef date_time::local_adjustor&lt;ptime, -8, us_dst&gt; us_pacific;
2188typedef date_time::local_adjustor&lt;ptime, -7, no_dst&gt; us_arizona;
2189</programlisting> </para></description><typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
2190<typedef name="date_type"><type>time_type::date_type</type></typedef>
2191<typedef name="dst_adjustor"><type><classname>static_local_time_adjustor</classname>&lt; time_type, dst_rule, <classname>utc_adjustment</classname>&lt; time_duration_type, utc_offset &gt; &gt;</type></typedef>
2192<method-group name="public static functions">
2193<method name="utc_to_local" specifiers="static"><type>time_type</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter><purpose>Convert a utc time to local time. </purpose></method>
2194<method name="local_to_utc" specifiers="static"><type>time_type</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter><parameter name="dst"><paramtype>date_time::dst_flags</paramtype><default>date_time::calculate</default></parameter><purpose>Convert a local time to utc. </purpose></method>
2195</method-group>
92f5a8d4
TL
2196</class><class name="static_local_time_adjustor"><template>
2197 <template-type-parameter name="time_type"/>
2198 <template-type-parameter name="dst_rules"/>
2199 <template-type-parameter name="utc_offset_rules"/>
2200 </template><inherit access="public">dst_rules</inherit><inherit access="public">utc_offset_rules</inherit><purpose>Embed the rules for local time adjustments at compile time. </purpose><typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
2201<typedef name="date_type"><type>time_type::date_type</type></typedef>
2202<method-group name="public static functions">
2203<method name="utc_to_local_offset" specifiers="static"><type>time_duration_type</type><parameter name="t"><paramtype>const time_type &amp;</paramtype><description><para>UTC time to calculate offset to local time This adjustment depends on the following observations about the workings of the DST boundary offset. Since UTC time labels are monotonically increasing we can determine if a given local time is in DST or not and therefore adjust the offset appropriately.</para></description></parameter><purpose>Calculates the offset from a utc time to local based on dst and utc offset. </purpose><description><para>
2204The logic is as follows. Starting with UTC time use the offset to create a label for an non-dst adjusted local time. Then call dst_rules::local_is_dst with the non adjust local time. The results of this function will either unabiguously decide that the initial local time is in dst or return an illegal or ambiguous result. An illegal result only occurs at the end of dst (where labels are skipped) and indicates that dst has ended. An ambiguous result means that we need to recheck by making a dst adjustment and then rechecking. If the dst offset is added to the utc time and the recheck proves non-ambiguous then we are past the boundary. If it is still ambiguous then we are ahead of the boundary and dst is still in effect.</para><para>TODO – check if all dst offsets are positive. If not then the algorithm needs to check for this and reverse the illegal/ambiguous logic. </para></description></method>
2205<method name="local_to_utc_offset" specifiers="static"><type>time_duration_type</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter><parameter name="dst"><paramtype>date_time::dst_flags</paramtype><default>date_time::calculate</default></parameter><purpose>Get the offset to UTC given a local time. </purpose></method>
2206</method-group>
2207</class><class name="utc_adjustment"><template>
2208 <template-type-parameter name="time_duration_type"/>
2209 <template-nontype-parameter name="hours"><type>short</type></template-nontype-parameter>
2210 <template-nontype-parameter name="minutes"><type>unsigned short</type><default>0</default></template-nontype-parameter>
2211 </template><purpose>Provides a base offset adjustment from utc. </purpose><method-group name="public static functions">
2212<method name="local_to_utc_base_offset" specifiers="static"><type>time_duration_type</type></method>
2213<method name="utc_to_local_base_offset" specifiers="static"><type>time_duration_type</type></method>
2214</method-group>
b32b8144
FG
2215</class>
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227<function name="dummy_to_prevent_msvc6_ice"><type>void</type></function>
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248</namespace>
2249</namespace>
2250</header>
2251<header name="boost/date_time/local_timezone_defs.hpp">
2252<namespace name="boost">
2253<namespace name="date_time">
92f5a8d4 2254<struct name="acst_dst_trait"><template>
b32b8144 2255 <template-type-parameter name="date_type"/>
92f5a8d4 2256 </template><typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
b32b8144
FG
2257<typedef name="month_type"><type>date_type::month_type</type></typedef>
2258<typedef name="year_type"><type>date_type::year_type</type></typedef>
92f5a8d4
TL
2259<typedef name="start_rule_functor"><type><classname>date_time::last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
2260<typedef name="end_rule_functor"><type><classname>date_time::last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
b32b8144
FG
2261<method-group name="public static functions">
2262<method name="start_day" specifiers="static"><type>day_of_week_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
92f5a8d4 2263<method name="start_month" specifiers="static"><type>month_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
b32b8144 2264<method name="end_day" specifiers="static"><type>day_of_week_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
92f5a8d4 2265<method name="end_month" specifiers="static"><type>month_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
b32b8144
FG
2266<method name="dst_start_offset_minutes" specifiers="static"><type>int</type></method>
2267<method name="dst_end_offset_minutes" specifiers="static"><type>int</type></method>
2268<method name="dst_shift_length_minutes" specifiers="static"><type>int</type></method>
92f5a8d4
TL
2269<method name="local_dst_start_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
2270<method name="local_dst_end_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
b32b8144
FG
2271</method-group>
2272</struct><struct name="eu_dst_trait"><template>
2273 <template-type-parameter name="date_type"/>
2274 </template><purpose>Rules for daylight savings start in the EU (Last Sun in Mar) </purpose><description><para>These amount to the following:<itemizedlist>
92f5a8d4
TL
2275<listitem><para>Start of dst day is last Sunday in March</para>
2276</listitem><listitem><para>End day of dst is last Sunday in Oct</para>
2277</listitem><listitem><para>Going forward switch time is 2:00 am (offset 120 minutes)</para>
2278</listitem><listitem><para>Going back switch time is 3:00 am (off set 180 minutes)</para>
2279</listitem><listitem><para>Shift duration is one hour (60 minutes) </para>
2280</listitem></itemizedlist>
b32b8144
FG
2281</para></description><typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
2282<typedef name="month_type"><type>date_type::month_type</type></typedef>
2283<typedef name="year_type"><type>date_type::year_type</type></typedef>
2284<typedef name="start_rule_functor"><type><classname>date_time::last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
2285<typedef name="end_rule_functor"><type><classname>date_time::last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
2286<method-group name="public static functions">
2287<method name="start_day" specifiers="static"><type>day_of_week_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
2288<method name="start_month" specifiers="static"><type>month_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
2289<method name="end_day" specifiers="static"><type>day_of_week_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
2290<method name="end_month" specifiers="static"><type>month_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
2291<method name="dst_start_offset_minutes" specifiers="static"><type>int</type></method>
2292<method name="dst_end_offset_minutes" specifiers="static"><type>int</type></method>
2293<method name="dst_shift_length_minutes" specifiers="static"><type>int</type></method>
2294<method name="local_dst_start_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
2295<method name="local_dst_end_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
2296</method-group>
2297</struct><struct name="uk_dst_trait"><template>
2298 <template-type-parameter name="date_type"/>
2299 </template><inherit access="public">boost::date_time::eu_dst_trait&lt; date_type &gt;</inherit><purpose>Alternative dst traits for some parts of the United Kingdom. </purpose><method-group name="public static functions">
2300<method name="dst_start_offset_minutes" specifiers="static"><type>int</type></method>
2301<method name="dst_end_offset_minutes" specifiers="static"><type>int</type></method>
2302<method name="dst_shift_length_minutes" specifiers="static"><type>int</type></method>
2303</method-group>
92f5a8d4 2304</struct><struct name="us_dst_trait"><template>
b32b8144 2305 <template-type-parameter name="date_type"/>
92f5a8d4
TL
2306 </template><purpose>Specification for daylight savings start rules in US. </purpose><description><para>This class is used to configure <classname alt="boost::date_time::dst_calc_engine">dst_calc_engine</classname> template typically as follows: <programlisting language="c++">using namespace boost::gregorian;
2307using namespace boost::posix_time;
2308typedef us_dst_trait&lt;date&gt; us_dst_traits;
2309typedef boost::date_time::dst_calc_engine&lt;date, time_duration,
2310 us_dst_traits&gt;
2311 us_dst_calc;
2312//calculate the 2002 transition day of USA April 7 2002
2313date dst_start = us_dst_calc::local_dst_start_day(2002);
2314
2315//calculate the 2002 transition day of USA Oct 27 2002
2316date dst_end = us_dst_calc::local_dst_end_day(2002);
2317
2318//check if a local time is in dst or not -- posible answers
2319//are yes, no, invalid time label, ambiguous
2320ptime t(...some time...);
2321if (us_dst::local_is_dst(t.date(), t.time_of_day())
2322 == boost::date_time::is_not_in_dst)
2323{
2324
2325}
2326</programlisting> This generates a type suitable for the calculation of dst transitions for the United States. Of course other templates can be used for other locales. </para></description><typedef name="day_of_week_type"><type>date_type::day_of_week_type</type></typedef>
b32b8144
FG
2327<typedef name="month_type"><type>date_type::month_type</type></typedef>
2328<typedef name="year_type"><type>date_type::year_type</type></typedef>
92f5a8d4
TL
2329<typedef name="start_rule_functor"><type><classname>date_time::nth_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
2330<typedef name="end_rule_functor"><type><classname>date_time::first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
2331<typedef name="start_rule_functor_pre2007"><type><classname>date_time::first_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
2332<typedef name="end_rule_functor_pre2007"><type><classname>date_time::last_kday_of_month</classname>&lt; date_type &gt;</type></typedef>
b32b8144
FG
2333<method-group name="public static functions">
2334<method name="start_day" specifiers="static"><type>day_of_week_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
92f5a8d4 2335<method name="start_month" specifiers="static"><type>month_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
b32b8144 2336<method name="end_day" specifiers="static"><type>day_of_week_type</type><parameter name=""><paramtype>year_type</paramtype></parameter></method>
92f5a8d4
TL
2337<method name="end_month" specifiers="static"><type>month_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter></method>
2338<method name="local_dst_start_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
2339<method name="local_dst_end_day" specifiers="static"><type>date_type</type><parameter name="year"><paramtype>year_type</paramtype></parameter></method>
b32b8144
FG
2340<method name="dst_start_offset_minutes" specifiers="static"><type>int</type></method>
2341<method name="dst_end_offset_minutes" specifiers="static"><type>int</type></method>
2342<method name="dst_shift_length_minutes" specifiers="static"><type>int</type></method>
b32b8144
FG
2343</method-group>
2344</struct>
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377</namespace>
2378</namespace>
2379</header>
2380<header name="boost/date_time/locale_config.hpp">
2381</header>
2382<header name="boost/date_time/microsec_time_clock.hpp">
2383<para>This file contains a high resolution time clock implementation. </para><namespace name="boost">
2384<namespace name="date_time">
2385<class name="microsec_clock"><template>
2386 <template-type-parameter name="time_type"/>
2387 </template><purpose>A clock providing microsecond level resolution. </purpose><description><para>A high precision clock that measures the local time at a resolution up to microseconds and adjusts to the resolution of the time system. For example, for the a library configuration with nano second resolution, the last 3 places of the fractional seconds will always be 000 since there are 1000 nano-seconds in a micro second. </para></description><typedef name="date_type"><type>time_type::date_type</type></typedef>
2388<typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
2389<typedef name="resolution_traits_type"><type>time_duration_type::rep_type</type></typedef>
2390<method-group name="public static functions">
2391<method name="local_time" specifiers="static"><type>time_type</type><template>
2392 <template-type-parameter name="time_zone_type"/>
2393 </template><parameter name="tz_ptr"><paramtype>shared_ptr&lt; time_zone_type &gt;</paramtype></parameter><purpose>return a local time object for the given zone, based on computer clock </purpose></method>
2394<method name="local_time" specifiers="static"><type>time_type</type><purpose>Returns the local time based on computer clock settings. </purpose></method>
2395<method name="universal_time" specifiers="static"><type>time_type</type><purpose>Returns the UTC time based on computer settings. </purpose></method>
2396</method-group>
2397<method-group name="private static functions">
2398<method name="create_time" specifiers="static"><type>time_type</type><parameter name="converter"><paramtype>time_converter</paramtype></parameter></method>
92f5a8d4
TL
2399<method name="file_time_to_microseconds" specifiers="static"><type>boost::uint64_t</type><parameter name="ft"><paramtype>boost::winapi::FILETIME_ const &amp;</paramtype></parameter><description><para>The function converts file_time into number of microseconds elapsed since 1970-Jan-01</para><para><note><para>Only dates after 1970-Jan-01 are supported. Dates before will be wrapped. </para>
2400</note>
b32b8144
FG
2401</para></description></method>
2402</method-group>
2403</class>
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436</namespace>
2437</namespace>
2438</header>
2439<header name="boost/date_time/parse_format_base.hpp">
2440<namespace name="boost">
2441<namespace name="date_time">
2442<enum name="month_format_spec"><enumvalue name="month_as_integer"/><enumvalue name="month_as_short_string"/><enumvalue name="month_as_long_string"/><purpose>Enum for distinguishing parsing and formatting options. </purpose></enum>
2443<enum name="ymd_order_spec"><enumvalue name="ymd_order_iso"/><enumvalue name="ymd_order_dmy"/><enumvalue name="ymd_order_us"/><purpose>Enum for distinguishing the order of Month, Day, &amp; Year. </purpose><description><para>Enum for distinguishing the order in which Month, Day, &amp; Year will appear in a date string </para></description></enum>
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477</namespace>
2478</namespace>
2479</header>
2480<header name="boost/date_time/period.hpp">
2481<para>This file contain the implementation of the period abstraction. This is basically the same idea as a range. Although this class is intended for use in the time library, it is pretty close to general enough for other numeric uses. </para><namespace name="boost">
2482<namespace name="date_time">
2483<class name="period"><template>
2484 <template-type-parameter name="point_rep"/>
2485 <template-type-parameter name="duration_rep"/>
2486 </template><inherit access="private">boost::less_than_comparable&lt; period&lt; point_rep, duration_rep &gt;, boost::equality_comparable&lt; period&lt; point_rep, duration_rep &gt; &gt; &gt;</inherit><purpose>Provides generalized period type useful in date-time systems. </purpose><description><para>This template uses a class to represent a time point within the period and another class to represent a duration. As a result, this class is not appropriate for use when the number and duration representation are the same (eg: in the regular number domain).</para><para>A period can be specified by providing either the begining point and a duration or the begining point and the end point( end is NOT part of the period but 1 unit past it. A period will be "invalid" if either end_point &lt;= begin_point or the given duration is &lt;= 0. Any valid period will return false for is_null().</para><para>Zero length periods are also considered invalid. Zero length periods are periods where the begining and end points are the same, or, the given duration is zero. For a zero length period, the last point will be one unit less than the begining point.</para><para>In the case that the begin and last are the same, the period has a length of one unit.</para><para>The best way to handle periods is usually to provide a begining point and a duration. So, day1 + 7 days is a week period which includes all of the first day and 6 more days (eg: Sun to Sat). </para></description><typedef name="point_type"><type>point_rep</type></typedef>
2487<typedef name="duration_type"><type>duration_rep</type></typedef>
2488<method-group name="public member functions">
2489<method name="begin" cv="const"><type>point_rep</type><purpose>Return the first element in the period. </purpose></method>
2490<method name="end" cv="const"><type>point_rep</type><purpose>Return one past the last element. </purpose></method>
2491<method name="last" cv="const"><type>point_rep</type><purpose>Return the last item in the period. </purpose></method>
2492<method name="length" cv="const"><type>duration_rep</type><purpose>Return the length of the period. </purpose></method>
2493<method name="is_null" cv="const"><type>bool</type><purpose>True if period is ill formed (length is zero or less) </purpose></method>
2494<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>Equality operator. </purpose></method>
2495<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>Strict as defined by rhs.last &lt;= lhs.last. </purpose></method>
2496<method name="shift"><type>void</type><parameter name="d"><paramtype>const duration_rep &amp;</paramtype></parameter><purpose>Shift the start and end by the specified amount. </purpose></method>
2497<method name="expand"><type>void</type><parameter name="d"><paramtype>const duration_rep &amp;</paramtype></parameter><description><para>Expands the size of the period by the duration on both ends.</para><para>So before expand <programlisting language="c++"> [-------]
2498^ ^ ^ ^ ^ ^ ^
24991 2 3 4 5 6 7
2500</programlisting> After expand(2) <programlisting language="c++">[----------------------]
2501^ ^ ^ ^ ^ ^ ^
25021 2 3 4 5 6 7
2503</programlisting> </para></description></method>
2504<method name="contains" cv="const"><type>bool</type><parameter name="point"><paramtype>const point_rep &amp;</paramtype></parameter><purpose>True if the point is inside the period, zero length periods contain no points. </purpose></method>
2505<method name="contains" cv="const"><type>bool</type><parameter name="other"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>True if this period fully contains (or equals) the other period. </purpose></method>
2506<method name="intersects" cv="const"><type>bool</type><parameter name="other"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>True if the periods overlap in any way. </purpose></method>
2507<method name="is_adjacent" cv="const"><type>bool</type><parameter name="other"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>True if periods are next to each other without a gap. </purpose></method>
2508<method name="is_before" cv="const"><type>bool</type><parameter name="point"><paramtype>const point_rep &amp;</paramtype></parameter><purpose>True if all of the period is prior to the passed point or end &lt;= t. </purpose></method>
2509<method name="is_after" cv="const"><type>bool</type><parameter name="point"><paramtype>const point_rep &amp;</paramtype></parameter><purpose>True if all of the period is prior or t &lt; start. </purpose></method>
2510<method name="intersection" cv="const"><type><classname>period</classname></type><parameter name="other"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>Returns the period of intersection or invalid range no intersection. </purpose></method>
2511<method name="merge" cv="const"><type><classname>period</classname></type><parameter name="other"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>Returns the union of intersecting periods – or null period. </purpose></method>
2512<method name="span" cv="const"><type><classname>period</classname></type><parameter name="other"><paramtype>const <classname>period</classname> &amp;</paramtype></parameter><purpose>Combine two periods with earliest start and latest end. </purpose><description><para>Combines two periods and any gap between them such that start = min(p1.start, p2.start) end = max(p1.end , p2.end) <programlisting language="c++"> [---p1---)
2513 [---p2---)
2514result:
2515 [-----------p3----------)
2516</programlisting> </para></description></method>
2517</method-group>
2518<constructor><parameter name="first_point"><paramtype>point_rep</paramtype></parameter><parameter name="end_point"><paramtype>point_rep</paramtype></parameter><purpose>create a period from begin to last eg: [begin,end) </purpose><description><para>If end &lt;= begin then the period will be invalid </para></description></constructor>
2519<constructor><parameter name="first_point"><paramtype>point_rep</paramtype></parameter><parameter name="len"><paramtype>duration_rep</paramtype></parameter><purpose>create a period as [begin, begin+len) </purpose><description><para>If len is &lt;= 0 then the period will be invalid </para></description></constructor>
2520</class>
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553</namespace>
2554</namespace>
2555</header>
2556<header name="boost/date_time/period_formatter.hpp">
2557<namespace name="boost">
2558<namespace name="date_time">
2559<class name="period_formatter"><template>
2560 <template-type-parameter name="CharT"/>
2561 <template-type-parameter name="OutItrT"><default>std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
2562 </template><purpose>Not a facet, but a class used to specify and control period formats. </purpose><description><para>Provides settings for the following:<itemizedlist>
92f5a8d4
TL
2563<listitem><para>period_separator – default '/'</para>
2564</listitem><listitem><para>period_open_start_delimeter – default '['</para>
2565</listitem><listitem><para>period_open_range_end_delimeter – default ')'</para>
2566</listitem><listitem><para>period_closed_range_end_delimeter – default ']'</para>
2567</listitem><listitem><para>display_as_open_range, display_as_closed_range – default closed_range</para>
2568</listitem></itemizedlist>
b32b8144
FG
2569</para><para>Thus the default formatting for a period is as follows: <programlisting language="c++">[period.start()/period.last()]
2570</programlisting> So for a typical date_period this would be <programlisting language="c++">[2004-Jan-04/2004-Feb-01]
2571</programlisting> where the date formatting is controlled by the date facet </para></description><enum name="range_display_options"><enumvalue name="AS_OPEN_RANGE"/><enumvalue name="AS_CLOSED_RANGE"/></enum>
2572<typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
2573<typedef name="char_type"><type>CharT</type></typedef>
2574<typedef name="const_itr_type"><type>std::basic_string&lt; char_type &gt;::const_iterator</type></typedef>
2575<typedef name="collection_type"><type>std::vector&lt; std::basic_string&lt; CharT &gt; &gt;</type></typedef>
2576<data-member name="default_period_separator" specifiers="static"><type>const char_type</type></data-member>
2577<data-member name="default_period_start_delimeter" specifiers="static"><type>const char_type</type></data-member>
2578<data-member name="default_period_open_range_end_delimeter" specifiers="static"><type>const char_type</type></data-member>
2579<data-member name="default_period_closed_range_end_delimeter" specifiers="static"><type>const char_type</type></data-member>
2580<method-group name="public member functions">
2581<method name="put_period_separator" cv="const"><type>OutItrT</type><parameter name="oitr"><paramtype>OutItrT &amp;</paramtype></parameter><purpose>Puts the characters between period elements into stream – default is /. </purpose></method>
2582<method name="put_period_start_delimeter" cv="const"><type>OutItrT</type><parameter name="oitr"><paramtype>OutItrT &amp;</paramtype></parameter><purpose>Puts the period start characters into stream – default is [. </purpose></method>
2583<method name="put_period_end_delimeter" cv="const"><type>OutItrT</type><parameter name="oitr"><paramtype>OutItrT &amp;</paramtype></parameter><purpose>Puts the period end characters into stream as controled by open/closed range setting. </purpose></method>
2584<method name="range_option" cv="const"><type>range_display_options</type></method>
2585<method name="range_option" cv="const"><type>void</type><parameter name="option"><paramtype>range_display_options</paramtype></parameter><purpose>Reset the range_option control. </purpose></method>
11fdf7f2 2586<method name="delimiter_strings"><type>void</type><parameter name="separator"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="start_delim"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="open_end_delim"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="closed_end_delim"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Change the delimiter strings. </purpose></method>
b32b8144
FG
2587<method name="put_period" cv="const"><type>OutItrT</type><template>
2588 <template-type-parameter name="period_type"/>
2589 <template-type-parameter name="facet_type"/>
2590 </template><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="a_fill"><paramtype>char_type</paramtype></parameter><parameter name="p"><paramtype>const period_type &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Generic code to output a period – no matter the period type. </purpose><description><para>This generic code will output any period using a facet to to output the 'elements'. For example, in the case of a date_period the elements will be instances of a date which will be formatted according the to setup in the passed facet parameter.</para><para>The steps for formatting a period are always the same:<itemizedlist>
92f5a8d4
TL
2591<listitem><para>put the start delimiter</para>
2592</listitem><listitem><para>put start element</para>
2593</listitem><listitem><para>put the separator</para>
2594</listitem><listitem><para>put either last or end element depending on range settings</para>
2595</listitem><listitem><para>put end delimeter depending on range settings</para>
2596</listitem></itemizedlist>
b32b8144
FG
2597</para><para>Thus for a typical date period the result might look like this: <programlisting language="c++">[March 01, 2004/June 07, 2004] &lt;-- closed range
2598[March 01, 2004/June 08, 2004) &lt;-- open range
2599</programlisting> </para></description></method>
2600</method-group>
2601<constructor><parameter name="range_option_in"><paramtype>range_display_options</paramtype><default>AS_CLOSED_RANGE</default></parameter><parameter name="period_separator"><paramtype>const char_type *const</paramtype><default>default_period_separator</default></parameter><parameter name="period_start_delimeter"><paramtype>const char_type *const</paramtype><default>default_period_start_delimeter</default></parameter><parameter name="period_open_range_end_delimeter"><paramtype>const char_type *const</paramtype><default>default_period_open_range_end_delimeter</default></parameter><parameter name="period_closed_range_end_delimeter"><paramtype>const char_type *const</paramtype><default>default_period_closed_range_end_delimeter</default></parameter><purpose>Constructor that sets up period formatter options – default should suffice most cases. </purpose></constructor>
2602</class>
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635</namespace>
2636</namespace>
2637</header>
2638<header name="boost/date_time/period_parser.hpp">
2639<namespace name="boost">
2640<namespace name="date_time">
2641<class name="period_parser"><template>
2642 <template-type-parameter name="date_type"/>
2643 <template-type-parameter name="CharT"/>
2644 </template><purpose>Not a facet, but a class used to specify and control period parsing. </purpose><description><para>Provides settings for the following:<itemizedlist>
92f5a8d4
TL
2645<listitem><para>period_separator – default '/'</para>
2646</listitem><listitem><para>period_open_start_delimeter – default '['</para>
2647</listitem><listitem><para>period_open_range_end_delimeter – default ')'</para>
2648</listitem><listitem><para>period_closed_range_end_delimeter – default ']'</para>
2649</listitem><listitem><para>display_as_open_range, display_as_closed_range – default closed_range</para>
2650</listitem></itemizedlist>
b32b8144
FG
2651</para><para>For a typical date_period, the contents of the input stream would be <programlisting language="c++">[2004-Jan-04/2004-Feb-01]
2652</programlisting> where the date format is controlled by the date facet </para></description><enum name="period_range_option"><enumvalue name="AS_OPEN_RANGE"/><enumvalue name="AS_CLOSED_RANGE"/></enum>
2653<typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
2654<typedef name="char_type"><type>CharT</type></typedef>
2655<typedef name="stream_itr_type"><type>std::istreambuf_iterator&lt; CharT &gt;</type></typedef>
2656<typedef name="parse_tree_type"><type><classname>string_parse_tree</classname>&lt; CharT &gt;</type></typedef>
2657<typedef name="match_results"><type><classname>parse_tree_type::parse_match_result_type</classname></type></typedef>
2658<typedef name="collection_type"><type>std::vector&lt; std::basic_string&lt; CharT &gt; &gt;</type></typedef>
2659<data-member name="default_period_separator" specifiers="static"><type>const char_type</type></data-member>
2660<data-member name="default_period_start_delimeter" specifiers="static"><type>const char_type</type></data-member>
2661<data-member name="default_period_open_range_end_delimeter" specifiers="static"><type>const char_type</type></data-member>
2662<data-member name="default_period_closed_range_end_delimeter" specifiers="static"><type>const char_type</type></data-member>
2663<method-group name="public member functions">
2664<method name="range_option" cv="const"><type>period_range_option</type></method>
2665<method name="range_option"><type>void</type><parameter name="option"><paramtype>period_range_option</paramtype></parameter></method>
2666<method name="delimiter_strings" cv="const"><type>collection_type</type></method>
2667<method name="delimiter_strings"><type>void</type><parameter name="separator"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="start_delim"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="open_end_delim"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="closed_end_delim"><paramtype>const string_type &amp;</paramtype></parameter></method>
2668<method name="get_period" cv="const"><type>period_type</type><template>
2669 <template-type-parameter name="period_type"/>
2670 <template-type-parameter name="duration_type"/>
2671 <template-type-parameter name="facet_type"/>
2672 </template><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="a_ios"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name=""><paramtype>const period_type &amp;</paramtype></parameter><parameter name="dur_unit"><paramtype>const duration_type &amp;</paramtype></parameter><parameter name="facet"><paramtype>const facet_type &amp;</paramtype></parameter><purpose>Generic code to parse a period – no matter the period type. </purpose><description><para>This generic code will parse any period using a facet to to get the 'elements'. For example, in the case of a date_period the elements will be instances of a date which will be parsed according the to setup in the passed facet parameter.</para><para>The steps for parsing a period are always the same:<itemizedlist>
92f5a8d4
TL
2673<listitem><para>consume the start delimiter</para>
2674</listitem><listitem><para>get start element</para>
2675</listitem><listitem><para>consume the separator</para>
2676</listitem><listitem><para>get either last or end element depending on range settings</para>
2677</listitem><listitem><para>consume the end delimeter depending on range settings</para>
2678</listitem></itemizedlist>
b32b8144
FG
2679</para><para>Thus for a typical date period the contents of the input stream might look like this: <programlisting language="c++">[March 01, 2004/June 07, 2004] &lt;-- closed range
2680[March 01, 2004/June 08, 2004) &lt;-- open range
2681</programlisting> </para></description></method>
2682</method-group>
2683<constructor><parameter name="range_opt"><paramtype>period_range_option</paramtype><default>AS_CLOSED_RANGE</default></parameter><parameter name="period_separator"><paramtype>const char_type *const</paramtype><default>default_period_separator</default></parameter><parameter name="period_start_delimeter"><paramtype>const char_type *const</paramtype><default>default_period_start_delimeter</default></parameter><parameter name="period_open_range_end_delimeter"><paramtype>const char_type *const</paramtype><default>default_period_open_range_end_delimeter</default></parameter><parameter name="period_closed_range_end_delimeter"><paramtype>const char_type *const</paramtype><default>default_period_closed_range_end_delimeter</default></parameter><purpose>Constructor that sets up period parser options. </purpose></constructor>
2684<constructor><parameter name="p_parser"><paramtype>const <classname>period_parser</classname>&lt; date_type, CharT &gt; &amp;</paramtype></parameter></constructor>
2685<method-group name="private member functions">
2686<method name="consume_delim" cv="const"><type>void</type><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>stream_itr_type &amp;</paramtype></parameter><parameter name="delim"><paramtype>const string_type &amp;</paramtype></parameter><purpose>throws ios_base::failure if delimiter and parsed data do not match </purpose></method>
2687</method-group>
2688</class>
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721</namespace>
2722</namespace>
2723</header>
2724<header name="boost/date_time/special_defs.hpp">
2725<namespace name="boost">
2726<namespace name="date_time">
2727<enum name="special_values"><enumvalue name="not_a_date_time"/><enumvalue name="neg_infin"/><enumvalue name="pos_infin"/><enumvalue name="min_date_time"/><enumvalue name="max_date_time"/><enumvalue name="not_special"/><enumvalue name="NumSpecialValues"/></enum>
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761</namespace>
2762</namespace>
2763</header>
2764<header name="boost/date_time/special_values_formatter.hpp">
2765<namespace name="boost">
2766<namespace name="date_time">
2767<class name="special_values_formatter"><template>
2768 <template-type-parameter name="CharT"/>
2769 <template-type-parameter name="OutItrT"><default>std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
2770 </template><purpose>Class that provides generic formmatting ostream formatting for special values. </purpose><description><para>This class provides for the formmating of special values to an output stream. In particular, it produces strings for the values of negative and positive infinity as well as not_a_date_time.</para><para>While not a facet, this class is used by the date and time facets for formatting special value types. </para></description><typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
2771<typedef name="char_type"><type>CharT</type></typedef>
2772<typedef name="collection_type"><type>std::vector&lt; string_type &gt;</type></typedef>
2773<data-member name="default_special_value_names" specifiers="static"><type>const char_type</type><purpose>Storage for the strings used to indicate special values. </purpose></data-member>
2774<method-group name="public member functions">
2775<method name="put_special" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="value"><paramtype>const boost::date_time::special_values &amp;</paramtype></parameter></method>
2776</method-group>
2777<constructor><purpose>Construct special values formatter using default strings. </purpose><description><para>Default strings are not-a-date-time -infinity +infinity </para></description></constructor>
2778<constructor><parameter name="begin"><paramtype>const char_type *const *</paramtype></parameter><parameter name="end"><paramtype>const char_type *const *</paramtype></parameter><purpose>Construct special values formatter from array of strings. </purpose><description><para>This constructor will take pair of iterators from an array of strings that represent the special values and copy them for use in formatting special values. <programlisting language="c++">const char* const special_value_names[]={"nadt","-inf","+inf" };
2779
2780special_value_formatter svf(&amp;special_value_names[0], &amp;special_value_names[3]);
2781</programlisting> </para></description></constructor>
2782<constructor><parameter name="beg"><paramtype>typename collection_type::iterator</paramtype></parameter><parameter name="end"><paramtype>typename collection_type::iterator</paramtype></parameter></constructor>
2783</class>
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816</namespace>
2817</namespace>
2818</header>
2819<header name="boost/date_time/special_values_parser.hpp">
2820<namespace name="boost">
2821<namespace name="date_time">
2822<class name="special_values_parser"><template>
2823 <template-type-parameter name="date_type"/>
2824 <template-type-parameter name="charT"/>
2825 </template><purpose>Class for special_value parsing. </purpose><description><para>TODO: add doc-comments for which elements can be changed Parses input stream for strings representing special_values. Special values parsed are:<itemizedlist>
92f5a8d4
TL
2826<listitem><para>not_a_date_time</para>
2827</listitem><listitem><para>neg_infin</para>
2828</listitem><listitem><para>pod_infin</para>
2829</listitem><listitem><para>min_date_time</para>
2830</listitem><listitem><para>max_date_time </para>
2831</listitem></itemizedlist>
b32b8144 2832</para></description><typedef name="string_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
11fdf7f2 2833<typedef name="stringstream_type"><type>std::basic_stringstream&lt; charT &gt;</type></typedef>
b32b8144
FG
2834<typedef name="stream_itr_type"><type>std::istreambuf_iterator&lt; charT &gt;</type></typedef>
2835<typedef name="duration_type"><type>date_type::duration_type</type></typedef>
2836<typedef name="parse_tree_type"><type><classname>string_parse_tree</classname>&lt; charT &gt;</type></typedef>
2837<typedef name="match_results"><type><classname>parse_tree_type::parse_match_result_type</classname></type></typedef>
2838<typedef name="collection_type"><type>std::vector&lt; std::basic_string&lt; charT &gt; &gt;</type></typedef>
2839<typedef name="char_type"><type>charT</type></typedef>
2840<data-member name="nadt_string" specifiers="static"><type>const char_type</type></data-member>
2841<data-member name="neg_inf_string" specifiers="static"><type>const char_type</type></data-member>
2842<data-member name="pos_inf_string" specifiers="static"><type>const char_type</type></data-member>
2843<data-member name="min_date_time_string" specifiers="static"><type>const char_type</type></data-member>
2844<data-member name="max_date_time_string" specifiers="static"><type>const char_type</type></data-member>
2845<method-group name="public member functions">
2846<method name="sv_strings"><type>void</type><parameter name="nadt_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="neg_inf_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="pos_inf_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="min_dt_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="max_dt_str"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Replace special value strings. </purpose></method>
11fdf7f2
TL
2847<method name="match" cv="const"><type>bool</type><parameter name="sitr"><paramtype>stream_itr_type &amp;</paramtype><description><para>the start iterator </para></description></parameter><parameter name="str_end"><paramtype>stream_itr_type &amp;</paramtype><description><para>the end iterator </para></description></parameter><parameter name="mr"><paramtype><classname>match_results</classname> &amp;</paramtype><description><para>the match result: mr.current_match is set to the corresponding special_value or -1 </para></description></parameter><description><para>Given an input iterator, attempt to match it to a known special value
2848
92f5a8d4
TL
2849</para></description><returns><para>whether something matched </para>
2850</returns></method>
b32b8144
FG
2851</method-group>
2852<constructor><purpose>Creates a <classname alt="boost::date_time::special_values_parser">special_values_parser</classname> with the default set of "sv_strings". </purpose></constructor>
2853<constructor><parameter name="nadt_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="neg_inf_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="pos_inf_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="min_dt_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="max_dt_str"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Creates a <classname alt="boost::date_time::special_values_parser">special_values_parser</classname> using a user defined set of element strings. </purpose></constructor>
2854<constructor><parameter name="beg"><paramtype>typename collection_type::iterator</paramtype></parameter><parameter name="end"><paramtype>typename collection_type::iterator</paramtype></parameter></constructor>
2855<constructor><parameter name="svp"><paramtype>const <classname>special_values_parser</classname>&lt; date_type, charT &gt; &amp;</paramtype></parameter></constructor>
11fdf7f2
TL
2856<method-group name="public static functions">
2857<method name="likely" specifiers="static"><type>bool</type><parameter name="str"><paramtype>const string_type &amp;</paramtype><description><para>the string to check </para></description></parameter><description><para>The parser is expensive to create, and not thread-safe so it cannot be static therefore given a string, determine if it is likely to be a special value. A negative response is a definite no, whereas a positive is only likely and match() should be called and return value checked.
2858
92f5a8d4
TL
2859</para></description><returns><para>false if it is definitely not a special value </para>
2860</returns></method>
11fdf7f2 2861</method-group>
b32b8144
FG
2862</class>
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895</namespace>
2896</namespace>
2897</header>
2898<header name="boost/date_time/string_convert.hpp">
2899<namespace name="boost">
2900<namespace name="date_time">
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912<function name="convert_string_type"><type>std::basic_string&lt; OutputT &gt;</type><template>
2913 <template-type-parameter name="InputT"/>
2914 <template-type-parameter name="OutputT"/>
2915 </template><parameter name="inp_str"><paramtype>const std::basic_string&lt; InputT &gt; &amp;</paramtype></parameter><purpose>Converts a string from one value_type to another. </purpose><description><para>Converts a wstring to a string (or a string to wstring). If both template parameters are of same type, a copy of the input string is returned. </para></description></function>
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937</namespace>
2938</namespace>
2939</header>
2940<header name="boost/date_time/string_parse_tree.hpp">
2941<namespace name="boost">
2942<namespace name="date_time">
2943<struct name="parse_match_result"><template>
2944 <template-type-parameter name="charT"/>
2945 </template><enum name="PARSE_STATE"><enumvalue name="PARSE_ERROR"><default>= -1</default></enumvalue></enum>
2946<typedef name="string_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
2947<data-member name="cache"><type>string_type</type></data-member>
2948<data-member name="match_depth"><type>unsigned short</type></data-member>
2949<data-member name="current_match"><type>short</type></data-member>
2950<method-group name="public member functions">
2951<method name="remaining" cv="const"><type>string_type</type></method>
2952<method name="last_char" cv="const"><type>charT</type></method>
2953<method name="has_remaining" cv="const"><type>bool</type><purpose>Returns true if more characters were parsed than was necessary. </purpose><description><para>Should be used in conjunction with last_char() to get the remaining character. </para></description></method>
2954</method-group>
2955<constructor/>
2956</struct><struct name="string_parse_tree"><template>
2957 <template-type-parameter name="charT"/>
2958 </template><purpose>Recursive data structure to allow efficient parsing of various strings. </purpose><description><para>This class provides a quick lookup by building what amounts to a tree data structure. It also features a match function which can can handle nasty input interators by caching values as it recurses the tree so that it can backtrack as needed. </para></description><typedef name="ptree_coll"><type>std::multimap&lt; charT, <classname>string_parse_tree</classname>&lt; charT &gt; &gt;</type></typedef>
2959<typedef name="ptree_coll"><type>std::multimap&lt; charT, <classname>string_parse_tree</classname> &gt;</type></typedef>
2960<typedef name="value_type"><type>ptree_coll::value_type</type></typedef>
2961<typedef name="iterator"><type>ptree_coll::iterator</type></typedef>
2962<typedef name="const_iterator"><type>ptree_coll::const_iterator</type></typedef>
2963<typedef name="string_type"><type>std::basic_string&lt; charT &gt;</type></typedef>
2964<typedef name="collection_type"><type>std::vector&lt; std::basic_string&lt; charT &gt; &gt;</type></typedef>
2965<typedef name="parse_match_result_type"><type><classname>parse_match_result</classname>&lt; charT &gt;</type></typedef>
2966<data-member name="m_next_chars"><type>ptree_coll</type></data-member>
2967<data-member name="m_value"><type>short</type></data-member>
2968<method-group name="public member functions">
2969<method name="insert"><type>void</type><parameter name="s"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="value"><paramtype>unsigned short</paramtype></parameter></method>
2970<method name="match" cv="const"><type>short</type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="result"><paramtype><classname>parse_match_result_type</classname> &amp;</paramtype></parameter><parameter name="level"><paramtype>unsigned int &amp;</paramtype></parameter><purpose>Recursive function that finds a matching string in the tree. </purpose><description><para>Must check match_results::has_remaining() after match() is called. This is required so the user can determine if stream iterator is already pointing to the expected character or not (match() might advance sitr to next char in stream).</para><para>A <classname alt="boost::date_time::parse_match_result">parse_match_result</classname> that has been returned from a failed match attempt can be sent in to the match function of a different <classname alt="boost::date_time::string_parse_tree">string_parse_tree</classname> to attempt a match there. Use the iterators for the partially consumed stream, the <classname alt="boost::date_time::parse_match_result">parse_match_result</classname> object, and '0' for the level parameter. </para></description></method>
2971<method name="match" cv="const"><type><classname>parse_match_result_type</classname></type><parameter name="sitr"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>std::istreambuf_iterator&lt; charT &gt; &amp;</paramtype></parameter><description><para>Must check match_results::has_remaining() after match() is called. This is required so the user can determine if stream iterator is already pointing to the expected character or not (match() might advance sitr to next char in stream). </para></description></method>
2972<method name="printme"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype></parameter><parameter name="level"><paramtype>int &amp;</paramtype></parameter></method>
2973<method name="print"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2974<method name="printmatch"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype></parameter><parameter name="c"><paramtype>charT</paramtype></parameter></method>
2975</method-group>
2976<constructor><parameter name="names"><paramtype>collection_type</paramtype></parameter><parameter name="starting_point"><paramtype>unsigned int</paramtype><default>0</default></parameter><description><para>Parameter "starting_point" designates where the numbering begins. A starting_point of zero will start the numbering at zero (Sun=0, Mon=1, ...) were a starting_point of one starts the numbering at one (Jan=1, Feb=2, ...). The default is zero, negative vaules are not allowed </para></description></constructor>
11fdf7f2 2977<constructor><parameter name="value"><paramtype>short</paramtype><default>parse_match_result_type::PARSE_ERROR</default></parameter></constructor>
b32b8144
FG
2978</struct>
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988<function name="operator&lt;&lt;"><type>std::basic_ostream&lt; charT &gt; &amp;</type><template>
2989 <template-type-parameter name="charT"/>
2990 </template><parameter name="os"><paramtype>std::basic_ostream&lt; charT &gt; &amp;</paramtype></parameter><parameter name="mr"><paramtype><classname>parse_match_result</classname>&lt; charT &gt; &amp;</paramtype></parameter></function>
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013</namespace>
3014</namespace>
3015</header>
3016<header name="boost/date_time/strings_from_facet.hpp">
3017<namespace name="boost">
3018<namespace name="date_time">
3019
3020
3021
3022
3023
3024
3025
3026
3027<function name="gather_month_strings"><type>std::vector&lt; std::basic_string&lt; charT &gt; &gt;</type><template>
3028 <template-type-parameter name="charT"/>
3029 </template><parameter name="locale"><paramtype>const std::locale &amp;</paramtype><description><para>The locale to use when gathering the strings </para></description></parameter><parameter name="short_strings"><paramtype>bool</paramtype><default>true</default><description><para>True(default) to gather short strings, false for long strings. </para></description></parameter><purpose>This function gathers up all the month strings from a std::locale. </purpose><description><para>Using the time_put facet, this function creates a collection of all the month strings from a locale. This is handy when building custom date parsers or formatters that need to be localized.</para><para>
3030
92f5a8d4
TL
3031</para></description><returns><para>A vector of strings containing the strings in order. eg: Jan, Feb, Mar, etc. </para>
3032</returns></function>
b32b8144
FG
3033<function name="gather_weekday_strings"><type>std::vector&lt; std::basic_string&lt; charT &gt; &gt;</type><template>
3034 <template-type-parameter name="charT"/>
3035 </template><parameter name="locale"><paramtype>const std::locale &amp;</paramtype><description><para>The locale to use when gathering the strings </para></description></parameter><parameter name="short_strings"><paramtype>bool</paramtype><default>true</default><description><para>True(default) to gather short strings, false for long strings. </para></description></parameter><purpose>This function gathers up all the weekday strings from a std::locale. </purpose><description><para>Using the time_put facet, this function creates a collection of all the weekday strings from a locale starting with the string for 'Sunday'. This is handy when building custom date parsers or formatters that need to be localized.</para><para>
3036
92f5a8d4
TL
3037</para></description><returns><para>A vector of strings containing the weekdays in order. eg: Sun, Mon, Tue, Wed, Thu, Fri, Sat </para>
3038</returns></function>
b32b8144
FG
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062</namespace>
3063</namespace>
3064</header>
3065<header name="boost/date_time/time.hpp">
3066<para>This file contains the interface for the time associated classes. </para><namespace name="boost">
3067<namespace name="date_time">
3068<class name="base_time"><template>
3069 <template-type-parameter name="T"/>
3070 <template-type-parameter name="time_system"/>
3071 </template><inherit access="private">boost::less_than_comparable&lt; T, boost::equality_comparable&lt; T &gt; &gt;</inherit><purpose>Representation of a precise moment in time, including the date. </purpose><description><para>This class is a skeleton for the interface of a temporal type with a resolution that is higher than a day. It is intended that this class be the base class and that the actual time class be derived using the BN pattern. In this way, the derived class can make decisions such as 'should there be a default constructor' and what should it set its value to, should there be optional constructors say allowing only an time_durations that generate a time from a clock,etc. So, in fact multiple time types can be created for a time_system with different construction policies, and all of them can perform basic operations by only writing a copy constructor. Finally, compiler errors are also shorter.</para><para>The real behavior of the time class is provided by the time_system template parameter. This class must provide all the logic for addition, subtraction, as well as define all the interface types. </para></description><typedef name="_is_boost_date_time_time_point"><type>void</type></typedef>
3072<typedef name="time_type"><type>T</type></typedef>
3073<typedef name="time_rep_type"><type>time_system::time_rep_type</type></typedef>
3074<typedef name="date_type"><type>time_system::date_type</type></typedef>
3075<typedef name="date_duration_type"><type>time_system::date_duration_type</type></typedef>
3076<typedef name="time_duration_type"><type>time_system::time_duration_type</type></typedef>
3077<method-group name="public member functions">
3078<method name="date" cv="const"><type>date_type</type></method>
3079<method name="time_of_day" cv="const"><type>time_duration_type</type></method>
3080<method name="zone_name" cv="const"><type>std::string</type><parameter name=""><paramtype>bool</paramtype><default>false</default></parameter><description><para>Optional bool parameter will return time zone as an offset (ie "+07:00"). Empty string is returned for classes that do not use a time_zone </para></description></method>
3081<method name="zone_abbrev" cv="const"><type>std::string</type><parameter name=""><paramtype>bool</paramtype><default>false</default></parameter><description><para>Optional bool parameter will return time zone as an offset (ie "+07:00"). Empty string is returned for classes that do not use a time_zone </para></description></method>
3082<method name="zone_as_posix_string" cv="const"><type>std::string</type><purpose>An empty string is returned for classes that do not use a time_zone. </purpose></method>
3083<method name="is_not_a_date_time" cv="const"><type>bool</type><purpose>check to see if date is not a value </purpose></method>
3084<method name="is_infinity" cv="const"><type>bool</type><purpose>check to see if date is one of the infinity values </purpose></method>
3085<method name="is_pos_infinity" cv="const"><type>bool</type><purpose>check to see if date is greater than all possible dates </purpose></method>
3086<method name="is_neg_infinity" cv="const"><type>bool</type><purpose>check to see if date is greater than all possible dates </purpose></method>
3087<method name="is_special" cv="const"><type>bool</type><purpose>check to see if time is a special value </purpose></method>
3088<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const time_type &amp;</paramtype></parameter><purpose>Equality operator – others generated by boost::equality_comparable. </purpose></method>
3089<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const time_type &amp;</paramtype></parameter><purpose>Equality operator – others generated by boost::less_than_comparable. </purpose></method>
3090<method name="operator-" cv="const"><type>time_duration_type</type><parameter name="rhs"><paramtype>const time_type &amp;</paramtype></parameter><purpose>difference between two times </purpose></method>
3091<method name="operator+" cv="const"><type>time_type</type><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter><purpose>add date durations </purpose></method>
3092<method name="operator+="><type>time_type</type><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter></method>
3093<method name="operator-" cv="const"><type>time_type</type><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter><purpose>subtract date durations </purpose></method>
3094<method name="operator-="><type>time_type</type><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter></method>
3095<method name="operator+" cv="const"><type>time_type</type><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>add time durations </purpose></method>
3096<method name="operator+="><type>time_type</type><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter></method>
3097<method name="operator-" cv="const"><type>time_type</type><parameter name="rhs"><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>subtract time durations </purpose></method>
3098<method name="operator-="><type>time_type</type><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter></method>
3099</method-group>
3100<constructor><parameter name="day"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="dst"><paramtype>dst_flags</paramtype><default>not_dst</default></parameter></constructor>
3101<constructor><parameter name="sv"><paramtype>special_values</paramtype></parameter></constructor>
3102<constructor><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></constructor>
3103</class>
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136</namespace>
3137</namespace>
3138</header>
3139<header name="boost/date_time/time_clock.hpp">
3140<para>This file contains the interface for clock devices. </para><namespace name="boost">
3141<namespace name="date_time">
3142<class name="second_clock"><template>
3143 <template-type-parameter name="time_type"/>
3144 </template><purpose>A clock providing time level services based on C time_t capabilities. </purpose><description><para>This clock provides resolution to the 1 second level </para></description><typedef name="date_type"><type>time_type::date_type</type></typedef>
3145<typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
3146<method-group name="public static functions">
3147<method name="local_time" specifiers="static"><type>time_type</type></method>
3148<method name="universal_time" specifiers="static"><type>time_type</type><purpose>Get the current day in universal date as a ymd_type. </purpose></method>
3149<method name="local_time" specifiers="static"><type>time_type</type><template>
3150 <template-type-parameter name="time_zone_type"/>
3151 </template><parameter name="tz_ptr"><paramtype>boost::shared_ptr&lt; time_zone_type &gt;</paramtype></parameter></method>
3152</method-group>
3153<method-group name="private static functions">
3154<method name="create_time" specifiers="static"><type>time_type</type><parameter name="current"><paramtype>::std::tm *</paramtype></parameter></method>
3155</method-group>
3156</class>
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189</namespace>
3190</namespace>
3191</header>
3192<header name="boost/date_time/time_defs.hpp">
3193<para>This file contains nice definitions for handling the resoluion of various time reprsentations. </para><namespace name="boost">
3194<namespace name="date_time">
3195<enum name="time_resolutions"><enumvalue name="sec"/><enumvalue name="tenth"/><enumvalue name="hundreth"/><enumvalue name="hundredth"><default>= hundreth</default></enumvalue><enumvalue name="milli"/><enumvalue name="ten_thousandth"/><enumvalue name="micro"/><enumvalue name="nano"/><enumvalue name="NumResolutions"/><purpose>Defines some nice types for handling time level resolutions. </purpose></enum>
3196<enum name="dst_flags"><enumvalue name="not_dst"/><enumvalue name="is_dst"/><enumvalue name="calculate"/><purpose>Flags for daylight savings or summer time. </purpose></enum>
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230</namespace>
3231</namespace>
3232</header>
3233<header name="boost/date_time/time_duration.hpp">
3234<namespace name="boost">
3235<namespace name="date_time">
92f5a8d4
TL
3236<class name="subsecond_duration"><template>
3237 <template-type-parameter name="base_duration"/>
3238 <template-nontype-parameter name="frac_of_second"><type>boost::int64_t</type></template-nontype-parameter>
3239 </template><inherit access="public">base_duration</inherit><purpose>Template for instantiating derived adjusting durations. </purpose><typedef name="impl_type"><type>base_duration::impl_type</type></typedef>
3240<typedef name="traits_type"><type>base_duration::traits_type</type></typedef>
3241<method-group name="private member functions">
3242<method name="BOOST_STATIC_ASSERT_MSG"><type/><parameter name=""><paramtype>(traits_type::ticks_per_second &gt;=frac_of_second ? traits_type::ticks_per_second % frac_of_second :frac_of_second % traits_type::ticks_per_second)</paramtype><default>=0</default></parameter><parameter name=""><paramtype>\ "The base duration resolution must be a multiple of the subsecond duration resolution"</paramtype></parameter></method>
3243<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>boost::int64_t</paramtype></parameter><parameter name=""><paramtype>adjustment_ratio</paramtype><default>(traits_type::ticks_per_second &gt;=frac_of_second ? traits_type::ticks_per_second/frac_of_second :frac_of_second/traits_type::ticks_per_second)</default></parameter></method>
3244</method-group>
3245<method-group name="public member functions">
3246</method-group>
3247<constructor specifiers="explicit"><template>
3248 <template-type-parameter name="T"/>
3249 </template><parameter name="ss"><paramtype>T const &amp;</paramtype></parameter><parameter name=""><paramtype>typename boost::enable_if&lt; boost::is_integral&lt; T &gt;, void &gt;::type *</paramtype><default>BOOST_DATE_TIME_NULLPTR</default></parameter></constructor>
3250</class><class name="time_duration"><template>
3251 <template-type-parameter name="T"><purpose><para>The subclass type </para></purpose></template-type-parameter>
3252 <template-type-parameter name="rep_type"><purpose><para>The time resolution traits for this duration type. </para></purpose></template-type-parameter>
b32b8144
FG
3253 </template><inherit access="private">boost::less_than_comparable&lt; T, boost::equality_comparable&lt; T &gt; &gt;</inherit><purpose>Represents some amount of elapsed time measure to a given resolution. </purpose><description><para>This class represents a standard set of capabilities for all counted time durations. Time duration implementations should derive from this class passing their type as the first template parameter. This design allows the subclass duration types to provide custom construction policies or other custom features not provided here.</para><para>
3254</para></description><typedef name="_is_boost_date_time_duration"><type>void</type></typedef>
3255<typedef name="duration_type"><type>T</type></typedef>
3256<typedef name="traits_type"><type>rep_type</type></typedef>
3257<typedef name="day_type"><type>rep_type::day_type</type></typedef>
3258<typedef name="hour_type"><type>rep_type::hour_type</type></typedef>
3259<typedef name="min_type"><type>rep_type::min_type</type></typedef>
3260<typedef name="sec_type"><type>rep_type::sec_type</type></typedef>
3261<typedef name="fractional_seconds_type"><type>rep_type::fractional_seconds_type</type></typedef>
3262<typedef name="tick_type"><type>rep_type::tick_type</type></typedef>
3263<typedef name="impl_type"><type>rep_type::impl_type</type></typedef>
3264<method-group name="public member functions">
3265<method name="hours" cv="const"><type>hour_type</type><purpose>Returns number of hours in the duration. </purpose></method>
3266<method name="minutes" cv="const"><type>min_type</type><purpose>Returns normalized number of minutes. </purpose></method>
3267<method name="seconds" cv="const"><type>sec_type</type><purpose>Returns normalized number of seconds (0..60) </purpose></method>
3268<method name="total_seconds" cv="const"><type>sec_type</type><purpose>Returns total number of seconds truncating any fractional seconds. </purpose></method>
3269<method name="total_milliseconds" cv="const"><type>tick_type</type><purpose>Returns total number of milliseconds truncating any fractional seconds. </purpose></method>
3270<method name="total_nanoseconds" cv="const"><type>tick_type</type><purpose>Returns total number of nanoseconds truncating any sub millisecond values. </purpose></method>
3271<method name="total_microseconds" cv="const"><type>tick_type</type><purpose>Returns total number of microseconds truncating any sub microsecond values. </purpose></method>
3272<method name="fractional_seconds" cv="const"><type>fractional_seconds_type</type><purpose>Returns count of fractional seconds at given resolution. </purpose></method>
3273<method name="invert_sign" cv="const"><type>duration_type</type></method>
92f5a8d4 3274<method name="abs" cv="const"><type>duration_type</type></method>
b32b8144 3275<method name="is_negative" cv="const"><type>bool</type></method>
92f5a8d4
TL
3276<method name="is_zero" cv="const"><type>bool</type></method>
3277<method name="is_positive" cv="const"><type>bool</type></method>
b32b8144
FG
3278<method name="operator&lt;" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>time_duration</classname> &amp;</paramtype></parameter></method>
3279<method name="operator==" cv="const"><type>bool</type><parameter name="rhs"><paramtype>const <classname>time_duration</classname> &amp;</paramtype></parameter></method>
3280<method name="operator-" cv="const"><type>duration_type</type><purpose>unary- Allows for <classname alt="boost::date_time::time_duration">time_duration</classname> td = -td1 </purpose></method>
3281<method name="operator-" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const duration_type &amp;</paramtype></parameter></method>
3282<method name="operator+" cv="const"><type>duration_type</type><parameter name="d"><paramtype>const duration_type &amp;</paramtype></parameter></method>
3283<method name="operator/" cv="const"><type>duration_type</type><parameter name="divisor"><paramtype>int</paramtype></parameter></method>
3284<method name="operator-="><type>duration_type</type><parameter name="d"><paramtype>const duration_type &amp;</paramtype></parameter></method>
3285<method name="operator+="><type>duration_type</type><parameter name="d"><paramtype>const duration_type &amp;</paramtype></parameter></method>
3286<method name="operator/="><type>duration_type</type><parameter name="divisor"><paramtype>int</paramtype></parameter><purpose>Division operations on a duration with an integer. </purpose></method>
92f5a8d4
TL
3287<method name="operator *" cv="const"><type>duration_type</type><parameter name="rhs"><paramtype>int</paramtype></parameter><purpose>Multiplication operations an a duration with an integer. </purpose></method>
3288<method name="operator *="><type>duration_type</type><parameter name="divisor"><paramtype>int</paramtype></parameter></method>
b32b8144
FG
3289<method name="ticks" cv="const"><type>tick_type</type></method>
3290<method name="is_special" cv="const"><type>bool</type><purpose>Is ticks_ a special value? </purpose></method>
3291<method name="is_pos_infinity" cv="const"><type>bool</type><purpose>Is duration pos-infinity. </purpose></method>
3292<method name="is_neg_infinity" cv="const"><type>bool</type><purpose>Is duration neg-infinity. </purpose></method>
3293<method name="is_not_a_date_time" cv="const"><type>bool</type><purpose>Is duration not-a-date-time. </purpose></method>
3294<method name="get_rep" cv="const"><type>impl_type</type><purpose>Used for special_values output. </purpose></method>
3295</method-group>
3296<constructor/>
3297<constructor><parameter name="hours_in"><paramtype>hour_type</paramtype></parameter><parameter name="minutes_in"><paramtype>min_type</paramtype></parameter><parameter name="seconds_in"><paramtype>sec_type</paramtype><default>0</default></parameter><parameter name="frac_sec_in"><paramtype>fractional_seconds_type</paramtype><default>0</default></parameter></constructor>
3298<constructor><parameter name="other"><paramtype>const <classname>time_duration</classname>&lt; T, rep_type &gt; &amp;</paramtype></parameter><purpose>Construct from another <classname alt="boost::date_time::time_duration">time_duration</classname> (Copy constructor) </purpose></constructor>
3299<constructor><parameter name="sv"><paramtype>special_values</paramtype></parameter><purpose>Construct from special_values. </purpose></constructor>
3300<method-group name="public static functions">
3301<method name="unit" specifiers="static"><type>duration_type</type><purpose>Returns smallest representable duration. </purpose></method>
3302<method name="ticks_per_second" specifiers="static"><type>tick_type</type><purpose>Return the number of ticks in a second. </purpose></method>
3303<method name="resolution" specifiers="static"><type>time_resolutions</type><purpose>Provide the resolution of this duration type. </purpose></method>
3304<method name="num_fractional_digits" specifiers="static"><type>unsigned short</type><purpose>Returns number of possible digits in fractional seconds. </purpose></method>
3305</method-group>
3306<method-group name="protected member functions">
3307</method-group>
3308<constructor specifiers="explicit"><parameter name="in"><paramtype>impl_type</paramtype></parameter></constructor>
b32b8144
FG
3309</class>
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342</namespace>
3343</namespace>
3344</header>
3345<header name="boost/date_time/time_facet.hpp">
3346<namespace name="boost">
3347<namespace name="date_time">
92f5a8d4 3348<class name="time_facet"><template>
b32b8144
FG
3349 <template-type-parameter name="time_type"/>
3350 <template-type-parameter name="CharT"/>
3351 <template-type-parameter name="OutItrT"><default>std::ostreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
3352 </template><inherit access="public">boost::date_time::date_facet&lt; time_type::date_type, CharT, OutItrT &gt;</inherit><description><para>Facet used for format-based output of time types This class provides for the use of format strings to output times. In addition to the flags for formatting date elements, the following are the allowed format flags:<itemizedlist>
92f5a8d4
TL
3353<listitem><para>x X =&gt; default format - enables addition of more flags to default (ie. "%x %X %z")</para>
3354</listitem><listitem><para>f =&gt; fractional seconds ".123456"</para>
3355</listitem><listitem><para>F =&gt; fractional seconds or none: like frac sec but empty if frac sec == 0</para>
3356</listitem><listitem><para>s =&gt; seconds w/ fractional sec "02.123" (this is the same as "%S%f)
b32b8144
FG
3357 - %S =&gt; seconds "02"
3358 - %z =&gt; abbreviated time zone "EDT"
92f5a8d4
TL
3359 - %Z =&gt; full time zone name "Eastern Daylight Time" </para>
3360</listitem></itemizedlist>
b32b8144
FG
3361</para></description><typedef name="date_type"><type>time_type::date_type</type></typedef>
3362<typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
3363<typedef name="period_type"><type><classname>boost::date_time::period</classname>&lt; time_type, time_duration_type &gt;</type></typedef>
3364<typedef name="base_type"><type><classname>boost::date_time::date_facet</classname>&lt; typename time_type::date_type, CharT, OutItrT &gt;</type></typedef>
3365<typedef name="string_type"><type>base_type::string_type</type></typedef>
3366<typedef name="char_type"><type>base_type::char_type</type></typedef>
3367<typedef name="period_formatter_type"><type><classname>base_type::period_formatter_type</classname></type></typedef>
3368<typedef name="special_values_formatter_type"><type><classname>base_type::special_values_formatter_type</classname></type></typedef>
3369<typedef name="date_gen_formatter_type"><type><classname>base_type::date_gen_formatter_type</classname></type></typedef>
3370<data-member name="fractional_seconds_format" specifiers="static"><type>const char_type *</type></data-member>
3371<data-member name="fractional_seconds_or_none_format" specifiers="static"><type>const char_type *</type></data-member>
3372<data-member name="seconds_with_fractional_seconds_format" specifiers="static"><type>const char_type *</type></data-member>
3373<data-member name="seconds_format" specifiers="static"><type>const char_type *</type></data-member>
3374<data-member name="hours_format" specifiers="static"><type>const char_type *</type></data-member>
3375<data-member name="unrestricted_hours_format" specifiers="static"><type>const char_type *</type></data-member>
3376<data-member name="standard_format" specifiers="static"><type>const char_type *</type></data-member>
3377<data-member name="zone_abbrev_format" specifiers="static"><type>const char_type *</type></data-member>
3378<data-member name="zone_name_format" specifiers="static"><type>const char_type *</type></data-member>
3379<data-member name="zone_iso_format" specifiers="static"><type>const char_type *</type></data-member>
3380<data-member name="zone_iso_extended_format" specifiers="static"><type>const char_type *</type></data-member>
3381<data-member name="posix_zone_string_format" specifiers="static"><type>const char_type *</type></data-member>
3382<data-member name="duration_seperator" specifiers="static"><type>const char_type *</type></data-member>
3383<data-member name="duration_sign_always" specifiers="static"><type>const char_type *</type></data-member>
3384<data-member name="duration_sign_negative_only" specifiers="static"><type>const char_type *</type></data-member>
3385<data-member name="negative_sign" specifiers="static"><type>const char_type *</type></data-member>
3386<data-member name="positive_sign" specifiers="static"><type>const char_type *</type></data-member>
3387<data-member name="iso_time_format_specifier" specifiers="static"><type>const char_type *</type></data-member>
3388<data-member name="iso_time_format_extended_specifier" specifiers="static"><type>const char_type *</type></data-member>
3389<data-member name="default_time_format" specifiers="static"><type>const char_type *</type></data-member>
3390<data-member name="default_time_duration_format" specifiers="static"><type>const char_type *</type></data-member>
3391<data-member name="id" specifiers="static"><type>std::locale::id</type></data-member>
3392<method-group name="public member functions">
3393<method name="__get_id" cv="const"><type>std::locale::id &amp;</type><parameter name=""><paramtype>void</paramtype></parameter></method>
3394<method name="time_duration_format"><type>void</type><parameter name="format"><paramtype>const char_type *const</paramtype></parameter><purpose>Changes format for <classname alt="boost::date_time::time_duration">time_duration</classname>. </purpose></method>
3395<method name="set_iso_format" specifiers="virtual"><type>void</type></method>
3396<method name="set_iso_extended_format" specifiers="virtual"><type>void</type></method>
3397<method name="put" cv="const"><type>OutItrT</type><parameter name="next_arg"><paramtype>OutItrT</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_arg"><paramtype>char_type</paramtype></parameter><parameter name="time_arg"><paramtype>const time_type &amp;</paramtype></parameter></method>
3398<method name="put" cv="const"><type>OutItrT</type><parameter name="next_arg"><paramtype>OutItrT</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill_arg"><paramtype>char_type</paramtype></parameter><parameter name="time_dur_arg"><paramtype>const time_duration_type &amp;</paramtype></parameter><purpose>put function for <classname alt="boost::date_time::time_duration">time_duration</classname> </purpose></method>
3399<method name="put" cv="const"><type>OutItrT</type><parameter name="next"><paramtype>OutItrT</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="fill"><paramtype>char_type</paramtype></parameter><parameter name="p"><paramtype>const <classname>period_type</classname> &amp;</paramtype></parameter></method>
3400</method-group>
3401<constructor specifiers="explicit"><parameter name="ref_arg"><paramtype>::size_t</paramtype><default>0</default></parameter><purpose>sets default formats for ptime, local_date_time, and <classname alt="boost::date_time::time_duration">time_duration</classname> </purpose></constructor>
3402<constructor specifiers="explicit"><parameter name="format_arg"><paramtype>const char_type *</paramtype></parameter><parameter name="period_formatter_arg"><paramtype><classname>period_formatter_type</classname></paramtype><default><classname alt="boost::date_time::period_formatter">period_formatter_type</classname>()</default></parameter><parameter name="special_value_formatter"><paramtype>const <classname>special_values_formatter_type</classname> &amp;</paramtype><default><classname alt="boost::date_time::special_values_formatter">special_values_formatter_type</classname>()</default></parameter><parameter name="dg_formatter"><paramtype><classname>date_gen_formatter_type</classname></paramtype><default><classname alt="boost::date_time::date_generator_formatter">date_gen_formatter_type</classname>()</default></parameter><parameter name="ref_arg"><paramtype>::size_t</paramtype><default>0</default></parameter><purpose>Construct the facet with an explicitly specified format. </purpose></constructor>
3403<method-group name="protected static functions">
3404<method name="fractional_seconds_as_string" specifiers="static"><type>string_type</type><parameter name="time_arg"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="null_when_zero"><paramtype>bool</paramtype></parameter></method>
3405<method name="hours_as_string" specifiers="static"><type>string_type</type><parameter name="time_arg"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="width"><paramtype>int</paramtype><default>2</default></parameter></method>
3406<method name="integral_as_string" specifiers="static"><type>string_type</type><template>
3407 <template-type-parameter name="IntT"/>
3408 </template><parameter name="val"><paramtype>IntT</paramtype></parameter><parameter name="width"><paramtype>int</paramtype><default>2</default></parameter></method>
3409</method-group>
92f5a8d4
TL
3410</class><struct name="time_formats"><template>
3411 <template-type-parameter name="CharT"/>
3412 </template><typedef name="char_type"><type>CharT</type></typedef>
3413<data-member name="fractional_seconds_format" specifiers="static"><type>const char_type</type></data-member>
3414<data-member name="fractional_seconds_or_none_format" specifiers="static"><type>const char_type</type></data-member>
3415<data-member name="seconds_with_fractional_seconds_format" specifiers="static"><type>const char_type</type></data-member>
3416<data-member name="seconds_format" specifiers="static"><type>const char_type</type></data-member>
3417<data-member name="hours_format" specifiers="static"><type>const char_type</type></data-member>
3418<data-member name="unrestricted_hours_format" specifiers="static"><type>const char_type</type></data-member>
3419<data-member name="full_24_hour_time_format" specifiers="static"><type>const char_type</type></data-member>
3420<data-member name="full_24_hour_time_expanded_format" specifiers="static"><type>const char_type</type></data-member>
3421<data-member name="short_24_hour_time_format" specifiers="static"><type>const char_type</type></data-member>
3422<data-member name="short_24_hour_time_expanded_format" specifiers="static"><type>const char_type</type></data-member>
3423<data-member name="standard_format" specifiers="static"><type>const char_type</type></data-member>
3424<data-member name="zone_abbrev_format" specifiers="static"><type>const char_type</type></data-member>
3425<data-member name="zone_name_format" specifiers="static"><type>const char_type</type></data-member>
3426<data-member name="zone_iso_format" specifiers="static"><type>const char_type</type></data-member>
3427<data-member name="zone_iso_extended_format" specifiers="static"><type>const char_type</type></data-member>
3428<data-member name="posix_zone_string_format" specifiers="static"><type>const char_type</type></data-member>
3429<data-member name="duration_sign_negative_only" specifiers="static"><type>const char_type</type></data-member>
3430<data-member name="duration_sign_always" specifiers="static"><type>const char_type</type></data-member>
3431<data-member name="duration_seperator" specifiers="static"><type>const char_type</type></data-member>
3432<data-member name="negative_sign" specifiers="static"><type>const char_type</type></data-member>
3433<data-member name="positive_sign" specifiers="static"><type>const char_type</type></data-member>
3434<data-member name="iso_time_format_specifier" specifiers="static"><type>const char_type</type></data-member>
3435<data-member name="iso_time_format_extended_specifier" specifiers="static"><type>const char_type</type></data-member>
3436<data-member name="default_time_format" specifiers="static"><type>const char_type</type></data-member>
3437<data-member name="default_time_input_format" specifiers="static"><type>const char_type</type></data-member>
3438<data-member name="default_time_duration_format" specifiers="static"><type>const char_type</type></data-member>
3439</struct><class name="time_input_facet"><template>
b32b8144
FG
3440 <template-type-parameter name="time_type"/>
3441 <template-type-parameter name="CharT"/>
3442 <template-type-parameter name="InItrT"><default>std::istreambuf_iterator&lt;CharT, std::char_traits&lt;CharT&gt; &gt;</default></template-type-parameter>
3443 </template><inherit access="public">boost::date_time::date_input_facet&lt; time_type::date_type, CharT, InItrT &gt;</inherit><purpose>Facet for format-based input. </purpose><typedef name="date_type"><type>time_type::date_type</type></typedef>
3444<typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
3445<typedef name="fracional_seconds_type"><type>time_duration_type::fractional_seconds_type</type></typedef>
3446<typedef name="period_type"><type><classname>boost::date_time::period</classname>&lt; time_type, time_duration_type &gt;</type></typedef>
3447<typedef name="base_type"><type><classname>boost::date_time::date_input_facet</classname>&lt; typename time_type::date_type, CharT, InItrT &gt;</type></typedef>
3448<typedef name="date_duration_type"><type>base_type::duration_type</type></typedef>
3449<typedef name="year_type"><type>base_type::year_type</type></typedef>
3450<typedef name="month_type"><type>base_type::month_type</type></typedef>
3451<typedef name="day_type"><type>base_type::day_type</type></typedef>
3452<typedef name="string_type"><type>base_type::string_type</type></typedef>
3453<typedef name="const_itr"><type>string_type::const_iterator</type></typedef>
3454<typedef name="char_type"><type>base_type::char_type</type></typedef>
3455<typedef name="format_date_parser_type"><type><classname>base_type::format_date_parser_type</classname></type></typedef>
3456<typedef name="period_parser_type"><type><classname>base_type::period_parser_type</classname></type></typedef>
3457<typedef name="special_values_parser_type"><type><classname>base_type::special_values_parser_type</classname></type></typedef>
3458<typedef name="date_gen_parser_type"><type><classname>base_type::date_gen_parser_type</classname></type></typedef>
3459<typedef name="match_results"><type>base_type::special_values_parser_type::match_results</type></typedef>
3460<data-member name="fractional_seconds_format" specifiers="static"><type>const char_type *</type></data-member>
3461<data-member name="fractional_seconds_or_none_format" specifiers="static"><type>const char_type *</type></data-member>
3462<data-member name="seconds_with_fractional_seconds_format" specifiers="static"><type>const char_type *</type></data-member>
3463<data-member name="seconds_format" specifiers="static"><type>const char_type *</type></data-member>
3464<data-member name="standard_format" specifiers="static"><type>const char_type *</type></data-member>
3465<data-member name="zone_abbrev_format" specifiers="static"><type>const char_type *</type></data-member>
3466<data-member name="zone_name_format" specifiers="static"><type>const char_type *</type></data-member>
3467<data-member name="zone_iso_format" specifiers="static"><type>const char_type *</type></data-member>
3468<data-member name="zone_iso_extended_format" specifiers="static"><type>const char_type *</type></data-member>
3469<data-member name="duration_seperator" specifiers="static"><type>const char_type *</type></data-member>
3470<data-member name="iso_time_format_specifier" specifiers="static"><type>const char_type *</type></data-member>
3471<data-member name="iso_time_format_extended_specifier" specifiers="static"><type>const char_type *</type></data-member>
3472<data-member name="default_time_input_format" specifiers="static"><type>const char_type *</type></data-member>
3473<data-member name="default_time_duration_format" specifiers="static"><type>const char_type *</type></data-member>
3474<data-member name="id" specifiers="static"><type>std::locale::id</type></data-member>
3475<method-group name="public member functions">
3476<method name="time_duration_format"><type>void</type><parameter name="format"><paramtype>const char_type *const</paramtype></parameter><purpose>Set the format for <classname alt="boost::date_time::time_duration">time_duration</classname>. </purpose></method>
3477<method name="set_iso_format" specifiers="virtual"><type>void</type></method>
3478<method name="set_iso_extended_format" specifiers="virtual"><type>void</type></method>
3479<method name="get" cv="const"><type>InItrT</type><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="p"><paramtype><classname>period_type</classname> &amp;</paramtype></parameter></method>
3480<method name="get" cv="const"><type>InItrT</type><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="td"><paramtype>time_duration_type &amp;</paramtype></parameter></method>
3481<method name="get" cv="const"><type>InItrT</type><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="t"><paramtype>time_type &amp;</paramtype></parameter><purpose>Parses a time object from the input stream. </purpose></method>
3482<method name="get_local_time" cv="const"><type>InItrT</type><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="t"><paramtype>time_type &amp;</paramtype></parameter><parameter name="tz_str"><paramtype>string_type &amp;</paramtype></parameter><purpose>Expects a time_zone in the input stream. </purpose></method>
3483</method-group>
3484<constructor specifiers="explicit"><parameter name="format"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="ref_arg"><paramtype>::size_t</paramtype><default>0</default></parameter><purpose>Constructor that takes a format string for a ptime. </purpose></constructor>
3485<constructor specifiers="explicit"><parameter name="format"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="date_parser"><paramtype>const <classname>format_date_parser_type</classname> &amp;</paramtype></parameter><parameter name="sv_parser"><paramtype>const <classname>special_values_parser_type</classname> &amp;</paramtype></parameter><parameter name="per_parser"><paramtype>const <classname>period_parser_type</classname> &amp;</paramtype></parameter><parameter name="date_gen_parser"><paramtype>const <classname>date_gen_parser_type</classname> &amp;</paramtype></parameter><parameter name="ref_arg"><paramtype>::size_t</paramtype><default>0</default></parameter></constructor>
3486<constructor specifiers="explicit"><parameter name="ref_arg"><paramtype>::size_t</paramtype><default>0</default></parameter><purpose>sets default formats for ptime, local_date_time, and <classname alt="boost::date_time::time_duration">time_duration</classname> </purpose></constructor>
3487<method-group name="protected member functions">
3488<method name="get" cv="const"><type>InItrT</type><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="ios_arg"><paramtype>std::ios_base &amp;</paramtype></parameter><parameter name="t"><paramtype>time_type &amp;</paramtype></parameter><parameter name="tz_str"><paramtype>string_type &amp;</paramtype></parameter><parameter name="time_is_local"><paramtype>bool</paramtype></parameter></method>
3489<method name="check_special_value" cv="const"><type>InItrT</type><template>
3490 <template-type-parameter name="temporal_type"/>
3491 </template><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="tt"><paramtype>temporal_type &amp;</paramtype></parameter><parameter name="c"><paramtype>char_type</paramtype><default>'\0'</default></parameter><purpose>Helper function to check for special_value. </purpose><description><para>First character may have been consumed during original parse attempt. Parameter 'c' should be a copy of that character. Throws ios_base::failure if parse fails. </para></description></method>
3492<method name="parse_frac_type" cv="const"><type>void</type><parameter name="sitr"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="stream_end"><paramtype>InItrT &amp;</paramtype></parameter><parameter name="frac"><paramtype>fracional_seconds_type &amp;</paramtype></parameter><purpose>Helper function for parsing a fractional second type from the stream. </purpose></method>
3493</method-group>
3494<method-group name="private member functions">
3495<method name="decimal_adjust" cv="const"><type>int_type</type><template>
3496 <template-type-parameter name="int_type"/>
3497 </template><parameter name="val"><paramtype>int_type</paramtype></parameter><parameter name="places"><paramtype>const unsigned short</paramtype></parameter><purpose>Helper function to adjust trailing zeros when parsing fractional digits. </purpose></method>
3498</method-group>
3499</class>
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532</namespace>
3533</namespace>
3534</header>
3535<header name="boost/date_time/time_formatting_streams.hpp">
3536<namespace name="boost">
3537<namespace name="date_time">
3538<class name="ostream_time_duration_formatter"><template>
3539 <template-type-parameter name="time_duration_type"/>
3540 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
3541 </template><purpose>Put a time type into a stream using appropriate facets. </purpose><typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
3542<typedef name="fractional_seconds_type"><type>time_duration_type::fractional_seconds_type</type></typedef>
3543<method-group name="public static functions">
3544<method name="duration_put" specifiers="static"><type>void</type><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><purpose>Put time into an ostream. </purpose></method>
3545</method-group>
3546</class><class name="ostream_time_formatter"><template>
3547 <template-type-parameter name="time_type"/>
3548 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
3549 </template><purpose>Put a time type into a stream using appropriate facets. </purpose><typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
3550<typedef name="date_type"><type>time_type::date_type</type></typedef>
3551<typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
3552<typedef name="duration_formatter"><type><classname>ostream_time_duration_formatter</classname>&lt; time_duration_type, charT &gt;</type></typedef>
3553<method-group name="public static functions">
3554<method name="time_put" specifiers="static"><type>void</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><purpose>Put time into an ostream. </purpose></method>
3555</method-group>
3556</class><class name="ostream_time_period_formatter"><template>
3557 <template-type-parameter name="time_period_type"/>
3558 <template-type-parameter name="charT"><default>char</default></template-type-parameter>
3559 </template><purpose>Put a time period into a stream using appropriate facets. </purpose><typedef name="ostream_type"><type>std::basic_ostream&lt; charT &gt;</type></typedef>
3560<typedef name="time_type"><type>time_period_type::point_type</type></typedef>
3561<typedef name="time_formatter"><type><classname>ostream_time_formatter</classname>&lt; time_type, charT &gt;</type></typedef>
3562<method-group name="public static functions">
3563<method name="period_put" specifiers="static"><type>void</type><parameter name="tp"><paramtype>const time_period_type &amp;</paramtype></parameter><parameter name="os"><paramtype>ostream_type &amp;</paramtype></parameter><purpose>Put time into an ostream. </purpose></method>
3564</method-group>
3565</class>
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598</namespace>
3599</namespace>
3600</header>
3601<header name="boost/date_time/time_iterator.hpp">
3602<namespace name="boost">
3603<namespace name="date_time">
3604<class name="time_itr"><template>
3605 <template-type-parameter name="time_type"/>
3606 </template><purpose>Simple time iterator skeleton class. </purpose><typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
3607<method-group name="public member functions">
3608<method name="operator++"><type><classname>time_itr</classname> &amp;</type></method>
3609<method name="operator--"><type><classname>time_itr</classname> &amp;</type></method>
92f5a8d4 3610<method name="operator *"><type>time_type</type></method>
b32b8144
FG
3611<method name="operator-&gt;"><type>time_type *</type></method>
3612<method name="operator&lt;"><type>bool</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter></method>
3613<method name="operator&lt;="><type>bool</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter></method>
3614<method name="operator!="><type>bool</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter></method>
3615<method name="operator=="><type>bool</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter></method>
3616<method name="operator&gt;"><type>bool</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter></method>
3617<method name="operator&gt;="><type>bool</type><parameter name="t"><paramtype>const time_type &amp;</paramtype></parameter></method>
3618</method-group>
3619<constructor><parameter name="t"><paramtype>time_type</paramtype></parameter><parameter name="d"><paramtype>time_duration_type</paramtype></parameter></constructor>
3620</class>
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653</namespace>
3654</namespace>
3655</header>
3656<header name="boost/date_time/time_parsing.hpp">
3657<namespace name="boost">
3658<namespace name="date_time">
3659
3660<function name="power"><type>int_type</type><template>
3661 <template-type-parameter name="int_type"/>
3662 </template><parameter name="base"><paramtype>int_type</paramtype></parameter><parameter name="exponent"><paramtype>int_type</paramtype></parameter><purpose>computes exponential math like 2^8 =&gt; 256, only works with positive integers </purpose></function>
3663<function name="str_from_delimited_time_duration"><type><classname>time_duration</classname></type><template>
3664 <template-type-parameter name="time_duration"/>
3665 <template-type-parameter name="char_type"/>
3666 </template><parameter name="s"><paramtype>const std::basic_string&lt; char_type &gt; &amp;</paramtype></parameter><purpose>Creates a <classname alt="boost::date_time::time_duration">time_duration</classname> object from a delimited string. </purpose><description><para>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</para><para>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </para></description></function>
3667<function name="parse_delimited_time_duration"><type><classname>time_duration</classname></type><template>
3668 <template-type-parameter name="time_duration"/>
3669 </template><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><purpose>Creates a <classname alt="boost::date_time::time_duration">time_duration</classname> object from a delimited string. </purpose><description><para>Expected format for string is "[-]h[h][:mm][:ss][.fff]". If the number of fractional digits provided is greater than the precision of the time duration type then the extra digits are truncated.</para><para>A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.". </para></description></function>
3670<function name="split"><type>bool</type><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><parameter name="sep"><paramtype>char</paramtype></parameter><parameter name="first"><paramtype>std::string &amp;</paramtype></parameter><parameter name="second"><paramtype>std::string &amp;</paramtype></parameter><purpose>Utility function to split appart string. </purpose></function>
3671<function name="parse_delimited_time"><type>time_type</type><template>
3672 <template-type-parameter name="time_type"/>
3673 </template><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><parameter name="sep"><paramtype>char</paramtype></parameter></function>
3674<function name="parse_undelimited_time_duration"><type><classname>time_duration</classname></type><template>
3675 <template-type-parameter name="time_duration"/>
3676 </template><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><purpose>Parse time duration part of an iso time of form: [-]hhmmss<ulink url="eg: 120259.123 is 12 hours, 2 min, 59 seconds, 123000 microseconds">.fff...</ulink> </purpose></function>
3677<function name="parse_iso_time"><type>time_type</type><template>
3678 <template-type-parameter name="time_type"/>
3679 </template><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter><parameter name="sep"><paramtype>char</paramtype></parameter><purpose>Parse time string of form YYYYMMDDThhmmss where T is delimeter between date and time. </purpose></function>
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705</namespace>
3706</namespace>
3707</header>
3708<header name="boost/date_time/time_resolution_traits.hpp">
3709<namespace name="boost">
3710<namespace name="date_time">
92f5a8d4 3711<class name="time_resolution_traits"><template>
b32b8144
FG
3712 <template-type-parameter name="frac_sec_type"/>
3713 <template-nontype-parameter name="res"><type>time_resolutions</type></template-nontype-parameter>
92f5a8d4 3714 <template-nontype-parameter name="resolution_adjust"><type>#if(defined(BOOST_MSVC) &amp;&amp;(_MSC_VER&lt; 1300)) boost::int64_t</type></template-nontype-parameter>
b32b8144
FG
3715 <template-nontype-parameter name="resolution_adjust"><type>#else typename frac_sec_type::int_type</type></template-nontype-parameter>
3716 <template-nontype-parameter name="frac_digits"><type>#endif unsigned short</type></template-nontype-parameter>
11fdf7f2 3717 <template-type-parameter name="var_type"><default>boost::int64_t</default></template-type-parameter>
b32b8144
FG
3718 </template><typedef name="fractional_seconds_type"><type>frac_sec_type::int_type</type></typedef>
3719<typedef name="tick_type"><type>frac_sec_type::int_type</type></typedef>
3720<typedef name="impl_type"><type>frac_sec_type::impl_type</type></typedef>
3721<typedef name="day_type"><type>var_type</type></typedef>
3722<typedef name="hour_type"><type>var_type</type></typedef>
3723<typedef name="min_type"><type>var_type</type></typedef>
3724<typedef name="sec_type"><type>var_type</type></typedef>
3725<method-group name="public static functions">
3726<method name="as_number" specifiers="static"><type>fractional_seconds_type</type><parameter name="i"><paramtype>impl_type</paramtype></parameter></method>
3727<method name="is_adapted" specifiers="static"><type>bool</type></method>
3728<method name="resolution" specifiers="static"><type>time_resolutions</type></method>
3729<method name="num_fractional_digits" specifiers="static"><type>unsigned short</type></method>
3730<method name="res_adjust" specifiers="static"><type>fractional_seconds_type</type></method>
3731<method name="to_tick_count" specifiers="static"><type>tick_type</type><parameter name="hours"><paramtype>hour_type</paramtype></parameter><parameter name="minutes"><paramtype>min_type</paramtype></parameter><parameter name="seconds"><paramtype>sec_type</paramtype></parameter><parameter name="fs"><paramtype>fractional_seconds_type</paramtype></parameter><purpose>Any negative argument results in a negative tick_count. </purpose></method>
3732</method-group>
3733<method-group name="public member functions">
3734<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>boost::int64_t</paramtype></parameter><parameter name=""><paramtype>ticks_per_second</paramtype><default>resolution_adjust</default></parameter></method>
3735<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>fractional_seconds_type</paramtype></parameter><parameter name=""><paramtype>ticks_per_second</paramtype><default>resolution_adjust</default></parameter></method>
3736</method-group>
92f5a8d4
TL
3737</class><struct name="time_resolution_traits_adapted32_impl"><purpose>traits struct for <classname alt="boost::date_time::time_resolution_traits">time_resolution_traits</classname> implementation type </purpose><typedef name="int_type"><type>boost::int32_t</type></typedef>
3738<typedef name="impl_type"><type><classname>boost::date_time::int_adapter</classname>&lt; boost::int32_t &gt;</type></typedef>
3739<method-group name="public static functions">
3740<method name="as_number" specifiers="static"><type>int_type</type><parameter name="i"><paramtype><classname>impl_type</classname></paramtype></parameter></method>
3741<method name="is_adapted" specifiers="static"><type>bool</type><purpose>Used to determine if implemented type is <classname alt="boost::date_time::int_adapter">int_adapter</classname> or int. </purpose></method>
3742</method-group>
3743</struct><struct name="time_resolution_traits_adapted64_impl"><purpose>traits struct for <classname alt="boost::date_time::time_resolution_traits">time_resolution_traits</classname> implementation type </purpose><typedef name="int_type"><type>boost::int64_t</type></typedef>
3744<typedef name="impl_type"><type><classname>boost::date_time::int_adapter</classname>&lt; boost::int64_t &gt;</type></typedef>
3745<method-group name="public static functions">
3746<method name="as_number" specifiers="static"><type>int_type</type><parameter name="i"><paramtype><classname>impl_type</classname></paramtype></parameter></method>
3747<method name="is_adapted" specifiers="static"><type>bool</type><purpose>Used to determine if implemented type is <classname alt="boost::date_time::int_adapter">int_adapter</classname> or int. </purpose></method>
3748</method-group>
3749</struct><struct name="time_resolution_traits_bi32_impl"><purpose>traits struct for <classname alt="boost::date_time::time_resolution_traits">time_resolution_traits</classname> implementation type </purpose><typedef name="int_type"><type>boost::int32_t</type></typedef>
3750<typedef name="impl_type"><type>boost::int32_t</type></typedef>
3751<method-group name="public static functions">
3752<method name="as_number" specifiers="static"><type>int_type</type><parameter name="i"><paramtype>impl_type</paramtype></parameter></method>
3753<method name="is_adapted" specifiers="static"><type>bool</type><purpose>Used to determine if implemented type is <classname alt="boost::date_time::int_adapter">int_adapter</classname> or int. </purpose></method>
3754</method-group>
3755</struct><struct name="time_resolution_traits_bi64_impl"><purpose>traits struct for <classname alt="boost::date_time::time_resolution_traits">time_resolution_traits</classname> implementation type </purpose><typedef name="int_type"><type>boost::int64_t</type></typedef>
3756<typedef name="impl_type"><type>boost::int64_t</type></typedef>
3757<method-group name="public static functions">
3758<method name="as_number" specifiers="static"><type>int_type</type><parameter name="i"><paramtype>impl_type</paramtype></parameter></method>
3759<method name="is_adapted" specifiers="static"><type>bool</type><purpose>Used to determine if implemented type is <classname alt="boost::date_time::int_adapter">int_adapter</classname> or int. </purpose></method>
3760</method-group>
3761</struct><typedef name="milli_res"><type><classname>time_resolution_traits</classname>&lt; <classname>time_resolution_traits_adapted32_impl</classname>, milli, 1000, 3 &gt;</type></typedef>
b32b8144
FG
3762<typedef name="micro_res"><type><classname>time_resolution_traits</classname>&lt; <classname>time_resolution_traits_adapted64_impl</classname>, micro, 1000000, 6 &gt;</type></typedef>
3763<typedef name="nano_res"><type><classname>time_resolution_traits</classname>&lt; <classname>time_resolution_traits_adapted64_impl</classname>, nano, 1000000000, 9 &gt;</type></typedef>
3764<function name="absolute_value"><type>T</type><template>
3765 <template-type-parameter name="T"/>
3766 </template><parameter name="x"><paramtype>T</paramtype></parameter><purpose>Simple function to calculate absolute value of a numeric type. </purpose></function>
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799</namespace>
3800</namespace>
3801</header>
3802<header name="boost/date_time/time_system_counted.hpp">
3803<namespace name="boost">
3804<namespace name="date_time">
3805<struct name="counted_time_rep"><template>
3806 <template-type-parameter name="config"/>
3807 </template><purpose>Time representation that uses a single integer count. </purpose><typedef name="int_type"><type>config::int_type</type></typedef>
3808<typedef name="date_type"><type>config::date_type</type></typedef>
3809<typedef name="impl_type"><type>config::impl_type</type></typedef>
3810<typedef name="date_duration_type"><type>date_type::duration_type</type></typedef>
3811<typedef name="calendar_type"><type>date_type::calendar_type</type></typedef>
3812<typedef name="ymd_type"><type>date_type::ymd_type</type></typedef>
3813<typedef name="time_duration_type"><type>config::time_duration_type</type></typedef>
3814<typedef name="resolution_traits"><type>config::resolution_traits</type></typedef>
3815<method-group name="public member functions">
3816<method name="date" cv="const"><type>date_type</type></method>
3817<method name="day_count" cv="const"><type>unsigned long</type></method>
3818<method name="time_count" cv="const"><type>int_type</type></method>
3819<method name="tod" cv="const"><type>int_type</type></method>
3820<method name="is_pos_infinity" cv="const"><type>bool</type></method>
3821<method name="is_neg_infinity" cv="const"><type>bool</type></method>
3822<method name="is_not_a_date_time" cv="const"><type>bool</type></method>
3823<method name="is_special" cv="const"><type>bool</type></method>
3824<method name="get_rep" cv="const"><type>impl_type</type></method>
3825</method-group>
3826<constructor><parameter name="d"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="time_of_day"><paramtype>const time_duration_type &amp;</paramtype></parameter></constructor>
3827<constructor specifiers="explicit"><parameter name="count"><paramtype>int_type</paramtype></parameter></constructor>
3828<constructor specifiers="explicit"><parameter name="count"><paramtype>impl_type</paramtype></parameter></constructor>
3829<method-group name="public static functions">
3830<method name="frac_sec_per_day" specifiers="static"><type>int_type</type></method>
3831</method-group>
3832</struct><class name="counted_time_system"><template>
3833 <template-type-parameter name="time_rep"/>
3834 </template><purpose>An unadjusted time system implementation. </purpose><typedef name="time_rep_type"><type>time_rep</type></typedef>
3835<typedef name="impl_type"><type>time_rep_type::impl_type</type></typedef>
3836<typedef name="time_duration_type"><type>time_rep_type::time_duration_type</type></typedef>
3837<typedef name="fractional_seconds_type"><type>time_duration_type::fractional_seconds_type</type></typedef>
3838<typedef name="date_type"><type>time_rep_type::date_type</type></typedef>
3839<typedef name="date_duration_type"><type>time_rep_type::date_duration_type</type></typedef>
3840<method-group name="public static functions">
3841<method name="unused_var" specifiers="static"><type>void</type><template>
3842 <template-type-parameter name="T"/>
3843 </template><parameter name=""><paramtype>const T &amp;</paramtype></parameter></method>
3844<method name="get_time_rep" specifiers="static"><type>time_rep_type</type><parameter name="day"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="tod"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="dst"><paramtype>date_time::dst_flags</paramtype><default>not_dst</default></parameter></method>
3845<method name="get_time_rep" specifiers="static"><type>time_rep_type</type><parameter name="sv"><paramtype>special_values</paramtype></parameter></method>
3846<method name="get_date" specifiers="static"><type>date_type</type><parameter name="val"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3847<method name="get_time_of_day" specifiers="static"><type>time_duration_type</type><parameter name="val"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3848<method name="zone_name" specifiers="static"><type>std::string</type><parameter name=""><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3849<method name="is_equal" specifiers="static"><type>bool</type><parameter name="lhs"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3850<method name="is_less" specifiers="static"><type>bool</type><parameter name="lhs"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3851<method name="add_days" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter></method>
3852<method name="subtract_days" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter></method>
3853<method name="subtract_time_duration" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter></method>
3854<method name="add_time_duration" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="td"><paramtype>time_duration_type</paramtype></parameter></method>
3855<method name="subtract_times" specifiers="static"><type>time_duration_type</type><parameter name="lhs"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3856</method-group>
3857</class>
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890</namespace>
3891</namespace>
3892</header>
3893<header name="boost/date_time/time_system_split.hpp">
3894<namespace name="boost">
3895<namespace name="date_time">
3896<class name="split_timedate_system"><template>
3897 <template-type-parameter name="config"/>
3898 <template-nontype-parameter name="ticks_per_second"><type>boost::int32_t</type></template-nontype-parameter>
3899 </template><purpose>An unadjusted time system implementation. </purpose><typedef name="time_rep_type"><type>config::time_rep_type</type></typedef>
3900<typedef name="date_type"><type>config::date_type</type></typedef>
3901<typedef name="time_duration_type"><type>config::time_duration_type</type></typedef>
3902<typedef name="date_duration_type"><type>config::date_duration_type</type></typedef>
3903<typedef name="int_type"><type>config::int_type</type></typedef>
3904<typedef name="resolution_traits"><type>config::resolution_traits</type></typedef>
92f5a8d4 3905<typedef name="wrap_int_type"><type><classname>date_time::wrapping_int</classname>&lt; int_type, INT64_C(86400) *ticks_per_second &gt;</type></typedef>
b32b8144
FG
3906<typedef name="wrap_int_type"><type><classname>date_time::wrapping_int</classname>&lt; split_timedate_system::int_type, split_timedate_system::ticks_per_day &gt;</type></typedef>
3907<typedef name="wrap_int_type"><type><classname>date_time::wrapping_int</classname>&lt; int_type, ticks_per_day &gt;</type></typedef>
3908<method-group name="private member functions">
92f5a8d4 3909<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int_type</paramtype></parameter><parameter name=""><paramtype>ticks_per_day</paramtype><default>INT64_C(86400) *config::tick_per_second</default></parameter></method>
b32b8144
FG
3910</method-group>
3911<method-group name="public static functions">
3912<method name="get_time_rep" specifiers="static"><type>time_rep_type</type><parameter name="sv"><paramtype>special_values</paramtype></parameter></method>
3913<method name="get_time_rep" specifiers="static"><type>time_rep_type</type><parameter name="day"><paramtype>const date_type &amp;</paramtype></parameter><parameter name="tod"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name=""><paramtype>date_time::dst_flags</paramtype><default>not_dst</default></parameter></method>
3914<method name="get_date" specifiers="static"><type>date_type</type><parameter name="val"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3915<method name="get_time_of_day" specifiers="static"><type>time_duration_type</type><parameter name="val"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3916<method name="zone_name" specifiers="static"><type>std::string</type><parameter name=""><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3917<method name="is_equal" specifiers="static"><type>bool</type><parameter name="lhs"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3918<method name="is_less" specifiers="static"><type>bool</type><parameter name="lhs"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3919<method name="add_days" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter></method>
3920<method name="subtract_days" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="dd"><paramtype>const date_duration_type &amp;</paramtype></parameter></method>
3921<method name="subtract_time_duration" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="td"><paramtype>const time_duration_type &amp;</paramtype></parameter></method>
3922<method name="add_time_duration" specifiers="static"><type>time_rep_type</type><parameter name="base"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="td"><paramtype>time_duration_type</paramtype></parameter></method>
3923<method name="subtract_times" specifiers="static"><type>time_duration_type</type><parameter name="lhs"><paramtype>const time_rep_type &amp;</paramtype></parameter><parameter name="rhs"><paramtype>const time_rep_type &amp;</paramtype></parameter></method>
3924</method-group>
3925</class>
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958</namespace>
3959</namespace>
3960</header>
3961<header name="boost/date_time/time_zone_base.hpp">
3962<namespace name="boost">
3963<namespace name="date_time">
92f5a8d4
TL
3964<class name="dst_adjustment_offsets"><template>
3965 <template-type-parameter name="time_duration_type"><purpose><para>A type used to represent the offset </para></purpose></template-type-parameter>
3966 </template><purpose>Structure which holds the time offsets associated with daylight savings time. </purpose><description><para>
3967</para></description><data-member name="dst_adjust_"><type>time_duration_type</type><purpose>Amount DST adjusts the clock eg: plus one hour. </purpose></data-member>
3968<data-member name="dst_start_offset_"><type>time_duration_type</type><purpose>Time past midnight on start transition day that dst starts. </purpose></data-member>
3969<data-member name="dst_end_offset_"><type>time_duration_type</type><purpose>Time past midnight on end transition day that dst ends. </purpose></data-member>
3970<method-group name="public member functions">
3971</method-group>
3972<constructor><parameter name="dst_adjust"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="dst_start_offset"><paramtype>const time_duration_type &amp;</paramtype></parameter><parameter name="dst_end_offset"><paramtype>const time_duration_type &amp;</paramtype></parameter></constructor>
3973</class><class name="time_zone_base"><template>
b32b8144
FG
3974 <template-type-parameter name="time_type"/>
3975 <template-type-parameter name="CharT"/>
3976 </template><purpose>Interface class for dynamic time zones. </purpose><description><para>This class represents the base interface for all timezone representations. Subclasses may provide different systems for identifying a particular zone. For example some may provide a geographical based zone construction while others may specify the offset from GMT. Another possible implementation would be to convert from POSIX timezone strings. Regardless of the construction technique, this is the interface that these time zone types must provide.</para><para>Note that this class is intended to be used as a shared resource (hence the derivation from boost::counted_base. </para></description><typedef name="char_type"><type>CharT</type></typedef>
3977<typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
3978<typedef name="stringstream_type"><type>std::basic_ostringstream&lt; CharT &gt;</type></typedef>
3979<typedef name="year_type"><type>time_type::date_type::year_type</type></typedef>
3980<typedef name="time_duration_type"><type>time_type::time_duration_type</type></typedef>
3981<method-group name="public member functions">
3982<method name="dst_zone_abbrev" cv="const = 0" specifiers="virtual"><type>string_type</type><purpose>String for the timezone when in daylight savings (eg: EDT) </purpose></method>
3983<method name="std_zone_abbrev" cv="const = 0" specifiers="virtual"><type>string_type</type><purpose>String for the zone when not in daylight savings (eg: EST) </purpose></method>
3984<method name="dst_zone_name" cv="const = 0" specifiers="virtual"><type>string_type</type><purpose>String for the timezone when in daylight savings (eg: Eastern Daylight Time) </purpose></method>
3985<method name="std_zone_name" cv="const = 0" specifiers="virtual"><type>string_type</type><purpose>String for the zone when not in daylight savings (eg: Eastern Standard Time) </purpose></method>
3986<method name="has_dst" cv="const = 0" specifiers="virtual"><type>bool</type><purpose>True if zone uses daylight savings adjustments otherwise false. </purpose></method>
3987<method name="dst_local_start_time" cv="const = 0" specifiers="virtual"><type>time_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter><purpose>Local time that DST starts – undefined if has_dst is false. </purpose></method>
3988<method name="dst_local_end_time" cv="const = 0" specifiers="virtual"><type>time_type</type><parameter name="y"><paramtype>year_type</paramtype></parameter><purpose>Local time that DST ends – undefined if has_dst is false. </purpose></method>
3989<method name="base_utc_offset" cv="const = 0" specifiers="virtual"><type>time_duration_type</type><purpose>Base offset from UTC for zone (eg: -07:30:00) </purpose></method>
3990<method name="dst_offset" cv="const = 0" specifiers="virtual"><type>time_duration_type</type><purpose>Adjustment forward or back made while DST is in effect. </purpose></method>
3991<method name="to_posix_string" cv="const = 0" specifiers="virtual"><type>string_type</type><purpose>Returns a POSIX time_zone string for this object. </purpose></method>
3992</method-group>
3993<constructor/>
3994<destructor/>
b32b8144
FG
3995</class>
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028</namespace>
4029</namespace>
4030</header>
4031<header name="boost/date_time/time_zone_names.hpp">
4032<namespace name="boost">
4033<namespace name="date_time">
4034<struct name="default_zone_names"><template>
4035 <template-type-parameter name="CharT"/>
4036 </template><typedef name="char_type"><type>CharT</type></typedef>
4037<data-member name="standard_name" specifiers="static"><type>const char_type</type></data-member>
4038<data-member name="standard_abbrev" specifiers="static"><type>const char_type</type></data-member>
4039<data-member name="non_dst_identifier" specifiers="static"><type>const char_type</type></data-member>
4040</struct><class name="time_zone_names_base"><template>
92f5a8d4
TL
4041 <template-type-parameter name="CharT"><purpose><para>Allows class to support different character types </para></purpose></template-type-parameter>
4042 </template><purpose>Base type that holds various string names for timezone output. </purpose><description><para>Class that holds various types of strings used for timezones. For example, for the western United States there is the full name: Pacific Standard Time and the abbreviated name: PST. During daylight savings there are additional names: Pacific Daylight Time and PDT.
4043</para></description><typedef name="string_type"><type>std::basic_string&lt; CharT &gt;</type></typedef>
b32b8144
FG
4044<method-group name="public member functions">
4045<method name="dst_zone_abbrev" cv="const"><type>string_type</type></method>
4046<method name="std_zone_abbrev" cv="const"><type>string_type</type></method>
4047<method name="dst_zone_name" cv="const"><type>string_type</type></method>
4048<method name="std_zone_name" cv="const"><type>string_type</type></method>
4049</method-group>
4050<constructor/>
4051<constructor><parameter name="std_zone_name_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="std_zone_abbrev_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="dst_zone_name_str"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="dst_zone_abbrev_str"><paramtype>const string_type &amp;</paramtype></parameter></constructor>
4052</class>
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085</namespace>
4086</namespace>
4087</header>
4088<header name="boost/date_time/tz_db_base.hpp">
4089<namespace name="boost">
4090<namespace name="date_time">
92f5a8d4
TL
4091<class name="bad_field_count"><inherit access="public">out_of_range</inherit><purpose>Exception thrown when tz database locates incorrect field structure in data file. </purpose><method-group name="public member functions">
4092</method-group>
4093<constructor><parameter name="s"><paramtype>const std::string &amp;</paramtype></parameter></constructor>
4094</class><class name="data_not_accessible"><inherit access="public">logic_error</inherit><purpose>Exception thrown when tz database cannot locate requested data file. </purpose><method-group name="public member functions">
b32b8144
FG
4095</method-group>
4096<constructor/>
4097<constructor><parameter name="filespec"><paramtype>const std::string &amp;</paramtype></parameter></constructor>
b32b8144
FG
4098</class><class name="tz_db_base"><template>
4099 <template-type-parameter name="time_zone_type"/>
4100 <template-type-parameter name="rule_type"/>
4101 </template><purpose>Creates a database of time_zones from csv datafile. </purpose><description><para>The csv file containing the zone_specs used by the <classname alt="boost::date_time::tz_db_base">tz_db_base</classname> is intended to be customized by the library user. When customizing this file (or creating your own) the file must follow a specific format.</para><para>This first line is expected to contain column headings and is therefore not processed by the <classname alt="boost::date_time::tz_db_base">tz_db_base</classname>.</para><para>Each record (line) must have eleven fields. Some of those fields can be empty. Every field (even empty ones) must be enclosed in double-quotes. Ex: <programlisting language="c++">"America/Phoenix" &lt;- string enclosed in quotes
4102"" &lt;- empty field
4103</programlisting></para><para>Some fields represent a length of time. The format of these fields must be: <programlisting language="c++">"{+|-}hh:mm[:ss]" &lt;- length-of-time format
4104</programlisting> Where the plus or minus is mandatory and the seconds are optional.</para><para>Since some time zones do not use daylight savings it is not always necessary for every field in a zone_spec to contain a value. All zone_specs must have at least ID and GMT offset. Zones that use daylight savings must have all fields filled except: STD ABBR, STD NAME, DST NAME. You should take note that DST ABBR is mandatory for zones that use daylight savings (see field descriptions for further details).</para><para>******* Fields and their description/details *********</para><para>ID: Contains the identifying string for the zone_spec. Any string will do as long as it's unique. No two ID's can be the same.</para><para>STD ABBR: STD NAME: DST ABBR: DST NAME: These four are all the names and abbreviations used by the time zone being described. While any string will do in these fields, care should be taken. These fields hold the strings that will be used in the output of many of the local_time classes. Ex: <programlisting language="c++">time_zone nyc = tz_db.time_zone_from_region("America/New_York");
4105local_time ny_time(date(2004, Aug, 30), IS_DST, nyc);
4106cout &lt;&lt; ny_time.to_long_string() &lt;&lt; endl;
4107// 2004-Aug-30 00:00:00 Eastern Daylight Time
4108cout &lt;&lt; ny_time.to_short_string() &lt;&lt; endl;
4109// 2004-Aug-30 00:00:00 EDT
4110</programlisting></para><para>NOTE: The exact format/function names may vary - see local_time documentation for further details.</para><para>GMT offset: This is the number of hours added to utc to get the local time before any daylight savings adjustments are made. Some examples are: America/New_York offset -5 hours, &amp; Africa/Cairo offset +2 hours. The format must follow the length-of-time format described above.</para><para>DST adjustment: The amount of time added to gmt_offset when daylight savings is in effect. The format must follow the length-of-time format described above.</para><para>DST Start Date rule: This is a specially formatted string that describes the day of year in which the transition take place. It holds three fields of it's own, separated by semicolons. The first field indicates the "nth" weekday of the month. The possible values are: 1 (first), 2 (second), 3 (third), 4 (fourth), 5 (fifth), and -1 (last). The second field indicates the day-of-week from 0-6 (Sun=0). The third field indicates the month from 1-12 (Jan=1).</para><para>Examples are: "-1;5;9"="Last Friday of September", "2;1;3"="Second Monday of March"</para><para>Start time: Start time is the number of hours past midnight, on the day of the start transition, the transition takes place. More simply put, the time of day the transition is made (in 24 hours format). The format must follow the length-of-time format described above with the exception that it must always be positive.</para><para>DST End date rule: See DST Start date rule. The difference here is this is the day daylight savings ends (transition to STD).</para><para>End time: Same as Start time. </para></description><typedef name="char_type"><type>char</type></typedef>
4111<typedef name="time_zone_base_type"><type>time_zone_type::base_type</type></typedef>
4112<typedef name="time_duration_type"><type>time_zone_type::time_duration_type</type></typedef>
4113<typedef name="time_zone_names"><type><classname>time_zone_names_base</classname>&lt; char_type &gt;</type></typedef>
4114<typedef name="dst_adjustment_offsets"><type><classname>boost::date_time::dst_adjustment_offsets</classname>&lt; time_duration_type &gt;</type></typedef>
4115<typedef name="string_type"><type>std::basic_string&lt; char_type &gt;</type></typedef>
4116<method-group name="public member functions">
4117<method name="load_from_stream"><type>void</type><parameter name="in"><paramtype>std::istream &amp;</paramtype></parameter><purpose>Process csv data file, may throw exceptions. </purpose><description><para>May throw <classname alt="boost::date_time::bad_field_count">bad_field_count</classname> exceptions </para></description></method>
4118<method name="load_from_file"><type>void</type><parameter name="pathspec"><paramtype>const std::string &amp;</paramtype></parameter><purpose>Process csv data file, may throw exceptions. </purpose><description><para>May throw <classname alt="boost::date_time::data_not_accessible">data_not_accessible</classname>, or <classname alt="boost::date_time::bad_field_count">bad_field_count</classname> exceptions </para></description></method>
4119<method name="add_record"><type>bool</type><parameter name="region"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="tz"><paramtype>boost::shared_ptr&lt; time_zone_base_type &gt;</paramtype></parameter><purpose>returns true if record successfully added to map </purpose><description><para>Takes a region name in the form of "America/Phoenix", and a time_zone object for that region. The id string must be a unique name that does not already exist in the database. </para></description></method>
4120<method name="time_zone_from_region" cv="const"><type>boost::shared_ptr&lt; time_zone_base_type &gt;</type><parameter name="region"><paramtype>const string_type &amp;</paramtype></parameter><purpose>Returns a time_zone object built from the specs for the given region. </purpose><description><para>Returns a time_zone object built from the specs for the given region. If region does not exist a local_time::record_not_found exception will be thrown </para></description></method>
4121<method name="region_list" cv="const"><type>std::vector&lt; std::string &gt;</type><purpose>Returns a vector of strings holding the time zone regions in the database. </purpose></method>
4122</method-group>
4123<constructor><purpose>Constructs an empty database. </purpose></constructor>
4124<method-group name="private member functions">
4125<method name="parse_rules" cv="const"><type>rule_type *</type><parameter name="sr"><paramtype>const string_type &amp;</paramtype></parameter><parameter name="er"><paramtype>const string_type &amp;</paramtype></parameter><purpose>parses rule specs for transition day rules </purpose></method>
4126<method name="get_week_num" cv="const"><type>week_num</type><parameter name="nth"><paramtype>int</paramtype></parameter><purpose>helper function for parse_rules() </purpose></method>
4127<method name="split_rule_spec" cv="const"><type>void</type><parameter name="nth"><paramtype>int &amp;</paramtype></parameter><parameter name="d"><paramtype>int &amp;</paramtype></parameter><parameter name="m"><paramtype>int &amp;</paramtype></parameter><parameter name="rule"><paramtype>string_type</paramtype></parameter><purpose>splits the [start|end]_date_rule string into 3 ints </purpose></method>
4128<method name="parse_string"><type>bool</type><parameter name="s"><paramtype>string_type &amp;</paramtype></parameter><purpose>Take a line from the csv, turn it into a time_zone_type. </purpose><description><para>Take a line from the csv, turn it into a time_zone_type, and add it to the map. Zone_specs in csv file are expected to have eleven fields that describe the time zone. Returns true if zone_spec successfully added to database </para></description></method>
4129</method-group>
4130</class>
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163</namespace>
4164</namespace>
4165</header>
4166<header name="boost/date_time/wrapping_int.hpp">
4167<namespace name="boost">
4168<namespace name="date_time">
4169<class name="wrapping_int"><template>
4170 <template-type-parameter name="int_type_"/>
4171 <template-nontype-parameter name="wrap_val"><type>int_type_</type></template-nontype-parameter>
4172 </template><purpose>A wrapping integer used to support time durations (WARNING: only instantiate with a signed type) </purpose><description><para>In composite date and time types this type is used to wrap at the day boundary. Ex: A wrapping_int&lt;short, 10&gt; will roll over after nine, and roll under below zero. This gives a range of [0,9]</para><para>NOTE: it is strongly recommended that <classname alt="boost::date_time::wrapping_int2">wrapping_int2</classname> be used instead of <classname alt="boost::date_time::wrapping_int">wrapping_int</classname> as <classname alt="boost::date_time::wrapping_int">wrapping_int</classname> is to be depricated at some point soon.</para><para>Also Note that warnings will occur if instantiated with an unsigned type. Only a signed type should be used! </para></description><typedef name="int_type"><type>int_type_</type></typedef>
4173<method-group name="public static functions">
4174<method name="wrap_value" specifiers="static"><type>int_type</type></method>
4175</method-group>
4176<method-group name="public member functions">
4177<method name="as_int" cv="const"><type>int_type</type><purpose>Explicit converion method. </purpose></method>
4178<method name="conversion-operator" cv="const"><type>int_type</type></method>
4179<method name="add"><type>IntT</type><template>
4180 <template-type-parameter name="IntT"/>
4181 </template><parameter name="v"><paramtype>IntT</paramtype></parameter><purpose>Add, return number of wraps performed. </purpose><description><para>The sign of the returned value will indicate which direction the wraps went. Ex: add a negative number and wrapping under could occur, this would be indicated by a negative return value. If wrapping over took place, a positive value would be returned </para></description></method>
4182<method name="subtract"><type>IntT</type><template>
4183 <template-type-parameter name="IntT"/>
4184 </template><parameter name="v"><paramtype>IntT</paramtype></parameter><purpose>Subtract will return '+d' if wrapping under took place ('d' is the number of wraps) </purpose><description><para>The sign of the returned value will indicate which direction the wraps went (positive indicates wrap under, negative indicates wrap over). Ex: subtract a negative number and wrapping over could occur, this would be indicated by a negative return value. If wrapping under took place, a positive value would be returned. </para></description></method>
4185</method-group>
4186<constructor><parameter name="v"><paramtype>int_type</paramtype></parameter><purpose>Add, return true if wrapped. </purpose></constructor>
4187<method-group name="private member functions">
4188<method name="calculate_wrap"><type>IntT</type><template>
4189 <template-type-parameter name="IntT"/>
4190 </template><parameter name="wrap"><paramtype>IntT</paramtype></parameter></method>
4191</method-group>
4192</class><class name="wrapping_int2"><template>
4193 <template-type-parameter name="int_type_"/>
4194 <template-nontype-parameter name="wrap_min"><type>int_type_</type></template-nontype-parameter>
4195 <template-nontype-parameter name="wrap_max"><type>int_type_</type></template-nontype-parameter>
4196 </template><purpose>A wrapping integer used to wrap around at the top (WARNING: only instantiate with a signed type) </purpose><description><para>Bad name, quick impl to fix a bug – fix later!! This allows the wrap to restart at a value other than 0. </para></description><typedef name="int_type"><type>int_type_</type></typedef>
4197<method-group name="public static functions">
4198<method name="wrap_value" specifiers="static"><type>int_type</type></method>
4199<method name="min_value" specifiers="static"><type>int_type</type></method>
4200</method-group>
4201<method-group name="public member functions">
4202<method name="as_int" cv="const"><type>int_type</type><purpose>Explicit converion method. </purpose></method>
4203<method name="conversion-operator" cv="const"><type>int_type</type></method>
4204<method name="add"><type>IntT</type><template>
4205 <template-type-parameter name="IntT"/>
4206 </template><parameter name="v"><paramtype>IntT</paramtype></parameter><purpose>Add, return number of wraps performed. </purpose><description><para>The sign of the returned value will indicate which direction the wraps went. Ex: add a negative number and wrapping under could occur, this would be indicated by a negative return value. If wrapping over took place, a positive value would be returned </para></description></method>
4207<method name="subtract"><type>IntT</type><template>
4208 <template-type-parameter name="IntT"/>
4209 </template><parameter name="v"><paramtype>IntT</paramtype></parameter><purpose>Subtract will return '-d' if wrapping under took place ('d' is the number of wraps) </purpose><description><para>The sign of the returned value will indicate which direction the wraps went. Ex: subtract a negative number and wrapping over could occur, this would be indicated by a positive return value. If wrapping under took place, a negative value would be returned </para></description></method>
4210</method-group>
4211<constructor><parameter name="v"><paramtype>int_type</paramtype></parameter><description><para>If initializing value is out of range of [wrap_min, wrap_max], value will be initialized to closest of min or max </para></description></constructor>
4212<method-group name="private member functions">
4213<method name="calculate_wrap"><type>IntT</type><template>
4214 <template-type-parameter name="IntT"/>
4215 </template><parameter name="wrap"><paramtype>IntT</paramtype></parameter></method>
4216</method-group>
4217</class>
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250</namespace>
4251</namespace>
4252</header>
4253<header name="boost/date_time/year_month_day.hpp">
4254<namespace name="boost">
4255<namespace name="date_time">
4256<struct name="year_month_day_base"><template>
4257 <template-type-parameter name="YearType"/>
4258 <template-type-parameter name="MonthType"/>
4259 <template-type-parameter name="DayType"/>
4260 </template><purpose>Allow rapid creation of ymd triples of different types. </purpose><typedef name="year_type"><type>YearType</type></typedef>
4261<typedef name="month_type"><type>MonthType</type></typedef>
4262<typedef name="day_type"><type>DayType</type></typedef>
4263<data-member name="year"><type>YearType</type></data-member>
4264<data-member name="month"><type>MonthType</type></data-member>
4265<data-member name="day"><type>DayType</type></data-member>
4266<method-group name="public member functions">
4267</method-group>
4268<constructor><parameter name="year"><paramtype>YearType</paramtype></parameter><parameter name="month"><paramtype>MonthType</paramtype></parameter><parameter name="day"><paramtype>DayType</paramtype></parameter><purpose>A basic constructor. </purpose></constructor>
4269</struct>
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302</namespace>
4303</namespace>
4304</header>
4305</library-reference>