|
Boost-Commit : |
From: Lawrence_at_[hidden]
Date: 2007-10-23 00:41:18
Author: crowl
Date: 2007-10-23 00:41:17 EDT (Tue, 23 Oct 2007)
New Revision: 40334
URL: http://svn.boost.org/trac/boost/changeset/40334
Log:
Put paragraph tags on separate lines.
Text files modified:
sandbox/committee/LWG/thread_library.html | 632 +++++++++++++++++++++++++--------------
1 files changed, 396 insertions(+), 236 deletions(-)
Modified: sandbox/committee/LWG/thread_library.html
==============================================================================
--- sandbox/committee/LWG/thread_library.html (original)
+++ sandbox/committee/LWG/thread_library.html 2007-10-23 00:41:17 EDT (Tue, 23 Oct 2007)
@@ -119,7 +119,9 @@
</p>
<blockquote>
- <p><b>Header <code>functional</code> synopsis</b></p>
+<p>
+<b>Header <code>functional</code> synopsis</b>
+</p>
<pre><code>
namespace std {
@@ -133,10 +135,12 @@
<h3>20.5.15 Class template <code>hash</code> [unord.hash]</h3>
-<p><i>Modify paragraph 1 as follows:</i>
+<p>
+<i>Modify paragraph 1 as follows:</i>
<blockquote>
-<p>The unordered associative containers defined in clause 23.4 use
+<p>
+The unordered associative containers defined in clause 23.4 use
specializations
of <code>hash</code> as the default hash function. This class template
is only
@@ -146,7 +150,8 @@
<code>std::u16string</code>, <code>std::u32string</code>,
<del class="diff modified">and</del>
<code>std::wstring</code><ins class="diff modified">, and
-<code>std::thread::id</code></ins>.</p>
+<code>std::thread::id</code></ins>.
+</p>
</blockquote>
<hr>
@@ -159,7 +164,8 @@
The following subclauses describe components to create and manage threads ([<i>Reference
to the new section from N2429 to be inserted between 1.9 and 1.10, titled
"Multi-threaded executions and data races"</i>]), perform mutual exclusion and locking, and communicate
-between threads.</p>
+between threads.
+</p>
<table style="border-collapse: collapse;" border="1" bordercolor="#111111" cellpadding="5" cellspacing="0" width="100%">
<tbody><tr>
@@ -185,14 +191,16 @@
type requirements. The requirements for Duration parameters are specified in [<i>reference
to date-time library clause]</i>. If a parameter is Predicate, <code>operator()</code>
applied to the actual template argument shall return a value that is convertible
-to <code>bool</code>.</p>
+to <code>bool</code>.
+</p>
<p>
Implementations of functions described in this clause are permitted to call
operating system or other low-level applications program interfaces (API's). Some functions
described in this clause are specified to throw exceptions of type <code>system_error</code>
([syserr.syserr]). Such exceptions shall be thrown when one of these operating
-system or other low-level API calls result in an error.</p>
+system or other low-level API calls result in an error.
+</p>
<p>
The <code>error_category</code> ([syserr.errcat.overview])
@@ -203,12 +211,14 @@
interface (API). <i>-- end note</i>]
</p>
-<p>Several classes described in this clause have members <code>
+<p>
+Several classes described in this clause have members <code>
native_handle_type</code> and <code>native_handle</code>. The presence of these
members and their semantics is implementation defined. [<i>Note:</i> These
members allow implementations to provide access to implementation details. Their
names are specified to facilitate portable compile-time detection. Actual use of
-these members is inherently non-portable. <i>--end note</i>]</p>
+these members is inherently non-portable. <i>--end note</i>]
+</p>
<h3><a name="ThreadsWording">Threads</a></h3>
@@ -318,9 +328,11 @@
operator<< (basic_ostream<charT, traits>&& out, const thread::id& id);
</code></pre>
-<p> Objects of type <code>thread::id</code> represent the identity of threads. Each
+<p>
+Objects of type <code>thread::id</code> represent the identity of threads. Each
joinable thread has a unique identity. All non-joinable threads share the same
-identity, and this identify is different from that of any joinable thread.</p>
+identity, and this identify is different from that of any joinable thread.
+</p>
<p>
[<i>Note:</i> Relational operators allows <code>thread::id</code> objects to be used as keys in associative containers.<i> --end note</i>]
@@ -339,7 +351,8 @@
<i>Throws:</i> Nothing.
</p>
<p>
-<i>Postcondition:</i> Represents the non-joinable identity.</p>
+<i>Postcondition:</i> Represents the non-joinable identity.
+</p>
</blockquote>
</blockquote>
@@ -397,7 +410,8 @@
</code></pre>
<blockquote>
<p>
-<i>Returns:</i> <code>!(y < x)</code> </p>
+<i>Returns:</i> <code>!(y < x)</code>
+</p>
<p>
<i>Throws:</i> Nothing.
</p>
@@ -410,7 +424,8 @@
</code></pre>
<blockquote>
<p>
-<i>Returns:</i> <code>y < x</code> </p>
+<i>Returns:</i> <code>y < x</code>
+</p>
<p>
<i>Throws:</i> Nothing.
</p>
@@ -423,7 +438,8 @@
</code></pre>
<blockquote>
<p>
-<i>Returns:</i> <code>!(x < y)</code> </p>
+<i>Returns:</i> <code>!(x < y)</code>
+</p>
<p>
<i>Throws:</i> Nothing.
</p>
@@ -468,7 +484,8 @@
</code></pre>
<p>
[<i>Note:</i> This is also the state of a <code>thread</code>
-object after <code>detach</code> or <code>join</code> is successfully called. <i>-- end note</i>]</p>
+object after <code>detach</code> or <code>join</code> is successfully called. <i>-- end note</i>]
+</p>
</blockquote>
<p>
<i>Throws:</i> Nothing.
@@ -504,7 +521,9 @@
get_id() != thread::id()
&& joinable() == true
</code></pre>
-<p><code>*this</code> represents the newly started thread.</p>
+<p>
+<code>*this</code> represents the newly started thread.
+</p>
</blockquote>
<p>
<i>Throws:</i> <code>system_error</code> if unable to start the new thread.
@@ -673,7 +692,8 @@
<i>Returns:</i>
<code>this_thread::get_id()f</code>or the thread
represented by
-<code>*this.</code></p>
+<code>*this.</code>
+</p>
<p>
<i>Throws:</i> Nothing.
</p>
@@ -740,7 +760,8 @@
<p>
<i>Returns:</i> If the current thread is joinable, returns an object of type <code>thread::id</code> that uniquely identifies the current thread
and does not compare equal to a default constructed <code>thread::id</code>, else returns
-a default constructed <code>thread::id</code></p>
+a default constructed <code>thread::id</code>
+</p>
<p>
<i>Throws:</i> Nothing.
</p>
@@ -754,7 +775,8 @@
<blockquote>
<p>
-<i>Effects:</i> Offers the operating system the opportunity to schedule another thread.</p>
+<i>Effects:</i> Offers the operating system the opportunity to schedule another thread.
+</p>
<p>
<i>Throws:</i> Nothing.
</p>
@@ -784,9 +806,11 @@
<blockquote>
-<p>Objects of class <code>once_flag</code> are opaque data structures that allow
+<p>
+Objects of class <code>once_flag</code> are opaque data structures that allow
<code>call_once</code> to initialize data without causing a data race or
-deadlock.</p>
+deadlock.
+</p>
<pre><code>
constexpr once_flag();
@@ -795,11 +819,13 @@
<blockquote>
<p>
<i>Effects:</i> Constructs a object of type
-<code>once_flag</code>.</p>
+<code>once_flag</code>.
+</p>
<p>
<i>Postcondition:</i> Internal state is set to indicate to an invocation
of <code>call_once</code> with this <code>once_flag</code> as its initial
-argument that no function has been called.</p>
+argument that no function has been called.
+</p>
</blockquote>
</blockquote>
@@ -815,13 +841,16 @@
<blockquote>
- <p><i>Requires:</i> If <code>func</code> is an lvalue, Callable
+<p>
+<i>Requires:</i> If <code>func</code> is an lvalue, Callable
is
<code>CopyConstructible</code>. If <code>func</code> is an rvalue, Callable is
<code>MoveConstructible</code>. Copying or moving (as appropriate) shall have no side effects, and the effect of calling the
- copy shall be equivalent to calling the original.</p>
+ copy shall be equivalent to calling the original.
+</p>
- <p><i>Effects:</i> The argument <code>func</code> (or a copy thereof) is called exactly once
+<p>
+<i>Effects:</i> The argument <code>func</code> (or a copy thereof) is called exactly once
for the <code>once_flag</code> object specified by <code>flag</code>, as-if by invoking
<code>func(args)</code>,<code> </code>even if <code>call_once</code> is
called multiple times for the same <code>once_flag</code> object. If multiple
@@ -832,17 +861,23 @@
the return of <code>call_once</code>.]</b>
If the invocation of <code>func</code> results in an exception being thrown,
the exception is propagated to the caller and the effects are as-if this
- invocation of <code>call_once</code> did not occur.</p>
+ invocation of <code>call_once</code> did not occur.
+</p>
- <p><i>Throws:</i> <code>system_error</code> or any exception propagated from <code>func</code>.</p>
+<p>
+<i>Throws:</i> <code>system_error</code> or any exception propagated from <code>func</code>.
+</p>
- <p><i>Thread safety:</i> Access to the same <code>once_flag</code> object by
+<p>
+<i>Thread safety:</i> Access to the same <code>once_flag</code> object by
calls to <code>call_once</code> from different threads shall
not result in a data race or deadlock.
<b>[Crowl: The implementation shall not introduce these.]</b>
</p>
-<p>[<i>Examples:</i></p>
+<p>
+[<i>Examples:</i>
+</p>
<blockquote>
<pre><code>
std::once_flag flag;
@@ -867,7 +902,9 @@
</code></pre>
</blockquote>
-<p><i>-- end example]</i></p>
+<p>
+<i>-- end example]</i>
+</p>
</blockquote>
</blockquote>
@@ -946,7 +983,8 @@
</p>
<p>
<i>Throws:</i> <code>system_error</code> when an error condition occurs. The
-possible error conditions are implementation defined.</p>
+possible error conditions are implementation defined.
+</p>
<p>
<i>Thread safety:</i> This is an acquire operation.
</p>
@@ -1080,7 +1118,8 @@
<p>
To meet the requirements of the Timed Mutex concept, types are required to meet the requirements of the Mutex concept
-and to provide the member function <code>timed_lock</code>.</p>
+and to provide the member function <code>timed_lock</code>.
+</p>
<blockquote>
<pre><code>
@@ -1197,7 +1236,8 @@
(such as when leaving block scope). The locks do not manage the lifetime of the mutex they
reference, but only the ownership status of that mutex. <i>[Note: </i>Locks are intended to ease the burden
of unlocking the mutex under both normal and exceptional circumstances.<i> --end
-note]</i></p>
+note]</i>
+</p>
<p>
Some locks may take tag types which describe what should be done with the mutex in the lock's
@@ -1575,7 +1615,8 @@
<i>Postcondition:</i> <code>owns_lock() == true</code>.
</p>
<p>
-<i>Throws:</i> <code>lock_error</code>, if on entry <code>owns_lock()</code> is <code>true</code>.</p>
+<i>Throws:</i> <code>lock_error</code>, if on entry <code>owns_lock()</code> is <code>true</code>.
+</p>
</blockquote>
</blockquote>
@@ -1617,7 +1658,8 @@
<i>Postcondition:</i> <code>owns_lock() == </code>The result of the call to <code>timed_lock(rel_t)</code> on the referenced mutex.
</p>
<p>
-<i>Throws:</i> <code>lock_error</code>, if on entry <code>owns_lock()</code> is <code>true</code>.</p>
+<i>Throws:</i> <code>lock_error</code>, if on entry <code>owns_lock()</code> is <code>true</code>.
+</p>
</blockquote>
</blockquote>
@@ -1744,7 +1786,8 @@
<i>Requires:</i> Each template parameter type must supply the following member functions with semantics
corresponding to the Mutex concept, except that <code>try_lock</code> is allowed to throw an
exception. <i>[Note:</i> The <code>unique_lock</code> class template meets these requirements
-when suitable instantiated. <i>--end note]</i></p>
+when suitable instantiated. <i>--end note]</i>
+</p>
<blockquote>
<pre><code>
bool try_lock();
@@ -1774,7 +1817,8 @@
<i>Requires:</i> Each template parameter type must supply the following member functions with semantics
corresponding to the Mutex concept, except that <code>try_lock</code> is allowed to
throw an exception <i>[Note:</i> The <code>unique_lock</code> class template meets these requirements
-when suitable instantiated. <i>--end note]</i></p>
+when suitable instantiated. <i>--end note]</i>
+</p>
<blockquote>
<pre><code>
void lock();
@@ -1791,7 +1835,9 @@
<h3><a name="ConditionVariablesWording">Condition variables</a></h3>
-<p><b><condition_variable> synopsis</b></p>
+<p>
+<b><condition_variable> synopsis</b>
+</p>
<blockquote>
<pre><code>
@@ -1876,8 +1922,10 @@
<p>
<i>Effects:</i> If any threads are blocked waiting for <code>*this</code>,
unblocks at least one those threads.
-<b>[Crowl: Is any lock released?]</b></p>
-<p><b>[Crowl: Needs to say release operation.]</b>
+<b>[Crowl: Is any lock released?]</b>
+</p>
+<p>
+<b>[Crowl: Needs to say release operation.]</b>
<p>
<i>Thread safety:</i> Calls to the <code>wait</code>,
<code>timed_wait</code>, <code>notify_one</code> or
@@ -1926,10 +1974,12 @@
</p>
<p>
<i>Postcondition:</i> <code>lock</code> is locked by the current
-thread.</p>
+thread.
+</p>
<p>
<i>Throws:</i> <span style="font-style: italic; background-color: #FFFF00">???
-See issue 26</span></p>
+See issue 26</span>
+</p>
<p>
<i>Thread safety:</i> Calls to the <code>wait</code>,
<code>timed_wait</code>, <code>notify_one</code> or
@@ -1951,7 +2001,8 @@
</p>
<p>
<i>[Note:</i> Does not block if <code>pred()</code> is initially <code>true</code>. <i>
---end note</i>]</p>
+--end note</i>]
+</p>
</blockquote>
</blockquote>
@@ -1981,7 +2032,8 @@
</p>
<p>
<i>Postcondition:</i> <code>lock</code> is locked by the current
-thread.</p>
+thread.
+</p>
<p>
<i>Returns:</i> <code>true</code> if the call to <code>timed_wait</code> is notified prior
to the indicated timeout,
@@ -1989,7 +2041,8 @@
</p>
<p>
<i>Throws:</i> <span style="font-style: italic; background-color: #FFFF00">???
-See issue 26</span></p>
+See issue 26</span>
+</p>
<p>
<i>Thread safety:</i> Calls to the <code>wait</code>,
<code>timed_wait</code>, <code>notify_one</code> or
@@ -2115,7 +2168,8 @@
<blockquote>
<p>
<i>Effects:</i> If any threads are blocked waiting for <code>*this</code>,
-unblocks at least one those threads.</p>
+unblocks at least one those threads.
+</p>
<p>
<i>Thread safety:</i> Calls to the <code>wait</code>,
<code>timed_wait</code>, <code>notify_one</code> or
@@ -2165,7 +2219,8 @@
</p>
<p>
<i>Postcondition:</i> <code>lock</code> is locked by the current
-thread.</p>
+thread.
+</p>
<p>
<i>Throws:</i> <code>system_error</code> when an error condition occurs. The
possible error conditions are implementation defined.
@@ -2222,7 +2277,8 @@
</p>
<p>
<i>Postcondition:</i> <code>lock</code> is locked by the current
-thread.</p>
+thread.
+</p>
<p>
<i>Returns:</i> <code>true</code> if the call to <code>timed_wait</code> is notified prior
to the indicated timeout,
@@ -2278,7 +2334,8 @@
<h2><a name="DateTime"></a>Chapter ? Date Time Library</h2>
<hr>
-<p> This clause describes components for determining and manipulating temporal values.
+<p>
+This clause describes components for determining and manipulating temporal values.
A <i>time point</i> represents a dimensionless instant
in the time continuum. A <i>time duration</i> represents a length of time
unattached to any time point. Time points and time durations have a
@@ -2287,9 +2344,11 @@
1970-01-01 00:00:00.
- <p>Throughout this clause, the names of template parameters are used to express
+<p>
+Throughout this clause, the names of template parameters are used to express
type requirements. <span style="background-color: #FFFF00">Define Duration,
- RhsDuration</span></p>
+ RhsDuration</span>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.header__date_time__synopsis"></a>Header <date_time> Synopsis</h3>
@@ -2325,7 +2384,8 @@
Coordinated Universal Time, known as UTC, time.
<code>system_time</code> shall provide an epoch time of 1970-01-01 00:00:00.000000000
and a maximum time value of at least epoch time + 292 years.
-</p><p>
+</p>
+<p>
class <code>system_time</code> shall be EqualityComparable, LessThanComparable,
CopyConstructable, DefaultConstructable, and Assignable.
</p>
@@ -2392,65 +2452,75 @@
<p>
<i>Effects:</i> Constructs a system_time
object representing the epoch time point 1970-01-01 00:00:00.000000000
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">system_time</span><span class="special">(</span><span class="identifier">time_t</span> <span class="identifier">secs</span><span class="special">,</span> <span class="identifier">nanoseconds</span> <span class="identifier">ns</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Construct<span class="underline">s</span> a utc
time object representing the time point that is secs + 1,000,000,000*ns after the epoch.
- </p><p>
+</p>
+<p>
<i>Remarks:</i> If the total nanoseconds > 1 second the seconds are
incremented appropriately.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="identifier">time_t</span> <span class="identifier">seconds_since_epoch</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> The count of seconds since 1970-01-01 00:00:00.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">nanoseconds</span> <span class="identifier">nanoseconds_since_epoch</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> The count of <span class="underline">nano</span>seconds
since 1970-01-01 00:00:00.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 1000000000
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 0
- </p><p>
+</p>
+<p>
<i>Remarks:</i> Since this is a subsecond type it returns 0 for seconds_per_tick.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> true.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
@@ -2458,54 +2528,60 @@
<i>Returns:</i> True if
the <span class="underline">time
represented by *this is equal to the time represented by rhs</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if the <span class="underline">time represented by *this is not equal to the time represented
by rhs</span>
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if time <span class="underline">represented by
*this is greater than the time represented by rhs</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>=(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if time <span class="underline">represented
by *this is greater or equal than the time represented by rhs</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if time <span class="underline">represented by *this
is less than the time represented by rhs</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><=(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if time <span class="underline">represented by *this
is less or equal than the time represented by rhs</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">nanoseconds</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">system_time</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
</code></pre>
@@ -2513,12 +2589,14 @@
<i>Returns:</i> <span class="underline">
The difference in nanoseconds between the time represented by *this and the
time represented by rhs.</span>
- </p><p>
+</p>
+<p>
<i>Remarks:</i> If rhs is greater the result will be a negative nanosecond.
count.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Duration</span><span class="special">></span>
<span class="identifier">system_time</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">Duration</span><span class="special">&</span> <span class="identifier">td</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
@@ -2526,9 +2604,10 @@
<p>
<i>Returns:</i> The duration converted to nanosecond resolution
and added to the time <span class="underline">represented by *this</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Duration</span><span class="special">></span>
<span class="identifier">system_time</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">Duration</span><span class="special">&</span> <span class="identifier">td</span><span class="special">);</span>
@@ -2536,11 +2615,13 @@
<p>
<i>Effects:</i> Convert the duration to nanosecond resolution add to nanoseconds
to the time represented by *this.
- </p><p>
+</p>
+<p>
<i>Returns:</i> Modified value of this.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Duration</span><span class="special">></span>
<span class="identifier">system_time</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">Duration</span><span class="special">&</span> <span class="identifier">td</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
@@ -2548,9 +2629,10 @@
<p>
<i>Returns:</i> The duration converted to nanosecond resolution
and subtracted from the time <span class="underline">represented by *this</span>.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Duration</span><span class="special">></span>
<span class="identifier">system_time</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">Duration</span><span class="special">&</span> <span class="identifier">td</span><span class="special">)</span>
@@ -2558,11 +2640,13 @@
<p>
<i>Effects:</i> Convert the duration to nanosecond resolution subtract and
from the time represented by *this.
- </p><p>
+</p>
+<p>
<i>Returns:</i> Modified value of this.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.template_class_hiresolution_clock"></a>function get_system_time</h3>
@@ -2587,7 +2671,7 @@
resolution from calls to the clock. The Boost Date-Time Library has a class that portably implements the proposed
interface, but it uses different C-level interfaces depending on the operating
system.</i>
- </p>
+</p>
</blockquote>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.common_duration_functions"></a>Common Duration Functions</h3>
@@ -2596,9 +2680,10 @@
The following functions are common functions to all durations types. These
functions provide the basis for durations to be EqualityComparable, LessThanComparable
as well arithmetic operations.
- </p><p>
+</p>
+<p>
In the following text duration_type refers to the containing duration type.
- </p>
+</p>
<p>
All duration types are EqualityComparable, LessThanComparable,
CopyConstructable, DefaultConstructable, and Assignable for duration
@@ -2657,70 +2742,77 @@
</code></pre>
</blockquote>
<p>
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if rhs duration is greater.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if rhs is not the same time.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if the rhs duration is larger.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">>=(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if greater or equal than the rhs duration.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if less than the rhs duration.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="keyword">bool</span> <span class="keyword">operator</span><span class="special"><=(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</code></pre>
<p>
<i>Returns:</i> True if less or equal to the rhs duration.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="comment">//sign inversion
</span><span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">-()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> Negated value of the duration.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="comment">//arithmetic operations
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
@@ -2728,103 +2820,120 @@
</code></pre>
<p>
<i>Returns:</i> A duration value equal to this-rhs_duration.
- </p><p>
+</p>
+<p>
<span class="emphasis"><em>Remarks: This will fail to compiler if the
RhsDuration is
of higher resolution.</em></span>
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">d</span><span class="special">)</span>
</code></pre>
<p>
<i>Effects:</i> Modifies to value equal to this-rhs_duration.
- </p><p>
+</p>
+<p>
<i>Returns:</i> this
- </p><p>
+</p>
+<p>
<span class="emphasis"><em>Remarks: This will fail to compiler if the
RhsDuration is
of higher resolution.</em></span>
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">d</span><span class="special">)</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> Duration equal to this+rhs_duration.
- </p><p>
+</p>
+<p>
<span class="emphasis"><em>Remarks: This will fail to compiler if the
RhsDuration is
of higher resolution.</em></span>
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">RhsDuration</span><span class="special">></span>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">RhsDuration</span><span class="special">&</span> <span class="identifier">d</span><span class="special">)</span>
</code></pre>
<p>
<i>Effects:</i> Modifies to value equal to this+rhs_duration.
- </p><p>
+</p>
+<p>
<i>Returns:</i> this
- </p><p>
+</p>
+<p>
<span class="emphasis"><em>Remarks: This will fail to compiler if the
RhsDuration is
of higher resolution.</em></span>
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">/</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">divisor</span><span class="special">)</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> Duration with value equal to this/divisor according to
integer arithmetic rules.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="keyword">int</span> <span class="identifier">divisor</span><span class="special">)</span>
</code></pre>
<p>
<i>Effects:</i> Change value of this by this/divisor according to integer
arithmetic rules.
- </p><p>
+</p>
+<p>
<i>Returns:</i> this
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">*</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> Duration with value equal to this*rhs
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">Duration</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="keyword">int</span> <span class="identifier">rhs</span><span class="special">)</span>
</code></pre>
<p>
<i>Effects:</i> Modifies to value equal to this*rhs.
- </p><p>
+</p>
+<p>
<i>Returns:</i> this
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">tick_type</span> <span class="identifier">get_count</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> The count at the resolution of the time duration
type.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.class_nanoseconds"></a>class nanoseconds</h3>
@@ -2860,42 +2969,48 @@
<p>
<i>Effects:</i> Constructs an object with a count of nanoseconds - default
is zero.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">nanoseconds</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">nanoseconds</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Copy construction.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 1000000000
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 0
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> true
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.class_microseconds"></a>class microseconds</h3>
@@ -2935,51 +3050,58 @@
<p>
<i>Effects:</i> Constructs an object with a count of microseconds - default
is zero.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">microseconds</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">microseconds</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Copy construction.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="comment">//conversions
</span><span class="keyword">operator</span> <span class="identifier">nanoseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> microsecond count converted to nanoseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 1000000
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 0
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> true
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.class_milliseconds"></a>class milliseconds</h3>
@@ -3018,58 +3140,66 @@
<p>
<i>Effects:</i> Constructs an object with a count of milliseconds - default
is zero.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">milliseconds</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">milliseconds</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Copy construction.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">nanoseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> millisecond count converted to nanoseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">microseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> millisecond count converted to microseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 1000
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 0
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> true
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.class_seconds"></a>class seconds</h3>
@@ -3109,66 +3239,75 @@
<p>
<i>Effects:</i> Construct<span class="underline">s</span> a<span class="underline">n object with a</span> count of seconds - default is
zero.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">seconds</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">seconds</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Copy construction.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">nanoseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> second count converted to nanoseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">microseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> second count converted to microseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">milliseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> second count converted to milliseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 1
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 1
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> false
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.class_minutes"></a>class minutes</h3>
@@ -3209,74 +3348,84 @@
<p>
<i>Effects:</i> Construct<span class="underline">s</span> a<span class="underline">n object with a</span> count of minutes - default is
zero.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">minutes</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">minutes</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Copy construction.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">nanoseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> minute count converted to nanoseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">microseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> minute count converted to microseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">milliseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> minute count converted to milliseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">seconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> minute count converted to seconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 0
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 60
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> false
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h3 class="title"><a name="n2411_07_0271___proposal_for_date_time_types_in_c__0x_to_support_threading_apis_v2.proposed_text.class_hours"></a>class hours</h3>
<p>
@@ -3317,82 +3466,93 @@
</code></pre>
<p>
<i>Effects:</i> Construct<span class="underline">s</span> a<span class="underline">n object with a</span> count of hours - default is zero.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="identifier">hours</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">hours</span><span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
</code></pre>
<p>
<i>Effects:</i> Copy construction.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p><p>
- </p>
+</p>
+<p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">nanoseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> hour count converted to nanoseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">microseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> hour count converted to microseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">milliseconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> hour count converted to milliseconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">seconds</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns:</i> hour count converted to seconds
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">operator</span> <span class="identifier">minutes</span><span class="special">()</span> <span class="keyword">const</span>
</code></pre>
<p>
<i>Returns: </i> hour count converted to seconds.
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">ticks_per_second</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 0
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="identifier">tick_type</span> <span class="identifier">seconds_per_tick</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> 3600
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<pre><code>
<span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">is_subsecond</span><span class="special">();</span>
</code></pre>
<p>
<i>Returns:</i> false
- </p><p>
+</p>
+<p>
<i>Throws:</i> Nothing.
- </p>
+</p>
<h2><a name="References">References</a></h2>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk