Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/doc/html/base_time.html @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 15.6 KB
Line 
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4<title>Class template base_time</title>
5<link rel="stylesheet" href="boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
7<link rel="start" href="index.html" title="The Boost C++ Libraries">
8<link rel="up" href="date_time/doxy.html#id2459854" title="Header &lt;boost/date_time/time.hpp&gt;">
9<link rel="prev" href="gather_weekday_strings.html" title="Function template gather_weekday_strings">
10<link rel="next" href="second_clock.html" title="Class template second_clock">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%">
14<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
15<td align="center"><a href="../../index.htm">Home</a></td>
16<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="../../people/people.htm">People</a></td>
18<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
19<td align="center"><a href="../../more/index.htm">More</a></td>
20</table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="gather_weekday_strings.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459854"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="second_clock.html"><img src="images/next.png" alt="Next"></a>
24</div>
25<div class="refentry" lang="en">
26<a name="base_time"></a><div class="titlepage"></div>
27<div class="refnamediv">
28<h2><span class="refentrytitle">Class template base_time</span></h2>
29<p>boost::date_time::base_time &#8212; Representation of a precise moment in time, including the date. </p>
30</div>
31<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
32<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> time_system&gt; 
33<span class="bold"><strong>class</strong></span> base_time {
34<span class="bold"><strong>public</strong></span>:
35  <span class="emphasis"><em>// types</em></span>
36  <span class="bold"><strong>typedef</strong></span> T                               time_type;         
37  <span class="bold"><strong>typedef</strong></span> time_system::time_rep_type      time_rep_type;     
38  <span class="bold"><strong>typedef</strong></span> time_system::date_type          date_type;         
39  <span class="bold"><strong>typedef</strong></span> time_system::date_duration_type date_duration_type;
40  <span class="bold"><strong>typedef</strong></span> time_system::time_duration_type time_duration_type;
41
42  <span class="emphasis"><em>// <a href="base_time.html#base_timeconstruct-copy-destruct">construct/copy/destruct</a></em></span>
43  <a href="base_time.html#id2399109-bb">base_time</a>(<span class="bold"><strong>const</strong></span> date_type &amp;, <span class="bold"><strong>const</strong></span> time_duration_type &amp;,
44            dst_flags = not_dst);
45  <a href="base_time.html#id2399147-bb">base_time</a>(special_values);
46  <a href="base_time.html#id2399161-bb">base_time</a>(<span class="bold"><strong>const</strong></span> time_rep_type &amp;);
47
48  <span class="emphasis"><em>// <a href="base_time.html#id2421078-bb">public member functions</a></em></span>
49  <span class="type">date_type</span> <a href="base_time.html#id2421083-bb">date</a>() <span class="bold"><strong>const</strong></span>;
50  <span class="type">time_duration_type</span> <a href="base_time.html#id2421095-bb">time_of_day</a>() <span class="bold"><strong>const</strong></span>;
51  <span class="type">std::string</span> <a href="base_time.html#id2421184-bb">zone_name</a>(<span class="bold"><strong>bool</strong></span> = false) <span class="bold"><strong>const</strong></span>;
52  <span class="type">std::string</span> <a href="base_time.html#id2421221-bb">zone_abbrev</a>(<span class="bold"><strong>bool</strong></span> = false) <span class="bold"><strong>const</strong></span>;
53  <span class="type">std::string</span> <a href="base_time.html#id2421257-bb">zone_as_posix_string</a>() <span class="bold"><strong>const</strong></span>;
54  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459563-bb">is_not_a_date_time</a>() <span class="bold"><strong>const</strong></span>;
55  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459578-bb">is_infinity</a>() <span class="bold"><strong>const</strong></span>;
56  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459595-bb">is_pos_infinity</a>() <span class="bold"><strong>const</strong></span>;
57  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459612-bb">is_neg_infinity</a>() <span class="bold"><strong>const</strong></span>;
58  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459629-bb">is_special</a>() <span class="bold"><strong>const</strong></span>;
59  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2459645-bb"><span class="bold"><strong>operator</strong></span>==</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
60  <span class="type"><span class="bold"><strong>bool</strong></span></span> <a href="base_time.html#id2413846-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
61  <span class="type">time_duration_type</span> <a href="base_time.html#id2413873-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> time_type &amp;) <span class="bold"><strong>const</strong></span>;
62  <span class="type">time_type</span> <a href="base_time.html#id2413900-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
63  <span class="type">time_type</span> <a href="base_time.html#id2481479-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
64  <span class="type">time_type</span> <a href="base_time.html#id2481501-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
65  <span class="type">time_type</span> <a href="base_time.html#id2481527-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> date_duration_type &amp;) ;
66  <span class="type">time_type</span> <a href="base_time.html#id2481549-bb"><span class="bold"><strong>operator</strong></span>+</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
67  <span class="type">time_type</span> <a href="base_time.html#id2407190-bb"><span class="bold"><strong>operator</strong></span>+=</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
68  <span class="type">time_type</span> <a href="base_time.html#id2407212-bb"><span class="bold"><strong>operator</strong></span>-</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) <span class="bold"><strong>const</strong></span>;
69  <span class="type">time_type</span> <a href="base_time.html#id2407238-bb"><span class="bold"><strong>operator</strong></span>-=</a>(<span class="bold"><strong>const</strong></span> time_duration_type &amp;) ;
70};</pre></div>
71<div class="refsect1" lang="en">
72<a name="id2652263"></a><h2>Description</h2>
73<p>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.</p>
74<p>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. </p>
75<div class="refsect2" lang="en">
76<a name="id2652286"></a><h3>
77<a name="base_timeconstruct-copy-destruct"></a><code class="computeroutput">base_time</code> construct/copy/destruct</h3>
78<div class="orderedlist"><ol type="1">
79<li><pre class="literallayout"><a name="id2399109-bb"></a>base_time(<span class="bold"><strong>const</strong></span> date_type &amp; day, <span class="bold"><strong>const</strong></span> time_duration_type &amp; td,
80          dst_flags dst = not_dst);</pre></li>
81<li><pre class="literallayout"><a name="id2399147-bb"></a>base_time(special_values sv);</pre></li>
82<li><pre class="literallayout"><a name="id2399161-bb"></a>base_time(<span class="bold"><strong>const</strong></span> time_rep_type &amp; rhs);</pre></li>
83</ol></div>
84</div>
85<div class="refsect2" lang="en">
86<a name="id2652368"></a><h3>
87<a name="id2421078-bb"></a><code class="computeroutput">base_time</code> public member functions</h3>
88<div class="orderedlist"><ol type="1">
89<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2421083-bb"></a>date() <span class="bold"><strong>const</strong></span>;</pre></li>
90<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2421095-bb"></a>time_of_day() <span class="bold"><strong>const</strong></span>;</pre></li>
91<li>
92<pre class="literallayout"><span class="type">std::string</span> <a name="id2421184-bb"></a>zone_name(<span class="bold"><strong>bool</strong></span> as_offset = false) <span class="bold"><strong>const</strong></span>;</pre>
93<p>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 </p>
94</li>
95<li>
96<pre class="literallayout"><span class="type">std::string</span> <a name="id2421221-bb"></a>zone_abbrev(<span class="bold"><strong>bool</strong></span> as_offset = false) <span class="bold"><strong>const</strong></span>;</pre>
97<p>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 </p>
98</li>
99<li><pre class="literallayout"><span class="type">std::string</span> <a name="id2421257-bb"></a>zone_as_posix_string() <span class="bold"><strong>const</strong></span>;</pre></li>
100<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459563-bb"></a>is_not_a_date_time() <span class="bold"><strong>const</strong></span>;</pre></li>
101<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459578-bb"></a>is_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
102<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459595-bb"></a>is_pos_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
103<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459612-bb"></a>is_neg_infinity() <span class="bold"><strong>const</strong></span>;</pre></li>
104<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459629-bb"></a>is_special() <span class="bold"><strong>const</strong></span>;</pre></li>
105<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2459645-bb"></a><span class="bold"><strong>operator</strong></span>==(<span class="bold"><strong>const</strong></span> time_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
106<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2413846-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<span class="bold"><strong>const</strong></span> time_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
107<li><pre class="literallayout"><span class="type">time_duration_type</span> <a name="id2413873-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> time_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
108<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2413900-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
109<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481479-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
110<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481501-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) <span class="bold"><strong>const</strong></span>;</pre></li>
111<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481527-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> date_duration_type &amp; dd) ;</pre></li>
112<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2481549-bb"></a><span class="bold"><strong>operator</strong></span>+(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) <span class="bold"><strong>const</strong></span>;</pre></li>
113<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2407190-bb"></a><span class="bold"><strong>operator</strong></span>+=(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
114<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2407212-bb"></a><span class="bold"><strong>operator</strong></span>-(<span class="bold"><strong>const</strong></span> time_duration_type &amp; rhs) <span class="bold"><strong>const</strong></span>;</pre></li>
115<li><pre class="literallayout"><span class="type">time_type</span> <a name="id2407238-bb"></a><span class="bold"><strong>operator</strong></span>-=(<span class="bold"><strong>const</strong></span> time_duration_type &amp; td) ;</pre></li>
116</ol></div>
117</div>
118</div>
119</div>
120<table width="100%"><tr>
121<td align="left"></td>
122<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
123</tr></table>
124<hr>
125<div class="spirit-nav">
126<a accesskey="p" href="gather_weekday_strings.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2459854"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="second_clock.html"><img src="images/next.png" alt="Next"></a>
127</div>
128</body>
129</html>
Note: See TracBrowser for help on using the repository browser.