1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 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.12.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 22. 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"><</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">></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"><</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">></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"><...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...></span> 70<span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special"><</span><span class="identifier">policy</span><span class="special"><>,</span> <span class="identifier">A1</span><span class="special">>::</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"><</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">></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><></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"><...>::</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"><</span><span class="identifier">N</span><span class="special">></span></code> which 166 in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> 167 <span class="identifier">N</span><span class="special">></span></code>. 168 </p> 169<pre class="programlisting"><span class="identifier">policy</span><span class="special"><...>::</span><span class="identifier">promote_float_type</span> 170</pre> 171<p> 172 Specifies whether or not to promote <code class="computeroutput"><span class="keyword">float</span></code> 173 arguments to <code class="computeroutput"><span class="keyword">double</span></code> precision 174 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"><</span><span class="identifier">B</span><span class="special">></span></code> 175 which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> 176 <span class="identifier">B</span><span class="special">></span></code>. 177 </p> 178<pre class="programlisting"><span class="identifier">policy</span><span class="special"><...>::</span><span class="identifier">promote_double_type</span> 179</pre> 180<p> 181 Specifies whether or not to promote <code class="computeroutput"><span class="keyword">double</span></code> 182 arguments to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> 183 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"><</span><span class="identifier">B</span><span class="special">></span></code> 184 which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> 185 <span class="identifier">B</span><span class="special">></span></code>. 186 </p> 187<pre class="programlisting"><span class="identifier">policy</span><span class="special"><...>::</span><span class="identifier">discrete_quantile_type</span> 188</pre> 189<p> 190 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"><></span></code> 191 instantiated with one of the <code class="computeroutput"><span class="identifier">discrete_quantile_policy_type</span></code> 192 enumerated type. 193 </p> 194<pre class="programlisting"><span class="identifier">policy</span><span class="special"><...>::</span><span class="identifier">assert_undefined_type</span> 195</pre> 196<p> 197 Specifies whether mathematically-undefined properties are asserted as compile-time 198 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"><</span><span class="identifier">B</span><span class="special">></span></code> which 199 in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> 200 <span class="identifier">B</span><span class="special">></span></code>. 201 </p> 202<pre class="programlisting"><span class="keyword">template</span> <span class="special"><...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...></span> 203<span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special"><</span><span class="identifier">policy</span><span class="special"><>,</span> <span class="identifier">A1</span><span class="special">>::</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> 204</pre> 205<p> 206 <code class="computeroutput"><span class="identifier">make_policy</span></code> is a helper function 207 that converts a list of policies into a normalised <code class="computeroutput"><span class="identifier">policy</span></code> 208 class. 209 </p> 210<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span> 211 <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 212 <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 213 <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 214 <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 215 <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 216 <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 217 <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 218 <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 219 <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 220 <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 221 <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 222 <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span> 223 <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">></span> 224<span class="keyword">struct</span> <span class="identifier">normalise</span> 225<span class="special">{</span> 226 <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span> 227<span class="special">};</span> 228</pre> 229<p> 230 The <code class="computeroutput"><span class="identifier">normalise</span></code> class template 231 converts one instantiation of the <code class="computeroutput"><span class="identifier">policy</span></code> 232 class into a normalised form. This is used internally to reduce code bloat: 233 so that instantiating a special function on <code class="computeroutput"><span class="identifier">policy</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">></span></code> or 234 <code class="computeroutput"><span class="identifier">policy</span><span class="special"><</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">></span></code> actually both generate the same code 235 internally. 236 </p> 237<p> 238 Further more, <code class="computeroutput"><span class="identifier">normalise</span></code> can 239 be used to combine a policy with one or more policies: for example many of 240 the special functions will use this to set policies which they don't make 241 use of to their default values, before forwarding to the actual implementation. 242 In this way code bloat is reduced, since the actual implementation depends 243 only on the policy types that they actually use. 244 </p> 245</div> 246<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 247<td align="left"></td> 248<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar 249 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, 250 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan 251 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, 252 Daryle Walker and Xiaogang Zhang<p> 253 Distributed under the Boost Software License, Version 1.0. (See accompanying 254 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>) 255 </p> 256</div></td> 257</tr></table> 258<hr> 259<div class="spirit-nav"> 260<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> 261</div> 262</body> 263</html> 264