Compare commits

..

19 Commits

Author SHA1 Message Date
3c084ad13c Boost 1.42.0
[SVN r59432]
2010-02-02 20:03:43 +00:00
60db1676fc Merge both config and integer changes from Trunk: these are interlinked.
[SVN r58381]
2009-12-14 18:14:48 +00:00
be17e798df rm cmake from the release branch before it goes out broken. Policy dictates that you never commit to release, you commit to trunk and merge to release.
[SVN r56941]
2009-10-17 01:10:45 +00:00
a1bf7131b3 Add basic copyright/license to keep cmake out of the inspection report
[SVN r55095]
2009-07-22 21:51:01 +00:00
dcdfca5f38 Use BOOST_STATIC_CONSTANT in static_log2, as g++ 4.0 has problems with enum.
Merged revisions 54811 via svnmerge from 
https://svn.boost.org/svn/boost/trunk


[SVN r54911]
2009-07-12 16:11:26 +00:00
12e2311aa4 add missing #include to integer_mask_test.cpp
[SVN r50935]
2009-01-31 21:37:54 +00:00
e6bbb33660 merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
1b9549693a Merge from trunk
[SVN r50681]
2009-01-20 01:54:06 +00:00
382eabdff5 fixes #2654.
[SVN r50573]
2009-01-14 10:18:19 +00:00
3531eb1ac5 merge tests and Jamfiles for 7 libraries
[SVN r50456]
2009-01-04 05:17:02 +00:00
85e4d3e23d Merged revisions 43206,43208-43213 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r43206 | danieljames | 2008-02-10 09:55:03 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Fix some broken links.
........
  r43209 | danieljames | 2008-02-10 14:56:22 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Link to people pages on the website, as they've been removed from the download.
........
  r43210 | danieljames | 2008-02-10 15:02:17 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Point links to the pages that used to be in 'more' to the site.
........
  r43212 | danieljames | 2008-02-10 16:10:16 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Fix links on the home page as well.
........
  r43213 | danieljames | 2008-02-10 16:21:22 +0000 (Sun, 10 Feb 2008) | 1 line
  
  Generated documentation which is no longer generated.
........


[SVN r43214]
2008-02-10 16:39:38 +00:00
550fe9d89f Merged revisions 43129,43131,43137,43139-43140,43142,43144,43146,43149,43151,43153,43158,43160-43164,43167-43170,43172-43174,43178,43180-43193 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r43129 | danieljames | 2008-02-06 19:02:38 +0000 (Wed, 06 Feb 2008) | 2 lines
  
  In the boostbook navbar, link FAQ and people to the website.
........
  r43188 | danieljames | 2008-02-09 12:29:02 +0000 (Sat, 09 Feb 2008) | 2 lines
  
  Fix a link in the intrusive redirect.
........
  r43189 | danieljames | 2008-02-09 12:37:00 +0000 (Sat, 09 Feb 2008) | 1 line
  
  Fix another redirect link.
........
  r43190 | danieljames | 2008-02-09 12:38:19 +0000 (Sat, 09 Feb 2008) | 1 line
  
  Update link to Jamfile, to link to the version 2 jamfile.
........
  r43191 | danieljames | 2008-02-09 12:39:06 +0000 (Sat, 09 Feb 2008) | 1 line
  
  Fix a link.
........
  r43192 | danieljames | 2008-02-09 12:45:32 +0000 (Sat, 09 Feb 2008) | 2 lines
  
  Add a forwarding header for hash/custom.html as Boost.Bimap links to it.
........
  r43193 | danieljames | 2008-02-09 13:02:45 +0000 (Sat, 09 Feb 2008) | 1 line
  
  Fix the link to the license.
........


[SVN r43194]
2008-02-09 13:27:00 +00:00
19ed0e48e0 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
559b44c259 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
b162db6b72 Starting point for releases
[SVN r39706]
2007-10-05 14:25:06 +00:00
4935afbcd4 This commit was manufactured by cvs2svn to create tag
'Version_1_34_1'.

[SVN r38286]
2007-07-24 19:28:14 +00:00
167961aba1 Correct testing bugs:
either changing assert(...) or BOOST_ASSERT(...) to BOOST_TEST
    (in my code only)

    or adding "return boost::report_errors();" where it was clearly
    missing (and a pure bug, in anyone's code).

    or changing BOOST_TEST to BOOST_CHECK where the integer library
    was clearly using Boost.Test and not returning report_errors().


[SVN r37063]
2007-02-25 15:28:02 +00:00
7ce7ba6bfd Changed test to reflect changes made to C99 in the TC.
[SVN r35333]
2006-09-26 09:04:05 +00:00
c8cb2b24a1 This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
[SVN r33417]
2006-03-21 02:26:31 +00:00
15 changed files with 560 additions and 727 deletions

View File

@ -26,6 +26,10 @@ boostbook standalone
<xsl:param>generate.section.toc.level=4 <xsl:param>generate.section.toc.level=4
# Path for links to Boost: # Path for links to Boost:
<xsl:param>boost.root=../../../.. <xsl:param>boost.root=../../../..
# Path for libraries index:
<xsl:param>boost.libraries=../../../../libs/libraries.htm
# Use the main Boost stylesheet:
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
# PDF Options: # PDF Options:
# TOC Generation: this is needed for FOP-0.9 and later: # TOC Generation: this is needed for FOP-0.9 and later:

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Standard Integer Types</title> <title>Standard Integer Types</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="../index.html" title="Boost.Integer"> <link rel="prev" href="../index.html" title="Boost.Integer">
@ -20,9 +20,9 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="traits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="traits.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.cstdint"></a><a class="link" href="cstdint.html" title="Standard Integer Types"> Standard Integer Types</a> <a name="boost_integer.cstdint"></a><a class="link" href="cstdint.html" title="Standard Integer Types"> Standard Integer Types</a>
</h2></div></div></div> </h2></div></div></div>
@ -41,7 +41,7 @@
<dt><span class="section"><a href="cstdint.html#boost_integer.cstdint.integer_constant_macros">Integer <dt><span class="section"><a href="cstdint.html#boost_integer.cstdint.integer_constant_macros">Integer
Constant Macros</a></span></dt> Constant Macros</a></span></dt>
</dl></div> </dl></div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.overview"></a><a class="link" href="cstdint.html#boost_integer.cstdint.overview" title="Overview">Overview</a> <a name="boost_integer.cstdint.overview"></a><a class="link" href="cstdint.html#boost_integer.cstdint.overview" title="Overview">Overview</a>
</h3></div></div></div> </h3></div></div></div>
@ -62,7 +62,7 @@
a test program. a test program.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.rationale"></a><a class="link" href="cstdint.html#boost_integer.cstdint.rationale" title="Rationale"> Rationale</a> <a name="boost_integer.cstdint.rationale"></a><a class="link" href="cstdint.html#boost_integer.cstdint.rationale" title="Rationale"> Rationale</a>
</h3></div></div></div> </h3></div></div></div>
@ -82,7 +82,7 @@
conventions rather than C++ Standard Library header naming conventions. conventions rather than C++ Standard Library header naming conventions.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.ce"></a><a class="link" href="cstdint.html#boost_integer.cstdint.ce" title="Caveat emptor"> <span class="emphasis"><em>Caveat emptor</em></span></a> <a name="boost_integer.cstdint.ce"></a><a class="link" href="cstdint.html#boost_integer.cstdint.ce" title="Caveat emptor"> <span class="emphasis"><em>Caveat emptor</em></span></a>
</h3></div></div></div> </h3></div></div></div>
@ -99,7 +99,7 @@
Use the respective names in namespace <code class="literal">boost</code> instead. Use the respective names in namespace <code class="literal">boost</code> instead.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.exact_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.exact_width_integer_types" title="Exact-width integer types">Exact-width <a name="boost_integer.cstdint.exact_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.exact_width_integer_types" title="Exact-width integer types">Exact-width
integer types</a> integer types</a>
@ -119,7 +119,7 @@
The absence of int64_t and uint64_t is indicated by the macro <code class="computeroutput"><span class="identifier">BOOST_NO_INT64_T</span></code>. The absence of int64_t and uint64_t is indicated by the macro <code class="computeroutput"><span class="identifier">BOOST_NO_INT64_T</span></code>.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.minimum_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.minimum_width_integer_types" title="Minimum-width integer types">Minimum-width <a name="boost_integer.cstdint.minimum_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.minimum_width_integer_types" title="Minimum-width integer types">Minimum-width
integer types</a> integer types</a>
@ -137,43 +137,27 @@
<p> <p>
The following minimum-width integer types are provided for all platforms: The following minimum-width integer types are provided for all platforms:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li><code class="literal">int_least8_t</code></li>
<code class="literal">int_least8_t</code> <li><code class="literal">int_least16_t</code></li>
</li> <li><code class="literal">int_least32_t</code></li>
<li class="listitem"> <li><code class="literal">uint_least8_t</code></li>
<code class="literal">int_least16_t</code> <li><code class="literal">uint_least16_t</code></li>
</li> <li><code class="literal">uint_least32_t</code></li>
<li class="listitem">
<code class="literal">int_least32_t</code>
</li>
<li class="listitem">
<code class="literal">uint_least8_t</code>
</li>
<li class="listitem">
<code class="literal">uint_least16_t</code>
</li>
<li class="listitem">
<code class="literal">uint_least32_t</code>
</li>
</ul></div> </ul></div>
<p> <p>
The following types are available only if, after including &lt;boost/cstdint.hpp&gt;, The following types are available only if, after including &lt;boost/cstdint.hpp&gt;,
the macro BOOST_NO_INT64_T is not defined: the macro BOOST_NO_INT64_T is not defined:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li><code class="literal">int_least64_t</code></li>
<code class="literal">int_least64_t</code> <li><code class="literal">uint_least64_t</code></li>
</li>
<li class="listitem">
<code class="literal">uint_least64_t</code>
</li>
</ul></div> </ul></div>
<p> <p>
All other minimum-width integer types are optional. All other minimum-width integer types are optional.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.fastest_minimum_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.fastest_minimum_width_integer_types" title="Fastest minimum-width integer types">Fastest <a name="boost_integer.cstdint.fastest_minimum_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.fastest_minimum_width_integer_types" title="Fastest minimum-width integer types">Fastest
minimum-width integer types</a> minimum-width integer types</a>
@ -191,43 +175,27 @@
<p> <p>
The following fastest minimum-width integer types are provided for all platforms: The following fastest minimum-width integer types are provided for all platforms:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li><code class="literal">int_fast8_t</code></li>
<code class="literal">int_fast8_t</code> <li><code class="literal">int_fast16_t</code></li>
</li> <li><code class="literal">int_fast32_t</code></li>
<li class="listitem"> <li><code class="literal">uint_fast8_t</code></li>
<code class="literal">int_fast16_t</code> <li><code class="literal">uint_fast16_t</code></li>
</li> <li><code class="literal">uint_fast32_t</code></li>
<li class="listitem">
<code class="literal">int_fast32_t</code>
</li>
<li class="listitem">
<code class="literal">uint_fast8_t</code>
</li>
<li class="listitem">
<code class="literal">uint_fast16_t</code>
</li>
<li class="listitem">
<code class="literal">uint_fast32_t</code>
</li>
</ul></div> </ul></div>
<p> <p>
The following types are available only if, after including &lt;boost/cstdint.hpp&gt;, The following types are available only if, after including &lt;boost/cstdint.hpp&gt;,
the macro BOOST_NO_INT64_T is not defined: the macro BOOST_NO_INT64_T is not defined:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li><code class="literal">int_fast64_t</code></li>
<code class="literal">int_fast64_t</code> <li><code class="literal">uint_fast64_t</code></li>
</li>
<li class="listitem">
<code class="literal">uint_fast64_t</code>
</li>
</ul></div> </ul></div>
<p> <p>
All other fastest minimum-width integer types are optional. All other fastest minimum-width integer types are optional.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.greatest_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.greatest_width_integer_types" title="Greatest-width integer types">Greatest-width <a name="boost_integer.cstdint.greatest_width_integer_types"></a><a class="link" href="cstdint.html#boost_integer.cstdint.greatest_width_integer_types" title="Greatest-width integer types">Greatest-width
integer types</a> integer types</a>
@ -244,7 +212,7 @@
These types are provided for all platforms. These types are provided for all platforms.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.cstdint.integer_constant_macros"></a><a class="link" href="cstdint.html#boost_integer.cstdint.integer_constant_macros" title="Integer Constant Macros">Integer <a name="boost_integer.cstdint.integer_constant_macros"></a><a class="link" href="cstdint.html#boost_integer.cstdint.integer_constant_macros" title="Integer Constant Macros">Integer
Constant Macros</a> Constant Macros</a>
@ -283,7 +251,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="traits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="traits.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>History</title> <title>History</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="minmax.html" title="Compile time min/max calculation"> <link rel="prev" href="minmax.html" title="Compile time min/max calculation">
@ -19,51 +19,51 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="minmax.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="p" href="minmax.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.history"></a><a class="link" href="history.html" title="History"> History</a> <a name="boost_integer.history"></a><a class="link" href="history.html" title="History"> History</a>
</h2></div></div></div> </h2></div></div></div>
<a name="boost_integer.history.1_42_0"></a><h5> <a name="boost_integer.history.1_42_0"></a><h5>
<a name="id766183"></a> <a name="id786079"></a>
<a class="link" href="history.html#boost_integer.history.1_42_0">1.42.0</a> <a class="link" href="history.html#boost_integer.history.1_42_0">1.42.0</a>
</h5> </h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li>
Reverted Trunk to release branch state (i.e. a "known good state"). Reverted Trunk to release branch state (i.e. a "known good state").
</li> </li>
<li class="listitem"> <li>
Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/653" target="_top">653</a>, Fixed issues: <a href="https://svn.boost.org/trac/boost/ticket/653" target="_top">653</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3084" target="_top">3084</a>, <a href="https://svn.boost.org/trac/boost/ticket/3084" target="_top">3084</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3177" target="_top">3177</a>, <a href="https://svn.boost.org/trac/boost/ticket/3177" target="_top">3177</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3180" target="_top">3180</a>, <a href="https://svn.boost.org/trac/boost/ticket/3180" target="_top">3180</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3548" target="_top">3568</a>, <a href="https://svn.boost.org/trac/boost/ticket/3548" target="_top">3568</a>,
<a href="https://svn.boost.org/trac/boost/ticket/3657" target="_top">3657</a>, <a href="https://svn.boost.org/trac/boost/ticket/3657" target="_top">3657</a>,
<a href="https://svn.boost.org/trac/boost/ticket/2134" target="_top">2134</a>. <a href="https://svn.boost.org/trac/boost/ticket/2134" target="_top">2134</a>.
</li> </li>
<li class="listitem"> <li>
Added long long support to <code class="literal">boost::static_log2</code>, <code class="literal">boost::static_signed_min</code>, Added long long support to <code class="literal">boost::static_log2</code>, <code class="literal">boost::static_signed_min</code>,
<code class="literal">boost::static_signed_max</code>, <code class="literal">boost::static_unsigned_min</code><code class="literal">boost::static_unsigned_max</code>, <code class="literal">boost::static_signed_max</code>, <code class="literal">boost::static_unsigned_min</code><code class="literal">boost::static_unsigned_max</code>,
when available. when available.
</li> </li>
<li class="listitem"> <li>
The argument type and the result type of <code class="literal">boost::static_signed_min</code> The argument type and the result type of <code class="literal">boost::static_signed_min</code>
etc are now typedef'd. Formerly, they were hardcoded as <code class="literal">unsigned etc are now typedef'd. Formerly, they were hardcoded as <code class="literal">unsigned
long</code> and <code class="literal">int</code> respectively. Please, use the long</code> and <code class="literal">int</code> respectively. Please, use the provided
provided typedefs in new code (and update old code as soon as possible). typedefs in new code (and update old code as soon as possible).
</li> </li>
</ul></div> </ul></div>
<a name="boost_integer.history.1_32_0"></a><h5> <a name="boost_integer.history.1_32_0"></a><h5>
<a name="id766314"></a> <a name="id786181"></a>
<a class="link" href="history.html#boost_integer.history.1_32_0">1.32.0</a> <a class="link" href="history.html#boost_integer.history.1_32_0">1.32.0</a>
</h5> </h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> <div class="itemizedlist"><ul type="disc"><li>
The argument type and the result type of <code class="literal">boost::static_log2</code> The argument type and the result type of <code class="literal">boost::static_log2</code>
are now typedef'd. Formerly, they were hardcoded as <code class="literal">unsigned long</code> are now typedef'd. Formerly, they were hardcoded as <code class="literal">unsigned long</code>
and <code class="literal">int</code> respectively. Please, use the provided typedefs and <code class="literal">int</code> respectively. Please, use the provided typedefs
in new code (and update old code as soon as possible). in new code (and update old code as soon as possible).
</li></ul></div> </li></ul></div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
@ -76,7 +76,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="minmax.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="p" href="minmax.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Integer Type Selection</title> <title>Integer Type Selection</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="traits.html" title="Integer Traits"> <link rel="prev" href="traits.html" title="Integer Traits">
@ -20,9 +20,9 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="traits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="mask.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="traits.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mask.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.integer"></a><a class="link" href="integer.html" title="Integer Type Selection"> Integer Type Selection</a> <a name="boost_integer.integer"></a><a class="link" href="integer.html" title="Integer Type Selection"> Integer Type Selection</a>
</h2></div></div></div> </h2></div></div></div>
@ -44,7 +44,7 @@
characteristics such as number of bits or maximum value. This facility is particularly characteristics such as number of bits or maximum value. This facility is particularly
useful for solving generic programming problems. useful for solving generic programming problems.
</p> </p>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.synopsis"></a><a class="link" href="integer.html#boost_integer.integer.synopsis" title="Synopsis"> Synopsis</a> <a name="boost_integer.integer.synopsis"></a><a class="link" href="integer.html#boost_integer.integer.synopsis" title="Synopsis"> Synopsis</a>
</h3></div></div></div> </h3></div></div></div>
@ -102,7 +102,7 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.easiest"></a><a class="link" href="integer.html#boost_integer.integer.easiest" title="Easiest-to-Manipulate Types"> Easiest-to-Manipulate <a name="boost_integer.integer.easiest"></a><a class="link" href="integer.html#boost_integer.integer.easiest" title="Easiest-to-Manipulate Types"> Easiest-to-Manipulate
Types</a> Types</a>
@ -126,7 +126,7 @@
the input type. the input type.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.sized"></a><a class="link" href="integer.html#boost_integer.integer.sized" title="Sized Types"> Sized Types</a> <a name="boost_integer.integer.sized"></a><a class="link" href="integer.html#boost_integer.integer.sized" title="Sized Types"> Sized Types</a>
</h3></div></div></div> </h3></div></div></div>
@ -139,7 +139,7 @@
<code class="literal">fast</code>. The following table describes each template's criteria. <code class="literal">fast</code>. The following table describes each template's criteria.
</p> </p>
<div class="table"> <div class="table">
<a name="boost_integer.integer.sized.criteria_for_the_sized_type_class_templates"></a><p class="title"><b>Table&#160;1.&#160;Criteria for the Sized Type Class Templates</b></p> <a name="id781665"></a><p class="title"><b>Table&#160;1.&#160;Criteria for the Sized Type Class Templates</b></p>
<div class="table-contents"><table class="table" summary="Criteria for the Sized Type Class Templates"> <div class="table-contents"><table class="table" summary="Criteria for the Sized Type Class Templates">
<colgroup> <colgroup>
<col> <col>
@ -147,201 +147,199 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Class Template Class Template
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Template Parameter Mapping Template Parameter Mapping
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_t&lt;N&gt;::least</code> <code class="literal">boost::int_t&lt;N&gt;::least</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, signed integral type with at least <span class="emphasis"><em>N</em></span> The smallest, built-in, signed integral type with at least <span class="emphasis"><em>N</em></span>
bits, including the sign bit. The parameter should be a positive bits, including the sign bit. The parameter should be a positive number.
number. A compile-time error results if the parameter is larger A compile-time error results if the parameter is larger than the number
than the number of bits in the largest integer type. of bits in the largest integer type.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_t&lt;N&gt;::fast</code> <code class="literal">boost::int_t&lt;N&gt;::fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, signed integral type with The easiest-to-manipulate, built-in, signed integral type with at least
at least <span class="emphasis"><em>N</em></span> bits, including the sign bit. The <span class="emphasis"><em>N</em></span> bits, including the sign bit. The parameter
parameter should be a positive number. A compile-time error results should be a positive number. A compile-time error results if the parameter
if the parameter is larger than the number of bits in the largest is larger than the number of bits in the largest integer type.
integer type. </p>
</p> </td>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_t&lt;N&gt;::exact</code> <code class="literal">boost::int_t&lt;N&gt;::exact</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A built-in, signed integral type with exactly <span class="emphasis"><em>N</em></span> A built-in, signed integral type with exactly <span class="emphasis"><em>N</em></span>
bits, including the sign bit. The parameter should be a positive bits, including the sign bit. The parameter should be a positive number.
number. Note that the member <span class="emphasis"><em>exact</em></span> is defined Note that the member <span class="emphasis"><em>exact</em></span> is defined <span class="bold"><strong>only</strong></span> if there exists a type with exactly <span class="emphasis"><em>N</em></span>
<span class="bold"><strong>only</strong></span> if there exists a type with bits.
exactly <span class="emphasis"><em>N</em></span> bits. </p>
</p> </td>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::uint_t&lt;N&gt;::least</code> <code class="literal">boost::uint_t&lt;N&gt;::least</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, unsigned integral type with at least <span class="emphasis"><em>N</em></span> The smallest, built-in, unsigned integral type with at least <span class="emphasis"><em>N</em></span>
bits. The parameter should be a positive number. A compile-time bits. The parameter should be a positive number. A compile-time error
error results if the parameter is larger than the number of bits results if the parameter is larger than the number of bits in the largest
in the largest integer type. integer type.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::uint_t&lt;N&gt;::fast</code> <code class="literal">boost::uint_t&lt;N&gt;::fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, unsigned integral type with The easiest-to-manipulate, built-in, unsigned integral type with at
at least <span class="emphasis"><em>N</em></span> bits. The parameter should be a least <span class="emphasis"><em>N</em></span> bits. The parameter should be a positive
positive number. A compile-time error results if the parameter number. A compile-time error results if the parameter is larger than
is larger than the number of bits in the largest integer type. the number of bits in the largest integer type.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::uint_t&lt;N&gt;::exact</code> <code class="literal">boost::uint_t&lt;N&gt;::exact</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A built-in, unsigned integral type with exactly <span class="emphasis"><em>N</em></span> A built-in, unsigned integral type with exactly <span class="emphasis"><em>N</em></span>
bits. The parameter should be a positive number. A compile-time bits. The parameter should be a positive number. A compile-time error
error results if the parameter is larger than the number of bits results if the parameter is larger than the number of bits in the largest
in the largest integer type. Note that the member <span class="emphasis"><em>exact</em></span> integer type. Note that the member <span class="emphasis"><em>exact</em></span> is defined
is defined <span class="bold"><strong>only</strong></span> if there exists <span class="bold"><strong>only</strong></span> if there exists a type with exactly
a type with exactly N bits. N bits.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_max_value_t&lt;V&gt;::last</code> <code class="literal">boost::int_max_value_t&lt;V&gt;::last</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, signed integral type that can hold all The smallest, built-in, signed integral type that can hold all the
the values in the inclusive range <span class="emphasis"><em>0 - V</em></span>. The values in the inclusive range <span class="emphasis"><em>0 - V</em></span>. The parameter
parameter should be a positive number. should be a positive number.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_max_value_t&lt;V&gt;::fast</code> <code class="literal">boost::int_max_value_t&lt;V&gt;::fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, signed integral type that The easiest-to-manipulate, built-in, signed integral type that can
can hold all the values in the inclusive range <span class="emphasis"><em>0 - V</em></span>. hold all the values in the inclusive range <span class="emphasis"><em>0 - V</em></span>.
The parameter should be a positive number. The parameter should be a positive number.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_min_value_t&lt;V&gt;::least</code> <code class="literal">boost::int_min_value_t&lt;V&gt;::least</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, signed integral type that can hold all The smallest, built-in, signed integral type that can hold all the
the values in the inclusive range <span class="emphasis"><em>V - 0</em></span>. The values in the inclusive range <span class="emphasis"><em>V - 0</em></span>. The parameter
parameter should be a negative number. should be a negative number.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::int_min_value_t&lt;V&gt;::fast</code> <code class="literal">boost::int_min_value_t&lt;V&gt;::fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, signed integral type that The easiest-to-manipulate, built-in, signed integral type that can
can hold all the values in the inclusive range <span class="emphasis"><em>V - 0</em></span>. hold all the values in the inclusive range <span class="emphasis"><em>V - 0</em></span>.
The parameter should be a negative number. The parameter should be a negative number.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::uint_value_t&lt;V&gt;::least</code> <code class="literal">boost::uint_value_t&lt;V&gt;::least</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, unsigned integral type that can hold all The smallest, built-in, unsigned integral type that can hold all positive
positive values up to and including <span class="emphasis"><em>V</em></span>. The values up to and including <span class="emphasis"><em>V</em></span>. The parameter should
parameter should be a positive number. be a positive number.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">boost::uint_value_t&lt;V&gt;::fast</code> <code class="literal">boost::uint_value_t&lt;V&gt;::fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, unsigned integral type that The easiest-to-manipulate, built-in, unsigned integral type that can
can hold all positive values up to and including <span class="emphasis"><em>V</em></span>. hold all positive values up to and including <span class="emphasis"><em>V</em></span>.
The parameter should be a positive number. The parameter should be a positive number.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<br class="table-break"> <br class="table-break">
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.example"></a><a class="link" href="integer.html#boost_integer.integer.example" title="Example">Example</a> <a name="boost_integer.integer.example"></a><a class="link" href="integer.html#boost_integer.integer.example" title="Example">Example</a>
</h3></div></div></div> </h3></div></div></div>
@ -363,7 +361,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.demonstration_program"></a><a class="link" href="integer.html#boost_integer.integer.demonstration_program" title="Demonstration Program">Demonstration <a name="boost_integer.integer.demonstration_program"></a><a class="link" href="integer.html#boost_integer.integer.demonstration_program" title="Demonstration Program">Demonstration
Program</a> Program</a>
@ -374,27 +372,27 @@
of the sized type class templates. of the sized type class templates.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.rationale"></a><a class="link" href="integer.html#boost_integer.integer.rationale" title="Rationale">Rationale</a> <a name="boost_integer.integer.rationale"></a><a class="link" href="integer.html#boost_integer.integer.rationale" title="Rationale">Rationale</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
The rationale for the design of the templates in this header includes: The rationale for the design of the templates in this header includes:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li>
Avoid recursion because of concern about C++'s limited guaranteed recursion Avoid recursion because of concern about C++'s limited guaranteed recursion
depth (17). depth (17).
</li> </li>
<li class="listitem"> <li>
Avoid macros on general principles. Avoid macros on general principles.
</li> </li>
<li class="listitem"> <li>
Try to keep the design as simple as possible. Try to keep the design as simple as possible.
</li> </li>
</ul></div> </ul></div>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.alternative"></a><a class="link" href="integer.html#boost_integer.integer.alternative" title="Alternative">Alternative</a> <a name="boost_integer.integer.alternative"></a><a class="link" href="integer.html#boost_integer.integer.alternative" title="Alternative">Alternative</a>
</h3></div></div></div> </h3></div></div></div>
@ -403,7 +401,7 @@
to use the types supplied in <a href="../../../../../boost/cstdint.hpp" target="_top">&lt;boost/cstdint.hpp&gt;</a>. to use the types supplied in <a href="../../../../../boost/cstdint.hpp" target="_top">&lt;boost/cstdint.hpp&gt;</a>.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.integer.credits"></a><a class="link" href="integer.html#boost_integer.integer.credits" title="Credits">Credits</a> <a name="boost_integer.integer.credits"></a><a class="link" href="integer.html#boost_integer.integer.credits" title="Credits">Credits</a>
</h3></div></div></div> </h3></div></div></div>
@ -426,7 +424,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="traits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="mask.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="traits.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mask.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Compile Time log2 Calculation</title> <title>Compile Time log2 Calculation</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="mask.html" title="Integer Masks"> <link rel="prev" href="mask.html" title="Integer Masks">
@ -20,9 +20,9 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="mask.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="minmax.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="mask.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="minmax.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.log2"></a><a class="link" href="log2.html" title="Compile Time log2 Calculation"> Compile Time log2 Calculation</a> <a name="boost_integer.log2"></a><a class="link" href="log2.html" title="Compile Time log2 Calculation"> Compile Time log2 Calculation</a>
</h2></div></div></div> </h2></div></div></div>
@ -39,7 +39,7 @@
determines the position of the highest bit in a given value. This facility determines the position of the highest bit in a given value. This facility
is useful for solving generic programming problems. is useful for solving generic programming problems.
</p> </p>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.log2.synopsis"></a><a class="link" href="log2.html#boost_integer.log2.synopsis" title="Synopsis">Synopsis</a> <a name="boost_integer.log2.synopsis"></a><a class="link" href="log2.html#boost_integer.log2.synopsis" title="Synopsis">Synopsis</a>
</h3></div></div></div> </h3></div></div></div>
@ -66,7 +66,7 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.log2.usage"></a><a class="link" href="log2.html#boost_integer.log2.usage" title="Usage">Usage</a> <a name="boost_integer.log2.usage"></a><a class="link" href="log2.html#boost_integer.log2.usage" title="Usage">Usage</a>
</h3></div></div></div> </h3></div></div></div>
@ -85,18 +85,18 @@
<p> <p>
Note: Note:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"> <div class="itemizedlist"><ul type="disc">
<li class="listitem"> <li>
<code class="literal">static_log2_argument_type</code> is an <span class="emphasis"><em>unsigned <code class="literal">static_log2_argument_type</code> is an <span class="emphasis"><em>unsigned integer
integer type</em></span> (C++ standard, 3.9.1p3). type</em></span> (C++ standard, 3.9.1p3).
</li> </li>
<li class="listitem"> <li>
<code class="literal">static_log2_result_type</code> is an <span class="emphasis"><em>integer type</em></span> <code class="literal">static_log2_result_type</code> is an <span class="emphasis"><em>integer type</em></span>
(C++ standard, 3.9.1p7). (C++ standard, 3.9.1p7).
</li> </li>
</ul></div> </ul></div>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.log2.demonstration_program"></a><a class="link" href="log2.html#boost_integer.log2.demonstration_program" title="Demonstration Program">Demonstration <a name="boost_integer.log2.demonstration_program"></a><a class="link" href="log2.html#boost_integer.log2.demonstration_program" title="Demonstration Program">Demonstration
Program</a> Program</a>
@ -107,7 +107,7 @@
of the binary logarithm class template. of the binary logarithm class template.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.log2.rationale"></a><a class="link" href="log2.html#boost_integer.log2.rationale" title="Rationale">Rationale</a> <a name="boost_integer.log2.rationale"></a><a class="link" href="log2.html#boost_integer.log2.rationale" title="Rationale">Rationale</a>
</h3></div></div></div> </h3></div></div></div>
@ -120,7 +120,7 @@
to be available statically (<span class="emphasis"><em>i.e.</em></span> at compile-time). to be available statically (<span class="emphasis"><em>i.e.</em></span> at compile-time).
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.log2.credits"></a><a class="link" href="log2.html#boost_integer.log2.credits" title="Credits">Credits</a> <a name="boost_integer.log2.credits"></a><a class="link" href="log2.html#boost_integer.log2.credits" title="Credits">Credits</a>
</h3></div></div></div> </h3></div></div></div>
@ -145,7 +145,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="mask.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="minmax.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="mask.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="minmax.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Integer Masks</title> <title>Integer Masks</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="integer.html" title="Integer Type Selection"> <link rel="prev" href="integer.html" title="Integer Type Selection">
@ -20,9 +20,9 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="integer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="log2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="integer.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="log2.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.mask"></a><a class="link" href="mask.html" title="Integer Masks"> Integer Masks</a> <a name="boost_integer.mask"></a><a class="link" href="mask.html" title="Integer Masks"> Integer Masks</a>
</h2></div></div></div> </h2></div></div></div>
@ -41,7 +41,7 @@
<dt><span class="section"><a href="mask.html#boost_integer.mask.rationale">Rationale</a></span></dt> <dt><span class="section"><a href="mask.html#boost_integer.mask.rationale">Rationale</a></span></dt>
<dt><span class="section"><a href="mask.html#boost_integer.mask.credits">Credits</a></span></dt> <dt><span class="section"><a href="mask.html#boost_integer.mask.credits">Credits</a></span></dt>
</dl></div> </dl></div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.overview"></a><a class="link" href="mask.html#boost_integer.mask.overview" title="Overview">Overview</a> <a name="boost_integer.mask.overview"></a><a class="link" href="mask.html#boost_integer.mask.overview" title="Overview">Overview</a>
</h3></div></div></div> </h3></div></div></div>
@ -52,7 +52,7 @@
type selection templates</a> header. type selection templates</a> header.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.synopsis"></a><a class="link" href="mask.html#boost_integer.mask.synopsis" title="Synopsis">Synopsis</a> <a name="boost_integer.mask.synopsis"></a><a class="link" href="mask.html#boost_integer.mask.synopsis" title="Synopsis">Synopsis</a>
</h3></div></div></div> </h3></div></div></div>
@ -90,7 +90,7 @@
<span class="special">}</span> <span class="comment">// namespace boost <span class="special">}</span> <span class="comment">// namespace boost
</span></pre> </span></pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.single_bit_mask_class_template"></a><a class="link" href="mask.html#boost_integer.mask.single_bit_mask_class_template" title="Single Bit-Mask Class Template">Single <a name="boost_integer.mask.single_bit_mask_class_template"></a><a class="link" href="mask.html#boost_integer.mask.single_bit_mask_class_template" title="Single Bit-Mask Class Template">Single
Bit-Mask Class Template</a> Bit-Mask Class Template</a>
@ -105,7 +105,7 @@
of <code class="literal">high_bit_mask_t</code>. of <code class="literal">high_bit_mask_t</code>.
</p> </p>
<div class="table"> <div class="table">
<a name="boost_integer.mask.single_bit_mask_class_template.members_of_the__boost__high_bit_mask_t__class_template"></a><p class="title"><b>Table&#160;2.&#160;Members of the `boost::high_bit_mask_t` Class Template</b></p> <a name="id782866"></a><p class="title"><b>Table&#160;2.&#160;Members of the `boost::high_bit_mask_t` Class Template</b></p>
<div class="table-contents"><table class="table" summary="Members of the `boost::high_bit_mask_t` Class Template"> <div class="table-contents"><table class="table" summary="Members of the `boost::high_bit_mask_t` Class Template">
<colgroup> <colgroup>
<col> <col>
@ -113,85 +113,84 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Member Member
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Meaning Meaning
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">least</code> <code class="literal">least</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, unsigned, built-in type that supports the given bit The smallest, unsigned, built-in type that supports the given bit position.
position. </p>
</p> </td>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">fast</code> <code class="literal">fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate analog of <code class="literal">least</code>. The easiest-to-manipulate analog of <code class="literal">least</code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">high_bit</code> <code class="literal">high_bit</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A <code class="literal">least</code> constant of the value 2<sup>Bit</sup>. A <code class="literal">least</code> constant of the value 2<sup>Bit</sup>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">high_bit_fast</code> <code class="literal">high_bit_fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A <code class="literal">fast</code> analog of <code class="literal">high_bit</code>. A <code class="literal">fast</code> analog of <code class="literal">high_bit</code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">bit_position</code> <code class="literal">bit_position</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The value of the template parameter, in case its needed from a The value of the template parameter, in case its needed from a renamed
renamed instantiation of the class template. instantiation of the class template.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<br class="table-break"> <br class="table-break">
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.group_bit_mask_class_template"></a><a class="link" href="mask.html#boost_integer.mask.group_bit_mask_class_template" title="Group Bit-Mask Class Template">Group <a name="boost_integer.mask.group_bit_mask_class_template"></a><a class="link" href="mask.html#boost_integer.mask.group_bit_mask_class_template" title="Group Bit-Mask Class Template">Group
Bit-Mask Class Template</a> Bit-Mask Class Template</a>
@ -205,7 +204,7 @@
type. The following table describes the members of <code class="literal">low_bits_mask_t</code>. type. The following table describes the members of <code class="literal">low_bits_mask_t</code>.
</p> </p>
<div class="table"> <div class="table">
<a name="boost_integer.mask.group_bit_mask_class_template.members_of_the___boost__low_bits_mask_t__class_template"></a><p class="title"><b>Table&#160;3.&#160;Members of the [^boost::low_bits_mask_t] Class Template</b></p> <a name="id783074"></a><p class="title"><b>Table&#160;3.&#160;Members of the [^boost::low_bits_mask_t] Class Template</b></p>
<div class="table-contents"><table class="table" summary="Members of the [^boost::low_bits_mask_t] Class Template"> <div class="table-contents"><table class="table" summary="Members of the [^boost::low_bits_mask_t] Class Template">
<colgroup> <colgroup>
<col> <col>
@ -213,86 +212,84 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Member Member
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Meaning Meaning
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">least</code> <code class="literal">least</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The smallest, unsigned built-in type that supports the given bit The smallest, unsigned built-in type that supports the given bit count.
count. </p>
</p> </td>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">fast</code> <code class="literal">fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate analog of <code class="literal">least</code>. The easiest-to-manipulate analog of <code class="literal">least</code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">sig_bits</code> <code class="literal">sig_bits</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A <code class="literal">least</code> constant of the desired bit-masking A <code class="literal">least</code> constant of the desired bit-masking value.
value. </p>
</p> </td>
</td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">sig_bits_fast</code> <code class="literal">sig_bits_fast</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A <code class="literal">fast</code> analog of <code class="literal">sig_bits</code>. A <code class="literal">fast</code> analog of <code class="literal">sig_bits</code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">bit_count</code> <code class="literal">bit_count</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The value of the template parameter, in case its needed from a The value of the template parameter, in case its needed from a renamed
renamed instantiation of the class template. instantiation of the class template.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<br class="table-break"> <br class="table-break">
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.implementation_notes"></a><a class="link" href="mask.html#boost_integer.mask.implementation_notes" title="Implementation Notes">Implementation <a name="boost_integer.mask.implementation_notes"></a><a class="link" href="mask.html#boost_integer.mask.implementation_notes" title="Implementation Notes">Implementation
Notes</a> Notes</a>
@ -304,7 +301,7 @@
bit counts. bit counts.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.example"></a><a class="link" href="mask.html#boost_integer.mask.example" title="Example">Example</a> <a name="boost_integer.mask.example"></a><a class="link" href="mask.html#boost_integer.mask.example" title="Example">Example</a>
</h3></div></div></div> </h3></div></div></div>
@ -328,7 +325,7 @@
</span><span class="special">}</span> </span><span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.demonstration_program"></a><a class="link" href="mask.html#boost_integer.mask.demonstration_program" title="Demonstration Program">Demonstration <a name="boost_integer.mask.demonstration_program"></a><a class="link" href="mask.html#boost_integer.mask.demonstration_program" title="Demonstration Program">Demonstration
Program</a> Program</a>
@ -339,7 +336,7 @@
of the bit mask class templates. of the bit mask class templates.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.rationale"></a><a class="link" href="mask.html#boost_integer.mask.rationale" title="Rationale">Rationale</a> <a name="boost_integer.mask.rationale"></a><a class="link" href="mask.html#boost_integer.mask.rationale" title="Rationale">Rationale</a>
</h3></div></div></div> </h3></div></div></div>
@ -351,7 +348,7 @@
bits. This prevents contamination of values by the higher, unused bits. bits. This prevents contamination of values by the higher, unused bits.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.mask.credits"></a><a class="link" href="mask.html#boost_integer.mask.credits" title="Credits">Credits</a> <a name="boost_integer.mask.credits"></a><a class="link" href="mask.html#boost_integer.mask.credits" title="Credits">Credits</a>
</h3></div></div></div> </h3></div></div></div>
@ -372,7 +369,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="integer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="log2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="integer.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="log2.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Compile time min/max calculation</title> <title>Compile time min/max calculation</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="log2.html" title="Compile Time log2 Calculation"> <link rel="prev" href="log2.html" title="Compile Time log2 Calculation">
@ -20,9 +20,9 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="log2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="log2.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.minmax"></a><a class="link" href="minmax.html" title="Compile time min/max calculation"> Compile time min/max calculation</a> <a name="boost_integer.minmax"></a><a class="link" href="minmax.html" title="Compile time min/max calculation"> Compile time min/max calculation</a>
</h2></div></div></div> </h2></div></div></div>
@ -40,7 +40,7 @@
provide a compile-time evaluation of the minimum or maximum of two integers. provide a compile-time evaluation of the minimum or maximum of two integers.
These facilities are useful for generic programming problems. These facilities are useful for generic programming problems.
</p> </p>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.minmax.synopsis"></a><a class="link" href="minmax.html#boost_integer.minmax.synopsis" title="Synopsis">Synopsis</a> <a name="boost_integer.minmax.synopsis"></a><a class="link" href="minmax.html#boost_integer.minmax.synopsis" title="Synopsis">Synopsis</a>
</h3></div></div></div> </h3></div></div></div>
@ -65,7 +65,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.minmax.usage"></a><a class="link" href="minmax.html#boost_integer.minmax.usage" title="Usage">Usage</a> <a name="boost_integer.minmax.usage"></a><a class="link" href="minmax.html#boost_integer.minmax.usage" title="Usage">Usage</a>
</h3></div></div></div> </h3></div></div></div>
@ -77,7 +77,7 @@
which is set to the respective minimum or maximum of the template's parameters. which is set to the respective minimum or maximum of the template's parameters.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.minmax.example"></a><a class="link" href="minmax.html#boost_integer.minmax.example" title="Example">Example</a> <a name="boost_integer.minmax.example"></a><a class="link" href="minmax.html#boost_integer.minmax.example" title="Example">Example</a>
</h3></div></div></div> </h3></div></div></div>
@ -112,7 +112,7 @@
</span><span class="special">}</span> </span><span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.minmax.demonstration_program"></a><a class="link" href="minmax.html#boost_integer.minmax.demonstration_program" title="Demonstration Program">Demonstration <a name="boost_integer.minmax.demonstration_program"></a><a class="link" href="minmax.html#boost_integer.minmax.demonstration_program" title="Demonstration Program">Demonstration
Program</a> Program</a>
@ -123,7 +123,7 @@
extrema class templates. extrema class templates.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.minmax.rationale"></a><a class="link" href="minmax.html#boost_integer.minmax.rationale" title="Rationale">Rationale</a> <a name="boost_integer.minmax.rationale"></a><a class="link" href="minmax.html#boost_integer.minmax.rationale" title="Rationale">Rationale</a>
</h3></div></div></div> </h3></div></div></div>
@ -133,7 +133,7 @@
another class template. another class template.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.minmax.credits"></a><a class="link" href="minmax.html#boost_integer.minmax.credits" title="Credits">Credits</a> <a name="boost_integer.minmax.credits"></a><a class="link" href="minmax.html#boost_integer.minmax.credits" title="Credits">Credits</a>
</h3></div></div></div> </h3></div></div></div>
@ -154,7 +154,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="log2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="log2.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Integer Traits</title> <title>Integer Traits</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../index.html" title="Boost.Integer"> <link rel="home" href="../index.html" title="Boost.Integer">
<link rel="up" href="../index.html" title="Boost.Integer"> <link rel="up" href="../index.html" title="Boost.Integer">
<link rel="prev" href="cstdint.html" title="Standard Integer Types"> <link rel="prev" href="cstdint.html" title="Standard Integer Types">
@ -20,9 +20,9 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="cstdint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="integer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="cstdint.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="integer.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.traits"></a><a class="link" href="traits.html" title="Integer Traits"> Integer Traits</a> <a name="boost_integer.traits"></a><a class="link" href="traits.html" title="Integer Traits"> Integer Traits</a>
</h2></div></div></div> </h2></div></div></div>
@ -33,7 +33,7 @@
<dt><span class="section"><a href="traits.html#boost_integer.traits.test_program">Test Program</a></span></dt> <dt><span class="section"><a href="traits.html#boost_integer.traits.test_program">Test Program</a></span></dt>
<dt><span class="section"><a href="traits.html#boost_integer.traits.acknowledgements">Acknowledgements</a></span></dt> <dt><span class="section"><a href="traits.html#boost_integer.traits.acknowledgements">Acknowledgements</a></span></dt>
</dl></div> </dl></div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.traits.motivation"></a><a class="link" href="traits.html#boost_integer.traits.motivation" title="Motivation">Motivation</a> <a name="boost_integer.traits.motivation"></a><a class="link" href="traits.html#boost_integer.traits.motivation" title="Motivation">Motivation</a>
</h3></div></div></div> </h3></div></div></div>
@ -62,7 +62,7 @@
The template class <code class="literal">integer_traits</code> addresses this problem. The template class <code class="literal">integer_traits</code> addresses this problem.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.traits.synopsis"></a><a class="link" href="traits.html#boost_integer.traits.synopsis" title="Synopsis">Synopsis</a> <a name="boost_integer.traits.synopsis"></a><a class="link" href="traits.html#boost_integer.traits.synopsis" title="Synopsis">Synopsis</a>
</h3></div></div></div> </h3></div></div></div>
@ -82,7 +82,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.traits.description"></a><a class="link" href="traits.html#boost_integer.traits.description" title="Description">Description</a> <a name="boost_integer.traits.description"></a><a class="link" href="traits.html#boost_integer.traits.description" title="Description">Description</a>
</h3></div></div></div> </h3></div></div></div>
@ -102,71 +102,71 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
member member
</p> </p>
</th> </th>
<th> <th>
<p> <p>
type type
</p> </p>
</th> </th>
<th> <th>
<p> <p>
value value
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">is_integral</code> <code class="literal">is_integral</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
bool bool
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal">true</code> <code class="literal">true</code>
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">const_min</code> <code class="literal">const_min</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal">T</code> <code class="literal">T</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
equivalent to <code class="literal">std::numeric_limits&lt;T&gt;::min()</code> equivalent to <code class="literal">std::numeric_limits&lt;T&gt;::min()</code>
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="literal">const_max</code> <code class="literal">const_max</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal">T</code> <code class="literal">T</code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
equivalent to <code class="literal">std::numeric_limits&lt;T&gt;::max()</code> equivalent to <code class="literal">std::numeric_limits&lt;T&gt;::max()</code>
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -179,7 +179,7 @@
unless boost::integer_traits is also specialized. unless boost::integer_traits is also specialized.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.traits.test_program"></a><a class="link" href="traits.html#boost_integer.traits.test_program" title="Test Program">Test Program</a> <a name="boost_integer.traits.test_program"></a><a class="link" href="traits.html#boost_integer.traits.test_program" title="Test Program">Test Program</a>
</h3></div></div></div> </h3></div></div></div>
@ -188,7 +188,7 @@
exercises the <code class="literal">integer_traits</code> class. exercises the <code class="literal">integer_traits</code> class.
</p> </p>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_integer.traits.acknowledgements"></a><a class="link" href="traits.html#boost_integer.traits.acknowledgements" title="Acknowledgements">Acknowledgements</a> <a name="boost_integer.traits.acknowledgements"></a><a class="link" href="traits.html#boost_integer.traits.acknowledgements" title="Acknowledgements">Acknowledgements</a>
</h3></div></div></div> </h3></div></div></div>
@ -209,7 +209,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="cstdint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="integer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> <a accesskey="p" href="cstdint.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="integer.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,8 +2,8 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.Integer</title> <title>Boost.Integer</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="index.html" title="Boost.Integer"> <link rel="home" href="index.html" title="Boost.Integer">
<link rel="next" href="boost_integer/cstdint.html" title="Standard Integer Types"> <link rel="next" href="boost_integer/cstdint.html" title="Standard Integer Types">
</head> </head>
@ -17,8 +17,8 @@
<td align="center"><a href="../../../../more/index.htm">More</a></td> <td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"><a accesskey="n" href="boost_integer/cstdint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div> <div class="spirit-nav"><a accesskey="n" href="boost_integer/cstdint.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
<div class="article"> <div class="article" lang="en">
<div class="titlepage"> <div class="titlepage">
<div> <div>
<div><h2 class="title"> <div><h2 class="title">
@ -40,7 +40,7 @@
<div><p class="copyright">Copyright &#169; 2001 -2009 Beman Dawes, Daryle Walker, Gennaro Prota, <div><p class="copyright">Copyright &#169; 2001 -2009 Beman Dawes, Daryle Walker, Gennaro Prota,
John Maddock</p></div> John Maddock</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id759732"></a><p> <a name="id771218"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying Distributed under the Boost Software License, Version 1.0. (See accompanying
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>) 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>)
</p> </p>
@ -61,7 +61,7 @@
<dt><span class="section"><a href="boost_integer/history.html"> History</a></span></dt> <dt><span class="section"><a href="boost_integer/history.html"> History</a></span></dt>
</dl> </dl>
</div> </div>
<div class="section"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_integer.overview"></a><a class="link" href="index.html#boost_integer.overview" title="Overview"> Overview</a> <a name="boost_integer.overview"></a><a class="link" href="index.html#boost_integer.overview" title="Overview"> Overview</a>
</h2></div></div></div> </h2></div></div></div>
@ -84,152 +84,152 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Component Component
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Header Header
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Purpose Purpose
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
Forward Declarations. Forward Declarations.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/integer_fwd.hpp" target="_top">&lt;boost/integer_fwd.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/integer_fwd.hpp" target="_top">&lt;boost/integer_fwd.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Forward declarations of classes and class templates - for use when Forward declarations of classes and class templates - for use when
just the name of a class is needed. just the name of a class is needed.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<a class="link" href="boost_integer/cstdint.html" title="Standard Integer Types">Standard Integer Types</a>. <a class="link" href="boost_integer/cstdint.html" title="Standard Integer Types">Standard Integer Types</a>.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/cstdint.hpp" target="_top">&lt;boost/cstdint.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/cstdint.hpp" target="_top">&lt;boost/cstdint.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Provides typedef's based on the 1999 C Standard header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>, wrapped in namespace boost. Provides typedef's based on the 1999 C Standard header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>, wrapped in namespace boost. This
This implementation may #include the compiler supplied <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>, if present. implementation may #include the compiler supplied <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>,
</p> if present.
</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<a class="link" href="boost_integer/traits.html" title="Integer Traits">Integer Traits</a>. <a class="link" href="boost_integer/traits.html" title="Integer Traits">Integer Traits</a>.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/integer_traits.hpp" target="_top">&lt;boost/integer_traits.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/integer_traits.hpp" target="_top">&lt;boost/integer_traits.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Class template <code class="literal">boost::integer_traits</code>, derives Class template <code class="literal">boost::integer_traits</code>, derives from
from <code class="literal">std::numeric_limits</code> and adds <code class="literal">const_min</code> <code class="literal">std::numeric_limits</code> and adds <code class="literal">const_min</code>
and <code class="literal">const_max</code> members. and <code class="literal">const_max</code> members.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<a class="link" href="boost_integer/integer.html" title="Integer Type Selection">Integer Type Selection</a>. <a class="link" href="boost_integer/integer.html" title="Integer Type Selection">Integer Type Selection</a>.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/integer.hpp" target="_top">&lt;boost/integer.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/hpp" target="_top">&lt;boost/integer.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Templates for integer type selection based on properties such as Templates for integer type selection based on properties such as maximum
maximum value or number of bits: Use to select the type of an integer value or number of bits: Use to select the type of an integer when
when some property such as maximum value or number of bits is known. some property such as maximum value or number of bits is known. Useful
Useful for generic programming. for generic programming.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<a class="link" href="boost_integer/mask.html" title="Integer Masks">Integer Masks</a>. <a class="link" href="boost_integer/mask.html" title="Integer Masks">Integer Masks</a>.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/integer/integer_mask.hpp" target="_top">&lt;boost/integer/integer_mask.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/integer/integer_mask.hpp" target="_top">&lt;boost/integer/integer_mask.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Templates for the selection of integer masks, single or lowest group, Templates for the selection of integer masks, single or lowest group,
based on the number of bits: Use to select a particular mask when based on the number of bits: Use to select a particular mask when the
the bit position(s) are based on a compile-time variable. Useful bit position(s) are based on a compile-time variable. Useful for generic
for generic programming. programming.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<a class="link" href="boost_integer/log2.html" title="Compile Time log2 Calculation">Compile time log2 Calculation</a>. <a class="link" href="boost_integer/log2.html" title="Compile Time log2 Calculation">Compile time log2 Calculation</a>.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/integer/static_log2.hpp" target="_top">&lt;boost/integer/static_log2.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/integer/static_log2.hpp" target="_top">&lt;boost/integer/static_log2.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Template for finding the highest power of two in a number: Use to Template for finding the highest power of two in a number: Use to find
find the bit-size/range based on a maximum value. Useful for generic the bit-size/range based on a maximum value. Useful for generic programming.
programming. </p>
</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<a class="link" href="boost_integer/minmax.html" title="Compile time min/max calculation">Compile time min/max calculation</a>. <a class="link" href="boost_integer/minmax.html" title="Compile time min/max calculation">Compile time min/max calculation</a>.
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/integer/static_min_max.hpp" target="_top">&lt;boost/integer/static_min_max.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/integer/static_min_max.hpp" target="_top">&lt;boost/integer/static_min_max.hpp&gt;</a></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Templates for finding the extrema of two numbers: Use to find a bound Templates for finding the extrema of two numbers: Use to find a bound
based on a minimum or maximum value. Useful for generic programming. based on a minimum or maximum value. Useful for generic programming.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -237,10 +237,10 @@
</div> </div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: July 08, 2010 at 20:45:20 GMT</small></p></td> <td align="left"><p><small>Last revised: December 11, 2009 at 17:54:58 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"><a accesskey="n" href="boost_integer/cstdint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div> <div class="spirit-nav"><a accesskey="n" href="boost_integer/cstdint.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
</body> </body>
</html> </html>

View File

@ -43,7 +43,7 @@ compile-time value; and computing min and max of constant expressions.
] ]
[ [
[[link boost_integer.integer Integer Type Selection].] [[link boost_integer.integer Integer Type Selection].]
[[^[@../../../../boost/integer.hpp <boost/integer.hpp>]]] [[^[@../../../../boost/hpp <boost/integer.hpp>]]]
[Templates for integer type selection based on properties such as maximum value or number of bits: [Templates for integer type selection based on properties such as maximum value or number of bits:
Use to select the type of an integer when some property such as maximum value or number of bits is known. Use to select the type of an integer when some property such as maximum value or number of bits is known.
Useful for generic programming. ] Useful for generic programming. ]

View File

@ -137,7 +137,7 @@ namespace boost
} // namespace boost } // namespace boost
#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) #elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__)
// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need. // FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
# include <inttypes.h> # include <inttypes.h>
@ -256,27 +256,20 @@ namespace boost
// 32-bit types -----------------------------------------------------------// // 32-bit types -----------------------------------------------------------//
# if UINT_MAX == 0xffffffff # if ULONG_MAX == 0xffffffff
typedef int int32_t;
typedef int int_least32_t;
typedef int int_fast32_t;
typedef unsigned int uint32_t;
typedef unsigned int uint_least32_t;
typedef unsigned int uint_fast32_t;
# elif (USHRT_MAX == 0xffffffff)
typedef short int32_t;
typedef short int_least32_t;
typedef short int_fast32_t;
typedef unsigned short uint32_t;
typedef unsigned short uint_least32_t;
typedef unsigned short uint_fast32_t;
# elif ULONG_MAX == 0xffffffff
typedef long int32_t; typedef long int32_t;
typedef long int_least32_t; typedef long int_least32_t;
typedef long int_fast32_t; typedef long int_fast32_t;
typedef unsigned long uint32_t; typedef unsigned long uint32_t;
typedef unsigned long uint_least32_t; typedef unsigned long uint_least32_t;
typedef unsigned long uint_fast32_t; typedef unsigned long uint_fast32_t;
# elif UINT_MAX == 0xffffffff
typedef int int32_t;
typedef int int_least32_t;
typedef int int_fast32_t;
typedef unsigned int uint32_t;
typedef unsigned int uint_least32_t;
typedef unsigned int uint_fast32_t;
# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) # elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
// Integers are 64 bits on the MTA / XMT // Integers are 64 bits on the MTA / XMT
typedef __int32 int32_t; typedef __int32 int32_t;
@ -373,87 +366,58 @@ INT#_C macros if they're not already defined (John Maddock).
******************************************************/ ******************************************************/
#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \ #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && !defined(INT8_C)
(!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
//
// For the following code we get several warnings along the lines of:
//
// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
//
// So we declare this a system header to suppress these warnings.
//
#if defined(__GNUC__) && (__GNUC__ >= 4)
#pragma GCC system_header
#endif
#include <limits.h> #include <limits.h>
# define BOOST__STDC_CONSTANT_MACROS_DEFINED # define BOOST__STDC_CONSTANT_MACROS_DEFINED
# if defined(BOOST_HAS_MS_INT64) # if defined(BOOST_HAS_MS_INT64)
// //
// Borland/Intel/Microsoft compilers have width specific suffixes: // Borland/Intel/Microsoft compilers have width specific suffixes:
// //
#ifndef INT8_C
# define INT8_C(value) value##i8 # define INT8_C(value) value##i8
#endif
#ifndef INT16_C
# define INT16_C(value) value##i16 # define INT16_C(value) value##i16
#endif
#ifndef INT32_C
# define INT32_C(value) value##i32 # define INT32_C(value) value##i32
#endif
#ifndef INT64_C
# define INT64_C(value) value##i64 # define INT64_C(value) value##i64
#endif
# ifdef __BORLANDC__ # ifdef __BORLANDC__
// Borland bug: appending ui8 makes the type a signed char // Borland bug: appending ui8 makes the type a signed char
# define UINT8_C(value) static_cast<unsigned char>(value##u) # define UINT8_C(value) static_cast<unsigned char>(value##u)
# else # else
# define UINT8_C(value) value##ui8 # define UINT8_C(value) value##ui8
# endif # endif
#ifndef UINT16_C
# define UINT16_C(value) value##ui16 # define UINT16_C(value) value##ui16
#endif
#ifndef UINT32_C
# define UINT32_C(value) value##ui32 # define UINT32_C(value) value##ui32
#endif
#ifndef UINT64_C
# define UINT64_C(value) value##ui64 # define UINT64_C(value) value##ui64
#endif
#ifndef INTMAX_C
# define INTMAX_C(value) value##i64 # define INTMAX_C(value) value##i64
# define UINTMAX_C(value) value##ui64 # define UINTMAX_C(value) value##ui64
#endif
# else # else
// do it the old fashioned way: // do it the old fashioned way:
// 8-bit types ------------------------------------------------------------// // 8-bit types ------------------------------------------------------------//
# if (UCHAR_MAX == 0xff) && !defined(INT8_C) # if UCHAR_MAX == 0xff
# define INT8_C(value) static_cast<boost::int8_t>(value) # define INT8_C(value) static_cast<boost::int8_t>(value)
# define UINT8_C(value) static_cast<boost::uint8_t>(value##u) # define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
# endif # endif
// 16-bit types -----------------------------------------------------------// // 16-bit types -----------------------------------------------------------//
# if (USHRT_MAX == 0xffff) && !defined(INT16_C) # if USHRT_MAX == 0xffff
# define INT16_C(value) static_cast<boost::int16_t>(value) # define INT16_C(value) static_cast<boost::int16_t>(value)
# define UINT16_C(value) static_cast<boost::uint16_t>(value##u) # define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
# endif # endif
// 32-bit types -----------------------------------------------------------// // 32-bit types -----------------------------------------------------------//
#ifndef INT32_C
# if (UINT_MAX == 0xffffffff) # if UINT_MAX == 0xffffffff
# define INT32_C(value) value # define INT32_C(value) value
# define UINT32_C(value) value##u # define UINT32_C(value) value##u
# elif ULONG_MAX == 0xffffffff # elif ULONG_MAX == 0xffffffff
# define INT32_C(value) value##L # define INT32_C(value) value##L
# define UINT32_C(value) value##uL # define UINT32_C(value) value##uL
# endif # endif
#endif
// 64-bit types + intmax_t and uintmax_t ----------------------------------// // 64-bit types + intmax_t and uintmax_t ----------------------------------//
#ifndef INT64_C
# if defined(BOOST_HAS_LONG_LONG) && \ # if defined(BOOST_HAS_LONG_LONG) && \
(defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX)) (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))
@ -498,7 +462,7 @@ INT#_C macros if they're not already defined (John Maddock).
# define INTMAX_C(value) INT64_C(value) # define INTMAX_C(value) INT64_C(value)
# define UINTMAX_C(value) UINT64_C(value) # define UINTMAX_C(value) UINT64_C(value)
# endif # endif
#endif
# endif // Borland/Microsoft specific width suffixes # endif // Borland/Microsoft specific width suffixes
#endif // INT#_C macros. #endif // INT#_C macros.

View File

@ -57,8 +57,6 @@ namespace boost
// no specializations for 0 and 5: requests for a type > long are in error // no specializations for 0 and 5: requests for a type > long are in error
#ifdef BOOST_HAS_LONG_LONG #ifdef BOOST_HAS_LONG_LONG
template<> struct int_least_helper<1> { typedef boost::long_long_type least; }; template<> struct int_least_helper<1> { typedef boost::long_long_type least; };
#elif defined(BOOST_HAS_MS_INT64)
template<> struct int_least_helper<1> { typedef __int64 least; };
#endif #endif
template<> struct int_least_helper<2> { typedef long least; }; template<> struct int_least_helper<2> { typedef long least; };
template<> struct int_least_helper<3> { typedef int least; }; template<> struct int_least_helper<3> { typedef int least; };
@ -66,8 +64,6 @@ namespace boost
template<> struct int_least_helper<5> { typedef signed char least; }; template<> struct int_least_helper<5> { typedef signed char least; };
#ifdef BOOST_HAS_LONG_LONG #ifdef BOOST_HAS_LONG_LONG
template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; }; template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; };
#elif defined(BOOST_HAS_MS_INT64)
template<> struct int_least_helper<6> { typedef unsigned __int64 least; };
#endif #endif
template<> struct int_least_helper<7> { typedef unsigned long least; }; template<> struct int_least_helper<7> { typedef unsigned long least; };
template<> struct int_least_helper<8> { typedef unsigned int least; }; template<> struct int_least_helper<8> { typedef unsigned int least; };

View File

@ -20,17 +20,6 @@
#include <boost/limits.hpp> // for std::numeric_limits #include <boost/limits.hpp> // for std::numeric_limits
//
// We simply cannot include this header on gcc without getting copious warnings of the kind:
//
// boost/integer/integer_mask.hpp:93:35: warning: use of C99 long long integer constant
//
// And yet there is no other reasonable implementation, so we declare this a system header
// to suppress these warnings.
//
#if defined(__GNUC__) && (__GNUC__ >= 4)
#pragma GCC system_header
#endif
namespace boost namespace boost
{ {
@ -100,19 +89,6 @@ BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned int );
BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long ); BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long );
#endif #endif
#if defined(BOOST_HAS_LONG_LONG)
#if ((defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)) ||\
(defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX > ULONG_MAX)) ||\
(defined(ULONGLONG_MAX) && (ULONGLONG_MAX > ULONG_MAX)) ||\
(defined(_ULLONG_MAX) && (_ULLONG_MAX > ULONG_MAX)))
BOOST_LOW_BITS_MASK_SPECIALIZE( boost::ulong_long_type );
#endif
#elif defined(BOOST_HAS_MS_INT64)
#if 18446744073709551615ui64 > ULONG_MAX
BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned __int64 );
#endif
#endif
#ifdef BOOST_MSVC #ifdef BOOST_MSVC
#pragma warning(pop) #pragma warning(pop)
#endif #endif

View File

@ -77,18 +77,12 @@ template < >
template < > template < >
class integer_traits< unsigned long >; class integer_traits< unsigned long >;
#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64))
template < > template < >
class integer_traits< ::boost::long_long_type>; class integer_traits< ::boost::long_long_type>;
template < > template < >
class integer_traits< ::boost::ulong_long_type >; class integer_traits< ::boost::ulong_long_type >;
#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
template < >
class integer_traits<__int64>;
template < >
class integer_traits<unsigned __int64>;
#endif #endif
@ -136,6 +130,22 @@ template < std::size_t Bits >
template < > template < >
struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >; struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
#if USHRT_MAX > UCHAR_MAX
template < >
struct low_bits_mask_t< ::std::numeric_limits<unsigned short>::digits >;
#endif
#if UINT_MAX > USHRT_MAX
template < >
struct low_bits_mask_t< ::std::numeric_limits<unsigned int>::digits >;
#endif
#if ULONG_MAX > UINT_MAX
template < >
struct low_bits_mask_t< ::std::numeric_limits<unsigned long>::digits >;
#endif
// From <boost/integer/static_log2.hpp> ------------------------------------// // From <boost/integer/static_log2.hpp> ------------------------------------//
template <static_log2_argument_type Value > template <static_log2_argument_type Value >

View File

@ -21,35 +21,25 @@
#pragma warning(disable:4127) // conditional expression is constant #pragma warning(disable:4127) // conditional expression is constant
#endif #endif
#if defined(BOOST_HAS_LONG_LONG)
#define MASK_TYPE ::boost::ulong_long_type
#elif defined(BOOST_HAS_MS_INT64)
#define MASK_TYPE unsigned __int64
#else
#define MASK_TYPE unsigned long
#endif
#define ONE (static_cast<MASK_TYPE>(1))
#define PRIVATE_HIGH_BIT_SLOW_TEST(v) BOOST_TEST( ::boost::high_bit_mask_t< \ #define PRIVATE_HIGH_BIT_SLOW_TEST(v) BOOST_TEST( ::boost::high_bit_mask_t< \
(v) >::high_bit == (ONE << (v)) ); (v) >::high_bit == (1ul << (v)) );
#define PRIVATE_HIGH_BIT_FAST_TEST(v) BOOST_TEST( ::boost::high_bit_mask_t< \ #define PRIVATE_HIGH_BIT_FAST_TEST(v) BOOST_TEST( ::boost::high_bit_mask_t< \
(v) >::high_bit_fast == (ONE << (v)) ); (v) >::high_bit_fast == (1ul << (v)) );
#define PRIVATE_HIGH_BIT_TEST(v) do { PRIVATE_HIGH_BIT_SLOW_TEST(v); \ #define PRIVATE_HIGH_BIT_TEST(v) do { PRIVATE_HIGH_BIT_SLOW_TEST(v); \
PRIVATE_HIGH_BIT_FAST_TEST(v); } while (false) PRIVATE_HIGH_BIT_FAST_TEST(v); } while (false)
#define PRIVATE_LOW_BITS_SLOW_TEST(v) \ #define PRIVATE_LOW_BITS_SLOW_TEST(v) \
do{ \ do{ \
MASK_TYPE mask = 0;\ unsigned long mask = 0;\
if(v > 0)\ if(v > 0)\
{ mask = ((ONE << (v-1)) - 1); mask <<= 1; mask |= 1; }\ { mask = ((1ul << (v-1)) - 1); mask <<= 1; mask |= 1; }\
BOOST_TEST( ::boost::low_bits_mask_t< (v) >::sig_bits == mask); \ BOOST_TEST( ::boost::low_bits_mask_t< (v) >::sig_bits == mask); \
}while(false); }while(false);
#define PRIVATE_LOW_BITS_FAST_TEST(v) \ #define PRIVATE_LOW_BITS_FAST_TEST(v) \
do{ \ do{ \
MASK_TYPE mask = 0;\ unsigned long mask = 0;\
if(v > 0)\ if(v > 0)\
{ mask = ((ONE << (v-1)) - 1); mask <<= 1; mask |= 1; }\ { mask = ((1ul << (v-1)) - 1); mask <<= 1; mask |= 1; }\
BOOST_TEST( ::boost::low_bits_mask_t< (v) >::sig_bits_fast == mask);\ BOOST_TEST( ::boost::low_bits_mask_t< (v) >::sig_bits_fast == mask);\
}while(false); }while(false);
#define PRIVATE_LOW_BITS_TEST(v) do { PRIVATE_LOW_BITS_SLOW_TEST(v); \ #define PRIVATE_LOW_BITS_TEST(v) do { PRIVATE_LOW_BITS_SLOW_TEST(v); \
@ -62,41 +52,6 @@ int main( int, char*[] )
using std::endl; using std::endl;
cout << "Doing high_bit_mask_t tests." << endl; cout << "Doing high_bit_mask_t tests." << endl;
#if defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)
PRIVATE_HIGH_BIT_TEST( 63 );
PRIVATE_HIGH_BIT_TEST( 62 );
PRIVATE_HIGH_BIT_TEST( 61 );
PRIVATE_HIGH_BIT_TEST( 60 );
PRIVATE_HIGH_BIT_TEST( 59 );
PRIVATE_HIGH_BIT_TEST( 58 );
PRIVATE_HIGH_BIT_TEST( 57 );
PRIVATE_HIGH_BIT_TEST( 56 );
PRIVATE_HIGH_BIT_TEST( 55 );
PRIVATE_HIGH_BIT_TEST( 54 );
PRIVATE_HIGH_BIT_TEST( 53 );
PRIVATE_HIGH_BIT_TEST( 52 );
PRIVATE_HIGH_BIT_TEST( 51 );
PRIVATE_HIGH_BIT_TEST( 50 );
PRIVATE_HIGH_BIT_TEST( 49 );
PRIVATE_HIGH_BIT_TEST( 48 );
PRIVATE_HIGH_BIT_TEST( 47 );
PRIVATE_HIGH_BIT_TEST( 46 );
PRIVATE_HIGH_BIT_TEST( 45 );
PRIVATE_HIGH_BIT_TEST( 44 );
PRIVATE_HIGH_BIT_TEST( 43 );
PRIVATE_HIGH_BIT_TEST( 42 );
PRIVATE_HIGH_BIT_TEST( 41 );
PRIVATE_HIGH_BIT_TEST( 40 );
PRIVATE_HIGH_BIT_TEST( 39 );
PRIVATE_HIGH_BIT_TEST( 38 );
PRIVATE_HIGH_BIT_TEST( 37 );
PRIVATE_HIGH_BIT_TEST( 36 );
PRIVATE_HIGH_BIT_TEST( 35 );
PRIVATE_HIGH_BIT_TEST( 34 );
PRIVATE_HIGH_BIT_TEST( 33 );
PRIVATE_HIGH_BIT_TEST( 32 );
#endif
PRIVATE_HIGH_BIT_TEST( 31 ); PRIVATE_HIGH_BIT_TEST( 31 );
PRIVATE_HIGH_BIT_TEST( 30 ); PRIVATE_HIGH_BIT_TEST( 30 );
PRIVATE_HIGH_BIT_TEST( 29 ); PRIVATE_HIGH_BIT_TEST( 29 );
@ -131,41 +86,6 @@ int main( int, char*[] )
PRIVATE_HIGH_BIT_TEST( 0 ); PRIVATE_HIGH_BIT_TEST( 0 );
cout << "Doing low_bits_mask_t tests." << endl; cout << "Doing low_bits_mask_t tests." << endl;
#if defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)
PRIVATE_LOW_BITS_TEST( 64 );
PRIVATE_LOW_BITS_TEST( 63 );
PRIVATE_LOW_BITS_TEST( 62 );
PRIVATE_LOW_BITS_TEST( 61 );
PRIVATE_LOW_BITS_TEST( 60 );
PRIVATE_LOW_BITS_TEST( 59 );
PRIVATE_LOW_BITS_TEST( 58 );
PRIVATE_LOW_BITS_TEST( 57 );
PRIVATE_LOW_BITS_TEST( 56 );
PRIVATE_LOW_BITS_TEST( 55 );
PRIVATE_LOW_BITS_TEST( 54 );
PRIVATE_LOW_BITS_TEST( 53 );
PRIVATE_LOW_BITS_TEST( 52 );
PRIVATE_LOW_BITS_TEST( 51 );
PRIVATE_LOW_BITS_TEST( 50 );
PRIVATE_LOW_BITS_TEST( 49 );
PRIVATE_LOW_BITS_TEST( 48 );
PRIVATE_LOW_BITS_TEST( 47 );
PRIVATE_LOW_BITS_TEST( 46 );
PRIVATE_LOW_BITS_TEST( 45 );
PRIVATE_LOW_BITS_TEST( 44 );
PRIVATE_LOW_BITS_TEST( 43 );
PRIVATE_LOW_BITS_TEST( 42 );
PRIVATE_LOW_BITS_TEST( 41 );
PRIVATE_LOW_BITS_TEST( 40 );
PRIVATE_LOW_BITS_TEST( 39 );
PRIVATE_LOW_BITS_TEST( 38 );
PRIVATE_LOW_BITS_TEST( 37 );
PRIVATE_LOW_BITS_TEST( 36 );
PRIVATE_LOW_BITS_TEST( 35 );
PRIVATE_LOW_BITS_TEST( 34 );
PRIVATE_LOW_BITS_TEST( 33 );
#endif
PRIVATE_LOW_BITS_TEST( 32 ); PRIVATE_LOW_BITS_TEST( 32 );
PRIVATE_LOW_BITS_TEST( 31 ); PRIVATE_LOW_BITS_TEST( 31 );
PRIVATE_LOW_BITS_TEST( 30 ); PRIVATE_LOW_BITS_TEST( 30 );