Imported Upstream version 1.72.0
[platform/upstream/boost.git] / 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.79.1">
7 <link rel="home" href="../../index.html" title="Math Toolkit 2.11.0">
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;21.&#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-2019 Nikhar
245       Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
246       Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
247       R&#229;de, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
248       Daryle Walker and Xiaogang Zhang<p>
249         Distributed under the Boost Software License, Version 1.0. (See accompanying
250         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>)
251       </p>
252 </div></td>
253 </tr></table>
254 <hr>
255 <div class="spirit-nav">
256 <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>
257 </div>
258 </body>
259 </html>