Compare commits

...

23 Commits

Author SHA1 Message Date
581224a4f7 Release 1.44.0
[SVN r64846]
2010-08-16 15:03:16 +00:00
245c28d187 Merge integer documentation.
[SVN r63767]
2010-07-08 22:22:21 +00:00
f390a64825 Merge documentation fixes.
* Use `doc/src/*.css` instead of `doc/html/*.css`.
* Remove wiki and people directories.
* Some documentation fixes.
* Left out `minimal.css` changes and boostbook changes because of clashes.


[SVN r63347]
2010-06-26 12:30:09 +00:00
e3da9260e1 Merge fixes from Trunk.
[SVN r62832]
2010-06-12 08:33:32 +00:00
730be18188 Merge link fix for integer.
[SVN r61060]
2010-04-05 07:41:52 +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
14 changed files with 601 additions and 706 deletions

View File

@ -26,10 +26,6 @@ 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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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,27 +137,43 @@
<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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li><code class="literal">int_least8_t</code></li> <li class="listitem">
<li><code class="literal">int_least16_t</code></li> <code class="literal">int_least8_t</code>
<li><code class="literal">int_least32_t</code></li> </li>
<li><code class="literal">uint_least8_t</code></li> <li class="listitem">
<li><code class="literal">uint_least16_t</code></li> <code class="literal">int_least16_t</code>
<li><code class="literal">uint_least32_t</code></li> </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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li><code class="literal">int_least64_t</code></li> <li class="listitem">
<li><code class="literal">uint_least64_t</code></li> <code class="literal">int_least64_t</code>
</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" lang="en"> <div class="section">
<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>
@ -175,27 +191,43 @@
<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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li><code class="literal">int_fast8_t</code></li> <li class="listitem">
<li><code class="literal">int_fast16_t</code></li> <code class="literal">int_fast8_t</code>
<li><code class="literal">int_fast32_t</code></li> </li>
<li><code class="literal">uint_fast8_t</code></li> <li class="listitem">
<li><code class="literal">uint_fast16_t</code></li> <code class="literal">int_fast16_t</code>
<li><code class="literal">uint_fast32_t</code></li> </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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li><code class="literal">int_fast64_t</code></li> <li class="listitem">
<li><code class="literal">uint_fast64_t</code></li> <code class="literal">int_fast64_t</code>
</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" lang="en"> <div class="section">
<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>
@ -212,7 +244,7 @@
These types are provided for all platforms. These types are provided for all platforms.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -251,7 +283,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<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> <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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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,21 +19,21 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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="id786079"></a> <a name="id766183"></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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
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> <li class="listitem">
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>,
@ -42,23 +42,23 @@
<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> <li class="listitem">
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> <li class="listitem">
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 provided long</code> and <code class="literal">int</code> respectively. Please, use the
typedefs in new code (and update old code as soon as possible). provided 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="id786181"></a> <a name="id766314"></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 type="disc"><li> <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
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
@ -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/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="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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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="id781665"></a><p class="title"><b>Table&#160;1.&#160;Criteria for the Sized Type Class Templates</b></p> <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>
<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>
@ -167,9 +167,9 @@
<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 number. bits, including the sign bit. The parameter should be a positive
A compile-time error results if the parameter is larger than the number number. A compile-time error results if the parameter is larger
of bits in the largest integer type. than the number of bits in the largest integer type.
</p> </p>
</td> </td>
</tr> </tr>
@ -181,10 +181,11 @@
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, signed integral type with at least The easiest-to-manipulate, built-in, signed integral type with
<span class="emphasis"><em>N</em></span> bits, including the sign bit. The parameter at least <span class="emphasis"><em>N</em></span> bits, including the sign bit. The
should be a positive number. A compile-time error results if the parameter parameter should be a positive number. A compile-time error results
is larger than the number of bits in the largest integer type. if the parameter is larger than the number of bits in the largest
integer type.
</p> </p>
</td> </td>
</tr> </tr>
@ -197,9 +198,10 @@
<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 number. bits, including the sign bit. The parameter should be a positive
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> number. Note that the member <span class="emphasis"><em>exact</em></span> is defined
bits. <span class="bold"><strong>only</strong></span> if there exists a type with
exactly <span class="emphasis"><em>N</em></span> bits.
</p> </p>
</td> </td>
</tr> </tr>
@ -212,9 +214,9 @@
<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 error bits. The parameter should be a positive number. A compile-time
results if the parameter is larger than the number of bits in the largest error results if the parameter is larger than the number of bits
integer type. in the largest integer type.
</p> </p>
</td> </td>
</tr> </tr>
@ -226,10 +228,10 @@
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, unsigned integral type with at The easiest-to-manipulate, built-in, unsigned integral type with
least <span class="emphasis"><em>N</em></span> bits. The parameter should be a positive at least <span class="emphasis"><em>N</em></span> bits. The parameter should be a
number. A compile-time error results if the parameter is larger than positive number. A compile-time error results if the parameter
the number of bits in the largest integer type. is larger than the number of bits in the largest integer type.
</p> </p>
</td> </td>
</tr> </tr>
@ -242,11 +244,11 @@
<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 error bits. The parameter should be a positive number. A compile-time
results if the parameter is larger than the number of bits in the largest error results if the parameter is larger than the number of bits
integer type. Note that the member <span class="emphasis"><em>exact</em></span> is defined in the largest integer type. Note that the member <span class="emphasis"><em>exact</em></span>
<span class="bold"><strong>only</strong></span> if there exists a type with exactly is defined <span class="bold"><strong>only</strong></span> if there exists
N bits. a type with exactly N bits.
</p> </p>
</td> </td>
</tr> </tr>
@ -258,9 +260,9 @@
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, signed integral type that can hold all the The smallest, built-in, signed integral type that can hold all
values in the inclusive range <span class="emphasis"><em>0 - V</em></span>. The parameter the values in the inclusive range <span class="emphasis"><em>0 - V</em></span>. The
should be a positive number. parameter should be a positive number.
</p> </p>
</td> </td>
</tr> </tr>
@ -272,8 +274,8 @@
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, signed integral type that can The easiest-to-manipulate, built-in, signed integral type that
hold all the values in the inclusive range <span class="emphasis"><em>0 - V</em></span>. can 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>
@ -286,9 +288,9 @@
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, signed integral type that can hold all the The smallest, built-in, signed integral type that can hold all
values in the inclusive range <span class="emphasis"><em>V - 0</em></span>. The parameter the values in the inclusive range <span class="emphasis"><em>V - 0</em></span>. The
should be a negative number. parameter should be a negative number.
</p> </p>
</td> </td>
</tr> </tr>
@ -300,8 +302,8 @@
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, signed integral type that can The easiest-to-manipulate, built-in, signed integral type that
hold all the values in the inclusive range <span class="emphasis"><em>V - 0</em></span>. can 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>
@ -314,9 +316,9 @@
</td> </td>
<td> <td>
<p> <p>
The smallest, built-in, unsigned integral type that can hold all positive The smallest, built-in, unsigned integral type that can hold all
values up to and including <span class="emphasis"><em>V</em></span>. The parameter should positive values up to and including <span class="emphasis"><em>V</em></span>. The
be a positive number. parameter should be a positive number.
</p> </p>
</td> </td>
</tr> </tr>
@ -328,8 +330,8 @@
</td> </td>
<td> <td>
<p> <p>
The easiest-to-manipulate, built-in, unsigned integral type that can The easiest-to-manipulate, built-in, unsigned integral type that
hold all positive values up to and including <span class="emphasis"><em>V</em></span>. can 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>
@ -339,7 +341,7 @@
</div> </div>
<br class="table-break"> <br class="table-break">
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -361,7 +363,7 @@
<span class="special">}</span> <span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -372,27 +374,27 @@
of the sized type class templates. of the sized type class templates.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
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> <li class="listitem">
Avoid macros on general principles. Avoid macros on general principles.
</li> </li>
<li> <li class="listitem">
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" lang="en"> <div class="section">
<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>
@ -401,7 +403,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" lang="en"> <div class="section">
<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>
@ -424,7 +426,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<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> <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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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 type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
<code class="literal">static_log2_argument_type</code> is an <span class="emphasis"><em>unsigned integer <code class="literal">static_log2_argument_type</code> is an <span class="emphasis"><em>unsigned
type</em></span> (C++ standard, 3.9.1p3). integer type</em></span> (C++ standard, 3.9.1p3).
</li> </li>
<li> <li class="listitem">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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/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> <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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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="id782866"></a><p class="title"><b>Table&#160;2.&#160;Members of the `boost::high_bit_mask_t` Class Template</b></p> <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>
<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>
@ -132,7 +132,8 @@
</td> </td>
<td> <td>
<p> <p>
The smallest, unsigned, built-in type that supports the given bit position. The smallest, unsigned, built-in type that supports the given bit
position.
</p> </p>
</td> </td>
</tr> </tr>
@ -180,8 +181,8 @@
</td> </td>
<td> <td>
<p> <p>
The value of the template parameter, in case its needed from a renamed The value of the template parameter, in case its needed from a
instantiation of the class template. renamed instantiation of the class template.
</p> </p>
</td> </td>
</tr> </tr>
@ -190,7 +191,7 @@
</div> </div>
<br class="table-break"> <br class="table-break">
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -204,7 +205,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="id783074"></a><p class="title"><b>Table&#160;3.&#160;Members of the [^boost::low_bits_mask_t] Class Template</b></p> <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>
<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>
@ -231,7 +232,8 @@
</td> </td>
<td> <td>
<p> <p>
The smallest, unsigned built-in type that supports the given bit count. The smallest, unsigned built-in type that supports the given bit
count.
</p> </p>
</td> </td>
</tr> </tr>
@ -255,7 +257,8 @@
</td> </td>
<td> <td>
<p> <p>
A <code class="literal">least</code> constant of the desired bit-masking value. A <code class="literal">least</code> constant of the desired bit-masking
value.
</p> </p>
</td> </td>
</tr> </tr>
@ -279,8 +282,8 @@
</td> </td>
<td> <td>
<p> <p>
The value of the template parameter, in case its needed from a renamed The value of the template parameter, in case its needed from a
instantiation of the class template. renamed instantiation of the class template.
</p> </p>
</td> </td>
</tr> </tr>
@ -289,7 +292,7 @@
</div> </div>
<br class="table-break"> <br class="table-break">
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -301,7 +304,7 @@
bit counts. bit counts.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -325,7 +328,7 @@
</span><span class="special">}</span> </span><span class="special">}</span>
</pre> </pre>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -336,7 +339,7 @@
of the bit mask class templates. of the bit mask class templates.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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>
@ -348,7 +351,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" lang="en"> <div class="section">
<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>
@ -369,7 +372,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<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> <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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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/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> <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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/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> <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>
</div> </div>
<div class="section" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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>
@ -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" lang="en"> <div class="section">
<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" lang="en"> <div class="section">
<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/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> <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>
</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/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/html/images/next.png" alt="Next"></a></div> <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="article" lang="en"> <div class="article">
<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="id771218"></a><p> <a name="id759732"></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" lang="en"> <div class="section">
<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>
@ -131,9 +131,8 @@
</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. This 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.
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>, 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.
if present.
</p> </p>
</td> </td>
</tr> </tr>
@ -150,8 +149,8 @@
</td> </td>
<td> <td>
<p> <p>
Class template <code class="literal">boost::integer_traits</code>, derives from Class template <code class="literal">boost::integer_traits</code>, derives
<code class="literal">std::numeric_limits</code> and adds <code class="literal">const_min</code> from <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>
@ -164,15 +163,15 @@
</td> </td>
<td> <td>
<p> <p>
<code class="literal"><a href="../../../../boost/hpp" target="_top">&lt;boost/integer.hpp&gt;</a></code> <code class="literal"><a href="../../../../boost/integer.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 maximum Templates for integer type selection based on properties such as
value or number of bits: Use to select the type of an integer when maximum value or number of bits: Use to select the type of an integer
some property such as maximum value or number of bits is known. Useful when some property such as maximum value or number of bits is known.
for generic programming. Useful for generic programming.
</p> </p>
</td> </td>
</tr> </tr>
@ -190,9 +189,9 @@
<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 the based on the number of bits: Use to select a particular mask when
bit position(s) are based on a compile-time variable. Useful for generic the bit position(s) are based on a compile-time variable. Useful
programming. for generic programming.
</p> </p>
</td> </td>
</tr> </tr>
@ -209,8 +208,9 @@
</td> </td>
<td> <td>
<p> <p>
Template for finding the highest power of two in a number: Use to find Template for finding the highest power of two in a number: Use to
the bit-size/range based on a maximum value. Useful for generic programming. find the bit-size/range based on a maximum value. Useful for generic
programming.
</p> </p>
</td> </td>
</tr> </tr>
@ -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: December 11, 2009 at 17:54:58 GMT</small></p></td> <td align="left"><p><small>Last revised: July 08, 2010 at 20:45:20 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/html/images/next.png" alt="Next"></a></div> <div class="spirit-nav"><a accesskey="n" href="boost_integer/cstdint.html"><img src="../../../../doc/src/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/hpp <boost/integer.hpp>]]] [[^[@../../../../boost/integer.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

@ -366,58 +366,87 @@ INT#_C macros if they're not already defined (John Maddock).
******************************************************/ ******************************************************/
#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && !defined(INT8_C) #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
(!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 # if (UCHAR_MAX == 0xff) && !defined(INT8_C)
# 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 # if (USHRT_MAX == 0xffff) && !defined(INT16_C)
# 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))
@ -462,7 +491,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

@ -1,177 +0,0 @@
// Boost detail/extended_integer.hpp header file ----------------------------//
// (C) Copyright Daryle Walker 2008. Distributed under the Boost Software
// License, Version 1.0. (See the accompanying file LICENSE_1_0.txt or a copy
// at <http://www.boost.org/LICENSE_1_0.txt>.)
// Encapsulates the double-long and __int64 type families as a single family,
// as they are mutually exclusive.
/** \file
\brief Common definition of extended integer types.
Instead of other Boost headers making separate \#defines for the double-long
and __int64 type families, since they're mutually exclusive, make a single
set of types and macros for the family that exists (if either).
*/
#ifndef BOOST_DETAIL_EXTENDED_INTEGER_HPP
#define BOOST_DETAIL_EXTENDED_INTEGER_HPP
#include <boost/config.hpp> // for BOOST_HAS_LONG_LONG and BOOST_HAS_MS_INT64
#include <climits> // for CHAR_BIT, etc.
namespace boost
{
namespace detail
{
// Extended integer type macro and alias definitions -----------------------//
// (Unsigned) long long family
#ifdef BOOST_HAS_LONG_LONG
// Existence
#define BOOST_HAS_XINT 1
// Extents
#ifdef ULLONG_MAX
#define BOOST_XINT_MAX LLONG_MAX
#define BOOST_XINT_MIN LLONG_MIN
#define BOOST_UXINT_MAX ULLONG_MAX
#elif defined(ULONG_LONG_MAX)
#define BOOST_XINT_MAX LONG_LONG_MAX
#define BOOST_XINT_MIN LONG_LONG_MIN
#define BOOST_UXINT_MAX ULONG_LONG_MAX
#elif defined(ULONGLONG_MAX)
#define BOOST_XINT_MAX LONGLONG_MAX
#define BOOST_XINT_MIN LONGLONG_MIN
#define BOOST_UXINT_MAX ULONGLONG_MAX
#elif defined(_LLONG_MAX) && defined(_C2)
#define BOOST_XINT_MAX _LLONG_MAX
#define BOOST_XINT_MIN (-_LLONG_MAX - _C2)
#define BOOST_UXINT_MAX _ULLONG_MAX
#else // guess
// Sometimes we get the double-long types without the corresponding constants,
// e.g. GCC in "-ansi" mode. In this case, we'll just have to work out the
// values ourselves. (Here we assume a two's complement representation.)
#define BOOST_XINT_MIN (1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1))
#define BOOST_XINT_MAX (~ BOOST_XINT_MIN)
#define BOOST_UXINT_MAX (~ 0uLL)
#endif
// Types
typedef ::boost:: long_long_type xint_t;
typedef ::boost::ulong_long_type uxint_t;
// (Unsigned) __int64 family
#elif defined(BOOST_HAS_MS_INT64)
// Existence
#define BOOST_HAS_XINT 1
// Extents
#ifdef _UI64_MAX
#define BOOST_XINT_MAX _I64_MAX
#define BOOST_XINT_MIN _I64_MIN
#define BOOST_UXINT_MAX _UI64_MAX
#else // guess
// The types are exactly 2's-compl. 64-bit, so we'll enter the values directly.
#define BOOST_XINT_MAX 0x7FFFFFFFFFFFFFFFi64
#define BOOST_XINT_MIN 0x8000000000000000i64
#define BOOST_UXINT_MAX 0xFFFFFFFFFFFFFFFFui64
#endif
// Types
typedef __int64 xint_t;
typedef unsigned __int64 uxint_t;
// Neither
#else
// Non-existence
#define BOOST_HAS_XINT 0
// Dummy extents
#define BOOST_XINT_MAX LONG_MAX
#define BOOST_XINT_MIN LONG_MIN
#define BOOST_UXINT_MAX ULONG_MAX
// Dummy types
typedef signed long xint_t;
typedef unsigned long uxint_t;
#endif // defined(BOOST_HAS_LONG_LONG)/defined(BOOST_HAS_MS_INT64)/else
/** \def BOOST_HAS_XINT
\brief Flag for extended integer types.
Indicates the presence of one of the two common extended integer type
families, either (<code>unsigned</code>) <code>long long</code> or
(<code>unsigned</code>) <code>__int64</code>. \c BOOST_HAS_XINT is \c 1 if
either type family is defined, and \c 0 if neither is.
*/
/** \def BOOST_XINT_MAX
\brief Maximum value for the signed extended integer type.
\pre \c BOOST_HAS_XINT is \c \#defined to be \c 1.
Macro constant representing the largest value the signed extended integer
type supports. Its composition may be another macro, an expression, or a
literal. Defaulted to \c LONG_MAX if \c BOOST_HAS_XINT is zero.
*/
/** \def BOOST_XINT_MIN
\brief Minimum value for the signed extended integer type.
\pre \c BOOST_HAS_XINT is \c \#defined to be \c 1.
Macro constant representing the smallest value the signed extended integer
type supports. Its composition may be another macro, an expression, or a
literal. Defaulted to \c LONG_MIN if \c BOOST_HAS_XINT is zero.
*/
/** \def BOOST_UXINT_MAX
\brief Maximum value for the unsigned extended integer type.
\pre \c BOOST_HAS_XINT is \c \#defined to be \c 1.
Macro constant representing the largest value the unsigned extended integer
type supports. Its composition may be another macro, an expression, or a
literal. Defaulted to \c ULONG_MAX if \c BOOST_HAS_XINT is zero. (Use
\c 0u for the type's minimum value.)
*/
/** \typedef signed long boost::detail::xint_t
\brief Alias for the signed extended integer type.
\pre \c BOOST_HAS_XINT is \c \#defined to be \c 1.
Alias representing the signed extended integer type, no matter which type
family it came from. Defaulted to <code>signed long</code> if
\c BOOST_HAS_XINT is zero.
*/
/** \typedef unsigned long ::boost::detail::uxint_t
\brief Alias for the signed extended integer type.
\pre \c BOOST_HAS_XINT is \c \#defined to be \c 1.
Alias representing the unsigned extended integer type, no matter which type
family it came from. Defaulted to <code>unsigned long</code> if
\c BOOST_HAS_XINT is zero.
*/
} // namespace detail
} // namespace boost
#endif // BOOST_DETAIL_EXTENDED_INTEGER_HPP

View File

@ -57,6 +57,8 @@ 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; };
@ -64,6 +66,8 @@ 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

@ -77,12 +77,18 @@ 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) || defined(BOOST_HAS_MS_INT64)) #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG)
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