Imported Upstream version 1.64.0
[platform/upstream/boost.git] / doc / html / ratio / reference.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5 <title>Reference</title>
6 <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
7 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8 <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9 <link rel="up" href="../ratio.html" title="Chapter&#160;34.&#160;Boost.Ratio 2.1.0">
10 <link rel="prev" href="users_guide.html" title="User's Guide">
11 <link rel="next" href="appendices.html" title="Appendices">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table cellpadding="2" width="100%"><tr>
15 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
16 <td align="center"><a href="../../../index.html">Home</a></td>
17 <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
18 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20 <td align="center"><a href="../../../more/index.htm">More</a></td>
21 </tr></table>
22 <hr>
23 <div class="spirit-nav">
24 <a accesskey="p" href="users_guide.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ratio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
25 </div>
26 <div class="section">
27 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
28 <a name="ratio.reference"></a><a class="link" href="reference.html" title="Reference">Reference </a>
29 </h2></div></div></div>
30 <div class="toc"><dl class="toc">
31 <dt><span class="section"><a href="reference.html#ratio.reference.config_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
32 <dt><span class="section"><a href="reference.html#ratio.reference.std">C++0x Recommendation</a></span></dt>
33 <dt><span class="section"><a href="reference.html#ratio.reference.io">Ratio I/O</a></span></dt>
34 <dt><span class="section"><a href="reference.html#ratio.reference.mpl">Rational Constant</a></span></dt>
35 </dl></div>
36 <div class="section">
37 <div class="titlepage"><div><div><h3 class="title">
38 <a name="ratio.reference.config_hpp"></a><a class="link" href="reference.html#ratio.reference.config_hpp" title="Header &lt;boost/ratio/config.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
39 </h3></div></div></div>
40 <div class="toc"><dl class="toc">
41 <dt><span class="section"><a href="reference.html#ratio.reference.config_hpp.ext">Extensions</a></span></dt>
42 <dt><span class="section"><a href="reference.html#ratio.reference.config_hpp.deprecated">Deprecated</a></span></dt>
43 <dt><span class="section"><a href="reference.html#ratio.reference.config_hpp.version">Version</a></span></dt>
44 <dt><span class="section"><a href="reference.html#ratio.reference.config_hpp.assert">Static Assert</a></span></dt>
45 </dl></div>
46 <pre class="programlisting"><span class="comment">// Configuration macros</span>
47 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.version" title="Version"><code class="computeroutput"><span class="identifier">BOOST_RATIO_VERSION</span> </code></a>
48 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a>
49 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated"><code class="computeroutput"><span class="identifier">BOOST_RATIO_PROVIDES_DEPRECATED_FEATURES_SINCE_V2_0_0</span></code></a>
50 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated"><code class="computeroutput"><span class="identifier">BOOST_RATIO_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V2_0_0</span> </code></a>
51 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_STATIC_ASSERT</span></code></a>
52 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_MPL_ASSERT</span></code></a>
53 <span class="preprocessor">#define</span> <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_ARRAY_ASSERT</span></code></a>
54 </pre>
55 <div class="section">
56 <div class="titlepage"><div><div><h4 class="title">
57 <a name="ratio.reference.config_hpp.ext"></a><a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions">Extensions</a>
58 </h4></div></div></div>
59 <p>
60           When <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a>
61           is defined, <span class="bold"><strong>Boost.Ratio</strong></span> provides in addition
62           some extension to the C++ standard, see below.
63         </p>
64 </div>
65 <div class="section">
66 <div class="titlepage"><div><div><h4 class="title">
67 <a name="ratio.reference.config_hpp.deprecated"></a><a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated">Deprecated</a>
68 </h4></div></div></div>
69 <p>
70           When <a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated"><code class="computeroutput"><span class="identifier">BOOST_RATIO_PROVIDES_DEPRECATED_FEATURES_SINCE_V2_0_0</span></code></a>
71           is defined the deprecated features stated as DEPRECATED V2 are provided.
72         </p>
73 <p>
74           When <a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated"><code class="computeroutput"><span class="identifier">BOOST_RATIO_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V2_0_0</span>
75           </code></a> is defined the deprecated features stated as DEPRECATED
76           V2 are NOT provided.
77         </p>
78 </div>
79 <div class="section">
80 <div class="titlepage"><div><div><h4 class="title">
81 <a name="ratio.reference.config_hpp.version"></a><a class="link" href="reference.html#ratio.reference.config_hpp.version" title="Version">Version</a>
82 </h4></div></div></div>
83 <p>
84           <a class="link" href="reference.html#ratio.reference.config_hpp.version" title="Version"><code class="computeroutput"><span class="identifier">BOOST_RATIO_VERSION</span>
85           </code></a> stands for the Boost.Ratio version which can be 1 or 2.
86           The default up to 1.55 is version 1. Since 1.56 it will be 2.
87         </p>
88 <p>
89           When <a class="link" href="reference.html#ratio.reference.config_hpp.version" title="Version"><code class="computeroutput"><span class="identifier">BOOST_RATIO_VERSION</span>
90           </code></a> is 1 <a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated"><code class="computeroutput"><span class="identifier">BOOST_RATIO_PROVIDES_DEPRECATED_FEATURES_SINCE_V2_0_0</span></code></a>
91           is defined by default.
92         </p>
93 <p>
94           When <a class="link" href="reference.html#ratio.reference.config_hpp.version" title="Version"><code class="computeroutput"><span class="identifier">BOOST_RATIO_VERSION</span>
95           </code></a> is 2 <a class="link" href="reference.html#ratio.reference.config_hpp.deprecated" title="Deprecated"><code class="computeroutput"><span class="identifier">BOOST_RATIO_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V2_0_0</span>
96           </code></a> is defined by default.
97         </p>
98 </div>
99 <div class="section">
100 <div class="titlepage"><div><div><h4 class="title">
101 <a name="ratio.reference.config_hpp.assert"></a><a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert">Static Assert</a>
102 </h4></div></div></div>
103 <p>
104           When BOOST_NO_STATIC_ASSERT is defined, the user can select the way static
105           assertions are reported. Define
106         </p>
107 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
108 <li class="listitem">
109               <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_STATIC_ASSERT</span></code></a>
110               to use Boost.StaticAssert.
111             </li>
112 <li class="listitem">
113               <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_MPL_ASSERT</span></code></a>
114               to use <span class="bold"><strong>Boost.MPL</strong></span> static assertions.
115             </li>
116 <li class="listitem">
117               <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_ARRAY_ASSERT</span></code></a>
118               to use <span class="bold"><strong>Boost.Ratio</strong></span> internal static
119               assertions.
120             </li>
121 </ul></div>
122 <p>
123           The default behavior is as if <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_ARRAY_ASSERT</span></code></a>
124           was defined.
125         </p>
126 <p>
127           When <a class="link" href="reference.html#ratio.reference.config_hpp.assert" title="Static Assert"><code class="computeroutput"><span class="identifier">BOOST_RATIO_USES_MPL_ASSERT</span></code></a>
128           is not defined the following symbols are defined as shown:
129         </p>
130 <pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_OVERFLOW_IN_ADD</span> <span class="string">"overflow in ratio add"</span>
131 <span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_OVERFLOW_IN_SUB</span> <span class="string">"overflow in ratio sub"</span>
132 <span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_OVERFLOW_IN_MUL</span> <span class="string">"overflow in ratio mul"</span>
133 <span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_OVERFLOW_IN_DIV</span> <span class="string">"overflow in ratio div"</span>
134 <span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_NUMERATOR_IS_OUT_OF_RANGE</span> <span class="string">"ratio numerator is out of range"</span>
135 <span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_DIVIDE_BY_0</span> <span class="string">"ratio divide by 0"</span>
136 <span class="preprocessor">#define</span> <span class="identifier">BOOST_RATIO_DENOMINATOR_IS_OUT_OF_RANGE</span> <span class="string">"ratio denominator is out of range"</span>
137 </pre>
138 <p>
139           Depending upon the static assertion system used, a hint as to the failing
140           assertion will appear in some form in the compiler diagnostic output.
141         </p>
142 </div>
143 </div>
144 <div class="section">
145 <div class="titlepage"><div><div><h3 class="title">
146 <a name="ratio.reference.std"></a><a class="link" href="reference.html#ratio.reference.std" title="C++0x Recommendation">C++0x Recommendation</a>
147 </h3></div></div></div>
148 <div class="toc"><dl class="toc">
149 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_ratio_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
150 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_fwdhpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
151 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
152 </dl></div>
153 <div class="section">
154 <div class="titlepage"><div><div><h4 class="title">
155 <a name="ratio.reference.std.ratio_ratio_hpp"></a><a class="link" href="reference.html#ratio.reference.std.ratio_ratio_hpp" title="Header &lt;boost/ratio.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
156 </h4></div></div></div>
157 <p>
158           This header includes all the ratio related header files
159         </p>
160 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
161 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio_io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
162 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">rational_constant</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
163 </pre>
164 </div>
165 <div class="section">
166 <div class="titlepage"><div><div><h4 class="title">
167 <a name="ratio.reference.std.ratio_fwdhpp"></a><a class="link" href="reference.html#ratio.reference.std.ratio_fwdhpp" title="Header &lt;boost/ratio/ratio_fwd.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
168 </h4></div></div></div>
169 <p>
170           This header provides forward declarations for the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
171           file.
172         </p>
173 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>  <span class="special">{</span>
174
175     <span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">D</span> <span class="special">=</span> <span class="number">1</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">;</span>
176
177     <span class="comment">// ratio arithmetic</span>
178     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_add</span></code></a><span class="special">;</span>
179     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_subtract</span></code></a><span class="special">;</span>
180     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_multiply</span></code></a><span class="special">;</span>
181     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_divide</span></code></a><span class="special">;</span>
182 <span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_RATIO_EXTENSIONS</span>
183     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">P</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_power</span></code></a><span class="special">;</span>
184     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_negate</span></code></a><span class="special">;</span>
185     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_sign</span></code></a><span class="special">;</span>
186     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_abs</span></code></a><span class="special">;</span>
187     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_gcd</span></code></a><span class="special">;</span>
188     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_lcm</span></code></a><span class="special">;</span>
189 <span class="preprocessor">#endif</span>
190
191     <span class="comment">// ratio comparison</span>
192     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_equal</span></code></a><span class="special">;</span>
193     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_not_equal</span></code></a><span class="special">;</span>
194     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_less</span></code></a><span class="special">;</span>
195     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_less_equal</span></code></a><span class="special">;</span>
196     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_greater</span></code></a><span class="special">;</span>
197     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_greater_equal</span></code></a><span class="special">;</span>
198
199     <span class="comment">// convenience SI typedefs</span>
200     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span> <span class="number">1000000000000000000LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">atto</span></code></a><span class="special">;</span>
201     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>    <span class="number">1000000000000000LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">femto</span></code></a><span class="special">;</span>
202     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>       <span class="number">1000000000000LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">pico</span></code></a><span class="special">;</span>
203     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>          <span class="number">1000000000LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">nano</span></code></a><span class="special">;</span>
204     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>             <span class="number">1000000LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">micro</span></code></a><span class="special">;</span>
205     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>                <span class="number">1000LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">milli</span></code></a><span class="special">;</span>
206     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>                 <span class="number">100LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">centi</span></code></a><span class="special">;</span>
207     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>                  <span class="number">10LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">deci</span></code></a><span class="special">;</span>
208     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                 <span class="number">10LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">deca</span></code></a><span class="special">;</span>
209     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                <span class="number">100LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">hecto</span></code></a><span class="special">;</span>
210     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>               <span class="number">1000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">kilo</span></code></a><span class="special">;</span>
211     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>            <span class="number">1000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">mega</span></code></a><span class="special">;</span>
212     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>         <span class="number">1000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">giga</span></code></a><span class="special">;</span>
213     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>      <span class="number">1000000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">tera</span></code></a><span class="special">;</span>
214     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>   <span class="number">1000000000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">peta</span></code></a><span class="special">;</span>
215     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1000000000000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs"><code class="computeroutput"><span class="identifier">exa</span></code></a><span class="special">;</span>
216
217 <span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_RATIO_EXTENSIONS</span>
218     <span class="comment">// convenience IEC typedefs</span>
219     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                                   <span class="number">1024LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs"><code class="computeroutput"><span class="identifier">kibi</span></code></a><span class="special">;</span>
220     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                            <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs"><code class="computeroutput"><span class="identifier">mebi</span></code></a><span class="special">;</span>
221     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                     <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs"><code class="computeroutput"><span class="identifier">gibi</span></code></a><span class="special">;</span>
222     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>              <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs"><code class="computeroutput"><span class="identifier">tebi</span></code></a><span class="special">;</span>
223     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>       <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs"><code class="computeroutput"><span class="identifier">pebi</span></code></a><span class="special">;</span>
224     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs"><code class="computeroutput"><span class="identifier">exbi</span></code></a><span class="special">;</span>
225 <span class="preprocessor">#endif</span>
226 <span class="special">}</span>
227 </pre>
228 </div>
229 <div class="section">
230 <div class="titlepage"><div><div><h4 class="title">
231 <a name="ratio.reference.std.ratio_hpp"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp" title="Header &lt;boost/ratio/ratio.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
232 </h4></div></div></div>
233 <div class="toc"><dl class="toc">
234 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.ratio">Class Template
235           <code class="computeroutput"><span class="identifier">ratio</span><span class="special">&lt;&gt;</span></code></a></span></dt>
236 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic"><code class="computeroutput"><span class="identifier">ratio</span></code> Arithmetic</a></span></dt>
237 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison"><code class="computeroutput"><span class="identifier">ratio</span></code> Comparison</a></span></dt>
238 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs">SI
239           typedefs</a></span></dt>
240 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs">IEC
241           typedefs</a></span></dt>
242 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.limitations">Limitations</a></span></dt>
243 <dt><span class="section"><a href="reference.html#ratio.reference.std.ratio_hpp.extensions">Extensions</a></span></dt>
244 </dl></div>
245 <p>
246           <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a>
247           is a facility which is useful in specifying compile-time rational constants.
248           Compile-time rational arithmetic is supported with protection against overflow
249           and divide by zero. Such a facility is very handy to efficiently represent
250           1/3 of a nanosecond, or to specify an inch in terms of meters (for example
251           254/10000 meters - which <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> will reduce to 127/5000
252           meters).
253         </p>
254 <div class="section">
255 <div class="titlepage"><div><div><h5 class="title">
256 <a name="ratio.reference.std.ratio_hpp.ratio"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;">Class Template
257           <code class="computeroutput"><span class="identifier">ratio</span><span class="special">&lt;&gt;</span></code></a>
258 </h5></div></div></div>
259 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">D</span><span class="special">&gt;</span>
260 <span class="keyword">class</span> <span class="identifier">ratio</span> <span class="special">{</span>
261 <span class="keyword">public</span><span class="special">:</span>
262     <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">num</span><span class="special">;</span>
263     <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">den</span><span class="special">;</span>
264     <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="identifier">num</span><span class="special">,</span> <span class="identifier">den</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
265
266     <span class="preprocessor">#ifdef</span> <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a>
267     <span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">rational_c_tag</span> <span class="identifier">tag</span><span class="special">;</span>
268     <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">rational</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span><span class="special">&gt;</span> <span class="identifier">value_type</span><span class="special">;</span>
269     <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">num_type</span><span class="special">;</span>
270     <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">den_type</span><span class="special">;</span>
271
272     <span class="identifier">ratio</span><span class="special">()</span> <span class="special">=</span> <span class="keyword">default</span><span class="special">;</span>
273
274     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>
275     <span class="identifier">ratio</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="identifier">_N2</span><span class="special">,</span> <span class="identifier">_D2</span><span class="special">&gt;&amp;);</span>
276
277     <span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>
278     <span class="identifier">ratio</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="identifier">_N2</span><span class="special">,</span> <span class="identifier">_D2</span><span class="special">&gt;&amp;);</span>
279
280     <span class="keyword">static</span> <span class="identifier">value_type</span> <span class="identifier">value</span><span class="special">();</span>
281     <span class="identifier">value_type</span> <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span><span class="special">;</span>
282     <span class="preprocessor">#endif</span>
283 <span class="special">};</span>
284 </pre>
285 <p>
286             A diagnostic will be emitted if <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> is instantiated with
287             <code class="computeroutput"><span class="identifier">D</span> <span class="special">==</span>
288             <span class="number">0</span></code>, or if the absolute value of
289             <code class="computeroutput"><span class="identifier">N</span></code> or <code class="computeroutput"><span class="identifier">D</span></code>
290             cannot be represented. <span class="bold"><strong>Note:</strong></span> These rules
291             ensure that infinite ratios are avoided and that for any negative input,
292             there exists a representable value of its absolute value which is positive.
293             In a two's complement representation, this excludes the most negative
294             value.
295           </p>
296 <p>
297             The members num and den will be normalized values of the template arguments
298             N and D computed as follows. Let <code class="computeroutput"><span class="identifier">gcd</span></code>
299             denote the greatest common divisor of <code class="computeroutput"><span class="identifier">N</span></code>'s
300             absolute value and of <code class="computeroutput"><span class="identifier">D</span></code>'s
301             absolute value. Then:
302           </p>
303 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
304 <li class="listitem">
305                 <code class="computeroutput"><span class="identifier">num</span></code> has the value
306                 <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>.
307               </li>
308 <li class="listitem">
309                 <code class="computeroutput"><span class="identifier">den</span></code> has the value
310                 <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>.
311               </li>
312 </ul></div>
313 <p>
314             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
315             denotes the normalized form of this <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> type. It should be used
316             when the normalized form of the template arguments are required, since
317             the arguments are not necessarily normalized.
318           </p>
319 <p>
320             Two <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> classes <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">N1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">&gt;</span></code>
321             and <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">N2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">&gt;</span></code>
322             have the same normalized form if <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">N1</span><span class="special">,</span><span class="identifier">D1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the same type as <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">N2</span><span class="special">,</span><span class="identifier">D2</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
323           </p>
324 <div class="section">
325 <div class="titlepage"><div><div><h6 class="title">
326 <a name="ratio.reference.std.ratio_hpp.ratio.ca"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio.ca" title="Construction and Assignment">Construction
327             and Assignment</a>
328 </h6></div></div></div>
329 <p>
330               Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is
331               defined.
332             </p>
333 <h7><a name="ratio.reference.std.ratio_hpp.ratio.ca.h0"></a>
334               <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio.ca.default_constructor"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio.ca.default_constructor">Default
335               Constructor</a>
336             </h7><pre class="programlisting"><span class="identifier">ratio</span><span class="special">()=</span><span class="keyword">default</span><span class="special">;</span>
337 </pre>
338 <p>
339               <span class="bold"><strong>Effects:</strong></span> Constructs a <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> object.
340             </p>
341 <h7><a name="ratio.reference.std.ratio_hpp.ratio.ca.h1"></a>
342               <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio.ca.copy_constructor"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio.ca.copy_constructor">Copy
343               Constructor</a>
344             </h7><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>
345   <span class="identifier">ratio</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">N2</span><span class="special">,</span> <span class="identifier">D2</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span><span class="special">);</span>
346 </pre>
347 <p>
348               <span class="bold"><strong>Effects:</strong></span> Constructs a <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> object.
349             </p>
350 <p>
351               <span class="bold"><strong>Remarks:</strong></span> This constructor will not
352               participate in overload resolution unless <code class="computeroutput"><span class="identifier">r</span></code>
353               has the same normalized form as <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
354             </p>
355 <h7><a name="ratio.reference.std.ratio_hpp.ratio.ca.h2"></a>
356               <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio.ca.assignement"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio.ca.assignement">Assignement</a>
357             </h7><pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>
358   <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">const</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">N2</span><span class="special">,</span> <span class="identifier">D2</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span><span class="special">);</span>
359 </pre>
360 <p>
361               <span class="bold"><strong>Effects:</strong></span> Assigns a <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> object.
362             </p>
363 <p>
364               <span class="bold"><strong>Returns:</strong></span> *this.
365             </p>
366 <p>
367               <span class="bold"><strong>Remarks:</strong></span> This operator will not participate
368               in overload resolution unless <code class="computeroutput"><span class="identifier">r</span></code>
369               has the same normalized form as <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
370             </p>
371 </div>
372 <div class="section">
373 <div class="titlepage"><div><div><h6 class="title">
374 <a name="ratio.reference.std.ratio_hpp.ratio.mpl"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio.mpl" title="MPL Numeric Metafunctions">MPL Numeric
375             Metafunctions</a>
376 </h6></div></div></div>
377 <p>
378               Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is
379               defined.
380             </p>
381 <p>
382               In order to work with <span class="bold"><strong>Boost.MPL</strong></span> numeric
383               metafunctions as a <a class="link" href="reference.html#ratio.reference.mpl.rational_constant" title="Rational Constant Concept">Rational
384               Constant</a>, the following has beed added:
385             </p>
386 <pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">rational_c_tag</span> <span class="identifier">tag</span><span class="special">;</span>
387 <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">rational</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span><span class="special">&gt;</span> <span class="identifier">value_type</span><span class="special">;</span>
388 <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">num_type</span><span class="special">;</span>
389 <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intmax_t</span> <span class="identifier">den_type</span><span class="special">;</span>
390 </pre>
391 </div>
392 <div class="section">
393 <div class="titlepage"><div><div><h6 class="title">
394 <a name="ratio.reference.std.ratio_hpp.ratio.obs"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio.obs" title="Observers">Observers</a>
395 </h6></div></div></div>
396 <p>
397               Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is
398               defined.
399             </p>
400 <pre class="programlisting"><span class="keyword">static</span> <span class="identifier">value_type</span> <span class="identifier">value</span><span class="special">();</span>
401 <span class="identifier">value_type</span> <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span><span class="special">;</span>
402 </pre>
403 <p>
404               <span class="bold"><strong>Returns:</strong></span> value_type(num,den);
405             </p>
406 </div>
407 </div>
408 <div class="section">
409 <div class="titlepage"><div><div><h5 class="title">
410 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio</span></code> Arithmetic</a>
411 </h5></div></div></div>
412 <p>
413             For each of the class templates in this section, each template parameter
414             refers to a <code class="computeroutput"><span class="identifier">ratio</span></code>. If
415             the implementation is unable to form the indicated <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a> due to overflow, a diagnostic
416             will be issued.
417           </p>
418 <h6>
419 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h0"></a>
420             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_add__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_add__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_add</span><span class="special">&lt;&gt;</span></code></a>
421           </h6>
422 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_add</span> <span class="special">{</span>
423    <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>
424 <span class="special">};</span>
425 </pre>
426 <p>
427             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
428             is a synonym for <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</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">&gt;::</span><span class="identifier">type</span></code>.
429           </p>
430 <h6>
431 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h1"></a>
432             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_subtract__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_subtract__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_subtract</span><span class="special">&lt;&gt;</span></code></a>
433           </h6>
434 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_subtract</span> <span class="special">{</span>
435    <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>
436 <span class="special">};</span>
437 </pre>
438 <p>
439             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
440             is a synonym for <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</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">&gt;::</span><span class="identifier">type</span></code>.
441           </p>
442 <h6>
443 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h2"></a>
444             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_multiply__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_multiply__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_multiply</span><span class="special">&lt;&gt;</span></code></a>
445           </h6>
446 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_multiply</span> <span class="special">{</span>
447    <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>
448 <span class="special">};</span>
449 </pre>
450 <p>
451             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
452             is a synonym for <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</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">&gt;::</span><span class="identifier">type</span></code>.
453           </p>
454 <h6>
455 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h3"></a>
456             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_divide__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_divide__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_divide</span><span class="special">&lt;&gt;</span></code></a>
457           </h6>
458 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_divide</span> <span class="special">{</span>
459    <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>
460 <span class="special">};</span>
461 </pre>
462 <p>
463             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
464             is a synonym for <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</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">&gt;::</span><span class="identifier">type</span></code>.
465           </p>
466 <h6>
467 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h4"></a>
468             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_power__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_power__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_power</span><span class="special">&lt;&gt;</span></code></a>
469           </h6>
470 <p>
471             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
472           </p>
473 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">P</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_power</span> <span class="special">{</span>
474    <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>
475 <span class="special">};</span>
476 </pre>
477 <p>
478             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
479             is a synonym for <code class="computeroutput"><span class="identifier">R</span><span class="special">*</span>
480             <span class="special">*</span><span class="identifier">R</span></code>
481             P times.
482           </p>
483 <h6>
484 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h5"></a>
485             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_negate__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_negate__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_negate</span><span class="special">&lt;&gt;</span></code></a>
486           </h6>
487 <p>
488             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
489           </p>
490 <p>
491             This extension of the C++ standard helps in the definition of some <span class="bold"><strong>Boost.MPL</strong></span> numeric metafunctions.
492           </p>
493 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_negate</span> <span class="special">{</span>
494    <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>
495 <span class="special">};</span>
496 </pre>
497 <p>
498             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
499             is a synonym for <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;-</span><span class="identifier">R</span><span class="special">::</span><span class="identifier">num</span><span class="special">,</span> <span class="identifier">R</span><span class="special">::</span><span class="identifier">den</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
500           </p>
501 <h6>
502 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h6"></a>
503             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_abs__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_abs__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_abs</span><span class="special">&lt;&gt;</span></code></a>
504           </h6>
505 <p>
506             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
507           </p>
508 <p>
509             This extension of the C++ standard helps in the definition of some <span class="bold"><strong>Boost.MPL</strong></span> numeric metafunctions.
510           </p>
511 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_abs</span> <span class="special">{</span>
512    <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>
513 <span class="special">};</span>
514 </pre>
515 <p>
516             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
517             is a synonym for <code class="computeroutput"><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="identifier">abs_c</span><span class="special">&lt;</span><span class="identifier">intmax_t</span><span class="special">,</span><span class="identifier">R</span><span class="special">::</span><span class="identifier">num</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">R</span><span class="special">::</span><span class="identifier">den</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
518           </p>
519 <h6>
520 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h7"></a>
521             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_sign__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_sign__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_sign</span><span class="special">&lt;&gt;</span></code></a>
522           </h6>
523 <p>
524             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
525           </p>
526 <p>
527             This extension of the C++ standard helps in the definition of some <span class="bold"><strong>Boost.MPL</strong></span> numeric metafunctions.
528           </p>
529 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">R</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_sign</span> <span class="special">{</span>
530    <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>
531 <span class="special">};</span>
532 </pre>
533 <p>
534             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
535             is a synonym for <code class="computeroutput"><span class="identifier">sign_c</span><span class="special">&lt;</span><span class="identifier">intmax_t</span><span class="special">,</span><span class="identifier">R</span><span class="special">::</span><span class="identifier">num</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
536           </p>
537 <h6>
538 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h8"></a>
539             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_gcd__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_gcd__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_gcd</span><span class="special">&lt;&gt;</span></code></a>
540           </h6>
541 <p>
542             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
543           </p>
544 <p>
545             This extension of the C++ standard helps in the definition of some <span class="bold"><strong>Boost.MPL</strong></span> numeric metafunctions.
546           </p>
547 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_gcd</span> <span class="special">{</span>
548    <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>
549 <span class="special">};</span>
550 </pre>
551 <p>
552             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
553             is a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special">&lt;</span><span class="identifier">gcd_c</span><span class="special">&lt;</span><span class="identifier">intmax_t</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">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">lcm_c</span><span class="special">&lt;</span><span class="identifier">intmax_t</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">&gt;::</span><span class="identifier">value</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
554           </p>
555 <h6>
556 <a name="ratio.reference.std.ratio_hpp.ratio_arithmetic.h9"></a>
557             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_lcm__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic._code__phrase_role__identifier__ratio_lcm__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_lcm</span><span class="special">&lt;&gt;</span></code></a>
558           </h6>
559 <p>
560             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
561           </p>
562 <p>
563             This extension of the C++ standard helps in the definition of some <span class="bold"><strong>Boost.MPL</strong></span> numeric metafunctions.
564           </p>
565 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_lcm</span> <span class="special">{</span>
566    <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>
567 <span class="special">};</span>
568 </pre>
569 <p>
570             The nested typedef <code class="computeroutput"><span class="identifier">type</span></code>
571             is a synonym for <code class="computeroutput"><span class="identifier">ratio</span><span class="special">&lt;</span><span class="identifier">lcm_c</span><span class="special">&lt;</span><span class="identifier">intmax_t</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">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">gcd_c</span><span class="special">&lt;</span><span class="identifier">intmax_t</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">&gt;::</span><span class="identifier">value</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
572           </p>
573 </div>
574 <div class="section">
575 <div class="titlepage"><div><div><h5 class="title">
576 <a name="ratio.reference.std.ratio_hpp.ratio_comparison"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio</span></code> Comparison</a>
577 </h5></div></div></div>
578 <h6>
579 <a name="ratio.reference.std.ratio_hpp.ratio_comparison.h0"></a>
580             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_equal__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_equal__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_equal</span><span class="special">&lt;&gt;</span></code></a>
581           </h6>
582 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>  <span class="keyword">struct</span> <span class="identifier">ratio_equal</span>
583     <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">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="special">[/</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">]</span> <span class="special">&gt;</span> <span class="special">{};</span>
584 </pre>
585 <p>
586             If R1::num == R2::num &amp;&amp; R1::den == R2::den, ratio_equal derives
587             from true_type, else derives from false_type.
588           </p>
589 <h6>
590 <a name="ratio.reference.std.ratio_hpp.ratio_comparison.h1"></a>
591             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_not_equal__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_not_equal__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_not_equal</span><span class="special">&lt;&gt;</span></code></a>
592           </h6>
593 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>  <span class="keyword">struct</span> <span class="identifier">ratio_not_equal</span>
594     <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">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="special">!</span><span class="identifier">ratio_equal</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">&gt;</span> <span class="special">{};</span>
595 </pre>
596 <h6>
597 <a name="ratio.reference.std.ratio_hpp.ratio_comparison.h2"></a>
598             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_less__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_less__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_less</span><span class="special">&lt;&gt;</span></code></a>
599           </h6>
600 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span>
601 <span class="keyword">struct</span> <span class="identifier">ratio_less</span>
602     <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">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="special">[/</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">]</span> <span class="special">&gt;</span> <span class="special">{};</span>
603 </pre>
604 <p>
605             If R1::num * R2::den &lt; R2::num * R1::den, ratio_less derives from
606             true_type, else derives from false_type.
607           </p>
608 <h6>
609 <a name="ratio.reference.std.ratio_hpp.ratio_comparison.h3"></a>
610             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_less_equal__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_less_equal__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_less_equal</span><span class="special">&lt;&gt;</span></code></a>
611           </h6>
612 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_less_equal</span>
613     <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">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="special">!</span><span class="identifier">ratio_less</span><span class="special">&lt;</span><span class="identifier">R2</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">&gt;</span> <span class="special">{};</span>
614 </pre>
615 <h6>
616 <a name="ratio.reference.std.ratio_hpp.ratio_comparison.h4"></a>
617             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_greater__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_greater__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_greater</span><span class="special">&lt;&gt;</span></code></a>
618           </h6>
619 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_greater</span>
620     <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">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">ratio_less</span><span class="special">&lt;</span><span class="identifier">R2</span><span class="special">,</span> <span class="identifier">R1</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">&gt;</span> <span class="special">{};</span>
621 </pre>
622 <h6>
623 <a name="ratio.reference.std.ratio_hpp.ratio_comparison.h5"></a>
624             <span class="phrase"><a name="ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_greater_equal__phrase__phrase_role__special___lt__gt___phrase___code_"></a></span><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison._code__phrase_role__identifier__ratio_greater_equal__phrase__phrase_role__special___lt__gt___phrase___code_"><code class="computeroutput"><span class="identifier">ratio_greater_equal</span><span class="special">&lt;&gt;</span></code></a>
625           </h6>
626 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</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">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_greater_equal</span>
627     <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">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="special">!</span><span class="identifier">ratio_less</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">&gt;</span> <span class="special">{};</span>
628 </pre>
629 </div>
630 <div class="section">
631 <div class="titlepage"><div><div><h5 class="title">
632 <a name="ratio.reference.std.ratio_hpp.ratio_si_typedefs"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_si_typedefs" title="SI typedefs">SI
633           typedefs</a>
634 </h5></div></div></div>
635 <p>
636             The <a href="http://en.wikipedia.org/wiki/SI_prefix#List_of_SI_prefixes" target="_top">International
637             System of Units</a> specifies twenty SI prefixes. <span class="bold"><strong>Boost.Ratio</strong></span>
638             defines all except <code class="computeroutput"><span class="identifier">yocto</span></code>,
639             <code class="computeroutput"><span class="identifier">zepto</span></code>, <code class="computeroutput"><span class="identifier">zetta</span></code>, and <code class="computeroutput"><span class="identifier">yotta</span></code>
640           </p>
641 <pre class="programlisting"><span class="comment">// convenience SI typedefs</span>
642 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span> <span class="number">1000000000000000000LL</span><span class="special">&gt;</span> <span class="identifier">atto</span><span class="special">;</span>
643 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>    <span class="number">1000000000000000LL</span><span class="special">&gt;</span> <span class="identifier">femto</span><span class="special">;</span>
644 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>       <span class="number">1000000000000LL</span><span class="special">&gt;</span> <span class="identifier">pico</span><span class="special">;</span>
645 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>          <span class="number">1000000000LL</span><span class="special">&gt;</span> <span class="identifier">nano</span><span class="special">;</span>
646 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>             <span class="number">1000000LL</span><span class="special">&gt;</span> <span class="identifier">micro</span><span class="special">;</span>
647 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>                <span class="number">1000LL</span><span class="special">&gt;</span> <span class="identifier">milli</span><span class="special">;</span>
648 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>                 <span class="number">100LL</span><span class="special">&gt;</span> <span class="identifier">centi</span><span class="special">;</span>
649 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1LL</span><span class="special">,</span>                  <span class="number">10LL</span><span class="special">&gt;</span> <span class="identifier">deci</span><span class="special">;</span>
650 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>                 <span class="number">10LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">deca</span><span class="special">;</span>
651 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>                <span class="number">100LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">hecto</span><span class="special">;</span>
652 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>               <span class="number">1000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">kilo</span><span class="special">;</span>
653 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>            <span class="number">1000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">mega</span><span class="special">;</span>
654 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>         <span class="number">1000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">giga</span><span class="special">;</span>
655 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>      <span class="number">1000000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">tera</span><span class="special">;</span>
656 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span>   <span class="number">1000000000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">peta</span><span class="special">;</span>
657 <span class="keyword">typedef</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a><span class="special">&lt;</span><span class="number">1000000000000000000LL</span><span class="special">,</span> <span class="number">1LL</span><span class="special">&gt;</span> <span class="identifier">exa</span><span class="special">;</span>
658 </pre>
659 </div>
660 <div class="section">
661 <div class="titlepage"><div><div><h5 class="title">
662 <a name="ratio.reference.std.ratio_hpp.ratio_iec_typedefs"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_iec_typedefs" title="IEC typedefs">IEC
663           typedefs</a>
664 </h5></div></div></div>
665 <p>
666             Included only if <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a> is defined.
667           </p>
668 <p>
669             The <a href="http://http://en.wikipedia.org/wiki/Binary_prefix#Specific_units_of_IEC_60027-2_A.2_and_ISO.2FIEC_80000" target="_top">Specific
670             units of IEC 60027-2 A.2 and ISO/IEC 80000</a> specifies height IEC
671             prefixes. <span class="bold"><strong>Boost.Ratio</strong></span> defines all except
672             <code class="computeroutput"><span class="identifier">zebi</span></code> and <code class="computeroutput"><span class="identifier">yobi</span></code>
673           </p>
674 <pre class="programlisting"><span class="comment">// convenience ETC typedefs</span>
675 <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                                   <span class="number">1024LL</span><span class="special">&gt;</span> <span class="identifier">kibi</span><span class="special">;</span>
676 <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                            <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <span class="identifier">mebi</span><span class="special">;</span>
677 <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>                     <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <span class="identifier">gibi</span><span class="special">;</span>
678 <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>              <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <span class="identifier">tebi</span><span class="special">;</span>
679 <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span>       <span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <span class="identifier">pebi</span><span class="special">;</span>
680 <span class="keyword">typedef</span> <span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">*</span><span class="number">1024LL</span><span class="special">&gt;</span> <span class="identifier">exbi</span><span class="special">;</span>
681 </pre>
682 </div>
683 <div class="section">
684 <div class="titlepage"><div><div><h5 class="title">
685 <a name="ratio.reference.std.ratio_hpp.limitations"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.limitations" title="Limitations">Limitations</a>
686 </h5></div></div></div>
687 <p>
688             The following are limitations of Boost.Ratio relative to the specification
689             in the C++0x draft standard:
690           </p>
691 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
692 <li class="listitem">
693                 Four of the SI units typedefs -- <code class="computeroutput"><span class="identifier">yocto</span></code>,
694                 <code class="computeroutput"><span class="identifier">zepto</span></code>, <code class="computeroutput"><span class="identifier">zetta</span></code>, and <code class="computeroutput"><span class="identifier">yotta</span></code>
695                 -- are to be conditionally supported, if the range of <code class="computeroutput"><span class="identifier">intmax_t</span></code> allows, but are not supported
696                 by <span class="bold"><strong>Boost.Ratio</strong></span>.
697               </li>
698 <li class="listitem">
699                 Ratio values should be of type static <code class="computeroutput"><span class="keyword">constexpr</span>
700                 <span class="identifier">intmax_t</span></code> (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3135.html#1122" target="_top">Ratio
701                 values should be constexpr</a>), but for compiler not supporting
702                 <code class="computeroutput"><span class="keyword">constexpr</span></code> today, <span class="bold"><strong>Boost.Ratio</strong></span> uses <code class="computeroutput"><span class="keyword">static</span>
703                 <span class="keyword">const</span> <span class="identifier">intmax_t</span></code>
704                 instead.
705               </li>
706 <li class="listitem">
707                 Rational arithmetic should use template aliases (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3134.html#921" target="_top">Rational
708                 Arithmetic should use template aliases</a>), but those are not
709                 available in C++03, so inheritance is used instead.
710               </li>
711 </ul></div>
712 </div>
713 <div class="section">
714 <div class="titlepage"><div><div><h5 class="title">
715 <a name="ratio.reference.std.ratio_hpp.extensions"></a><a class="link" href="reference.html#ratio.reference.std.ratio_hpp.extensions" title="Extensions">Extensions</a>
716 </h5></div></div></div>
717 <p>
718             When <a class="link" href="reference.html#ratio.reference.config_hpp.ext" title="Extensions"><code class="computeroutput"><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code></a>
719             is defined <span class="bold"><strong>Boost.Ratio</strong></span> provides the
720             following extensions:
721           </p>
722 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
723 <li class="listitem">
724                 Extends the requirements of the C++0x draft standard by making the
725                 copy constructor and copy assignment operator have the same normalized
726                 form (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3133.html#1281" target="_top">copy
727                 constructor and assignment between ratios having the same normalized
728                 form</a>).
729               </li>
730 <li class="listitem">
731                 More C++ standard like metafunctions applied to ratio types, like
732                 __static_abs or __static_negate.
733               </li>
734 <li class="listitem">
735                 An __Boost_Mpl rational constant concept and the associated __Boost_Mpl
736                 arithmetic and comparison specializations including __numeric_cast,
737                 __plus, __equal_to between others.
738               </li>
739 </ul></div>
740 </div>
741 </div>
742 </div>
743 <div class="section">
744 <div class="titlepage"><div><div><h3 class="title">
745 <a name="ratio.reference.io"></a><a class="link" href="reference.html#ratio.reference.io" title="Ratio I/O">Ratio I/O</a>
746 </h3></div></div></div>
747 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.io.ratio_io_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio_io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt></dl></div>
748 <div class="section">
749 <div class="titlepage"><div><div><h4 class="title">
750 <a name="ratio.reference.io.ratio_io_hpp"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp" title="Header &lt;boost/ratio/ratio_io.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">ratio_io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
751 </h4></div></div></div>
752 <div class="toc"><dl class="toc">
753 <dt><span class="section"><a href="reference.html#ratio.reference.io.ratio_io_hpp.ratio_string">Template
754           Class <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code></a></span></dt>
755 <dt><span class="section"><a href="reference.html#ratio.reference.io.ratio_io_hpp.spe">Specializations
756           for <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code></a></span></dt>
757 </dl></div>
758 <p>
759           This header provides <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code> which can generate a textual representation
760           of a <code class="computeroutput"><span class="identifier">ratio</span><span class="special">&lt;&gt;</span></code>
761           in the form of a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;&gt;</span></code>.
762           These strings can be useful for I/O.
763         </p>
764 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
765     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Ratio</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">charT</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">;</span>
766
767     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
768     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
769     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
770     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
771
772     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
773     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
774     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
775     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
776
777     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
778     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
779     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
780     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
781
782     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
783     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
784     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
785     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
786
787     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
788     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
789     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
790     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
791
792     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
793     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
794     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
795     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
796
797     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
798     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
799     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
800     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
801
802     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
803     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
804     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
805     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
806
807     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
808     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
809     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
810     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
811
812     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
813     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
814     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
815     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
816
817     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
818     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
819     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
820     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
821
822     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
823     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
824     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
825     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
826
827     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
828     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
829     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
830     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
831
832     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
833     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
834     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
835     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
836
837     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
838     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
839     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
840     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
841
842     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
843     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
844     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
845     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
846
847     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kibi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
848     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kibi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
849     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kibi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
850     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kibi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
851
852     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mebi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
853     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mebi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
854     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mebi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
855     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mebi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
856
857     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">gibi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
858     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">gibi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
859     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">gibi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
860     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">gibi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
861
862     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tebi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
863     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tebi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
864     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tebi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
865     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tebi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
866
867     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pebi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
868     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pebi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
869     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pebi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
870     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pebi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
871
872     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">yobi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;;</span>
873     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">yobi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;;</span>
874     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">yobi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;;</span>
875     <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">yobi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;;</span>
876
877 <span class="special">}</span>
878 </pre>
879 <div class="section">
880 <div class="titlepage"><div><div><h5 class="title">
881 <a name="ratio.reference.io.ratio_io_hpp.ratio_string"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp.ratio_string" title="Template Class ratio_string&lt;&gt;">Template
882           Class <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code></a>
883 </h5></div></div></div>
884 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Ratio</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
885 <span class="keyword">struct</span> <span class="identifier">ratio_string</span>
886 <span class="special">{</span>
887     <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span> <span class="identifier">symbol</span><span class="special">();</span>
888     <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span> <span class="identifier">prefix</span><span class="special">();</span>
889     <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span> <span class="identifier">short_name</span><span class="special">();</span> <span class="comment">// DEPRECATED V2</span>
890     <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span> <span class="identifier">long_name</span><span class="special">();</span> <span class="comment">// DEPRECATED V2</span>
891 <span class="special">};</span>
892 </pre>
893 <p>
894             The class template ratio_string provides textual representations of the
895             associated ratio appropriate for the character type charT.
896           </p>
897 <p>
898             The primary template provides generic strings. Specializations provide
899             the same static member functions but these functions return the English
900             SI prefix and symbol names as specified by the General Conference on
901             Weights and Measures.
902           </p>
903 <div class="section">
904 <div class="titlepage"><div><div><h6 class="title">
905 <a name="ratio.reference.io.ratio_io_hpp.ratio_string.prefix"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp.ratio_string.prefix" title="Static Member function prefix()">Static
906             Member function <code class="computeroutput"><span class="identifier">prefix</span><span class="special">()</span></code></a>
907 </h6></div></div></div>
908 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Ratio</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
909 <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span>
910 <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">Ratio</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;::</span><span class="identifier">prefix</span><span class="special">();</span>
911 </pre>
912 <p>
913               <span class="bold"><strong>Returns</strong></span>: A basic_string of the form:
914               [Ratio::num/Ratio::den]
915             </p>
916 <p>
917               <span class="bold"><strong>Example</strong></span>: <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">ratio</span><span class="special">&lt;</span><span class="number">2</span><span class="special">,</span> <span class="number">60</span><span class="special">&gt;,</span> <span class="keyword">wchar_t</span><span class="special">&gt;::</span><span class="identifier">prefix</span><span class="special">()</span></code> returns <code class="computeroutput"><span class="identifier">L</span><span class="string">"[1/30]"</span></code>.
918             </p>
919 </div>
920 <div class="section">
921 <div class="titlepage"><div><div><h6 class="title">
922 <a name="ratio.reference.io.ratio_io_hpp.ratio_string.symbol"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp.ratio_string.symbol" title="Static Member function symbol()">Static
923             Member function <code class="computeroutput"><span class="identifier">symbol</span><span class="special">()</span></code></a>
924 </h6></div></div></div>
925 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Ratio</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
926 <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span>
927 <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">Ratio</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;::</span><span class="identifier">symbol</span><span class="special">();</span>
928 </pre>
929 <p>
930               <span class="bold"><strong>Returns</strong></span>: prefix().
931             </p>
932 </div>
933 <div class="section">
934 <div class="titlepage"><div><div><h6 class="title">
935 <a name="ratio.reference.io.ratio_io_hpp.ratio_string.long_name"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp.ratio_string.long_name" title="Static Member function long_name() DEPRECATED V2">Static
936             Member function <code class="computeroutput"><span class="identifier">long_name</span><span class="special">()</span></code> DEPRECATED V2</a>
937 </h6></div></div></div>
938 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Ratio</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
939 <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span>
940 <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">Ratio</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;::</span><span class="identifier">long_name</span><span class="special">();</span>
941 </pre>
942 <p>
943               <span class="bold"><strong>Returns</strong></span>: prefix().
944             </p>
945 </div>
946 <div class="section">
947 <div class="titlepage"><div><div><h6 class="title">
948 <a name="ratio.reference.io.ratio_io_hpp.ratio_string.short_name"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp.ratio_string.short_name" title="Static Member function short_name() DEPRECATED V2">Static
949             Member function <code class="computeroutput"><span class="identifier">short_name</span><span class="special">()</span></code> DEPRECATED V2</a>
950 </h6></div></div></div>
951 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Ratio</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">CharT</span><span class="special">&gt;</span>
952 <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">&gt;</span>
953 <span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">Ratio</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">&gt;::</span><span class="identifier">short_name</span><span class="special">();</span>
954 </pre>
955 <p>
956               <span class="bold"><strong>Returns</strong></span>: symbol().
957             </p>
958 </div>
959 </div>
960 <div class="section">
961 <div class="titlepage"><div><div><h5 class="title">
962 <a name="ratio.reference.io.ratio_io_hpp.spe"></a><a class="link" href="reference.html#ratio.reference.io.ratio_io_hpp.spe" title="Specializations for ratio_string&lt;&gt;">Specializations
963           for <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;&gt;</span></code></a>
964 </h5></div></div></div>
965 <p>
966             With compilers supporting char16_t and char32_t and with a standard library
967             don't providing std::u16string and std::u32string you will need to define
968             the macros BOOST_NO_CXX11_U16STRING and BOOST_NO_CXX11_U32STRING until
969             Boost.Config defines them.
970           </p>
971 <p>
972             For each specialization the table gives the return value for <code class="computeroutput"><span class="identifier">prefix</span><span class="special">()</span></code>
973             and <code class="computeroutput"><span class="identifier">symbol</span><span class="special">()</span></code>.
974           </p>
975 <div class="table">
976 <a name="ratio.reference.io.ratio_io_hpp.spe.the_return_values_of_specializations_of_ratio_string"></a><p class="title"><b>Table&#160;34.1.&#160;The return values of specializations of ratio_string</b></p>
977 <div class="table-contents"><table class="table" summary="The return values of specializations of ratio_string">
978 <colgroup>
979 <col>
980 <col>
981 <col>
982 </colgroup>
983 <thead><tr>
984 <th>
985                     <p>
986                       Specialization
987                     </p>
988                   </th>
989 <th>
990                     <p>
991                       <code class="computeroutput"><span class="identifier">prefix</span><span class="special">()</span></code>
992                     </p>
993                   </th>
994 <th>
995                     <p>
996                       <code class="computeroutput"><span class="identifier">symbol</span><span class="special">()</span></code>
997                     </p>
998                   </th>
999 </tr></thead>
1000 <tbody>
1001 <tr>
1002 <td>
1003                     <p>
1004                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1005                     </p>
1006                   </td>
1007 <td>
1008                     <p>
1009                       <code class="computeroutput"><span class="string">"atto"</span></code>
1010                     </p>
1011                   </td>
1012 <td>
1013                     <p>
1014                       <code class="computeroutput"><span class="string">"a"</span></code>
1015                     </p>
1016                   </td>
1017 </tr>
1018 <tr>
1019 <td>
1020                     <p>
1021                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1022                     </p>
1023                   </td>
1024 <td>
1025                     <p>
1026                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"atto"</span></code>
1027                     </p>
1028                   </td>
1029 <td>
1030                     <p>
1031                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"a"</span></code>
1032                     </p>
1033                   </td>
1034 </tr>
1035 <tr>
1036 <td>
1037                     <p>
1038                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1039                     </p>
1040                   </td>
1041 <td>
1042                     <p>
1043                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"atto"</span></code>
1044                     </p>
1045                   </td>
1046 <td>
1047                     <p>
1048                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"a"</span></code>
1049                     </p>
1050                   </td>
1051 </tr>
1052 <tr>
1053 <td>
1054                     <p>
1055                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">atto</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1056                     </p>
1057                   </td>
1058 <td>
1059                     <p>
1060                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"atto"</span></code>
1061                     </p>
1062                   </td>
1063 <td>
1064                     <p>
1065                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"a"</span></code>
1066                     </p>
1067                   </td>
1068 </tr>
1069 <tr>
1070 <td>
1071                     <p>
1072                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1073                     </p>
1074                   </td>
1075 <td>
1076                     <p>
1077                       <code class="computeroutput"><span class="string">"femto"</span></code>
1078                     </p>
1079                   </td>
1080 <td>
1081                     <p>
1082                       <code class="computeroutput"><span class="string">"f"</span></code>
1083                     </p>
1084                   </td>
1085 </tr>
1086 <tr>
1087 <td>
1088                     <p>
1089                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1090                     </p>
1091                   </td>
1092 <td>
1093                     <p>
1094                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"femto"</span></code>
1095                     </p>
1096                   </td>
1097 <td>
1098                     <p>
1099                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"f"</span></code>
1100                     </p>
1101                   </td>
1102 </tr>
1103 <tr>
1104 <td>
1105                     <p>
1106                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1107                     </p>
1108                   </td>
1109 <td>
1110                     <p>
1111                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"femto"</span></code>
1112                     </p>
1113                   </td>
1114 <td>
1115                     <p>
1116                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"f"</span></code>
1117                     </p>
1118                   </td>
1119 </tr>
1120 <tr>
1121 <td>
1122                     <p>
1123                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">femto</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1124                     </p>
1125                   </td>
1126 <td>
1127                     <p>
1128                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"femto"</span></code>
1129                     </p>
1130                   </td>
1131 <td>
1132                     <p>
1133                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"f"</span></code>
1134                     </p>
1135                   </td>
1136 </tr>
1137 <tr>
1138 <td>
1139                     <p>
1140                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1141                     </p>
1142                   </td>
1143 <td>
1144                     <p>
1145                       <code class="computeroutput"><span class="string">"pico"</span></code>
1146                     </p>
1147                   </td>
1148 <td>
1149                     <p>
1150                       <code class="computeroutput"><span class="string">"p"</span></code>
1151                     </p>
1152                   </td>
1153 </tr>
1154 <tr>
1155 <td>
1156                     <p>
1157                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1158                     </p>
1159                   </td>
1160 <td>
1161                     <p>
1162                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"pico"</span></code>
1163                     </p>
1164                   </td>
1165 <td>
1166                     <p>
1167                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"p"</span></code>
1168                     </p>
1169                   </td>
1170 </tr>
1171 <tr>
1172 <td>
1173                     <p>
1174                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1175                     </p>
1176                   </td>
1177 <td>
1178                     <p>
1179                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"pico"</span></code>
1180                     </p>
1181                   </td>
1182 <td>
1183                     <p>
1184                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"p"</span></code>
1185                     </p>
1186                   </td>
1187 </tr>
1188 <tr>
1189 <td>
1190                     <p>
1191                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">pico</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1192                     </p>
1193                   </td>
1194 <td>
1195                     <p>
1196                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"pico"</span></code>
1197                     </p>
1198                   </td>
1199 <td>
1200                     <p>
1201                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"p"</span></code>
1202                     </p>
1203                   </td>
1204 </tr>
1205 <tr>
1206 <td>
1207                     <p>
1208                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1209                     </p>
1210                   </td>
1211 <td>
1212                     <p>
1213                       <code class="computeroutput"><span class="string">"nano"</span></code>
1214                     </p>
1215                   </td>
1216 <td>
1217                     <p>
1218                       <code class="computeroutput"><span class="string">"a"</span></code>
1219                     </p>
1220                   </td>
1221 </tr>
1222 <tr>
1223 <td>
1224                     <p>
1225                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1226                     </p>
1227                   </td>
1228 <td>
1229                     <p>
1230                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"nano"</span></code>
1231                     </p>
1232                   </td>
1233 <td>
1234                     <p>
1235                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"a"</span></code>
1236                     </p>
1237                   </td>
1238 </tr>
1239 <tr>
1240 <td>
1241                     <p>
1242                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1243                     </p>
1244                   </td>
1245 <td>
1246                     <p>
1247                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"nano"</span></code>
1248                     </p>
1249                   </td>
1250 <td>
1251                     <p>
1252                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"a"</span></code>
1253                     </p>
1254                   </td>
1255 </tr>
1256 <tr>
1257 <td>
1258                     <p>
1259                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">nano</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1260                     </p>
1261                   </td>
1262 <td>
1263                     <p>
1264                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"nano"</span></code>
1265                     </p>
1266                   </td>
1267 <td>
1268                     <p>
1269                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"a"</span></code>
1270                     </p>
1271                   </td>
1272 </tr>
1273 <tr>
1274 <td>
1275                     <p>
1276                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1277                     </p>
1278                   </td>
1279 <td>
1280                     <p>
1281                       <code class="computeroutput"><span class="string">"micro"</span></code>
1282                     </p>
1283                   </td>
1284 <td>
1285                     <p>
1286                       <code class="computeroutput"><span class="identifier">u8</span><span class="string">"\u00B5"</span></code>
1287                     </p>
1288                   </td>
1289 </tr>
1290 <tr>
1291 <td>
1292                     <p>
1293                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1294                     </p>
1295                   </td>
1296 <td>
1297                     <p>
1298                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"micro"</span></code>
1299                     </p>
1300                   </td>
1301 <td>
1302                     <p>
1303                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"\u00B5"</span></code>
1304                     </p>
1305                   </td>
1306 </tr>
1307 <tr>
1308 <td>
1309                     <p>
1310                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1311                     </p>
1312                   </td>
1313 <td>
1314                     <p>
1315                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"micro"</span></code>
1316                     </p>
1317                   </td>
1318 <td>
1319                     <p>
1320                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"\u00B5"</span></code>
1321                     </p>
1322                   </td>
1323 </tr>
1324 <tr>
1325 <td>
1326                     <p>
1327                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">micro</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1328                     </p>
1329                   </td>
1330 <td>
1331                     <p>
1332                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"micro"</span></code>
1333                     </p>
1334                   </td>
1335 <td>
1336                     <p>
1337                       <code class="computeroutput"><span class="identifier">Lu8</span><span class="string">"\u00B5"</span></code>
1338                     </p>
1339                   </td>
1340 </tr>
1341 <tr>
1342 <td>
1343                     <p>
1344                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1345                     </p>
1346                   </td>
1347 <td>
1348                     <p>
1349                       <code class="computeroutput"><span class="string">"milli"</span></code>
1350                     </p>
1351                   </td>
1352 <td>
1353                     <p>
1354                       <code class="computeroutput"><span class="string">"m"</span></code>
1355                     </p>
1356                   </td>
1357 </tr>
1358 <tr>
1359 <td>
1360                     <p>
1361                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1362                     </p>
1363                   </td>
1364 <td>
1365                     <p>
1366                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"milli"</span></code>
1367                     </p>
1368                   </td>
1369 <td>
1370                     <p>
1371                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"m"</span></code>
1372                     </p>
1373                   </td>
1374 </tr>
1375 <tr>
1376 <td>
1377                     <p>
1378                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1379                     </p>
1380                   </td>
1381 <td>
1382                     <p>
1383                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"milli"</span></code>
1384                     </p>
1385                   </td>
1386 <td>
1387                     <p>
1388                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"m"</span></code>
1389                     </p>
1390                   </td>
1391 </tr>
1392 <tr>
1393 <td>
1394                     <p>
1395                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">milli</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1396                     </p>
1397                   </td>
1398 <td>
1399                     <p>
1400                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"milli"</span></code>
1401                     </p>
1402                   </td>
1403 <td>
1404                     <p>
1405                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"m"</span></code>
1406                     </p>
1407                   </td>
1408 </tr>
1409 <tr>
1410 <td>
1411                     <p>
1412                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1413                     </p>
1414                   </td>
1415 <td>
1416                     <p>
1417                       <code class="computeroutput"><span class="string">"centi"</span></code>
1418                     </p>
1419                   </td>
1420 <td>
1421                     <p>
1422                       <code class="computeroutput"><span class="string">"c"</span></code>
1423                     </p>
1424                   </td>
1425 </tr>
1426 <tr>
1427 <td>
1428                     <p>
1429                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1430                     </p>
1431                   </td>
1432 <td>
1433                     <p>
1434                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"centi"</span></code>
1435                     </p>
1436                   </td>
1437 <td>
1438                     <p>
1439                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"c"</span></code>
1440                     </p>
1441                   </td>
1442 </tr>
1443 <tr>
1444 <td>
1445                     <p>
1446                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1447                     </p>
1448                   </td>
1449 <td>
1450                     <p>
1451                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"centi"</span></code>
1452                     </p>
1453                   </td>
1454 <td>
1455                     <p>
1456                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"c"</span></code>
1457                     </p>
1458                   </td>
1459 </tr>
1460 <tr>
1461 <td>
1462                     <p>
1463                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">centi</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1464                     </p>
1465                   </td>
1466 <td>
1467                     <p>
1468                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"centi"</span></code>
1469                     </p>
1470                   </td>
1471 <td>
1472                     <p>
1473                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"c"</span></code>
1474                     </p>
1475                   </td>
1476 </tr>
1477 <tr>
1478 <td>
1479                     <p>
1480                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1481                     </p>
1482                   </td>
1483 <td>
1484                     <p>
1485                       <code class="computeroutput"><span class="string">"deci"</span></code>
1486                     </p>
1487                   </td>
1488 <td>
1489                     <p>
1490                       <code class="computeroutput"><span class="string">"d"</span></code>
1491                     </p>
1492                   </td>
1493 </tr>
1494 <tr>
1495 <td>
1496                     <p>
1497                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1498                     </p>
1499                   </td>
1500 <td>
1501                     <p>
1502                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"deci"</span></code>
1503                     </p>
1504                   </td>
1505 <td>
1506                     <p>
1507                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"d"</span></code>
1508                     </p>
1509                   </td>
1510 </tr>
1511 <tr>
1512 <td>
1513                     <p>
1514                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1515                     </p>
1516                   </td>
1517 <td>
1518                     <p>
1519                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"deci"</span></code>
1520                     </p>
1521                   </td>
1522 <td>
1523                     <p>
1524                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"d"</span></code>
1525                     </p>
1526                   </td>
1527 </tr>
1528 <tr>
1529 <td>
1530                     <p>
1531                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deci</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1532                     </p>
1533                   </td>
1534 <td>
1535                     <p>
1536                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"deci"</span></code>
1537                     </p>
1538                   </td>
1539 <td>
1540                     <p>
1541                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"d"</span></code>
1542                     </p>
1543                   </td>
1544 </tr>
1545 <tr>
1546 <td>
1547                     <p>
1548                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1549                     </p>
1550                   </td>
1551 <td>
1552                     <p>
1553                       <code class="computeroutput"><span class="string">"deca"</span></code>
1554                     </p>
1555                   </td>
1556 <td>
1557                     <p>
1558                       <code class="computeroutput"><span class="string">"da"</span></code>
1559                     </p>
1560                   </td>
1561 </tr>
1562 <tr>
1563 <td>
1564                     <p>
1565                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1566                     </p>
1567                   </td>
1568 <td>
1569                     <p>
1570                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"deca"</span></code>
1571                     </p>
1572                   </td>
1573 <td>
1574                     <p>
1575                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"da"</span></code>
1576                     </p>
1577                   </td>
1578 </tr>
1579 <tr>
1580 <td>
1581                     <p>
1582                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1583                     </p>
1584                   </td>
1585 <td>
1586                     <p>
1587                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"deca"</span></code>
1588                     </p>
1589                   </td>
1590 <td>
1591                     <p>
1592                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"da"</span></code>
1593                     </p>
1594                   </td>
1595 </tr>
1596 <tr>
1597 <td>
1598                     <p>
1599                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">deca</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1600                     </p>
1601                   </td>
1602 <td>
1603                     <p>
1604                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"deca"</span></code>
1605                     </p>
1606                   </td>
1607 <td>
1608                     <p>
1609                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"da"</span></code>
1610                     </p>
1611                   </td>
1612 </tr>
1613 <tr>
1614 <td>
1615                     <p>
1616                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1617                     </p>
1618                   </td>
1619 <td>
1620                     <p>
1621                       <code class="computeroutput"><span class="string">"hecto"</span></code>
1622                     </p>
1623                   </td>
1624 <td>
1625                     <p>
1626                       <code class="computeroutput"><span class="string">"h"</span></code>
1627                     </p>
1628                   </td>
1629 </tr>
1630 <tr>
1631 <td>
1632                     <p>
1633                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1634                     </p>
1635                   </td>
1636 <td>
1637                     <p>
1638                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"hecto"</span></code>
1639                     </p>
1640                   </td>
1641 <td>
1642                     <p>
1643                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"h"</span></code>
1644                     </p>
1645                   </td>
1646 </tr>
1647 <tr>
1648 <td>
1649                     <p>
1650                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1651                     </p>
1652                   </td>
1653 <td>
1654                     <p>
1655                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"hecto"</span></code>
1656                     </p>
1657                   </td>
1658 <td>
1659                     <p>
1660                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"h"</span></code>
1661                     </p>
1662                   </td>
1663 </tr>
1664 <tr>
1665 <td>
1666                     <p>
1667                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">hecto</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1668                     </p>
1669                   </td>
1670 <td>
1671                     <p>
1672                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"hecto"</span></code>
1673                     </p>
1674                   </td>
1675 <td>
1676                     <p>
1677                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"h"</span></code>
1678                     </p>
1679                   </td>
1680 </tr>
1681 <tr>
1682 <td>
1683                     <p>
1684                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1685                     </p>
1686                   </td>
1687 <td>
1688                     <p>
1689                       <code class="computeroutput"><span class="string">"kilo"</span></code>
1690                     </p>
1691                   </td>
1692 <td>
1693                     <p>
1694                       <code class="computeroutput"><span class="string">"k"</span></code>
1695                     </p>
1696                   </td>
1697 </tr>
1698 <tr>
1699 <td>
1700                     <p>
1701                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1702                     </p>
1703                   </td>
1704 <td>
1705                     <p>
1706                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"kilo"</span></code>
1707                     </p>
1708                   </td>
1709 <td>
1710                     <p>
1711                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"k"</span></code>
1712                     </p>
1713                   </td>
1714 </tr>
1715 <tr>
1716 <td>
1717                     <p>
1718                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1719                     </p>
1720                   </td>
1721 <td>
1722                     <p>
1723                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"kilo"</span></code>
1724                     </p>
1725                   </td>
1726 <td>
1727                     <p>
1728                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"k"</span></code>
1729                     </p>
1730                   </td>
1731 </tr>
1732 <tr>
1733 <td>
1734                     <p>
1735                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">kilo</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1736                     </p>
1737                   </td>
1738 <td>
1739                     <p>
1740                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"kilo"</span></code>
1741                     </p>
1742                   </td>
1743 <td>
1744                     <p>
1745                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"k"</span></code>
1746                     </p>
1747                   </td>
1748 </tr>
1749 <tr>
1750 <td>
1751                     <p>
1752                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1753                     </p>
1754                   </td>
1755 <td>
1756                     <p>
1757                       <code class="computeroutput"><span class="string">"mega"</span></code>
1758                     </p>
1759                   </td>
1760 <td>
1761                     <p>
1762                       <code class="computeroutput"><span class="string">"M"</span></code>
1763                     </p>
1764                   </td>
1765 </tr>
1766 <tr>
1767 <td>
1768                     <p>
1769                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1770                     </p>
1771                   </td>
1772 <td>
1773                     <p>
1774                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"mega"</span></code>
1775                     </p>
1776                   </td>
1777 <td>
1778                     <p>
1779                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"M"</span></code>
1780                     </p>
1781                   </td>
1782 </tr>
1783 <tr>
1784 <td>
1785                     <p>
1786                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1787                     </p>
1788                   </td>
1789 <td>
1790                     <p>
1791                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"mega"</span></code>
1792                     </p>
1793                   </td>
1794 <td>
1795                     <p>
1796                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"M"</span></code>
1797                     </p>
1798                   </td>
1799 </tr>
1800 <tr>
1801 <td>
1802                     <p>
1803                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">mega</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1804                     </p>
1805                   </td>
1806 <td>
1807                     <p>
1808                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"mega"</span></code>
1809                     </p>
1810                   </td>
1811 <td>
1812                     <p>
1813                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"M"</span></code>
1814                     </p>
1815                   </td>
1816 </tr>
1817 <tr>
1818 <td>
1819                     <p>
1820                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1821                     </p>
1822                   </td>
1823 <td>
1824                     <p>
1825                       <code class="computeroutput"><span class="string">"giga"</span></code>
1826                     </p>
1827                   </td>
1828 <td>
1829                     <p>
1830                       <code class="computeroutput"><span class="string">"G"</span></code>
1831                     </p>
1832                   </td>
1833 </tr>
1834 <tr>
1835 <td>
1836                     <p>
1837                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1838                     </p>
1839                   </td>
1840 <td>
1841                     <p>
1842                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"giga"</span></code>
1843                     </p>
1844                   </td>
1845 <td>
1846                     <p>
1847                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"G"</span></code>
1848                     </p>
1849                   </td>
1850 </tr>
1851 <tr>
1852 <td>
1853                     <p>
1854                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1855                     </p>
1856                   </td>
1857 <td>
1858                     <p>
1859                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"giga"</span></code>
1860                     </p>
1861                   </td>
1862 <td>
1863                     <p>
1864                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"G"</span></code>
1865                     </p>
1866                   </td>
1867 </tr>
1868 <tr>
1869 <td>
1870                     <p>
1871                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">giga</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1872                     </p>
1873                   </td>
1874 <td>
1875                     <p>
1876                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"giga"</span></code>
1877                     </p>
1878                   </td>
1879 <td>
1880                     <p>
1881                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"G"</span></code>
1882                     </p>
1883                   </td>
1884 </tr>
1885 <tr>
1886 <td>
1887                     <p>
1888                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1889                     </p>
1890                   </td>
1891 <td>
1892                     <p>
1893                       <code class="computeroutput"><span class="string">"tera"</span></code>
1894                     </p>
1895                   </td>
1896 <td>
1897                     <p>
1898                       <code class="computeroutput"><span class="string">"T"</span></code>
1899                     </p>
1900                   </td>
1901 </tr>
1902 <tr>
1903 <td>
1904                     <p>
1905                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1906                     </p>
1907                   </td>
1908 <td>
1909                     <p>
1910                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"tera"</span></code>
1911                     </p>
1912                   </td>
1913 <td>
1914                     <p>
1915                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"T"</span></code>
1916                     </p>
1917                   </td>
1918 </tr>
1919 <tr>
1920 <td>
1921                     <p>
1922                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1923                     </p>
1924                   </td>
1925 <td>
1926                     <p>
1927                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"tera"</span></code>
1928                     </p>
1929                   </td>
1930 <td>
1931                     <p>
1932                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"T"</span></code>
1933                     </p>
1934                   </td>
1935 </tr>
1936 <tr>
1937 <td>
1938                     <p>
1939                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">tera</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
1940                     </p>
1941                   </td>
1942 <td>
1943                     <p>
1944                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"tera"</span></code>
1945                     </p>
1946                   </td>
1947 <td>
1948                     <p>
1949                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"T"</span></code>
1950                     </p>
1951                   </td>
1952 </tr>
1953 <tr>
1954 <td>
1955                     <p>
1956                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
1957                     </p>
1958                   </td>
1959 <td>
1960                     <p>
1961                       <code class="computeroutput"><span class="string">"peta"</span></code>
1962                     </p>
1963                   </td>
1964 <td>
1965                     <p>
1966                       <code class="computeroutput"><span class="string">"P"</span></code>
1967                     </p>
1968                   </td>
1969 </tr>
1970 <tr>
1971 <td>
1972                     <p>
1973                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
1974                     </p>
1975                   </td>
1976 <td>
1977                     <p>
1978                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"peta"</span></code>
1979                     </p>
1980                   </td>
1981 <td>
1982                     <p>
1983                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"P"</span></code>
1984                     </p>
1985                   </td>
1986 </tr>
1987 <tr>
1988 <td>
1989                     <p>
1990                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
1991                     </p>
1992                   </td>
1993 <td>
1994                     <p>
1995                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"peta"</span></code>
1996                     </p>
1997                   </td>
1998 <td>
1999                     <p>
2000                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"P"</span></code>
2001                     </p>
2002                   </td>
2003 </tr>
2004 <tr>
2005 <td>
2006                     <p>
2007                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">peta</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
2008                     </p>
2009                   </td>
2010 <td>
2011                     <p>
2012                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"peta"</span></code>
2013                     </p>
2014                   </td>
2015 <td>
2016                     <p>
2017                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"P"</span></code>
2018                     </p>
2019                   </td>
2020 </tr>
2021 <tr>
2022 <td>
2023                     <p>
2024                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span></code>
2025                     </p>
2026                   </td>
2027 <td>
2028                     <p>
2029                       <code class="computeroutput"><span class="string">"exa"</span></code>
2030                     </p>
2031                   </td>
2032 <td>
2033                     <p>
2034                       <code class="computeroutput"><span class="string">"E"</span></code>
2035                     </p>
2036                   </td>
2037 </tr>
2038 <tr>
2039 <td>
2040                     <p>
2041                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">char16_t</span><span class="special">&gt;</span></code>
2042                     </p>
2043                   </td>
2044 <td>
2045                     <p>
2046                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"exa"</span></code>
2047                     </p>
2048                   </td>
2049 <td>
2050                     <p>
2051                       <code class="computeroutput"><span class="identifier">u</span><span class="string">"E"</span></code>
2052                     </p>
2053                   </td>
2054 </tr>
2055 <tr>
2056 <td>
2057                     <p>
2058                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">char32_t</span><span class="special">&gt;</span></code>
2059                     </p>
2060                   </td>
2061 <td>
2062                     <p>
2063                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"exa"</span></code>
2064                     </p>
2065                   </td>
2066 <td>
2067                     <p>
2068                       <code class="computeroutput"><span class="identifier">U</span><span class="string">"E"</span></code>
2069                     </p>
2070                   </td>
2071 </tr>
2072 <tr>
2073 <td>
2074                     <p>
2075                       <code class="computeroutput"><span class="identifier">ratio_string</span><span class="special">&lt;</span><span class="identifier">exa</span><span class="special">,</span> <span class="keyword">wchar_t</span><span class="special">&gt;</span></code>
2076                     </p>
2077                   </td>
2078 <td>
2079                     <p>
2080                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"exa"</span></code>
2081                     </p>
2082                   </td>
2083 <td>
2084                     <p>
2085                       <code class="computeroutput"><span class="identifier">L</span><span class="string">"E"</span></code>
2086                     </p>
2087                   </td>
2088 </tr>
2089 </tbody>
2090 </table></div>
2091 </div>
2092 <br class="table-break">
2093 </div>
2094 </div>
2095 </div>
2096 <div class="section">
2097 <div class="titlepage"><div><div><h3 class="title">
2098 <a name="ratio.reference.mpl"></a><a class="link" href="reference.html#ratio.reference.mpl" title="Rational Constant">Rational Constant</a>
2099 </h3></div></div></div>
2100 <div class="toc"><dl class="toc">
2101 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.rational_constant">Rational Constant
2102         Concept</a></span></dt>
2103 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.rational_constant_hpp">Header
2104         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">rational_constant</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2105 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_rational_c_tag_hpp">Header
2106         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">rational_c_tag</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2107 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_numeric_cast_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">numeric_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2108 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_arithmetic_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2109 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_plus_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2110 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_minus_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2111 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_times_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">times</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2112 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_divides_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">divides</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2113 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_gcd_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">gcd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2114 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_lcm_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">lcm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2115 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_negate_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">negate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2116 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_abs_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">abs</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2117 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_sign_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">sign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2118 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_comparison_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2119 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_equal_to_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2120 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_not_equal_to_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2121 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_less_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2122 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_less_equal_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2123 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_greater_hpp">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">greater</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2124 <dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_greater_equal_hpp">Header
2125         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
2126 </dl></div>
2127 <div class="section">
2128 <div class="titlepage"><div><div><h4 class="title">
2129 <a name="ratio.reference.mpl.rational_constant"></a><a class="link" href="reference.html#ratio.reference.mpl.rational_constant" title="Rational Constant Concept">Rational Constant
2130         Concept</a>
2131 </h4></div></div></div>
2132 <h6>
2133 <a name="ratio.reference.mpl.rational_constant.h0"></a>
2134           <span class="phrase"><a name="ratio.reference.mpl.rational_constant.description"></a></span><a class="link" href="reference.html#ratio.reference.mpl.rational_constant.description">Description</a>
2135         </h6>
2136 <p>
2137           A <a class="link" href="reference.html#ratio.reference.mpl.rational_constant" title="Rational Constant Concept">Rational Constant</a>
2138           is a holder class for a compile-time value of a rational type. Every <a class="link" href="reference.html#ratio.reference.mpl.rational_constant" title="Rational Constant Concept">Rational Constant</a>
2139           is also a nullary Metafunction, returning itself. A rational constant object
2140           is implicitly convertible to the corresponding run-time value of the rational
2141           type.
2142         </p>
2143 <h6>
2144 <a name="ratio.reference.mpl.rational_constant.h1"></a>
2145           <span class="phrase"><a name="ratio.reference.mpl.rational_constant.expression_requirements"></a></span><a class="link" href="reference.html#ratio.reference.mpl.rational_constant.expression_requirements">Expression
2146           requirements</a>
2147         </h6>
2148 <p>
2149           In the following table and subsequent specifications, r is a model of
2150           <a class="link" href="reference.html#ratio.reference.mpl.rational_constant" title="Rational Constant Concept">Rational Constant</a>.
2151         </p>
2152 <div class="informaltable"><table class="table">
2153 <colgroup>
2154 <col>
2155 <col>
2156 <col>
2157 </colgroup>
2158 <thead><tr>
2159 <th>
2160                   <p>
2161                     Expression
2162                   </p>
2163                 </th>
2164 <th>
2165                   <p>
2166                     Type
2167                   </p>
2168                 </th>
2169 <th>
2170                   <p>
2171                     Complexity
2172                   </p>
2173                 </th>
2174 </tr></thead>
2175 <tbody>
2176 <tr>
2177 <td>
2178                   <p>
2179                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">tag</span></code>
2180                   </p>
2181                 </td>
2182 <td>
2183                   <p>
2184                     <code class="computeroutput"><span class="identifier">rational_c_tag</span></code>
2185                   </p>
2186                 </td>
2187 <td>
2188                   <p>
2189                     Constant time
2190                   </p>
2191                 </td>
2192 </tr>
2193 <tr>
2194 <td>
2195                   <p>
2196                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">value_type</span></code>
2197                   </p>
2198                 </td>
2199 <td>
2200                   <p>
2201                     A rational type
2202                   </p>
2203                 </td>
2204 <td>
2205                   <p>
2206                     Constant time
2207                   </p>
2208                 </td>
2209 </tr>
2210 <tr>
2211 <td>
2212                   <p>
2213                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">num_type</span></code>
2214                   </p>
2215                 </td>
2216 <td>
2217                   <p>
2218                     An integral type
2219                   </p>
2220                 </td>
2221 <td>
2222                   <p>
2223                     Constant time
2224                   </p>
2225                 </td>
2226 </tr>
2227 <tr>
2228 <td>
2229                   <p>
2230                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">den_type</span></code>
2231                   </p>
2232                 </td>
2233 <td>
2234                   <p>
2235                     An integral type
2236                   </p>
2237                 </td>
2238 <td>
2239                   <p>
2240                     Constant time
2241                   </p>
2242                 </td>
2243 </tr>
2244 <tr>
2245 <td>
2246                   <p>
2247                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">num</span></code>
2248                   </p>
2249                 </td>
2250 <td>
2251                   <p>
2252                     An Integral constant expression
2253                   </p>
2254                 </td>
2255 <td>
2256                   <p>
2257                     Constant time
2258                   </p>
2259                 </td>
2260 </tr>
2261 <tr>
2262 <td>
2263                   <p>
2264                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">den</span></code>
2265                   </p>
2266                 </td>
2267 <td>
2268                   <p>
2269                     An Integral constant expression
2270                   </p>
2271                 </td>
2272 <td>
2273                   <p>
2274                     Constant time
2275                   </p>
2276                 </td>
2277 </tr>
2278 <tr>
2279 <td>
2280                   <p>
2281                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">type</span></code>
2282                   </p>
2283                 </td>
2284 <td>
2285                   <p>
2286                     <a class="link" href="reference.html#ratio.reference.mpl.rational_constant" title="Rational Constant Concept">Rational
2287                     Constant</a>
2288                   </p>
2289                 </td>
2290 <td>
2291                   <p>
2292                     Constant time
2293                   </p>
2294                 </td>
2295 </tr>
2296 <tr>
2297 <td>
2298                   <p>
2299                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">value_type</span> <span class="keyword">const</span>
2300                     <span class="identifier">c</span><span class="special">=</span><span class="identifier">r</span><span class="special">()</span></code>
2301                   </p>
2302                 </td>
2303 <td>
2304                 </td>
2305 <td>
2306                   <p>
2307                     Constant time
2308                   </p>
2309                 </td>
2310 </tr>
2311 </tbody>
2312 </table></div>
2313 <h6>
2314 <a name="ratio.reference.mpl.rational_constant.h2"></a>
2315           <span class="phrase"><a name="ratio.reference.mpl.rational_constant.expression_semantics"></a></span><a class="link" href="reference.html#ratio.reference.mpl.rational_constant.expression_semantics">Expression
2316           semantics</a>
2317         </h6>
2318 <div class="informaltable"><table class="table">
2319 <colgroup>
2320 <col>
2321 <col>
2322 </colgroup>
2323 <thead><tr>
2324 <th>
2325                   <p>
2326                     Expression
2327                   </p>
2328                 </th>
2329 <th>
2330                   <p>
2331                     Semantics
2332                   </p>
2333                 </th>
2334 </tr></thead>
2335 <tbody>
2336 <tr>
2337 <td>
2338                   <p>
2339                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">tag</span></code>
2340                   </p>
2341                 </td>
2342 <td>
2343                   <p>
2344                     r's tag type; r::tag::value is r's conversion rank.
2345                   </p>
2346                 </td>
2347 </tr>
2348 <tr>
2349 <td>
2350                   <p>
2351                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">value_type</span></code>
2352                   </p>
2353                 </td>
2354 <td>
2355                   <p>
2356                     A cv-unqualified type of <code class="computeroutput"><span class="identifier">r</span><span class="special">()</span></code>
2357                   </p>
2358                 </td>
2359 </tr>
2360 <tr>
2361 <td>
2362                   <p>
2363                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">num_type</span></code>
2364                   </p>
2365                 </td>
2366 <td>
2367                   <p>
2368                     A cv-unqualified type of <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">num</span></code>
2369                   </p>
2370                 </td>
2371 </tr>
2372 <tr>
2373 <td>
2374                   <p>
2375                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">den_type</span></code>
2376                   </p>
2377                 </td>
2378 <td>
2379                   <p>
2380                     A cv-unqualified type of <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">den</span></code>
2381                   </p>
2382                 </td>
2383 </tr>
2384 <tr>
2385 <td>
2386                   <p>
2387                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">num</span></code>
2388                   </p>
2389                 </td>
2390 <td>
2391                   <p>
2392                     The numerator of the rational constant
2393                   </p>
2394                 </td>
2395 </tr>
2396 <tr>
2397 <td>
2398                   <p>
2399                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">den</span></code>
2400                   </p>
2401                 </td>
2402 <td>
2403                   <p>
2404                     The denominator of the rational constant
2405                   </p>
2406                 </td>
2407 </tr>
2408 <tr>
2409 <td>
2410                   <p>
2411                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">type</span></code>
2412                   </p>
2413                 </td>
2414 <td>
2415                   <p>
2416                     equal_to&lt;n::type,n&gt;::value == true.
2417                   </p>
2418                 </td>
2419 </tr>
2420 <tr>
2421 <td>
2422                   <p>
2423                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">value_type</span> <span class="keyword">const</span>
2424                     <span class="identifier">c</span><span class="special">=</span><span class="identifier">r</span><span class="special">()</span></code>
2425                   </p>
2426                 </td>
2427 <td>
2428                   <p>
2429                     <code class="computeroutput"><span class="identifier">r</span><span class="special">::</span><span class="identifier">value_type</span> <span class="keyword">const</span>
2430                     <span class="identifier">c</span><span class="special">=</span><span class="identifier">r</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">(</span><span class="identifier">r</span><span class="special">::</span><span class="identifier">num</span><span class="special">,</span><span class="identifier">r</span><span class="special">::</span><span class="identifier">den</span><span class="special">)</span></code>
2431                   </p>
2432                 </td>
2433 </tr>
2434 </tbody>
2435 </table></div>
2436 <h6>
2437 <a name="ratio.reference.mpl.rational_constant.h3"></a>
2438           <span class="phrase"><a name="ratio.reference.mpl.rational_constant.models"></a></span><a class="link" href="reference.html#ratio.reference.mpl.rational_constant.models">Models</a>
2439         </h6>
2440 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
2441               <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio" title="Class Template ratio&lt;&gt;"><code class="computeroutput"><span class="identifier">ratio</span></code></a>&lt;&gt;
2442             </li></ul></div>
2443 </div>
2444 <div class="section">
2445 <div class="titlepage"><div><div><h4 class="title">
2446 <a name="ratio.reference.mpl.rational_constant_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.rational_constant_hpp" title="Header &lt;boost/ratio/mpl/rational_constant.hpp&gt;">Header
2447         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">rational_constant</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2448 </h4></div></div></div>
2449 <p>
2450           This header includes all the rational constant related header files
2451         </p>
2452 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">rational_c_tag</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2453 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">numeric_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2454 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2455 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2456 </pre>
2457 </div>
2458 <div class="section">
2459 <div class="titlepage"><div><div><h4 class="title">
2460 <a name="ratio.reference.mpl.mpl_rational_c_tag_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_rational_c_tag_hpp" title="Header &lt;boost/ratio/mpl/rational_c_tag.hpp&gt;">Header
2461         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">rational_c_tag</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2462 </h4></div></div></div>
2463 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2464 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2465
2466     <span class="keyword">struct</span> <span class="identifier">rational_c_tag</span> <span class="special">:</span> <span class="identifier">int_</span><span class="special">&lt;</span><span class="number">10</span><span class="special">&gt;</span> <span class="special">{};</span>
2467
2468 <span class="special">}</span>
2469 <span class="special">}</span>
2470 </pre>
2471 </div>
2472 <div class="section">
2473 <div class="titlepage"><div><div><h4 class="title">
2474 <a name="ratio.reference.mpl.mpl_numeric_cast_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_numeric_cast_hpp" title="Header &lt;boost/ratio/mpl/numeric_cast.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">numeric_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2475 </h4></div></div></div>
2476 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_numeric_cast_hpp.numeric_cast"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">numeric_cast</span><span class="special">&lt;&gt;</span></code>
2477           Specialization</a></span></dt></dl></div>
2478 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2479 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2480
2481     <span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">numeric_cast</span><span class="special">&lt;</span> <span class="identifier">integral_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2482
2483 <span class="special">}</span>
2484 <span class="special">}</span>
2485 </pre>
2486 <div class="section">
2487 <div class="titlepage"><div><div><h5 class="title">
2488 <a name="ratio.reference.mpl.mpl_numeric_cast_hpp.numeric_cast"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_numeric_cast_hpp.numeric_cast" title="mpl::numeric_cast&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">numeric_cast</span><span class="special">&lt;&gt;</span></code>
2489           Specialization</a>
2490 </h5></div></div></div>
2491 <p>
2492             A Integral Constant is seen as a ratio with numerator the Integral Constant
2493             value and denominator 1.
2494           </p>
2495 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">numeric_cast</span><span class="special">&lt;</span> <span class="identifier">integral_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2496 <span class="special">{</span>
2497     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2498         <span class="special">:</span> <span class="identifier">ratio</span><span class="special">&lt;</span> <span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span><span class="special">,</span> <span class="number">1</span> <span class="special">&gt;</span>
2499     <span class="special">{</span>
2500     <span class="special">};</span>
2501 <span class="special">};</span>
2502 </pre>
2503 </div>
2504 </div>
2505 <div class="section">
2506 <div class="titlepage"><div><div><h4 class="title">
2507 <a name="ratio.reference.mpl.mpl_arithmetic_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_arithmetic_hpp" title="Header &lt;boost/ratio/mpl/arithmetic.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2508 </h4></div></div></div>
2509 <p>
2510           This header includes all the rational constant arithmetic MPL specializations.
2511         </p>
2512 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2513 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2514 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">times</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2515 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">divides</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2516 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">negate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2517 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">abs</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2518 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">sign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2519 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">gcd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2520 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">lcm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2521 </pre>
2522 </div>
2523 <div class="section">
2524 <div class="titlepage"><div><div><h4 class="title">
2525 <a name="ratio.reference.mpl.mpl_plus_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_plus_hpp" title="Header &lt;boost/ratio/mpl/plus.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">plus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2526 </h4></div></div></div>
2527 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_plus_hpp.plus_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">plus_impl</span><span class="special">&lt;&gt;</span></code>
2528           Specialization</a></span></dt></dl></div>
2529 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2530 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2531     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2532     <span class="keyword">struct</span> <span class="identifier">plus_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2533 <span class="special">}</span>
2534 <span class="special">}</span>
2535 </pre>
2536 <div class="section">
2537 <div class="titlepage"><div><div><h5 class="title">
2538 <a name="ratio.reference.mpl.mpl_plus_hpp.plus_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_plus_hpp.plus_impl" title="mpl::plus_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">plus_impl</span><span class="special">&lt;&gt;</span></code>
2539           Specialization</a>
2540 </h5></div></div></div>
2541 <p>
2542             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_add</span></code></a> template class.
2543           </p>
2544 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2545 <span class="keyword">struct</span> <span class="identifier">plus_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2546 <span class="special">{</span>
2547     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2548         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_add</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2549     <span class="special">{</span>
2550     <span class="special">};</span>
2551 <span class="special">};</span>
2552 </pre>
2553 </div>
2554 </div>
2555 <div class="section">
2556 <div class="titlepage"><div><div><h4 class="title">
2557 <a name="ratio.reference.mpl.mpl_minus_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_minus_hpp" title="Header &lt;boost/ratio/mpl/minus.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">minus</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2558 </h4></div></div></div>
2559 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_minus_hpp.minus_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">minus_impl</span><span class="special">&lt;&gt;</span></code>
2560           Specialization</a></span></dt></dl></div>
2561 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2562 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2563     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2564     <span class="keyword">struct</span> <span class="identifier">minus_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2565 <span class="special">}</span>
2566 <span class="special">}</span>
2567 </pre>
2568 <div class="section">
2569 <div class="titlepage"><div><div><h5 class="title">
2570 <a name="ratio.reference.mpl.mpl_minus_hpp.minus_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_minus_hpp.minus_impl" title="mpl::minus_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">minus_impl</span><span class="special">&lt;&gt;</span></code>
2571           Specialization</a>
2572 </h5></div></div></div>
2573 <p>
2574             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_subtract</span></code></a> template class.
2575           </p>
2576 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2577 <span class="keyword">struct</span> <span class="identifier">plus_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2578 <span class="special">{</span>
2579     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2580         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_subtract</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2581     <span class="special">{</span>
2582     <span class="special">};</span>
2583 <span class="special">};</span>
2584 </pre>
2585 </div>
2586 </div>
2587 <div class="section">
2588 <div class="titlepage"><div><div><h4 class="title">
2589 <a name="ratio.reference.mpl.mpl_times_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_times_hpp" title="Header &lt;boost/ratio/mpl/times.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">times</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2590 </h4></div></div></div>
2591 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_times_hpp.times_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">times_impl</span><span class="special">&lt;&gt;</span></code>
2592           Specialization</a></span></dt></dl></div>
2593 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2594 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2595     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2596     <span class="keyword">struct</span> <span class="identifier">times_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2597 <span class="special">}</span>
2598 <span class="special">}</span>
2599 </pre>
2600 <div class="section">
2601 <div class="titlepage"><div><div><h5 class="title">
2602 <a name="ratio.reference.mpl.mpl_times_hpp.times_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_times_hpp.times_impl" title="mpl::times_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">times_impl</span><span class="special">&lt;&gt;</span></code>
2603           Specialization</a>
2604 </h5></div></div></div>
2605 <p>
2606             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_multiply</span></code></a> template class.
2607           </p>
2608 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2609 <span class="keyword">struct</span> <span class="identifier">times_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2610 <span class="special">{</span>
2611     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2612         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_multiply</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2613     <span class="special">{</span>
2614     <span class="special">};</span>
2615 <span class="special">};</span>
2616 </pre>
2617 </div>
2618 </div>
2619 <div class="section">
2620 <div class="titlepage"><div><div><h4 class="title">
2621 <a name="ratio.reference.mpl.mpl_divides_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_divides_hpp" title="Header &lt;boost/ratio/mpl/divides.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">divides</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2622 </h4></div></div></div>
2623 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_divides_hpp.divides_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">divides_impl</span><span class="special">&lt;&gt;</span></code>
2624           Specialization</a></span></dt></dl></div>
2625 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2626 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2627     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2628     <span class="keyword">struct</span> <span class="identifier">divides_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2629 <span class="special">}</span>
2630 <span class="special">}</span>
2631 </pre>
2632 <div class="section">
2633 <div class="titlepage"><div><div><h5 class="title">
2634 <a name="ratio.reference.mpl.mpl_divides_hpp.divides_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_divides_hpp.divides_impl" title="mpl::divides_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">divides_impl</span><span class="special">&lt;&gt;</span></code>
2635           Specialization</a>
2636 </h5></div></div></div>
2637 <p>
2638             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_divide</span></code></a> template class.
2639           </p>
2640 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2641 <span class="keyword">struct</span> <span class="identifier">divides_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2642 <span class="special">{</span>
2643     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2644         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_divide</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2645     <span class="special">{</span>
2646     <span class="special">};</span>
2647 <span class="special">};</span>
2648 </pre>
2649 </div>
2650 </div>
2651 <div class="section">
2652 <div class="titlepage"><div><div><h4 class="title">
2653 <a name="ratio.reference.mpl.mpl_gcd_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_gcd_hpp" title="Header &lt;boost/ratio/mpl/gcd.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">gcd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2654 </h4></div></div></div>
2655 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_gcd_hpp.gcd_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">gcd_impl</span><span class="special">&lt;&gt;</span></code>
2656           Specialization</a></span></dt></dl></div>
2657 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2658 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2659     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2660     <span class="keyword">struct</span> <span class="identifier">gcd_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2661 <span class="special">}</span>
2662 <span class="special">}</span>
2663 </pre>
2664 <div class="section">
2665 <div class="titlepage"><div><div><h5 class="title">
2666 <a name="ratio.reference.mpl.mpl_gcd_hpp.gcd_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_gcd_hpp.gcd_impl" title="mpl::gcd_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">gcd_impl</span><span class="special">&lt;&gt;</span></code>
2667           Specialization</a>
2668 </h5></div></div></div>
2669 <p>
2670             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_gcd</span></code></a> template class.
2671           </p>
2672 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2673 <span class="keyword">struct</span> <span class="identifier">gcd_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2674 <span class="special">{</span>
2675     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2676         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_gcd</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2677     <span class="special">{</span>
2678     <span class="special">};</span>
2679 <span class="special">};</span>
2680 </pre>
2681 </div>
2682 </div>
2683 <div class="section">
2684 <div class="titlepage"><div><div><h4 class="title">
2685 <a name="ratio.reference.mpl.mpl_lcm_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_lcm_hpp" title="Header &lt;boost/ratio/mpl/lcm.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">lcm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2686 </h4></div></div></div>
2687 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_lcm_hpp.lcm_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">lcm_impl</span><span class="special">&lt;&gt;</span></code>
2688           Specialization</a></span></dt></dl></div>
2689 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2690 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2691     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2692     <span class="keyword">struct</span> <span class="identifier">lcm_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2693 <span class="special">}</span>
2694 <span class="special">}</span>
2695 </pre>
2696 <div class="section">
2697 <div class="titlepage"><div><div><h5 class="title">
2698 <a name="ratio.reference.mpl.mpl_lcm_hpp.lcm_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_lcm_hpp.lcm_impl" title="mpl::lcm_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">lcm_impl</span><span class="special">&lt;&gt;</span></code>
2699           Specialization</a>
2700 </h5></div></div></div>
2701 <p>
2702             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_lcm</span></code></a> template class.
2703           </p>
2704 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2705 <span class="keyword">struct</span> <span class="identifier">lcm_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2706 <span class="special">{</span>
2707     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2708         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_lcm</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2709     <span class="special">{</span>
2710     <span class="special">};</span>
2711 <span class="special">};</span>
2712 </pre>
2713 </div>
2714 </div>
2715 <div class="section">
2716 <div class="titlepage"><div><div><h4 class="title">
2717 <a name="ratio.reference.mpl.mpl_negate_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_negate_hpp" title="Header &lt;boost/ratio/mpl/negate.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">negate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2718 </h4></div></div></div>
2719 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_negate_hpp.negate_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">negate_impl</span><span class="special">&lt;&gt;</span></code>
2720           Specialization</a></span></dt></dl></div>
2721 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2722 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2723     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2724     <span class="keyword">struct</span> <span class="identifier">negate_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2725 <span class="special">}</span>
2726 <span class="special">}</span>
2727 </pre>
2728 <div class="section">
2729 <div class="titlepage"><div><div><h5 class="title">
2730 <a name="ratio.reference.mpl.mpl_negate_hpp.negate_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_negate_hpp.negate_impl" title="mpl::negate_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">negate_impl</span><span class="special">&lt;&gt;</span></code>
2731           Specialization</a>
2732 </h5></div></div></div>
2733 <p>
2734             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_negate</span></code></a> template class.
2735           </p>
2736 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2737 <span class="keyword">struct</span> <span class="identifier">negate_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2738 <span class="special">{</span>
2739     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2740         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_negate</span></code></a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span>
2741     <span class="special">{</span>
2742     <span class="special">};</span>
2743 <span class="special">};</span>
2744 </pre>
2745 </div>
2746 </div>
2747 <div class="section">
2748 <div class="titlepage"><div><div><h4 class="title">
2749 <a name="ratio.reference.mpl.mpl_abs_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_abs_hpp" title="Header &lt;boost/ratio/mpl/abs.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">abs</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2750 </h4></div></div></div>
2751 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_abs_hpp.abs_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">abs_impl</span><span class="special">&lt;&gt;</span></code>
2752           Specialization</a></span></dt></dl></div>
2753 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2754 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2755     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2756     <span class="keyword">struct</span> <span class="identifier">abs_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2757 <span class="special">}</span>
2758 <span class="special">}</span>
2759 </pre>
2760 <div class="section">
2761 <div class="titlepage"><div><div><h5 class="title">
2762 <a name="ratio.reference.mpl.mpl_abs_hpp.abs_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_abs_hpp.abs_impl" title="mpl::abs_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">abs_impl</span><span class="special">&lt;&gt;</span></code>
2763           Specialization</a>
2764 </h5></div></div></div>
2765 <p>
2766             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_abs</span></code></a> template class.
2767           </p>
2768 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2769 <span class="keyword">struct</span> <span class="identifier">abs_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2770 <span class="special">{</span>
2771     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2772         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_abs</span></code></a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span>
2773     <span class="special">{</span>
2774     <span class="special">};</span>
2775 <span class="special">};</span>
2776 </pre>
2777 </div>
2778 </div>
2779 <div class="section">
2780 <div class="titlepage"><div><div><h4 class="title">
2781 <a name="ratio.reference.mpl.mpl_sign_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_sign_hpp" title="Header &lt;boost/ratio/mpl/sign.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">sign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2782 </h4></div></div></div>
2783 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_sign_hpp.sign_impl"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">sign_impl</span><span class="special">&lt;&gt;</span></code>
2784           Specialization</a></span></dt></dl></div>
2785 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2786 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2787     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2788     <span class="keyword">struct</span> <span class="identifier">sign_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2789 <span class="special">}</span>
2790 <span class="special">}</span>
2791 </pre>
2792 <div class="section">
2793 <div class="titlepage"><div><div><h5 class="title">
2794 <a name="ratio.reference.mpl.mpl_sign_hpp.sign_impl"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_sign_hpp.sign_impl" title="mpl::sign_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">sign_impl</span><span class="special">&lt;&gt;</span></code>
2795           Specialization</a>
2796 </h5></div></div></div>
2797 <p>
2798             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_sign</span></code></a> template class.
2799           </p>
2800 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2801 <span class="keyword">struct</span> <span class="identifier">sign_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2802 <span class="special">{</span>
2803     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2804         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_arithmetic" title="ratio Arithmetic"><code class="computeroutput"><span class="identifier">ratio_sign</span></code></a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span>
2805     <span class="special">{</span>
2806     <span class="special">};</span>
2807 <span class="special">};</span>
2808 </pre>
2809 </div>
2810 </div>
2811 <div class="section">
2812 <div class="titlepage"><div><div><h4 class="title">
2813 <a name="ratio.reference.mpl.mpl_comparison_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_comparison_hpp" title="Header &lt;boost/ratio/mpl/comparison.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2814 </h4></div></div></div>
2815 <p>
2816           This header includes all the rational constant comparison MPL specializations.
2817         </p>
2818 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2819 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2820 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2821 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2822 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">greater</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2823 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
2824 </pre>
2825 </div>
2826 <div class="section">
2827 <div class="titlepage"><div><div><h4 class="title">
2828 <a name="ratio.reference.mpl.mpl_equal_to_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_equal_to_hpp" title="Header &lt;boost/ratio/mpl/equal_to.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2829 </h4></div></div></div>
2830 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_equal_to_hpp.equal_to"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">equal_to_impl</span><span class="special">&lt;&gt;</span></code>
2831           Specialization</a></span></dt></dl></div>
2832 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2833 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2834     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2835     <span class="keyword">struct</span> <span class="identifier">equal_to_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2836 <span class="special">}</span>
2837 <span class="special">}</span>
2838 </pre>
2839 <div class="section">
2840 <div class="titlepage"><div><div><h5 class="title">
2841 <a name="ratio.reference.mpl.mpl_equal_to_hpp.equal_to"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_equal_to_hpp.equal_to" title="mpl::equal_to_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">equal_to_impl</span><span class="special">&lt;&gt;</span></code>
2842           Specialization</a>
2843 </h5></div></div></div>
2844 <p>
2845             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_equal</span></code></a> template class.
2846           </p>
2847 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2848 <span class="keyword">struct</span> <span class="identifier">equal_to_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2849 <span class="special">{</span>
2850     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2851         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_equal</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2852     <span class="special">{</span>
2853     <span class="special">};</span>
2854 <span class="special">};</span>
2855 </pre>
2856 </div>
2857 </div>
2858 <div class="section">
2859 <div class="titlepage"><div><div><h4 class="title">
2860 <a name="ratio.reference.mpl.mpl_not_equal_to_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_not_equal_to_hpp" title="Header &lt;boost/ratio/mpl/not_equal_to.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">not_equal_to</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2861 </h4></div></div></div>
2862 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_not_equal_to_hpp.not_equal_to"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_equal_to_impl</span><span class="special">&lt;&gt;</span></code>
2863           Specialization</a></span></dt></dl></div>
2864 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2865 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2866     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2867     <span class="keyword">struct</span> <span class="identifier">not_equal_to_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2868 <span class="special">}</span>
2869 <span class="special">}</span>
2870 </pre>
2871 <div class="section">
2872 <div class="titlepage"><div><div><h5 class="title">
2873 <a name="ratio.reference.mpl.mpl_not_equal_to_hpp.not_equal_to"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_not_equal_to_hpp.not_equal_to" title="mpl::not_equal_to_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_equal_to_impl</span><span class="special">&lt;&gt;</span></code>
2874           Specialization</a>
2875 </h5></div></div></div>
2876 <p>
2877             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_not_equal</span></code></a> template class.
2878           </p>
2879 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2880 <span class="keyword">struct</span> <span class="identifier">not_equal_to_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2881 <span class="special">{</span>
2882     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2883         <span class="special">:</span> <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_not_equal</span></code></a><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2884     <span class="special">{</span>
2885     <span class="special">};</span>
2886 <span class="special">};</span>
2887 </pre>
2888 </div>
2889 </div>
2890 <div class="section">
2891 <div class="titlepage"><div><div><h4 class="title">
2892 <a name="ratio.reference.mpl.mpl_less_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_less_hpp" title="Header &lt;boost/ratio/mpl/less.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">less</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2893 </h4></div></div></div>
2894 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_less_hpp.less"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">less_impl</span><span class="special">&lt;&gt;</span></code>
2895           Specialization</a></span></dt></dl></div>
2896 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2897 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2898     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2899     <span class="keyword">struct</span> <span class="identifier">less_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2900 <span class="special">}</span>
2901 <span class="special">}</span>
2902 </pre>
2903 <div class="section">
2904 <div class="titlepage"><div><div><h5 class="title">
2905 <a name="ratio.reference.mpl.mpl_less_hpp.less"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_less_hpp.less" title="mpl::less_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">less_impl</span><span class="special">&lt;&gt;</span></code>
2906           Specialization</a>
2907 </h5></div></div></div>
2908 <p>
2909             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_less</span></code></a> template class.
2910           </p>
2911 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2912 <span class="keyword">struct</span> <span class="identifier">less_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2913 <span class="special">{</span>
2914     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2915         <span class="special">:</span> <span class="identifier">ratio_less</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2916     <span class="special">{</span>
2917     <span class="special">};</span>
2918 <span class="special">};</span>
2919 </pre>
2920 </div>
2921 </div>
2922 <div class="section">
2923 <div class="titlepage"><div><div><h4 class="title">
2924 <a name="ratio.reference.mpl.mpl_less_equal_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_less_equal_hpp" title="Header &lt;boost/ratio/mpl/less_equal.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">less_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2925 </h4></div></div></div>
2926 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_less_equal_hpp.less_equal"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">less_equal_impl</span><span class="special">&lt;&gt;</span></code>
2927           Specialization</a></span></dt></dl></div>
2928 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2929 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2930     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2931     <span class="keyword">struct</span> <span class="identifier">less_equal_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2932 <span class="special">}</span>
2933 <span class="special">}</span>
2934 </pre>
2935 <div class="section">
2936 <div class="titlepage"><div><div><h5 class="title">
2937 <a name="ratio.reference.mpl.mpl_less_equal_hpp.less_equal"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_less_equal_hpp.less_equal" title="mpl::less_equal_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">less_equal_impl</span><span class="special">&lt;&gt;</span></code>
2938           Specialization</a>
2939 </h5></div></div></div>
2940 <p>
2941             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_less_equal</span></code></a> template class.
2942           </p>
2943 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2944 <span class="keyword">struct</span> <span class="identifier">less_equal_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2945 <span class="special">{</span>
2946     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2947         <span class="special">:</span> <span class="identifier">ratio_less_equal</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2948     <span class="special">{</span>
2949     <span class="special">};</span>
2950 <span class="special">};</span>
2951 </pre>
2952 </div>
2953 </div>
2954 <div class="section">
2955 <div class="titlepage"><div><div><h4 class="title">
2956 <a name="ratio.reference.mpl.mpl_greater_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_greater_hpp" title="Header &lt;boost/ratio/mpl/greater.hpp&gt;">Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">greater</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2957 </h4></div></div></div>
2958 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_greater_hpp.greater"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">greater_impl</span><span class="special">&lt;&gt;</span></code>
2959           Specialization</a></span></dt></dl></div>
2960 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2961 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2962     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2963     <span class="keyword">struct</span> <span class="identifier">greater_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2964 <span class="special">}</span>
2965 <span class="special">}</span>
2966 </pre>
2967 <div class="section">
2968 <div class="titlepage"><div><div><h5 class="title">
2969 <a name="ratio.reference.mpl.mpl_greater_hpp.greater"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_greater_hpp.greater" title="mpl::greater_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">greater_impl</span><span class="special">&lt;&gt;</span></code>
2970           Specialization</a>
2971 </h5></div></div></div>
2972 <p>
2973             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_greater</span></code></a> template class.
2974           </p>
2975 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
2976 <span class="keyword">struct</span> <span class="identifier">greater_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
2977 <span class="special">{</span>
2978     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
2979         <span class="special">:</span> <span class="identifier">ratio_greater</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
2980     <span class="special">{</span>
2981     <span class="special">};</span>
2982 <span class="special">};</span>
2983 </pre>
2984 </div>
2985 </div>
2986 <div class="section">
2987 <div class="titlepage"><div><div><h4 class="title">
2988 <a name="ratio.reference.mpl.mpl_greater_equal_hpp"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_greater_equal_hpp" title="Header &lt;boost/ratio/mpl/greater_equal.hpp&gt;">Header
2989         <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">ratio</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">greater_equal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
2990 </h4></div></div></div>
2991 <div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#ratio.reference.mpl.mpl_greater_equal_hpp.greater_equal"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">greater_equal_impl</span><span class="special">&lt;&gt;</span></code>
2992           Specialization</a></span></dt></dl></div>
2993 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
2994 <span class="keyword">namespace</span> <span class="identifier">mpl</span> <span class="special">{</span>
2995     <span class="keyword">template</span><span class="special">&lt;&gt;</span>
2996     <span class="keyword">struct</span> <span class="identifier">greater_equal_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;;</span>
2997 <span class="special">}</span>
2998 <span class="special">}</span>
2999 </pre>
3000 <div class="section">
3001 <div class="titlepage"><div><div><h5 class="title">
3002 <a name="ratio.reference.mpl.mpl_greater_equal_hpp.greater_equal"></a><a class="link" href="reference.html#ratio.reference.mpl.mpl_greater_equal_hpp.greater_equal" title="mpl::greater_equal_impl&lt;&gt; Specialization"><code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">greater_equal_impl</span><span class="special">&lt;&gt;</span></code>
3003           Specialization</a>
3004 </h5></div></div></div>
3005 <p>
3006             The specialization relays on the <a class="link" href="reference.html#ratio.reference.std.ratio_hpp.ratio_comparison" title="ratio Comparison"><code class="computeroutput"><span class="identifier">ratio_greater_equal</span></code></a> template
3007             class.
3008           </p>
3009 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
3010 <span class="keyword">struct</span> <span class="identifier">greater_equal_impl</span><span class="special">&lt;</span> <span class="identifier">rational_c_tag</span><span class="special">,</span><span class="identifier">rational_c_tag</span> <span class="special">&gt;</span>
3011 <span class="special">{</span>
3012     <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">R1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R2</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">apply</span>
3013         <span class="special">:</span> <span class="identifier">ratio_greater_equal</span><span class="special">&lt;</span><span class="identifier">R1</span><span class="special">,</span> <span class="identifier">R2</span><span class="special">&gt;</span>
3014     <span class="special">{</span>
3015     <span class="special">};</span>
3016 <span class="special">};</span>
3017 </pre>
3018 </div>
3019 </div>
3020 </div>
3021 </div>
3022 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
3023 <td align="left"></td>
3024 <td align="right"><div class="copyright-footer">Copyright &#169; 2008 Howard Hinnant<br>Copyright &#169; 2006, 2008 Beman Dawes<br>Copyright &#169; 2009-2012 Vicente
3025       J. Botet Escriba<p>
3026         Distributed under the Boost Software License, Version 1.0. (See accompanying
3027         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
3028       </p>
3029 </div></td>
3030 </tr></table>
3031 <hr>
3032 <div class="spirit-nav">
3033 <a accesskey="p" href="users_guide.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ratio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="appendices.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
3034 </div>
3035 </body>
3036 </html>