Sophie

Sophie

distrib > Mageia > 6 > armv5tl > by-pkgid > 37eb773c4f50677290a7937043b43933 > files > 493

boost-devel-doc-1.60.0-6.1.mga6.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template base_time</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../../date_time/doxy.html#header.boost.date_time.time_hpp" title="Header &lt;boost/date_time/time.hpp&gt;">
<link rel="prev" href="gather_weekday_strings.html" title="Function template gather_weekday_strings">
<link rel="next" href="second_clock.html" title="Class template second_clock">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="gather_weekday_strings.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#header.boost.date_time.time_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="second_clock.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.date_time.base_time"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template base_time</span></h2>
<p>boost::date_time::base_time &#8212; Representation of a precise moment in time, including the date. </p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../date_time/doxy.html#header.boost.date_time.time_hpp" title="Header &lt;boost/date_time/time.hpp&gt;">boost/date_time/time.hpp</a>&gt;

</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> time_system<span class="special">&gt;</span> 
<span class="keyword">class</span> <a class="link" href="base_time.html" title="Class template base_time">base_time</a> <span class="special">:</span>
  <span class="keyword">private</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">less_than_comparable</span><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">equality_comparable</span><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
  <span class="comment">// types</span>
  <span class="keyword">typedef</span> <span class="keyword">void</span>                            <a name="boost.date_time.base_time.is_boost_idm45507110113072"></a><span class="identifier">_is_boost_date_time_time_point</span><span class="special">;</span>
  <span class="keyword">typedef</span> <span class="identifier">T</span>                               <a name="boost.date_time.base_time.time_type"></a><span class="identifier">time_type</span><span class="special">;</span>                     
  <span class="keyword">typedef</span> <span class="identifier">time_system</span><span class="special">::</span><span class="identifier">time_rep_type</span>      <a name="boost.date_time.base_time.time_rep_type"></a><span class="identifier">time_rep_type</span><span class="special">;</span>                 
  <span class="keyword">typedef</span> <span class="identifier">time_system</span><span class="special">::</span><span class="identifier">date_type</span>          <a name="boost.date_time.base_time.date_type"></a><span class="identifier">date_type</span><span class="special">;</span>                     
  <span class="keyword">typedef</span> <span class="identifier">time_system</span><span class="special">::</span><span class="identifier">date_duration_type</span> <a name="boost.date_time.base_time.date_duration_type"></a><span class="identifier">date_duration_type</span><span class="special">;</span>            
  <span class="keyword">typedef</span> <span class="identifier">time_system</span><span class="special">::</span><span class="identifier">time_duration_type</span> <a name="boost.date_time.base_time.time_duration_type"></a><span class="identifier">time_duration_type</span><span class="special">;</span>            

  <span class="comment">// <a class="link" href="base_time.html#boost.date_time.base_timeconstruct-copy-destruct">construct/copy/destruct</a></span>
  <a class="link" href="base_time.html#idm45507110238704-bb"><span class="identifier">base_time</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_type</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span><span class="special">,</span> 
            <span class="identifier">dst_flags</span> <span class="special">=</span> <span class="identifier">not_dst</span><span class="special">)</span><span class="special">;</span>
  <a class="link" href="base_time.html#idm45507086564960-bb"><span class="identifier">base_time</span></a><span class="special">(</span><span class="identifier">special_values</span><span class="special">)</span><span class="special">;</span>
  <a class="link" href="base_time.html#idm45507086563984-bb"><span class="identifier">base_time</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_rep_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>

  <span class="comment">// <a class="link" href="base_time.html#idm45507136679424-bb">public member functions</a></span>
  <span class="identifier">date_type</span> <a class="link" href="base_time.html#idm45507136678864-bb"><span class="identifier">date</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_duration_type</span> <a class="link" href="base_time.html#idm45507136677744-bb"><span class="identifier">time_of_day</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="base_time.html#idm45507086383200-bb"><span class="identifier">zone_name</span></a><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="base_time.html#idm45507108730720-bb"><span class="identifier">zone_abbrev</span></a><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="base_time.html#idm45507153508640-bb"><span class="identifier">zone_as_posix_string</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507153507264-bb"><span class="identifier">is_not_a_date_time</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507103933168-bb"><span class="identifier">is_infinity</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507103931792-bb"><span class="identifier">is_pos_infinity</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507155130112-bb"><span class="identifier">is_neg_infinity</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507155128736-bb"><span class="identifier">is_special</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507155127360-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="keyword">bool</span> <a class="link" href="base_time.html#idm45507165843744-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_duration_type</span> <a class="link" href="base_time.html#idm45507165798448-bb"><span class="keyword">operator</span><span class="special">-</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507159082608-bb"><span class="keyword">operator</span><span class="special">+</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507159080496-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507105460640-bb"><span class="keyword">operator</span><span class="special">-</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507130519136-bb"><span class="keyword">operator</span><span class="special">-=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507130517584-bb"><span class="keyword">operator</span><span class="special">+</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507128696016-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507128694464-bb"><span class="keyword">operator</span><span class="special">-</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
  <span class="identifier">time_type</span> <a class="link" href="base_time.html#idm45507103685552-bb"><span class="keyword">operator</span><span class="special">-=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idm45555365377792"></a><h2>Description</h2>
<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>
<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>
<div class="refsect2">
<a name="idm45555365375952"></a><h3>
<a name="boost.date_time.base_timeconstruct-copy-destruct"></a><code class="computeroutput">base_time</code> 
        public
       construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><pre class="literallayout"><a name="idm45507110238704-bb"></a><span class="identifier">base_time</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_type</span> <span class="special">&amp;</span> day<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span> td<span class="special">,</span> 
          <span class="identifier">dst_flags</span> dst <span class="special">=</span> <span class="identifier">not_dst</span><span class="special">)</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><a name="idm45507086564960-bb"></a><span class="identifier">base_time</span><span class="special">(</span><span class="identifier">special_values</span> sv<span class="special">)</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><a name="idm45507086563984-bb"></a><span class="identifier">base_time</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_rep_type</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
<div class="refsect2">
<a name="idm45555365352688"></a><h3>
<a name="idm45507136679424-bb"></a><code class="computeroutput">base_time</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><pre class="literallayout"><span class="identifier">date_type</span> <a name="idm45507136678864-bb"></a><span class="identifier">date</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="identifier">time_duration_type</span> <a name="idm45507136677744-bb"></a><span class="identifier">time_of_day</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idm45507086383200-bb"></a><span class="identifier">zone_name</span><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<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>
</li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idm45507108730720-bb"></a><span class="identifier">zone_abbrev</span><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<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>
</li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idm45507153508640-bb"></a><span class="identifier">zone_as_posix_string</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>An empty string is returned for classes that do not use a time_zone. </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507153507264-bb"></a><span class="identifier">is_not_a_date_time</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>check to see if date is not a value </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507103933168-bb"></a><span class="identifier">is_infinity</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>check to see if date is one of the infinity values </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507103931792-bb"></a><span class="identifier">is_pos_infinity</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>check to see if date is greater than all possible dates </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507155130112-bb"></a><span class="identifier">is_neg_infinity</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>check to see if date is greater than all possible dates </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507155128736-bb"></a><span class="identifier">is_special</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>check to see if time is a special value </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507155127360-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Equality operator <span style="color: red">&lt;ndash&gt;&lt;/ndash&gt;</span> others generated by boost::equality_comparable. </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45507165843744-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Equality operator <span style="color: red">&lt;ndash&gt;&lt;/ndash&gt;</span> others generated by boost::less_than_comparable. </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">time_duration_type</span> <a name="idm45507165798448-bb"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>difference between two times </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507159082608-bb"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span> dd<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>add date durations </li>
<li class="listitem"><pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507159080496-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span> dd<span class="special">)</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507105460640-bb"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span> dd<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>subtract date durations </li>
<li class="listitem"><pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507130519136-bb"></a><span class="keyword">operator</span><span class="special">-=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">date_duration_type</span> <span class="special">&amp;</span> dd<span class="special">)</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507130517584-bb"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span> td<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>add time durations </li>
<li class="listitem"><pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507128696016-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span> td<span class="special">)</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507128694464-bb"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>subtract time durations </li>
<li class="listitem"><pre class="literallayout"><span class="identifier">time_type</span> <a name="idm45507103685552-bb"></a><span class="keyword">operator</span><span class="special">-=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_duration_type</span> <span class="special">&amp;</span> td<span class="special">)</span><span class="special">;</span></pre></li>
</ol></div>
</div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2005 CrystalClear Software, Inc<p>Subject to the Boost Software License, Version 1.0. (See accompanying file
    <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="gather_weekday_strings.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../date_time/doxy.html#header.boost.date_time.time_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="second_clock.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>