|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r58369 - in sandbox/chrono/libs/chrono/doc: . html html/boost_chrono html/boost_chrono/appendices html/boost_chrono/reference
From: vicente.botet_at_[hidden]
Date: 2009-12-13 17:05:31
Author: viboes
Date: 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
New Revision: 58369
URL: http://svn.boost.org/trac/boost/changeset/58369
Log:
Boost.Chrono: Version 0.2.6
* More Updated documentation
Text files modified:
sandbox/chrono/libs/chrono/doc/chrono.qbk | 75 ++++++++++++++++---------------
sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html | 2
sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html | 17 ++++++
sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html | 4
sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html | 15 ++++--
sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html | 4
sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/chrono_hpp.html | 96 ++++++++++++++++++++--------------------
sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/common_type_hpp.html | 7 +-
sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/ratio_hpp.html | 31 +++++-------
sandbox/chrono/libs/chrono/doc/html/index.html | 2
10 files changed, 135 insertions(+), 118 deletions(-)
Modified: sandbox/chrono/libs/chrono/doc/chrono.qbk
==============================================================================
--- sandbox/chrono/libs/chrono/doc/chrono.qbk (original)
+++ sandbox/chrono/libs/chrono/doc/chrono.qbk 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -634,7 +634,7 @@
`common_type` is a facility which is useful in specifying the type of the result of functions and operators which take a variety of types (e.g. "mixed mode" complex arithmetic).
-The nested typedef `common_type::type` shall be defined as follows:
+The nested typedef `common_type::type` could be defined as follows:
template <class T, class U = void, class V = void>
struct common_type {
@@ -656,7 +656,7 @@
typedef BOOST_TYPEOF_TPL(m_f() ? m_t() : m_u()) type;
};
-All types in the parameter pack T shall be complete. This trait is permitted to be specialized by a user if at least one template parameter is a user-defined type.
+All parameter types must be complete. This trait is permitted to be specialized by a user if at least one template parameter is a user-defined type.
[*Note:] Such specializations are required when only explicit conversions are desired among the `common_type` arguments.
@@ -739,13 +739,13 @@
operator=(const ratio<_N2, _D2>&) {return *this;}
};
-A diagnostic shall be emitted if `ratio` is instantiated with `D == 0`, or if the absolute value of `N` or `D` can not be represented. [*Note:] These rules ensure that infinite ratios are avoided and that for any negative input, there exists a representable value of its absolute value which is positive. In a two's complement representation, this excludes the most negative value.
+A diagnostic will be emitted if `ratio` is instantiated with `D == 0`, or if the absolute value of `N` or `D` can not be represented. [*Note:] These rules ensure that infinite ratios are avoided and that for any negative input, there exists a representable value of its absolute value which is positive. In a two's complement representation, this excludes the most negative value.
Let `gcd` denote the greatest common divisor of `N`'s absolute value and of `D`'s absolute value.
-* `num` shall have the value `sign(N)*sign(D)*abs(N)/gcd`.
+* `num` has the value `sign(N)*sign(D)*abs(N)/gcd`.
-* `den` shall have the value `abs(D)/gcd`.
+* `den` has the value `abs(D)/gcd`.
The nested typedef `type` denotes the normalized form of this ratio type. It should be used when the template parameters don't give a normalized form.
@@ -758,7 +758,7 @@
[*Effects:] Constructs a `ratio` object.
-[*Remarks:] This constructor shall not participate in overload resolution unless `r` has the same normalized form as `*this`.
+[*Remarks:] This constructor will not participate in overload resolution unless `r` has the same normalized form as `*this`.
template <intmax_t N2, intmax_t D2>
ratio& operator=(const ratio<N2, D2>& r);
@@ -767,7 +767,7 @@
[*Returns:] *this.
-[*Remarks:] This operator shall not participate in overload resolution unless `r` has the same normalized form as `*this`.
+[*Remarks:] This operator will not participate in overload resolution unless `r` has the same normalized form as `*this`.
[endsect]
@@ -777,31 +777,31 @@
[section:ratio_arithmetic `ratio` arithmetic]
-For each of the class templates in this clause, each template parameter shall refer to a `ratio`. If the implementation is unable to form the indicated `ratio` due to overflow, a diagnostic shall be issued.
+For each of the class templates in this clause, each template parameter refers to a `ratio`. If the implementation is unable to form the indicated `ratio` due to overflow, a diagnostic will be issued.
template <class R1, class R2> struct ratio_add {
typedef [/see below] type;
};
-The nested typedef `type` shall be a synonym for `ratio<R1::num * R2::den + R2::num * R1::den, R1::den * R2::den>::type`.
+The nested typedef `type` is a synonym for `ratio<R1::num * R2::den + R2::num * R1::den, R1::den * R2::den>::type`.
template <class R1, class R2> struct ratio_subtract {
typedef [/see below] type;
};
-The nested typedef `type` shall be a synonym for `ratio<R1::num * R2::den - R2::num * R1::den, R1::den * R2::den>::type`.
+The nested typedef `type` is a synonym for `ratio<R1::num * R2::den - R2::num * R1::den, R1::den * R2::den>::type`.
template <class R1, class R2> struct ratio_multiply {
typedef [/see below] type;
};
-The nested typedef `type` shall be a synonym for `ratio<R1::num * R2::num, R1::den * R2::den>::type`.
+The nested typedef `type` is a synonym for `ratio<R1::num * R2::num, R1::den * R2::den>::type`.
template <class R1, class R2> struct ratio_divide {
typedef [/see below] type;
};
-The nested typedef `type` shall be a synonym for `ratio<R1::num * R2::den, R2::num * R1::den>::type`.
+The nested typedef `type` is a synonym for `ratio<R1::num * R2::den, R2::num * R1::den>::type`.
[endsect]
@@ -816,7 +816,7 @@
struct ratio_less
: public boost::integral_constant<bool, [/see below] > {};
-If R1::num * R2::den < R2::num * R1::den, ratio_less derives from true_type, else derives from false_type. Implementations are permitted to use more complex algorithms to compute the above relationship to avoid overflow. If the implementation is not able to avoid overflow, a diagnostic shall be emitted.
+If R1::num * R2::den < R2::num * R1::den, ratio_less derives from true_type, else derives from false_type. Implementations are permitted to use more complex algorithms to compute the above relationship to avoid overflow. If the implementation is not able to avoid overflow, a diagnostic is emitted.
template <class R1, class R2> struct ratio_not_equal
@@ -999,7 +999,7 @@
[section `Clock` Requirements]
-A clock represents a bundle consisting of a native `duration`, a native `time_point`, and a function `now()` to get the current `time_point`. A clock shall meet the requirements in the following Table.
+A clock represents a bundle consisting of a native `duration`, a native `time_point`, and a function `now()` to get the current `time_point`. A clock must meet the requirements in the following Table.
In this table `C1` and `C2` denote `clock` types. `t1` and `t2` are values returned from `C1::now()` where the call returning `t1` happens before the call returning `t2` and both of these calls happen before `C1::time_point::max()`.
@@ -1008,7 +1008,7 @@
[[`C1::rep`] [An arithmetic type or class emulating an arithmetic type. ] [The representation type of the native `duration` and `time_point`.]]
[[`C1::period`] [`ratio`] [The tick period of the clock in seconds.]]
[[`C1::duration`] [`chrono::duration<C1::rep, C1::period>`] [The native `duration` type of the `clock`.]]
- [[`C1::time_point`] [`chrono::time_point<C1> or chrono::time_point<C2, C1::duration>`] [The native `time_point` type of the `clock`. Different clocks are permitted to share a `time_point` definition if it is valid to compare their time_points by comparing their respective `duration`s. `C1` and `C2` shall refer to the same epoch.]]
+ [[`C1::time_point`] [`chrono::time_point<C1> or chrono::time_point<C2, C1::duration>`] [The native `time_point` type of the `clock`. Different clocks are permitted to share a `time_point` definition if it is valid to compare their time_points by comparing their respective `duration`s. `C1` and `C2` must refer to the same epoch.]]
[[`C1::is_monotonic`] [`const bool`] [`true` if `t1 <= t2` is always `true`, else `false`. [*Note: A `clock` that can be adjusted backwards is not monotonic]]]
[[`C1::now()`] [`C1::time_point`] [Returns a `time_point` representing the current point in time.]]
]
@@ -1044,7 +1044,7 @@
[*Returns:] `Rep(0)`. [*Note:] `Rep(0)` is specified instead of `Rep()` since `Rep()` may have some other meaning, such as an uninitialized value.
-[*Remarks:] The value returned shall correspond to the additive identity.
+[*Remarks:] The value returned corresponds to the additive identity.
[endsect]
[section:max Static member function `max()`]
@@ -1053,7 +1053,7 @@
[*Returns:] `numeric_limits<Rep>::max()`.
-[*Remarks:] The value returned shall compare greater than zero().
+[*Remarks:] The value returned compares greater than zero().
[endsect]
[section:min Static member function `min()`]
@@ -1062,7 +1062,7 @@
[*Returns:] `numeric_limits<Rep>::lowest()`.
-[*Remarks:] The value returned shall compare less than or equal to `zero()`.
+[*Remarks:] The value returned compares less than or equal to `zero()`.
[endsect]
@@ -1076,7 +1076,7 @@
typedef chrono::duration<typename common_type<Rep1, Rep2>::type, see below> type;
};
-The period of the `duration` indicated by this specialization of `common_type` shall be the greatest common divisor of `Period1` and `Period2`. This can be computed by forming a `ratio` of the greatest common divisor of `Period1::num` and `Period2::num`, and the least common multiple of `Period1::den` and `Period2::den`.
+The period of the `duration` indicated by this specialization of `common_type` is the greatest common divisor of `Period1` and `Period2`. This can be computed by forming a `ratio` of the greatest common divisor of `Period1::num` and `Period2::num`, and the least common multiple of `Period1::den` and `Period2::den`.
[*Note:] The typedef type is the `duration` with the largest tick period possible where both `duration` arguments will convert to it without requiring a division operation. The representation of this type is intended to be able to hold any value resulting from this conversion, with the possible exception of round-off error when floating point `duration`s are involved (but not truncation error).
@@ -1086,7 +1086,7 @@
typedef chrono::time_point<Clock, typename common_type<Duration1, Duration2>::type> type;
};
-The `common_type` of two `time_point`s is a `time_point` with the same `clock` (both shall have the same `clock`), and the `common_type` of the two `duration`s.
+The `common_type` of two `time_point`s is a `time_point` with the same `clock` (both have the same `clock`), and the `common_type` of the two `duration`s.
[endsect]
@@ -1155,11 +1155,11 @@
}}
-Rep shall be an arithmetic type, or a class emulating an arithmetic type. If `duration` is instantiated with the type of `Rep` being a `duration`, a diagnostic is required.
+Rep must be an arithmetic type, or a class emulating an arithmetic type. If `duration` is instantiated with the type of `Rep` being a `duration`, a diagnostic is required.
-Period shall be an instantiation of `ratio`, diagnostic required.
+Period must be an instantiation of `ratio`, compile diagnostic otherwise.
-Period::num shall be positive, diagnostic required.
+Period::num must be positive, compile diagnostic otherwise.
Examples:
@@ -1185,7 +1185,7 @@
[*Example:]
- duration<int, milli> d(3.5); // shall not compile
+ duration<int, milli> d(3.5); // do not compile
duration<int, milli> d(3); // ok
[*Effects:] Constructs an object of type `duration`.
@@ -1208,7 +1208,7 @@
duration<int, milli> ms(3);
duration<int, micro> us = ms; // ok
- duration<int, milli> ms2 = us; // shall not compile
+ duration<int, milli> ms2 = us; // do not compile
[*Effects:] Constructs an object of type `duration`, constructing `rep_` from `duration_cast<duration>(d).count()`.
@@ -1370,7 +1370,7 @@
duration<typename common_type<Rep1, Rep2>::type, Period>
operator*(const duration<Rep1, Period>& d, const Rep2& s);
-[*Requires:] Let `CR` represent the `common_type` of `Rep1` and `Rep2`. Both `Rep1` and `Rep2` shall be implicitly convertible to `CR`, diagnostic required.
+[*Requires:] Let `CR` represent the `common_type` of `Rep1` and `Rep2`. This function will not participate in overload resolution unless both `Rep1` and `Rep2` are implicitly convertible to `CR`.
[*Returns:] `duration<CR, Period>(d) *= s`.
@@ -1381,7 +1381,7 @@
duration<typename common_type<Rep1, Rep2>::type, Period>
operator*(const Rep1& s, const duration<Rep2, Period>& d);
-[*Requires:] Let `CR` represent the `common_type` of `Rep1` and `Rep2`. Both `Rep1` and `Rep2` shall be implicitly convertible to `CR`, diagnostic required.
+[*Requires:] Let `CR` represent the `common_type` of `Rep1` and `Rep2`. This function will not participate in overload resolution unless both `Rep1` and `Rep2` are implicitly convertible to `CR`.
[*Returns:] `d * s`.
@@ -1392,7 +1392,7 @@
duration<typename common_type<Rep1, Rep2>::type, Period>
operator/(const duration<Rep1, Period>& d, const Rep2& s);
-[*Requires:] Let `CR` represent the `common_type` of `Rep1` and `Rep2`. Both `Rep1` and `Rep2` shall be implicitly convertible to `CR`, and `Rep2` shall not be an instantiation of `duration`, diagnostic required.
+[*Requires:] Let `CR` represent the `common_type` of `Rep1` and `Rep2`. This function will not participate in overload resolution unless both `Rep1` and `Rep2` are implicitly convertible to `CR`, and `Rep2` is not an instantiation of `duration`.
[*Returns:] `duration<CR, Period>(d) /= s`.
@@ -1465,7 +1465,7 @@
template <class ToDuration, class Rep, class Period>
ToDuration duration_cast(const duration<Rep, Period>& d);
-[*Requires:] `ToDuration` is an instantiation of `duration`, diagnostic required.
+[*Requires:] This function will not participate in overload resolution unless `ToDuration` is an instantiation of `duration`.
[*Returns:] Forms `CF` which is a `ratio` resulting from `ratio_divide<Period, typename ToDuration::period>::type`. Let `CR` be the `common_type` of `ToDuration::rep`, `Rep`, and `intmax_t`.
@@ -1481,7 +1481,7 @@
static_cast<CR>(CF::num) /
static_cast<CR>(CF::den)))`
-[*Remarks:] This function shall not rely on any implicit conversions. All conversions shall be accomplished through `static_cast`. The implementation shall avoid all multiplications or divisions when it is known at compile time that it can be avoided because one or more arguments are `1`. All intermediate computations shall be carried out in the widest possible representation and only converted to the destination representation at the final step.
+[*Remarks:] This function does not rely on any implicit conversions. All conversions must be accomplished through `static_cast`. The implementation avoids all multiplications or divisions when it is known at compile time that it can be avoided because one or more arguments are `1`. All intermediate computations are carried out in the widest possible representation and only converted to the destination representation at the final step.
[endsect]
@@ -1528,9 +1528,9 @@
static BOOST_CONSTEXPR time_point max();
};
-Clock shall meet the Clock Requirements.
+Clock must meet the Clock Requirements.
-Duration shall be an instantiation of `duration`, diagnostic required.
+Duration must be an instantiation of `duration`, compile diagnostic otherwise.
[section:time_point_c_1 Constructor `time_point()`]
@@ -1550,7 +1550,7 @@
template <class Duration2> time_point(const time_point<clock, Duration2>& t);
-[*Requires:] `Duration2` shall be implicitly convertible to `duration`, diagnostic required.
+[*Requires:] This function will not participate in overload resolution unless `Duration2` is implicitly convertible to `duration`.
[*Effects:] Constructs an object of `time_point`, initializing `d_` with `t.time_since_epoch()`.
@@ -1693,7 +1693,7 @@
template <class ToDuration, class Clock, class Duration>
time_point<Clock, ToDuration> time_point_cast(const time_point<Clock, Duration>& t);
-[*Requires:] `ToDuration` is an instantiation of `duration`, diagnostic required.
+[*Requires:] This function will not participate in overload resolution unless `ToDuration` is an instantiation of `duration`.
[*Returns:] `time_point<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()))`.
@@ -3150,6 +3150,9 @@
* Update Jamfiles to manage with dll
* removal of conversion warning in test_duration
* manage with MSVC reporting a warning instead of an error when there is an integral constant overflow
+* Use STATIC_ASSERT specific macro to solve the compile failing issue
+* Qualify with boost::detail boost::chrono::detail to avoid ambiguities with MSVC
+
[*Documentation:]
@@ -3273,9 +3276,9 @@
In [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n3000.pdf [*N3000]] 20.4.2 and similar clauses
-[/3 The nested typedef type shall be a synonym for ratio<T1, T2> where T1 has the value R1::num * R2::den - R2::num * R1::den and T2 has the value R1::den * R2::den.]
+['3 The nested typedef type shall be a synonym for ratio<T1, T2> where T1 has the value R1::num * R2::den - R2::num * R1::den and T2 has the value R1::den * R2::den.]
-The meaning of synonym let think that the result shall be a normalized ratio equivalent to ratio<T1, T2>, but there is not an explicit definition of what synonym means in this context.
+The meaning of synonym let think that the result should be a normalized ratio equivalent to ratio<T1, T2>, but there is not an explicit definition of what synonym means in this context.
If the CopyConstruction and Assignment ([[@http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#12811281 [*LWG 1281]]) is not added we need a typedef for accessing the normalized ratio, and change 20.4.2 to return only this normalized result. In this case the user will need to
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -29,7 +29,7 @@
<div class="toc"><dl>
<dt><span class="section"> Appendix A: History</span></dt>
<dd><dl>
-<dt><span class="section">Version 0.2.1, December 12, 2009 Bug fixes</span></dt>
+<dt><span class="section">Version 0.2.1, December 13, 2009 Bug fixes</span></dt>
<dt><span class="section"><a href="appendices/history.html#boost_chrono.appendices.history.__version_0_2_0__december_8__2009______features___bug_fixes___updated_documentation_"><span class="bold"><strong>Version 0.2.0, December 8, 2009</strong></span> <span class="emphasis"><em>+ Features
+ Bug fixes + Updated documentation</em></span></a></span></dt>
<dt><span class="section"><a href="appendices/history.html#boost_chrono.appendices.history.__version_0_1_0__april_29__2009____beman_s_boostified_version_chrono_"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Beman's boostified
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/history.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -27,7 +27,7 @@
<a name="boost_chrono.appendices.history"></a> Appendix A: History
</h3></div></div></div>
<div class="toc"><dl>
-<dt><span class="section">Version 0.2.1, December 12, 2009 Bug fixes</span></dt>
+<dt><span class="section">Version 0.2.1, December 13, 2009 Bug fixes</span></dt>
<dt><span class="section"><a href="history.html#boost_chrono.appendices.history.__version_0_2_0__december_8__2009______features___bug_fixes___updated_documentation_"><span class="bold"><strong>Version 0.2.0, December 8, 2009</strong></span> <span class="emphasis"><em>+ Features
+ Bug fixes + Updated documentation</em></span></a></span></dt>
<dt><span class="section"><a href="history.html#boost_chrono.appendices.history.__version_0_1_0__april_29__2009____beman_s_boostified_version_chrono_"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Beman's boostified
@@ -35,7 +35,7 @@
</dl></div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_chrono.appendices.history.__version_0_2_1__december_12__2009____bug_fixes_"></a>Version 0.2.1, December 12, 2009 Bug fixes
+<a name="boost_chrono.appendices.history.__version_0_2_1__december_13__2009____bug_fixes_"></a>Version 0.2.1, December 13, 2009 Bug fixes
</h4></div></div></div>
<p>
<span class="bold"><strong>Bug Fixes</strong></span>
@@ -82,7 +82,20 @@
manage with MSVC reporting a warning instead of an error when there is
an integral constant overflow
</li>
+<li>
+ Use STATIC_ASSERT specific macro to solve the compile failing issue
+ </li>
+<li>
+ Qualify with boost::detail boost::chrono::detail to avoid ambiguities
+ with MSVC
+ </li>
</ul></div>
+<p>
+ <span class="bold"><strong>Documentation:</strong></span>
+ </p>
+<p>
+ More updated documentation.
+ </p>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/implementation.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -31,7 +31,7 @@
Implementation Notes</a>
</h3></div></div></div>
<a name="boost_chrono.appendices.implementation.why_does_run_timer_only_display_millisecond_place_precision_when_the_underlying_timer_has_nanosecond_precision_"></a><h4>
-<a name="id4882056"></a>
+<a name="id4882086"></a>
<a href="implementation.html#boost_chrono.appendices.implementation.why_does_run_timer_only_display_millisecond_place_precision_when_the_underlying_timer_has_nanosecond_precision_">Why
does run_timer only display millisecond place precision when the underlying
timer has nanosecond precision?</a>
@@ -42,7 +42,7 @@
dangerously.
</p>
<a name="boost_chrono.appendices.implementation.why_does_run_timer_sometimes_report_more_cpu_seconds_than_real_seconds_"></a><h4>
-<a name="id4882097"></a>
+<a name="id4882127"></a>
<a href="implementation.html#boost_chrono.appendices.implementation.why_does_run_timer_sometimes_report_more_cpu_seconds_than_real_seconds_">Why
does run_timer sometimes report more cpu seconds than real seconds?</a>
</h4>
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/rationale.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -33,7 +33,7 @@
are an extract from this document.
</p>
<a name="boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a__code__phrase_role__identifier__duration__phrase___code__to_a_function_with_the_units_being_ambiguous_"></a><h4>
-<a name="id4880902"></a>
+<a name="id4880918"></a>
<a href="rationale.html#boost_chrono.appendices.rationale.is_it_possible_for_the_user_to_pass_a__code__phrase_role__identifier__duration__phrase___code__to_a_function_with_the_units_being_ambiguous_">Is
it possible for the user to pass a <code class="computeroutput"><span class="identifier">duration</span></code>
to a function with the units being ambiguous?</a>
@@ -45,7 +45,7 @@
<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// Will not compile, 3 is not implicitly convertible to any `duration`
</span></pre>
<a name="boost_chrono.appendices.rationale.why_duration_needs_operator_"></a><h4>
-<a name="id4880992"></a>
+<a name="id4881008"></a>
<a href="rationale.html#boost_chrono.appendices.rationale.why_duration_needs_operator_">Why
duration needs operator%</a>
</h4>
@@ -73,7 +73,7 @@
<span class="special">};</span>
</pre>
<a name="boost_chrono.appendices.rationale.why_ratio_needs_copyconstruction_and_assignment_from_ratios_having_the_same_normalized_form"></a><h4>
-<a name="id4881570"></a>
+<a name="id4881586"></a>
<a href="rationale.html#boost_chrono.appendices.rationale.why_ratio_needs_copyconstruction_and_assignment_from_ratios_having_the_same_normalized_form">Why
ratio needs CopyConstruction and Assignment from ratios having the same normalized
form</a>
@@ -102,7 +102,7 @@
succeeds.
</p>
<a name="boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type"></a><h4>
-<a name="id4881859"></a>
+<a name="id4881875"></a>
<a href="rationale.html#boost_chrono.appendices.rationale.why_ratio_needs_the_nested_normalizer_typedef_type">Why
ratio needs the nested normalizer typedef type</a>
</h4>
@@ -110,7 +110,12 @@
In N3000 20.4.2 and similar clauses
</p>
<p>
- The meaning of synonym let think that the result shall be a normalized ratio
+ <span class="emphasis"><em>3 The nested typedef type shall be a synonym for ratio<T1, T2>
+ where T1 has the value R1::num * R2::den - R2::num * R1::den and T2 has the
+ value R1::den * R2::den.</em></span>
+ </p>
+<p>
+ The meaning of synonym let think that the result should be a normalized ratio
equivalent to ratio<T1, T2>, but there is not an explicit definition
of what synonym means in this context.
</p>
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/appendices/todo.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -27,7 +27,7 @@
<a name="boost_chrono.appendices.todo"></a> Appendix F: Future plans
</h3></div></div></div>
<a name="boost_chrono.appendices.todo.tasks_to_do_before_review"></a><h4>
-<a name="id4882691"></a>
+<a name="id4882722"></a>
<a href="todo.html#boost_chrono.appendices.todo.tasks_to_do_before_review">Tasks
to do before review</a>
</h4>
@@ -61,7 +61,7 @@
> high resolution timers to avoid these issues.
</p>
<a name="boost_chrono.appendices.todo.for_later_releases"></a><h4>
-<a name="id4882750"></a>
+<a name="id4882780"></a>
<a href="todo.html#boost_chrono.appendices.todo.for_later_releases">For later
releases</a>
</h4>
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/chrono_hpp.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/chrono_hpp.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/chrono_hpp.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -310,7 +310,7 @@
a native <code class="computeroutput"><span class="identifier">time_point</span></code>, and
a function <code class="computeroutput"><span class="identifier">now</span><span class="special">()</span></code>
to get the current <code class="computeroutput"><span class="identifier">time_point</span></code>.
- A clock shall meet the requirements in the following Table.
+ A clock must meet the requirements in the following Table.
</p>
<p>
In this table <code class="computeroutput"><span class="identifier">C1</span></code> and <code class="computeroutput"><span class="identifier">C2</span></code> denote <code class="computeroutput"><span class="identifier">clock</span></code>
@@ -320,7 +320,7 @@
and both of these calls happen before <code class="computeroutput"><span class="identifier">C1</span><span class="special">::</span><span class="identifier">time_point</span><span class="special">::</span><span class="identifier">max</span><span class="special">()</span></code>.
</p>
<div class="table">
-<a name="id4829640"></a><p class="title"><b>Table 1. Clock Requirements</b></p>
+<a name="id4829637"></a><p class="title"><b>Table 1. Clock Requirements</b></p>
<table class="table" summary="Clock Requirements">
<colgroup>
<col>
@@ -418,7 +418,7 @@
Different clocks are permitted to share a <code class="computeroutput"><span class="identifier">time_point</span></code>
definition if it is valid to compare their time_points by comparing
their respective <code class="computeroutput"><span class="identifier">duration</span></code>s.
- <code class="computeroutput"><span class="identifier">C1</span></code> and <code class="computeroutput"><span class="identifier">C2</span></code> shall refer to the same epoch.
+ <code class="computeroutput"><span class="identifier">C1</span></code> and <code class="computeroutput"><span class="identifier">C2</span></code> must refer to the same epoch.
</p>
</td>
</tr>
@@ -552,8 +552,8 @@
as an uninitialized value.
</p>
<p>
- <span class="bold"><strong>Remarks:</strong></span> The value returned shall
- correspond to the additive identity.
+ <span class="bold"><strong>Remarks:</strong></span> The value returned corresponds
+ to the additive identity.
</p>
</div>
<div class="section" lang="en">
@@ -568,8 +568,8 @@
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="identifier">Rep</span><span class="special">>::</span><span class="identifier">max</span><span class="special">()</span></code>.
</p>
<p>
- <span class="bold"><strong>Remarks:</strong></span> The value returned shall
- compare greater than zero().
+ <span class="bold"><strong>Remarks:</strong></span> The value returned compares
+ greater than zero().
</p>
</div>
<div class="section" lang="en">
@@ -584,8 +584,8 @@
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special"><</span><span class="identifier">Rep</span><span class="special">>::</span><span class="identifier">lowest</span><span class="special">()</span></code>.
</p>
<p>
- <span class="bold"><strong>Remarks:</strong></span> The value returned shall
- compare less than or equal to <code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code>.
+ <span class="bold"><strong>Remarks:</strong></span> The value returned compares
+ less than or equal to <code class="computeroutput"><span class="identifier">zero</span><span class="special">()</span></code>.
</p>
</div>
</div>
@@ -602,7 +602,7 @@
<p>
The period of the <code class="computeroutput"><span class="identifier">duration</span></code>
indicated by this specialization of <code class="computeroutput"><span class="identifier">common_type</span></code>
- shall be the greatest common divisor of <code class="computeroutput"><span class="identifier">Period1</span></code>
+ is the greatest common divisor of <code class="computeroutput"><span class="identifier">Period1</span></code>
and <code class="computeroutput"><span class="identifier">Period2</span></code>. This can
be computed by forming a <code class="computeroutput"><span class="identifier">ratio</span></code>
of the greatest common divisor of <code class="computeroutput"><span class="identifier">Period1</span><span class="special">::</span><span class="identifier">num</span></code>
@@ -626,7 +626,7 @@
</pre>
<p>
The <code class="computeroutput"><span class="identifier">common_type</span></code> of two
- <code class="computeroutput"><span class="identifier">time_point</span></code>s is a <code class="computeroutput"><span class="identifier">time_point</span></code> with the same <code class="computeroutput"><span class="identifier">clock</span></code> (both shall have the same <code class="computeroutput"><span class="identifier">clock</span></code>), and the <code class="computeroutput"><span class="identifier">common_type</span></code>
+ <code class="computeroutput"><span class="identifier">time_point</span></code>s is a <code class="computeroutput"><span class="identifier">time_point</span></code> with the same <code class="computeroutput"><span class="identifier">clock</span></code> (both have the same <code class="computeroutput"><span class="identifier">clock</span></code>), and the <code class="computeroutput"><span class="identifier">common_type</span></code>
of the two <code class="computeroutput"><span class="identifier">duration</span></code>s.
</p>
</div>
@@ -745,18 +745,18 @@
<span class="special">}}</span>
</pre>
<p>
- Rep shall be an arithmetic type, or a class emulating an arithmetic type.
+ Rep must be an arithmetic type, or a class emulating an arithmetic type.
If <code class="computeroutput"><span class="identifier">duration</span></code> is instantiated
with the type of <code class="computeroutput"><span class="identifier">Rep</span></code> being
a <code class="computeroutput"><span class="identifier">duration</span></code>, a diagnostic
is required.
</p>
<p>
- Period shall be an instantiation of <code class="computeroutput"><span class="identifier">ratio</span></code>,
- diagnostic required.
+ Period must be an instantiation of <code class="computeroutput"><span class="identifier">ratio</span></code>,
+ compile diagnostic otherwise.
</p>
<p>
- Period::num shall be positive, diagnostic required.
+ Period::num must be positive, compile diagnostic otherwise.
</p>
<p>
Examples:
@@ -805,7 +805,7 @@
<p>
<span class="bold"><strong>Example:</strong></span>
</p>
-<pre class="programlisting"><span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">></span> <span class="identifier">d</span><span class="special">(</span><span class="number">3.5</span><span class="special">);</span> <span class="comment">// shall not compile
+<pre class="programlisting"><span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">></span> <span class="identifier">d</span><span class="special">(</span><span class="number">3.5</span><span class="special">);</span> <span class="comment">// do not compile
</span><span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">></span> <span class="identifier">d</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// ok
</span></pre>
<p>
@@ -842,7 +842,7 @@
</p>
<pre class="programlisting"><span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">></span> <span class="identifier">ms</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">micro</span><span class="special">></span> <span class="identifier">us</span> <span class="special">=</span> <span class="identifier">ms</span><span class="special">;</span> <span class="comment">// ok
-</span><span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">></span> <span class="identifier">ms2</span> <span class="special">=</span> <span class="identifier">us</span><span class="special">;</span> <span class="comment">// shall not compile
+</span><span class="identifier">duration</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">milli</span><span class="special">></span> <span class="identifier">ms2</span> <span class="special">=</span> <span class="identifier">us</span><span class="special">;</span> <span class="comment">// do not compile
</span></pre>
<p>
<span class="bold"><strong>Effects:</strong></span> Constructs an object of type
@@ -1133,10 +1133,10 @@
<p>
<span class="bold"><strong>Requires:</strong></span> Let <code class="computeroutput"><span class="identifier">CR</span></code>
represent the <code class="computeroutput"><span class="identifier">common_type</span></code>
- of <code class="computeroutput"><span class="identifier">Rep1</span></code> and <code class="computeroutput"><span class="identifier">Rep2</span></code>. Both <code class="computeroutput"><span class="identifier">Rep1</span></code>
- and <code class="computeroutput"><span class="identifier">Rep2</span></code> shall be implicitly
- convertible to <code class="computeroutput"><span class="identifier">CR</span></code>, diagnostic
- required.
+ of <code class="computeroutput"><span class="identifier">Rep1</span></code> and <code class="computeroutput"><span class="identifier">Rep2</span></code>. This function will not participate
+ in overload resolution unless both <code class="computeroutput"><span class="identifier">Rep1</span></code>
+ and <code class="computeroutput"><span class="identifier">Rep2</span></code> are implicitly
+ convertible to <code class="computeroutput"><span class="identifier">CR</span></code>.
</p>
<p>
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">duration</span><span class="special"><</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">>(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">*=</span> <span class="identifier">s</span></code>.
@@ -1155,10 +1155,10 @@
<p>
<span class="bold"><strong>Requires:</strong></span> Let <code class="computeroutput"><span class="identifier">CR</span></code>
represent the <code class="computeroutput"><span class="identifier">common_type</span></code>
- of <code class="computeroutput"><span class="identifier">Rep1</span></code> and <code class="computeroutput"><span class="identifier">Rep2</span></code>. Both <code class="computeroutput"><span class="identifier">Rep1</span></code>
- and <code class="computeroutput"><span class="identifier">Rep2</span></code> shall be implicitly
- convertible to <code class="computeroutput"><span class="identifier">CR</span></code>, diagnostic
- required.
+ of <code class="computeroutput"><span class="identifier">Rep1</span></code> and <code class="computeroutput"><span class="identifier">Rep2</span></code>. This function will not participate
+ in overload resolution unless both <code class="computeroutput"><span class="identifier">Rep1</span></code>
+ and <code class="computeroutput"><span class="identifier">Rep2</span></code> are implicitly
+ convertible to <code class="computeroutput"><span class="identifier">CR</span></code>.
</p>
<p>
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">d</span>
@@ -1178,12 +1178,12 @@
<p>
<span class="bold"><strong>Requires:</strong></span> Let <code class="computeroutput"><span class="identifier">CR</span></code>
represent the <code class="computeroutput"><span class="identifier">common_type</span></code>
- of <code class="computeroutput"><span class="identifier">Rep1</span></code> and <code class="computeroutput"><span class="identifier">Rep2</span></code>. Both <code class="computeroutput"><span class="identifier">Rep1</span></code>
- and <code class="computeroutput"><span class="identifier">Rep2</span></code> shall be implicitly
+ of <code class="computeroutput"><span class="identifier">Rep1</span></code> and <code class="computeroutput"><span class="identifier">Rep2</span></code>. This function will not participate
+ in overload resolution unless both <code class="computeroutput"><span class="identifier">Rep1</span></code>
+ and <code class="computeroutput"><span class="identifier">Rep2</span></code> are implicitly
convertible to <code class="computeroutput"><span class="identifier">CR</span></code>, and
- <code class="computeroutput"><span class="identifier">Rep2</span></code> shall not be an
- instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>,
- diagnostic required.
+ <code class="computeroutput"><span class="identifier">Rep2</span></code> is not an instantiation
+ of <code class="computeroutput"><span class="identifier">duration</span></code>.
</p>
<p>
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">duration</span><span class="special"><</span><span class="identifier">CR</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">>(</span><span class="identifier">d</span><span class="special">)</span> <span class="special">/=</span> <span class="identifier">s</span></code>.
@@ -1325,9 +1325,9 @@
<span class="identifier">ToDuration</span> <span class="identifier">duration_cast</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">duration</span><span class="special"><</span><span class="identifier">Rep</span><span class="special">,</span> <span class="identifier">Period</span><span class="special">>&</span> <span class="identifier">d</span><span class="special">);</span>
</pre>
<p>
- <span class="bold"><strong>Requires:</strong></span> <code class="computeroutput"><span class="identifier">ToDuration</span></code>
- is an instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>,
- diagnostic required.
+ <span class="bold"><strong>Requires:</strong></span> This function will not participate
+ in overload resolution unless <code class="computeroutput"><span class="identifier">ToDuration</span></code>
+ is an instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>.
</p>
<p>
<span class="bold"><strong>Returns:</strong></span> Forms <code class="computeroutput"><span class="identifier">CF</span></code>
@@ -1356,13 +1356,13 @@
</li>
</ul></div>
<p>
- <span class="bold"><strong>Remarks:</strong></span> This function shall not rely
- on any implicit conversions. All conversions shall be accomplished through
+ <span class="bold"><strong>Remarks:</strong></span> This function does not rely on
+ any implicit conversions. All conversions must be accomplished through
<code class="computeroutput"><span class="keyword">static_cast</span></code>. The implementation
- shall avoid all multiplications or divisions when it is known at compile
- time that it can be avoided because one or more arguments are <code class="computeroutput"><span class="number">1</span></code>. All intermediate computations shall be
- carried out in the widest possible representation and only converted to
- the destination representation at the final step.
+ avoids all multiplications or divisions when it is known at compile time
+ that it can be avoided because one or more arguments are <code class="computeroutput"><span class="number">1</span></code>. All intermediate computations are carried
+ out in the widest possible representation and only converted to the destination
+ representation at the final step.
</p>
</div>
<div class="section" lang="en">
@@ -1430,11 +1430,11 @@
<span class="special">};</span>
</pre>
<p>
- Clock shall meet the Clock Requirements.
+ Clock must meet the Clock Requirements.
</p>
<p>
- Duration shall be an instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>,
- diagnostic required.
+ Duration must be an instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>,
+ compile diagnostic otherwise.
</p>
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
@@ -1472,9 +1472,9 @@
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Duration2</span><span class="special">></span> <span class="identifier">time_point</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special"><</span><span class="identifier">clock</span><span class="special">,</span> <span class="identifier">Duration2</span><span class="special">>&</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
- <span class="bold"><strong>Requires:</strong></span> <code class="computeroutput"><span class="identifier">Duration2</span></code>
- shall be implicitly convertible to <code class="computeroutput"><span class="identifier">duration</span></code>,
- diagnostic required.
+ <span class="bold"><strong>Requires:</strong></span> This function will not participate
+ in overload resolution unless <code class="computeroutput"><span class="identifier">Duration2</span></code>
+ is implicitly convertible to <code class="computeroutput"><span class="identifier">duration</span></code>.
</p>
<p>
<span class="bold"><strong>Effects:</strong></span> Constructs an object of <code class="computeroutput"><span class="identifier">time_point</span></code>, initializing <code class="computeroutput"><span class="identifier">d_</span></code> with <code class="computeroutput"><span class="identifier">t</span><span class="special">.</span><span class="identifier">time_since_epoch</span><span class="special">()</span></code>.
@@ -1743,9 +1743,9 @@
<span class="identifier">time_point</span><span class="special"><</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">></span> <span class="identifier">time_point_cast</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">time_point</span><span class="special"><</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">Duration</span><span class="special">>&</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<p>
- <span class="bold"><strong>Requires:</strong></span> <code class="computeroutput"><span class="identifier">ToDuration</span></code>
- is an instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>,
- diagnostic required.
+ <span class="bold"><strong>Requires:</strong></span> This function will not participate
+ in overload resolution unless <code class="computeroutput"><span class="identifier">ToDuration</span></code>
+ is an instantiation of <code class="computeroutput"><span class="identifier">duration</span></code>.
</p>
<p>
<span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">time_point</span><span class="special"><</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">ToDuration</span><span class="special">>(</span><span class="identifier">duration_cast</span><span class="special"><</span><span class="identifier">ToDuration</span><span class="special">>(</span><span class="identifier">t</span><span class="special">.</span><span class="identifier">time_since_epoch</span><span class="special">()))</span></code>.
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/common_type_hpp.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/common_type_hpp.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/common_type_hpp.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -45,7 +45,7 @@
</p>
<p>
The nested typedef <code class="computeroutput"><span class="identifier">common_type</span><span class="special">::</span><span class="identifier">type</span></code>
- shall be defined as follows:
+ could be defined as follows:
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
<span class="keyword">struct</span> <span class="identifier">common_type</span> <span class="special">{</span>
@@ -68,9 +68,8 @@
<span class="special">};</span>
</pre>
<p>
- All types in the parameter pack T shall be complete. This trait is permitted
- to be specialized by a user if at least one template parameter is a user-defined
- type.
+ All parameter types must be complete. This trait is permitted to be specialized
+ by a user if at least one template parameter is a user-defined type.
</p>
<p>
<span class="bold"><strong>Note:</strong></span> Such specializations are required
Modified: sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/ratio_hpp.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/ratio_hpp.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/boost_chrono/reference/ratio_hpp.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -120,7 +120,7 @@
<span class="special">};</span>
</pre>
<p>
- A diagnostic shall be emitted if <code class="computeroutput"><span class="identifier">ratio</span></code>
+ A diagnostic will be emitted if <code class="computeroutput"><span class="identifier">ratio</span></code>
is instantiated with <code class="computeroutput"><span class="identifier">D</span> <span class="special">==</span> <span class="number">0</span></code>, or
if the absolute value of <code class="computeroutput"><span class="identifier">N</span></code>
or <code class="computeroutput"><span class="identifier">D</span></code> can not be represented.
@@ -137,12 +137,10 @@
</p>
<div class="itemizedlist"><ul type="disc">
<li>
-<code class="computeroutput"><span class="identifier">num</span></code> shall have the value
- <code class="computeroutput"><span class="identifier">sign</span><span class="special">(</span><span class="identifier">N</span><span class="special">)*</span><span class="identifier">sign</span><span class="special">(</span><span class="identifier">D</span><span class="special">)*</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">N</span><span class="special">)/</span><span class="identifier">gcd</span></code>.
+<code class="computeroutput"><span class="identifier">num</span></code> has the value <code class="computeroutput"><span class="identifier">sign</span><span class="special">(</span><span class="identifier">N</span><span class="special">)*</span><span class="identifier">sign</span><span class="special">(</span><span class="identifier">D</span><span class="special">)*</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">N</span><span class="special">)/</span><span class="identifier">gcd</span></code>.
</li>
<li>
-<code class="computeroutput"><span class="identifier">den</span></code> shall have the value
- <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">D</span><span class="special">)/</span><span class="identifier">gcd</span></code>.
+<code class="computeroutput"><span class="identifier">den</span></code> has the value <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">D</span><span class="special">)/</span><span class="identifier">gcd</span></code>.
</li>
</ul></div>
<p>
@@ -167,8 +165,8 @@
<span class="bold"><strong>Effects:</strong></span> Constructs a <code class="computeroutput"><span class="identifier">ratio</span></code> object.
</p>
<p>
- <span class="bold"><strong>Remarks:</strong></span> This constructor shall not
- participate in overload resolution unless <code class="computeroutput"><span class="identifier">r</span></code>
+ <span class="bold"><strong>Remarks:</strong></span> This constructor will not participate
+ in overload resolution unless <code class="computeroutput"><span class="identifier">r</span></code>
has the same normalized form as <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">intmax_t</span> <span class="identifier">N2</span><span class="special">,</span> <span class="identifier">intmax_t</span> <span class="identifier">D2</span><span class="special">></span>
@@ -182,7 +180,7 @@
<span class="bold"><strong>Returns:</strong></span> *this.
</p>
<p>
- <span class="bold"><strong>Remarks:</strong></span> This operator shall not participate
+ <span class="bold"><strong>Remarks:</strong></span> This operator will not participate
in overload resolution unless <code class="computeroutput"><span class="identifier">r</span></code>
has the same normalized form as <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
</p>
@@ -196,9 +194,9 @@
</h4></div></div></div>
<p>
For each of the class templates in this clause, each template parameter
- shall refer to a <code class="computeroutput"><span class="identifier">ratio</span></code>.
- If the implementation is unable to form the indicated <code class="computeroutput"><span class="identifier">ratio</span></code>
- due to overflow, a diagnostic shall be issued.
+ refers to a <code class="computeroutput"><span class="identifier">ratio</span></code>. If the
+ implementation is unable to form the indicated <code class="computeroutput"><span class="identifier">ratio</span></code>
+ due to overflow, a diagnostic will be issued.
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R2</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">ratio_add</span> <span class="special">{</span>
<span class="keyword">typedef</span> <span class="special">[/</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">]</span> <span class="identifier">type</span><span class="special">;</span>
@@ -206,7 +204,7 @@
</pre>
<p>
The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
- shall be a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span> <span class="special">+</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
+ is a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span> <span class="special">+</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R2</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">ratio_subtract</span> <span class="special">{</span>
<span class="keyword">typedef</span> <span class="special">[/</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">]</span> <span class="identifier">type</span><span class="special">;</span>
@@ -214,7 +212,7 @@
</pre>
<p>
The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
- shall be a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span> <span class="special">-</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
+ is a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span> <span class="special">-</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R2</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">ratio_multiply</span> <span class="special">{</span>
<span class="keyword">typedef</span> <span class="special">[/</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">]</span> <span class="identifier">type</span><span class="special">;</span>
@@ -222,7 +220,7 @@
</pre>
<p>
The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
- shall be a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
+ is a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R2</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">ratio_divide</span> <span class="special">{</span>
<span class="keyword">typedef</span> <span class="special">[/</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">]</span> <span class="identifier">type</span><span class="special">;</span>
@@ -230,7 +228,7 @@
</pre>
<p>
The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
- shall be a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
+ is a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special"><</span><span class="identifier">R1</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">den</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">::</span><span class="identifier">num</span> <span class="special">*</span> <span class="identifier">R1</span><span class="special">::</span><span class="identifier">den</span><span class="special">>::</span><span class="identifier">type</span></code>.
</p>
</div>
<div class="section" lang="en">
@@ -254,8 +252,7 @@
If R1::num * R2::den < R2::num * R1::den, ratio_less derives from true_type,
else derives from false_type. Implementations are permitted to use more
complex algorithms to compute the above relationship to avoid overflow.
- If the implementation is not able to avoid overflow, a diagnostic shall
- be emitted.
+ If the implementation is not able to avoid overflow, a diagnostic is emitted.
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R2</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">ratio_not_equal</span>
<span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="special">!</span><span class="identifier">ratio_equal</span><span class="special"><</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">>::</span><span class="identifier">value</span><span class="special">></span> <span class="special">{};</span>
Modified: sandbox/chrono/libs/chrono/doc/html/index.html
==============================================================================
--- sandbox/chrono/libs/chrono/doc/html/index.html (original)
+++ sandbox/chrono/libs/chrono/doc/html/index.html 2009-12-13 17:05:29 EST (Sun, 13 Dec 2009)
@@ -116,7 +116,7 @@
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 13, 2009 at 12:44:57 GMT</small></p></td>
+<td align="left"><p><small>Last revised: December 13, 2009 at 22:03:26 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
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