]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/math/doc/html/math_toolkit/pol_ref/pol_ref_ref.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / math / doc / html / math_toolkit / pol_ref / pol_ref_ref.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Policy Class Reference</title>
5 <link rel="stylesheet" href="../../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7 <link rel="home" href="../../index.html" title="Math Toolkit 2.5.1">
8 <link rel="up" href="../pol_ref.html" title="Policy Reference">
9 <link rel="prev" href="namespace_pol.html" title="Setting Polices at Namespace Scope">
10 <link rel="next" href="../../perf.html" title="Chapter&#160;16.&#160;Performance">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="namespace_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.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="../../perf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="math_toolkit.pol_ref.pol_ref_ref"></a><a class="link" href="pol_ref_ref.html" title="Policy Class Reference">Policy Class Reference</a>
28 </h3></div></div></div>
29 <p>
30 There's very little to say here, the <code class="computeroutput"><span class="identifier">policy</span></code>
31 class is just a rag-bag compile-time container for a collection of policies:
32 </p>
33 <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">math</span><span class="special">/</span><span class="identifier">policies</span><span class="special">/</span><span class="identifier">policy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
34 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
35 <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
36 <span class="keyword">namespace</span> <span class="identifier">policies</span>
37
38 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
39 <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
40 <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
41 <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
42 <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
43 <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
44 <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
45 <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
46 <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
47 <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
48 <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
49 <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
50 <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
51 <span class="keyword">struct</span> <span class="identifier">policy</span>
52 <span class="special">{</span>
53 <span class="keyword">public</span><span class="special">:</span>
54 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">domain_error_type</span><span class="special">;</span>
55 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">pole_error_type</span><span class="special">;</span>
56 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">overflow_error_type</span><span class="special">;</span>
57 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">underflow_error_type</span><span class="special">;</span>
58 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">denorm_error_type</span><span class="special">;</span>
59 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">rounding_error_type</span><span class="special">;</span>
60 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">evaluation_error_type</span><span class="special">;</span>
61 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">indeterminate_result_error_type</span><span class="special">;</span>
62 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">precision_type</span><span class="special">;</span>
63 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">promote_float_type</span><span class="special">;</span>
64 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">promote_double_type</span><span class="special">;</span>
65 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">discrete_quantile_type</span><span class="special">;</span>
66 <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">assert_undefined_type</span><span class="special">;</span>
67 <span class="special">};</span>
68
69 <span class="keyword">template</span> <span class="special">&lt;...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...&gt;</span>
70 <span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special">&lt;</span><span class="identifier">policy</span><span class="special">&lt;&gt;,</span> <span class="identifier">A1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">make_policy</span><span class="special">(...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">..);</span>
71
72 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span>
73 <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
74 <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
75 <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
76 <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
77 <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
78 <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
79 <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
80 <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
81 <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
82 <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
83 <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
84 <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
85 <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
86 <span class="keyword">struct</span> <span class="identifier">normalise</span>
87 <span class="special">{</span>
88 <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span>
89 <span class="special">};</span>
90 </pre>
91 <p>
92 The member typedefs of class <code class="computeroutput"><span class="identifier">policy</span></code>
93 are intended for internal use but are documented briefly here for the sake
94 of completeness.
95 </p>
96 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">domain_error_type</span>
97 </pre>
98 <p>
99 Specifies how domain errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&lt;&gt;</span></code>
100 with the template argument to <code class="computeroutput"><span class="identifier">domain_error</span></code>
101 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
102 enumerated values.
103 </p>
104 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">pole_error_type</span>
105 </pre>
106 <p>
107 Specifies how pole-errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">&lt;&gt;</span></code>
108 with the template argument to <code class="computeroutput"><span class="identifier">pole_error</span></code>
109 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
110 enumerated values.
111 </p>
112 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">overflow_error_type</span>
113 </pre>
114 <p>
115 Specifies how overflow errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">&lt;&gt;</span></code>
116 with the template argument to <code class="computeroutput"><span class="identifier">overflow_error</span></code>
117 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
118 enumerated values.
119 </p>
120 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">underflow_error_type</span>
121 </pre>
122 <p>
123 Specifies how underflow errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">underflow_error</span><span class="special">&lt;&gt;</span></code>
124 with the template argument to <code class="computeroutput"><span class="identifier">underflow_error</span></code>
125 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
126 enumerated values.
127 </p>
128 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">denorm_error_type</span>
129 </pre>
130 <p>
131 Specifies how denorm errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">denorm_error</span><span class="special">&lt;&gt;</span></code>
132 with the template argument to <code class="computeroutput"><span class="identifier">denorm_error</span></code>
133 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
134 enumerated values.
135 </p>
136 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">rounding_error_type</span>
137 </pre>
138 <p>
139 Specifies how rounding errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">rounding_error</span><span class="special">&lt;&gt;</span></code>
140 with the template argument to <code class="computeroutput"><span class="identifier">rounding_error</span></code>
141 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
142 enumerated values.
143 </p>
144 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">evaluation_error_type</span>
145 </pre>
146 <p>
147 Specifies how evaluation errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">&lt;&gt;</span></code>
148 with the template argument to <code class="computeroutput"><span class="identifier">evaluation_error</span></code>
149 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
150 enumerated values.
151 </p>
152 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">indeterminate_error_type</span>
153 </pre>
154 <p>
155 Specifies how indeterminate result errors are handled, will be an instance
156 of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">indeterminate_result_error</span><span class="special">&lt;&gt;</span></code>
157 with the template argument to <code class="computeroutput"><span class="identifier">indeterminate_result_error</span></code>
158 one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
159 enumerated values.
160 </p>
161 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">precision_type</span>
162 </pre>
163 <p>
164 Specifies the internal precision to use in binary digits (uses zero to represent
165 whatever the default precision is). Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code> which
166 in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>.
167 </p>
168 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">promote_float_type</span>
169 </pre>
170 <p>
171 Specifies whether or not to promote <code class="computeroutput"><span class="keyword">float</span></code>
172 arguments to <code class="computeroutput"><span class="keyword">double</span></code> precision
173 internally. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
174 which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
175 </p>
176 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">promote_double_type</span>
177 </pre>
178 <p>
179 Specifies whether or not to promote <code class="computeroutput"><span class="keyword">double</span></code>
180 arguments to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
181 precision internally. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
182 which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
183 </p>
184 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">discrete_quantile_type</span>
185 </pre>
186 <p>
187 Specifies how discrete quantiles are evaluated, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">&lt;&gt;</span></code>
188 instantiated with one of the <code class="computeroutput"><span class="identifier">discrete_quantile_policy_type</span></code>
189 enumerated type.
190 </p>
191 <pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">assert_undefined_type</span>
192 </pre>
193 <p>
194 Specifies whether mathematically-undefined properties are asserted as compile-time
195 errors, or treated as runtime errors instead. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code> which
196 in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
197 </p>
198 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...&gt;</span>
199 <span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special">&lt;</span><span class="identifier">policy</span><span class="special">&lt;&gt;,</span> <span class="identifier">A1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">make_policy</span><span class="special">(...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">..);</span>
200 </pre>
201 <p>
202 <code class="computeroutput"><span class="identifier">make_policy</span></code> is a helper function
203 that converts a list of policies into a normalised <code class="computeroutput"><span class="identifier">policy</span></code>
204 class.
205 </p>
206 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span>
207 <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
208 <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
209 <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
210 <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
211 <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
212 <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
213 <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
214 <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
215 <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
216 <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
217 <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
218 <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
219 <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
220 <span class="keyword">struct</span> <span class="identifier">normalise</span>
221 <span class="special">{</span>
222 <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span>
223 <span class="special">};</span>
224 </pre>
225 <p>
226 The <code class="computeroutput"><span class="identifier">normalise</span></code> class template
227 converts one instantiation of the <code class="computeroutput"><span class="identifier">policy</span></code>
228 class into a normalised form. This is used internally to reduce code bloat:
229 so that instantiating a special function on <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">&gt;</span></code> or
230 <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">&gt;</span></code> actually both generate the same code
231 internally.
232 </p>
233 <p>
234 Further more, <code class="computeroutput"><span class="identifier">normalise</span></code> can
235 be used to combine a policy with one or more policies: for example many of
236 the special functions will use this to set policies which they don't make
237 use of to their default values, before forwarding to the actual implementation.
238 In this way code bloat is reduced, since the actual implementation depends
239 only on the policy types that they actually use.
240 </p>
241 </div>
242 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
243 <td align="left"></td>
244 <td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
245 Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
246 Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan R&#229;de, Gautam Sewani,
247 Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
248 Distributed under the Boost Software License, Version 1.0. (See accompanying
249 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>)
250 </p>
251 </div></td>
252 </tr></table>
253 <hr>
254 <div class="spirit-nav">
255 <a accesskey="p" href="namespace_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.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="../../perf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
256 </div>
257 </body>
258 </html>