Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64958 - in sandbox/SOC/2010/bit_masks/lib/integer/doc/html: . Rationale Rationale/bit_masks Rationale/bit_masks/overview bit_width bit_width/bit_masks bitfield_tuple bits_mask bits_mask/bit_masks boost_integer_bits_masks_extension boost_integer_bits_masks_extension/bit_masks boost_integer_bits_masks_extension/bit_masks/overview boost_integer_bits_masks_extension/bitfield_tuple boost_integer_bits_masks_extension/bitfield_tuple/appendices boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation boost_integer_bits_masks_extension/bitfield_tuple/overview boost_integer_bits_masks_extension/bitfield_tuple/reference boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference boost_integer_bits_masks_extension/bitfield_tuple/users_guide boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started high_bits_mask high_bits_mask/bit_masks integral_mask integral_mask/bit_masks low_bits_mask low_bits_mask/bit_masks
From: bbartmanboost_at_[hidden]
Date: 2010-08-22 11:27:18


Author: bbartman
Date: 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
New Revision: 64958
URL: http://svn.boost.org/trac/boost/changeset/64958

Log:
now adding documentation again
Added:
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/Rationale/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/Rationale/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/Rationale/bit_masks/overview/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/Rationale/bit_masks/overview/rationale.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bit_width/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bit_width/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bit_width/bit_masks/bit_width.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bitfield_tuple/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bitfield_tuple/bitfield_tuple.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bit_masks/bits_mask.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/HeaderSummary.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview/description.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/acknowledgments.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/design_rationale.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/future_work.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/class_templates.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/function_templates.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/macros.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/description.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/motivation.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/align.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/custom.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/flag.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/member.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/padding.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/pointer.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/storage.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/code_generation_macros.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/boost_fusion_sequence_extension.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/concepts.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/files.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/get.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/make_bitfield_tuple.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element_n.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/external_resources.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/building_with_bitfield_tuple.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/dependencies.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/installation.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/testing.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/glossary.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/tutorial.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/bit_masks/high_bits_maskbits.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/bit_masks/integral_mask.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/bit_masks/
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/bit_masks/low_bits_mask.html (contents, props changed)
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/standalone_HTML.manifest (contents, props changed)

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/Rationale/bit_masks/overview/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/Rationale/bit_masks/overview/rationale.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../../boost_integer_bits_masks_extension/bit_masks/overview.html" title="Overview">
+<link rel="prev" href="../../../boost_integer_bits_masks_extension/bit_masks/overview/description.html" title="Description">
+<link rel="next" href="../../../integral_mask/bit_masks/integral_mask.html" title="integral_mask">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../../boost_integer_bits_masks_extension/bit_masks/overview/description.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../boost_integer_bits_masks_extension/bit_masks/overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../integral_mask/bit_masks/integral_mask.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="Rationale.bit_masks.overview.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
+</h4></div></div></div>
+<p>
+ The primary motivation for the creation of the bit masks library extension
+ lies in a need to quickly compose masks which are static typed and provide
+ additional additional information about the mask itself as well as abstract
+ the notion of contiguous bits within a mask. Bit masks are usually created
+ by using the preprocessor or by using hexadecimal characters. Often times
+ both previous methods of creating bit masks, by either macro or hexadecimal,
+ can make code less readable and at times harder to deduce types the values
+ are going to be used to represent. The other feature which this library
+ extension provides is a means to represent masks as a contiguous section
+ of bits within an integral type, which can be difficult to represent when
+ looking at hex.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../../boost_integer_bits_masks_extension/bit_masks/overview/description.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../boost_integer_bits_masks_extension/bit_masks/overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../integral_mask/bit_masks/integral_mask.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bit_width/bit_masks/bit_width.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bit_width/bit_masks/bit_width.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,200 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>bit_width</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../boost_integer_bits_masks_extension/bit_masks.html" title="Bit Masks">
+<link rel="prev" href="../../bits_mask/bit_masks/bits_mask.html" title="bits_mask">
+<link rel="next" href="../../bitfield_tuple/bitfield_tuple.html" title="bitfield_tuple">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../bits_mask/bit_masks/bits_mask.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bit_width.bit_masks.bit_width"></a><a class="link" href="bit_width.html" title="bit_width"> bit_width</a>
+</h3></div></div></div>
+<a name="bit_width.bit_masks.bit_width.description"></a><h4>
+<a name="id3219947"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.description">Description</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">bit_width</span></code> is a basic type
+ trait style meta-function which takes a type, and gives you the width of
+ that type in bits.
+ </p>
+<a name="bit_width.bit_masks.bit_width.header_file_information"></a><h4>
+<a name="id3219979"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.header_file_information">Header
+ File Information</a>
+ </h4>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bit_width</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="bit_width.bit_masks.bit_width.template_signature"></a><h4>
+<a name="id3220051"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.template_signature">Template
+ Signature</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">bit_width</span></code> has the following
+ template signature:
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">bit_width</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<a name="bit_width.bit_masks.bit_width.template_parameters"></a><h4>
+<a name="id3220146"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.template_parameters">Template
+ Parameters</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A type which you would like the width of.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="bit_width.bit_masks.bit_width.interface"></a><h4>
+<a name="id3220224"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.interface">Interface</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
+ which is the number of bits within <code class="computeroutput"><span class="identifier">T</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="bit_width.bit_masks.bit_width.preconditions"></a><h4>
+<a name="id3220338"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ You must be able to call <code class="computeroutput"><span class="keyword">sizeof</span></code>
+ on type <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is enforced by attempting to take the <code class="computeroutput"><span class="keyword">sizeof</span></code>
+ <code class="computeroutput"><span class="identifier">T</span></code> and the compiler
+ telling you you can not.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="bit_width.bit_masks.bit_width.examples"></a><h4>
+<a name="id3220460"></a>
+ <a class="link" href="bit_width.html#bit_width.bit_masks.bit_width.examples">Examples</a>
+ </h4>
+<p>
+ Example:
+</p>
+<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span> <span class="identifier">bit_width</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">==</span> <span class="number">32</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../bits_mask/bit_masks/bits_mask.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bitfield_tuple/bitfield_tuple.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bitfield_tuple/bitfield_tuple.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,125 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>bitfield_tuple</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="prev" href="../bit_width/bit_masks/bit_width.html" title="bit_width">
+<link rel="next" href="../boost_integer_bits_masks_extension/bitfield_tuple/overview.html" title="overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bit_width/bit_masks/bit_width.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_integer_bits_masks_extension/bitfield_tuple/overview.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="bitfield_tuple.bitfield_tuple"></a><a class="link" href="bitfield_tuple.html" title="bitfield_tuple">bitfield_tuple</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">overview</span></dt>
+<dd><dl>
+<dt><span class="section">Description</span></dt>
+<dt><span class="section">Motivation</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/users_guide.html">Users
+ Guide</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started.html">Getting
+ Started</a></span></dt>
+<dd><dl>
+<dt><span class="section">Installation</span></dt>
+<dt><span class="section">Dependencies</span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/building_with_bitfield_tuple.html">Building
+ With bitfield_tuple</a></span></dt>
+<dt><span class="section">Testing</span></dt>
+</dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/users_guide/external_resources.html">External
+ Resources</a></span></dt>
+<dt><span class="section">Glossary</span></dt>
+</dl></dd>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Concepts</span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference.html">bitfield_tuple
+ Class Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html">bitfield_tuple
+ and bitfield_reference</a></span></dt>
+<dt><span class="section">padding</span></dt>
+<dt><span class="section">member</span></dt>
+<dt><span class="section">flag</span></dt>
+<dt><span class="section">align</span></dt>
+<dt><span class="section">storage</span></dt>
+<dt><span class="section">pointer</span></dt>
+<dt><span class="section">custom</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference.html">bitfield_tuple
+ Macro Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html">Parameter
+ Adjustment macros</a></span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/code_generation_macros.html">Code
+ Generation Macros</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference.html">Function
+ Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/make_bitfield_tuple.html">
+ make_bitfield_tuple Free Function</a></span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/get.html">
+ get Free Function</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference.html">Meta-Function
+ Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element.html">
+ struct element</a></span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element_n.html">
+ struct element_n</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/reference/boost_fusion_sequence_extension.html">Boost.Fusion
+ Sequence Extension</a></span></dt>
+<dt><span class="section">Files</span></dt>
+</dl></dd>
+<dt><span class="section">Appendices</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/appendices/design_rationale.html">Design
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details.html">Implementation
+ Details</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation.html">Internal
+ documentation</a></span></dt>
+<dd><dl>
+<dt><span class="section">Macros</span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/class_templates.html">Class
+ Templates</a></span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/function_templates.html">Function
+ Templates</a></span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Acknowledgments</span></dt>
+<dt><span class="section"><a href="../boost_integer_bits_masks_extension/bitfield_tuple/appendices/future_work.html">Future
+ Work</a></span></dt>
+</dl></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bit_width/bit_masks/bit_width.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_integer_bits_masks_extension/bitfield_tuple/overview.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bit_masks/bits_mask.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bit_masks/bits_mask.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,444 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>bits_mask</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../boost_integer_bits_masks_extension/bit_masks.html" title="Bit Masks">
+<link rel="prev" href="../../low_bits_mask/bit_masks/low_bits_mask.html" title="low_bits_mask">
+<link rel="next" href="../../bit_width/bit_masks/bit_width.html" title="bit_width">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../low_bits_mask/bit_masks/low_bits_mask.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bit_width/bit_masks/bit_width.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="bits_mask.bit_masks.bits_mask"></a><a class="link" href="bits_mask.html" title="bits_mask"> bits_mask</a>
+</h3></div></div></div>
+<a name="bits_mask.bit_masks.bits_mask.description"></a><h4>
+<a name="id3218100"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.description">Description</a>
+ </h4>
+<p>
+ The <code class="computeroutput"><span class="identifier">bits_mask</span></code> template provides
+ an extention to the <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>
+ template, by incorporating an <code class="computeroutput"><span class="identifier">Offset</span></code>
+ with the template. The <code class="computeroutput"><span class="identifier">offest</span></code>
+ is always relative to the right most bit, or bit 0. For a basic view of how
+ <code class="computeroutput"><span class="identifier">bits_mask</span></code> works consider
+ the following examples:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+<span class="comment">// mask::value has the following binary value
+</span><span class="comment">// 0000 0000 0000 0000 0001 1100 0000 0000
+</span></pre>
+<p>
+ For simplicity there is a defualt parameter for <code class="computeroutput"><span class="identifier">Width</span></code>
+ giving it a value of <code class="computeroutput"><span class="number">1</span></code>. This
+ makes writing of normally left or right shift masks simple and staticly checkable.
+ For example,
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="comment">// If one would need to create a mask for checking the 11th bit within an
+</span><span class="comment">// integer it can be done simple with the following mask
+</span><span class="keyword">typedef</span> <span class="identifier">bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">11</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+<span class="comment">// this creates a mask at the 11th bit within an integer.
+</span></pre>
+<p>
+ </p>
+<a name="bits_mask.bit_masks.bits_mask.header_file_information"></a><h4>
+<a name="id3218325"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.header_file_information">Header
+ File Information</a>
+ </h4>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bits_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="bits_mask.bit_masks.bits_mask.template_signature"></a><h4>
+<a name="id3218397"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.template_signature">Template
+ Signature</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">bits_mask</span></code> has the following
+ template signature:
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">Offset</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">Width</span> <span class="special">=</span> <span class="number">1u</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">bits_mask</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<a name="bits_mask.bit_masks.bits_mask.bit_mask_hierarchy"></a><h4>
+<a name="id3218543"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.bit_mask_hierarchy">Bit Mask
+ Hierarchy</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">bits_mask</span></code> inherits from
+ <code class="computeroutput"><span class="identifier">integral_mask</span></code>.
+ </p>
+<a name="bits_mask.bit_masks.bits_mask.template_parameters"></a><h4>
+<a name="id3218583"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.template_parameters">Template
+ Parameters</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Is an integral type which the mask is to be created over.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Offset</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the number of bits from the least significant bit to the
+ first bit being used to compose the mask. Another way to think
+ of this is the amount that the mask has been shifted to the left
+ (using the left shift operator).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the width of the mask in bits. <code class="computeroutput"><span class="identifier">Width</span></code>
+ has a default value of <code class="computeroutput"><span class="number">1u</span></code>
+ so that <code class="computeroutput"><span class="identifier">bits_mask</span></code>
+ can be easily used to create boolean flags by providing only an
+ <code class="computeroutput"><span class="identifier">Offset</span></code> to the bit.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="bits_mask.bit_masks.bits_mask.preconditions"></a><h4>
+<a name="id3218756"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code> must be an integral
+ type.
+ </p>
+ </td>
+<td>
+ <p>
+ This is only a documented precondition. It is not enforced.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="identifier">Offset</span>
+ <span class="special">+</span> <span class="identifier">Width</span><span class="special">)</span> <span class="special">&lt;=</span>
+ <span class="special">(</span> <span class="identifier">bit_width</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Width</span> <span class="special">+</span>
+ <span class="identifier">Offset</span></code> must be less then
+ or equal to the number of bits within the integral type <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Valid range for mask width is &gt; 0.
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Width</span></code> of a
+ mask must not be zero. Because <code class="computeroutput"><span class="identifier">Width</span></code>
+ is of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code> it can not be negative.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by domain of template parameter and by static assert.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="bits_mask.bit_masks.bits_mask.interface"></a><h4>
+<a name="id3219032"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.interface">Interface</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">bits_mask</span></code> Compile time interface.
+ Assume that <code class="computeroutput"><span class="identifier">N</span></code> is of type
+ <code class="computeroutput"><span class="identifier">bits_mask</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;</span></code> the type
+ supplied here is only for example.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">value</span></code>
+ associated with <code class="computeroutput"><span class="identifier">N</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">T</span></code> which
+ is the type associated with <code class="computeroutput"><span class="identifier">value</span></code>
+ inside <code class="computeroutput"><span class="identifier">N</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the current types type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the integral value associated with the <code class="computeroutput"><span class="identifier">width</span></code>
+ template parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">offset</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the integral value associated with the <code class="computeroutput"><span class="identifier">Offset</span></code>
+ template parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Run time support function. All this function does is return the
+ value associated with the type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="bits_mask.bit_masks.bits_mask.examples"></a><h4>
+<a name="id3219424"></a>
+ <a class="link" href="bits_mask.html#bits_mask.bit_masks.bits_mask.examples">Examples</a>
+ </h4>
+<p>
+ Examples and use cases related to the <code class="computeroutput"><span class="identifier">bits_mask</span></code>
+ template.
+ </p>
+<p>
+ Example:
+ </p>
+<p>
+ Single bit mask using the default parameter for width.
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bits_mask</span><span class="special">&lt;</span> <span class="keyword">int</span><span class="special">,</span> <span class="number">0</span> <span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+<span class="comment">// mask in this case has the following value
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0000 0001
+</span>
+<span class="keyword">int</span> <span class="identifier">some_bit_value</span> <span class="special">=</span> <span class="number">0xdeadbeef</span><span class="special">;</span>
+
+<span class="comment">// now testing to see if the zero bit is set in some_bit_value
+</span><span class="keyword">if</span><span class="special">(</span><span class="identifier">some_bit_value</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">()</span> <span class="special">)</span> <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">true</span> <span class="keyword">case</span>
+ <span class="special">...</span>
+<span class="special">}</span> <span class="keyword">else</span> <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">false</span> <span class="keyword">case</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ Here is another case where the <code class="computeroutput"><span class="identifier">bits_mask</span></code>
+ template is used used similar to a bit field. The goal in this case would
+ be to extract a single value from within an integral storage type, which
+ may be storing one or more values.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">10</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+<span class="comment">// binary value of mask
+</span><span class="comment">// 0000 0000 0000 0000 0001 1111 1111 1000
+</span>
+<span class="comment">// this will then be used to retrieve a value within an integer.
+</span><span class="keyword">int</span> <span class="identifier">some_bit_value</span> <span class="special">=</span> <span class="number">0xdeadbeef</span><span class="special">;</span>
+<span class="comment">// binary value of some_bit_value
+</span><span class="comment">// 1101 1110 1010 1011 1011 1110 1110 1111
+</span>
+<span class="comment">// now to extract the value from within some_bit_value
+</span><span class="keyword">int</span> <span class="identifier">new_int_value</span> <span class="special">=</span> <span class="special">(</span> <span class="identifier">some_bit_value</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">()</span> <span class="special">)</span> <span class="special">&gt;&gt;</span> <span class="identifier">mask</span><span class="special">::</span><span class="identifier">offset</span><span class="special">;</span>
+
+<span class="comment">// basic operations taking place.
+</span><span class="comment">// 1101 1110 1010 1011 1011 1110 1110 1111 &lt;- some_bit_value
+</span><span class="comment">// 0000 0000 0000 0000 0001 1111 1111 1000 &lt;- mask::value
+</span>
+<span class="comment">// preforming bitwise and operator.
+</span>
+<span class="comment">// 0000 0000 0000 0000 0001 1110 1110 1000 &lt;- result of bitwise and operator
+</span><span class="comment">// preform right shift operation.
+</span><span class="comment">// 0000 0000 0000 0000 0000 0011 1101 1101 &lt;- value of new_int_value.
+</span></pre>
+<p>
+ </p>
+<p>
+ The implicit cast operator allows for simplicity, clarity of code. In the
+ above example <code class="computeroutput"><span class="identifier">mask</span><span class="special">()</span></code>
+ could be replaced with <code class="computeroutput"><span class="identifier">mask</span><span class="special">::</span><span class="identifier">value</span></code>
+ to achieve the same result. The same applies to all other bitwise operators.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../low_bits_mask/bit_masks/low_bits_mask.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bit_width/bit_masks/bit_width.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/HeaderSummary.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/HeaderSummary.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,218 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Header File Summary</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="prev" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="next" href="bit_masks.html" title="Bit Masks">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="bit_masks.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_integer_bits_masks_extension.HeaderSummary"></a><a class="link" href="HeaderSummary.html" title="Header File Summary"> Header
+ File Summary</a>
+</h2></div></div></div>
+<p>
+ The following table contains header files used within the bit masks library
+ extension. For additional information such as full descriptions, tutorials
+ and interface guides please use the table of contents above.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Component
+ </p>
+ </th>
+<th>
+ <p>
+ Header
+ </p>
+ </th>
+<th>
+ <p>
+ Contence
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">integral_mask</span></code> type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/integral_mask.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains <code class="computeroutput"><span class="identifier">integral_mask</span></code>
+ template.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/high_bits_mask.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains <code class="computeroutput"><span class="identifier">high_bits_mask</span></code>
+ template.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">low_bits_mask</span></code> type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/low_bits_mask.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>
+ template.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> type
+ and <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>
+ type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/high_low_bits.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains includes for <code class="computeroutput"><span class="identifier">high_bits_mask</span></code>
+ and <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bits_mask</span></code> type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/bits_mask.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains <code class="computeroutput"><span class="identifier">bits_mask</span></code>
+ template.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bit_width</span></code> type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/bit_width.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Contains the <code class="computeroutput"><span class="identifier">bit_width</span></code>
+ meta-function .
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/bitfield_tuple.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ data structure and all of the interface used for or with <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>. For a full list
+ of header files relating to the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ please see the <a class="link" href="bitfield_tuple/reference/files.html" title="Files">Files</a>
+ section of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ documentation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple_fwd</span></code>
+ type
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="literal"><boost/integer/bitfield_tuple_fwd.hpp></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Header contains a forward declaration for <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="bit_masks.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bit Masks</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="prev" href="HeaderSummary.html" title="Header File Summary">
+<link rel="next" href="bit_masks/overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="HeaderSummary.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="bit_masks/overview.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_integer_bits_masks_extension.bit_masks"></a><a class="link" href="bit_masks.html" title="Bit Masks">Bit Masks</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Overview</span></dt>
+<dd><dl>
+<dt><span class="section">Description</span></dt>
+<dt><span class="section">Rationale</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="../integral_mask/bit_masks/integral_mask.html"> integral_mask
+ </a></span></dt>
+<dt><span class="section"> high_bits_mask</span></dt>
+<dt><span class="section"> low_bits_mask</span></dt>
+<dt><span class="section"> bits_mask</span></dt>
+<dt><span class="section"> bit_width</span></dt>
+</dl></div>
+<p>
+ The Bits Masks library extension was created to help simplify the creation
+ of bit masks on compile time. The library contains multiple utilities for creating
+ and representing contiguous sections of bits within an integral type as well
+ as a utility for determining the width in bits of a type on compile time.
+ </p>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="HeaderSummary.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="bit_masks/overview.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bit_masks.html" title="Bit Masks">
+<link rel="prev" href="../bit_masks.html" title="Bit Masks">
+<link rel="next" href="overview/description.html" title="Description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bit_masks.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview/description.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_integer_bits_masks_extension.bit_masks.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Description</span></dt>
+<dt><span class="section">Rationale</span></dt>
+</dl></div>
+<p>
+ Description of the libraries uses and use cases and the rationale for the
+ creation of the libarary extension itself.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bit_masks.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview/description.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview/description.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bit_masks/overview/description.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Description</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="../overview.html" title="Overview">
+<link rel="next" href="../../../Rationale/bit_masks/overview/rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../Rationale/bit_masks/overview/rationale.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bit_masks.overview.description"></a><a class="link" href="description.html" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+ The purpose of this library extension to the Boost.Integer library is to
+ make the creation of simple and complex integral masks simple and easy
+ and compossible on compile time. The structure of the bit masks are an
+ extensions of the type <code class="computeroutput"><span class="identifier">integral_constant</span></code>
+ provided by Boost.Type Traits library. All masks are able to be treated
+ as the <code class="computeroutput"><span class="identifier">integral_constant</span></code>
+ type. All masks provide the following three compile time accessible features"
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">type</span></code>,
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">value_type</span></code>,
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">value</span></code>
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">offset</span></code>
+ and <code class="computeroutput"><span class="special">::</span><span class="identifier">width</span></code>
+ for compile time support. This also means that all masks can be used with
+ the Boost.MPL bitwise operator meta-functions for creation of more complex
+ masks. For runtime support all mask types in this library extension provide
+ the implicit cast operator allowing for the meta-function objects to be
+ used as if they were the integral value they are being used to represent.
+ The implicit cast operator is also provided by the <code class="computeroutput"><span class="identifier">integral_constant</span></code>
+ type which the masks are based upon. For example,
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">integral_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">0xdeadbeef</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">integral_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">mask_type</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">unmasked_t</span> <span class="special">=</span> <span class="identifier">t</span> <span class="special">&amp;</span> <span class="identifier">mask_type</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ For the use of a mask all that one needs to do is to construct the mask
+ and simply treat it as though it were an integer.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ All masks are trivially default constructible and destructible.
+ </p></td></tr>
+</table></div>
+<p>
+ Using masks to describe contiguious sections of bits within an integral
+ value is simplified by doing it at a higher level, using the <code class="computeroutput"><span class="identifier">offset</span></code> from the least or greatest significant
+ bit, <code class="computeroutput"><span class="identifier">width</span></code> of the contigious
+ bits, and the integral type which is to be used for masking. The following
+ are examples of how one would use the different masks to create masks at
+ a high level.
+ </p>
+<a name="boost_integer_bits_masks_extension.bit_masks.overview.description.general_use_cases"></a><h5>
+<a name="id3213904"></a>
+ <a class="link" href="description.html#boost_integer_bits_masks_extension.bit_masks.overview.description.general_use_cases">General
+ use cases</a>
+ </h5>
+<p>
+ Example: Using <code class="computeroutput"><span class="identifier">integral_mask</span></code>
+ as a trival example. The following example is of an integral mask which
+ is being used to represent hex.
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">integral_mask</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="number">0x20</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+
+<span class="comment">// Used to represent the following binary value.
+</span><span class="comment">// most significant least significant
+</span><span class="comment">// 31 23 15 7 0
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0010 0000
+</span></pre>
+<p>
+ </p>
+<p>
+ Example: Using <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>
+ to defines that the last 3 bits should be set to 1.
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">low_bits_mask</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">mask_2_low</span><span class="special">;</span>
+
+<span class="comment">// Used to represent the following binary value.
+</span><span class="comment">// most significant least significant
+</span><span class="comment">// 15 7 0
+</span><span class="comment">// 0000 0000 0000 0111
+</span></pre>
+<p>
+ </p>
+<p>
+ Example: Using <code class="computeroutput"><span class="identifier">high_bits_mask</span></code>
+ to quickly specify the sign bit of a provided type.
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">high_bits_mask</span><span class="special">&lt;</span><span class="keyword">short</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">sign_bit</span><span class="special">;</span>
+
+<span class="comment">// Used to represent the following binary value.
+</span><span class="comment">// most significant least significant
+</span><span class="comment">// 15 7 0
+</span><span class="comment">// 1000 0000 0000 0000
+</span>
+</pre>
+<p>
+ Within the above example if <code class="computeroutput"><span class="keyword">short</span></code>
+ is replaced with any other type it will represent the most significant
+ bit of that type. In the case of signed types that is the sign bit of that
+ type.
+ </p>
+<p>
+ Example: Using <code class="computeroutput"><span class="identifier">bits_mask</span></code>
+ quickly create a mask over for a bit flag within an integral type.
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">flag_mask</span><span class="special">;</span>
+
+<span class="comment">// Used to represent the following binary value.
+</span><span class="comment">// most significant least significant
+</span><span class="comment">// 31 23 15 7 0
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0000 0100
+</span></pre>
+<p>
+ </p>
+<p>
+ For additional uses and information about each of the different templates
+ used for creating integral masks please see the documentation relating
+ to each of the corresponding masks.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../Rationale/bit_masks/overview/rationale.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Appendices</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../bitfield_tuple/bitfield_tuple.html" title="bitfield_tuple">
+<link rel="prev" href="reference/files.html" title="Files">
+<link rel="next" href="appendices/design_rationale.html" title="Design Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/files.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="appendices/design_rationale.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices"></a><a class="link" href="appendices.html" title="Appendices">Appendices</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="appendices/design_rationale.html">Design
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="appendices/implementation_details.html">Implementation
+ Details</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="appendices/implementation_details/internal_documentation.html">Internal
+ documentation</a></span></dt>
+<dd><dl>
+<dt><span class="section">Macros</span></dt>
+<dt><span class="section"><a href="appendices/implementation_details/internal_documentation/class_templates.html">Class
+ Templates</a></span></dt>
+<dt><span class="section"><a href="appendices/implementation_details/internal_documentation/function_templates.html">Function
+ Templates</a></span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Acknowledgments</span></dt>
+<dt><span class="section"><a href="appendices/future_work.html">Future
+ Work</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/files.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="appendices/design_rationale.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/acknowledgments.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/acknowledgments.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgments</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="implementation_details/internal_documentation/function_templates.html" title="Function Templates">
+<link rel="next" href="future_work.html" title="Future Work">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_details/internal_documentation/function_templates.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="future_work.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_details/internal_documentation/function_templates.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="future_work.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/design_rationale.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/design_rationale.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Design Rationale</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="../appendices.html" title="Appendices">
+<link rel="next" href="implementation_details.html" title="Implementation Details">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../appendices.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="implementation_details.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.design_rationale"></a><a class="link" href="design_rationale.html" title="Design Rationale">Design
+ Rationale</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../appendices.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="implementation_details.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/future_work.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/future_work.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Future Work</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="acknowledgments.html" title="Acknowledgments">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgments.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.future_work"></a><a class="link" href="future_work.html" title="Future Work">Future
+ Work</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgments.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Implementation Details</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="design_rationale.html" title="Design Rationale">
+<link rel="next" href="implementation_details/internal_documentation.html" title="Internal documentation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design_rationale.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="implementation_details/internal_documentation.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.implementation_details"></a><a class="link" href="implementation_details.html" title="Implementation Details">Implementation
+ Details</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="implementation_details/internal_documentation.html">Internal
+ documentation</a></span></dt>
+<dd><dl>
+<dt><span class="section">Macros</span></dt>
+<dt><span class="section"><a href="implementation_details/internal_documentation/class_templates.html">Class
+ Templates</a></span></dt>
+<dt><span class="section"><a href="implementation_details/internal_documentation/function_templates.html">Function
+ Templates</a></span></dt>
+</dl></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design_rationale.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="implementation_details/internal_documentation.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Internal documentation</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../implementation_details.html" title="Implementation Details">
+<link rel="prev" href="../implementation_details.html" title="Implementation Details">
+<link rel="next" href="internal_documentation/macros.html" title="Macros">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../implementation_details.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../implementation_details.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="internal_documentation/macros.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.implementation_details.internal_documentation"></a><a class="link" href="internal_documentation.html" title="Internal documentation">Internal
+ documentation</a>
+</h5></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../implementation_details.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../implementation_details.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="internal_documentation/macros.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/class_templates.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/class_templates.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class Templates</title>
+<link rel="stylesheet" href="../../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../internal_documentation.html" title="Internal documentation">
+<link rel="prev" href="macros.html" title="Macros">
+<link rel="next" href="function_templates.html" title="Function Templates">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="macros.html"><img src="../../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../internal_documentation.html"><img src="../../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../images/home.png" alt="Home"></a><a accesskey="n" href="function_templates.html"><img src="../../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h6 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.implementation_details.internal_documentation.class_templates"></a><a class="link" href="class_templates.html" title="Class Templates">Class
+ Templates</a>
+</h6></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="macros.html"><img src="../../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../internal_documentation.html"><img src="../../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../images/home.png" alt="Home"></a><a accesskey="n" href="function_templates.html"><img src="../../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/function_templates.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/function_templates.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function Templates</title>
+<link rel="stylesheet" href="../../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../internal_documentation.html" title="Internal documentation">
+<link rel="prev" href="class_templates.html" title="Class Templates">
+<link rel="next" href="../../acknowledgments.html" title="Acknowledgments">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="class_templates.html"><img src="../../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../internal_documentation.html"><img src="../../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../acknowledgments.html"><img src="../../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h6 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.implementation_details.internal_documentation.function_templates"></a><a class="link" href="function_templates.html" title="Function Templates">Function
+ Templates</a>
+</h6></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="class_templates.html"><img src="../../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../internal_documentation.html"><img src="../../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../acknowledgments.html"><img src="../../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/macros.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/macros.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,1099 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macros</title>
+<link rel="stylesheet" href="../../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../internal_documentation.html" title="Internal documentation">
+<link rel="prev" href="../internal_documentation.html" title="Internal documentation">
+<link rel="next" href="class_templates.html" title="Class Templates">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../internal_documentation.html"><img src="../../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../internal_documentation.html"><img src="../../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../images/home.png" alt="Home"></a><a accesskey="n" href="class_templates.html"><img src="../../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.appendices.implementation_details.internal_documentation.macros"></a><a class="link" href="macros.html" title="Macros">Macros</a>
+</h6></div></div></div>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BFT_TEMPLATE_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">T</span></code>##<code class="computeroutput"><span class="number">0</span>
+ <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">,</span></code> ... <code class="computeroutput"><span class="keyword">typename</span>
+ <span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span> <span class="special">=</span>
+ <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Used
+ for making template parameters for the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ struct.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ template parameters
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_MAKE_PARAMS</span><span class="special">(</span><span class="identifier">Z</span><span class="special">,</span> <span class="identifier">N</span><span class="special">,</span> <span class="identifier">DATA</span><span class="special">)</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span>
+ <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Used
+ in the implementation of <code class="computeroutput"><span class="identifier">BOOST_MAKE_BFT_TEMPLATE_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BFT_TEMPLATE_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_UNPACK_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">::</span><span class="keyword">template</span>
+ <span class="identifier">process</span><span class="special">&lt;</span><span class="identifier">T</span></code>##<code class="computeroutput"><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ ... <code class="computeroutput"><span class="special">::</span><span class="keyword">template</span>
+ <span class="identifier">process</span><span class="special">&lt;</span><span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> This
+ is used for processing all of the template parameters by
+ "rebinding" the bft_arg_parse_impl using its
+ process template member.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple_base</span></code>
+ with macro <code class="computeroutput"><span class="identifier">BOOST_BFT_ARG_PROCESSING</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_UNPACK_CALL</span><span class="special">(</span><span class="identifier">Z</span><span class="special">,</span> <span class="identifier">N</span><span class="special">,</span> <span class="identifier">DATA</span><span class="special">)</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">::</span><span class="keyword">template</span>
+ <span class="identifier">process</span><span class="special">&lt;</span><span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span>
+ <span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Used
+ to create pattern for the <code class="computeroutput"><span class="identifier">BOOST_BFT_UNPACK_PARAMS</span><span class="special">()</span></code> macro.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_UNPACK_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_ARG_PROCESSING</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">details</span><span class="special">::</span><span class="identifier">bft_arg_parse_impl</span><span class="special">&lt;</span><span class="identifier">T0</span><span class="special">,</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;&gt;,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&lt;</span><span class="number">0u</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">BOOST_BFT_UNPACK_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> This
+ is used for processing the template arguments by passing
+ each of the arguments into the bft_arg_parse_impl.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple_base</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ bitfield_tuple_impl.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_LIST</span><span class="special">(</span><span class="identifier">Z</span><span class="special">,</span><span class="identifier">N</span><span class="special">,</span><span class="identifier">DATA</span><span class="special">)</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">DATA</span></code>##<code class="computeroutput"><span class="identifier">N</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Helps
+ produce the sequence T0, ... TN, both with and with out
+ typename before it.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAMETER_LIST</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">BOOST_BFT_BASE_TEMPLATE_PARAMS</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">BOOST_BFT_TEMPLATE_ARGS_NO_DEFAULTS</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAMETER_LIST</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>##<code class="computeroutput"><span class="number">0</span><span class="special">,</span></code>
+ ... <code class="computeroutput"><span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> used
+ to help generate type names and maintain the variadic behavior
+ of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and other internal types typenames.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ for the creation of <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ for <code class="computeroutput"><span class="identifier">_base</span></code>
+ and <code class="computeroutput"><span class="identifier">_self</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_BASE_TEMPLATE_PARAMS</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">T</span></code>##<code class="computeroutput"><span class="number">0</span><span class="special">,</span></code> ... <code class="computeroutput"><span class="keyword">typename</span>
+ <span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Macro
+ is used for generating template parameters for the <code class="computeroutput"><span class="identifier">bitfield_tuple_base</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple_base</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_TEMPLATE_ARGS_NO_DEFAULTS</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">T</span></code>##<code class="computeroutput"><span class="number">0</span><span class="special">,</span></code> ... <code class="computeroutput"><span class="keyword">typename</span>
+ <span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Part of interface.</strong></span> Helps
+ the the creation of template parameters for use in partial
+ specilization of class templates.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ Not used within library.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_SPECILIZATION_PARAM_LIST</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>##<code class="computeroutput"><span class="number">0</span><span class="special">,</span></code>
+ ... <code class="computeroutput"><span class="identifier">T</span></code>##<code class="computeroutput"><span class="identifier">N</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Part of interface.</strong></span> Helps
+ aid in the creation of class template specialization.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ Not used within library.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ template_expansion_macros.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BITFIELD_TUPLE_SINGLE_PARAMETER</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">data</span>
+ <span class="special">)</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">details</span><span class="special">::</span><span class="identifier">get_create_parameter</span><span class="special">&lt;</span><span class="identifier">BitfieldTuple</span><span class="special">,</span> <span class="identifier">n</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">parameter</span></code>##<code class="computeroutput"><span class="identifier">n</span> <span class="special">=</span>
+ <span class="number">0</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Helps
+ create a deduced parameter for the <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ function.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BITFIELD_TUPLE_CREATE_FUNCTION_PARAMETERS</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ make_bitfield_tuple.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BITFIELD_TUPLE_CREATE_FUNCTION_PARAMETERS</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">details</span><span class="special">::</span><span class="identifier">get_create_parameter</span><span class="special">&lt;</span><span class="identifier">BitfieldTuple</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">parameter</span></code>##<code class="computeroutput"><span class="number">0</span> <span class="special">=</span>
+ <span class="number">0</span><span class="special">,</span>
+ </code>...<code class="computeroutput"> <span class="keyword">typename</span>
+ <span class="identifier">details</span><span class="special">::</span><span class="identifier">get_create_parameter</span><span class="special">&lt;</span><span class="identifier">BitfieldTuple</span><span class="special">,</span> <span class="identifier">n</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">parameter</span></code>##<code class="computeroutput"><span class="identifier">n</span> <span class="special">=</span>
+ <span class="number">0</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use only.</strong></span> This
+ macro is used to create function parameters for the <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code> function.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ make_bitfield_tuple.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BITFIELD_TUPLE_ASSIGN_PARAMETER_TO_BFT_CALL</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span><span class="identifier">n</span><span class="special">,</span><span class="identifier">data</span><span class="special">)</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">details</span><span class="special">::</span><span class="identifier">assign_parameter_to_bft</span><span class="special">&lt;</span><span class="identifier">n</span><span class="special">&gt;(</span><span class="identifier">bft</span><span class="special">,</span> <span class="identifier">parameter</span></code>##<code class="computeroutput"><span class="identifier">n</span><span class="special">);</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only</strong></span> Represents
+ a function call that is generated by the <code class="computeroutput"><span class="identifier">BOOST_MAKE_BITFIELD_TUPLE_CREATE_FUNCTION_PARSE_ARGUMENTS</span><span class="special">()</span></code> macro for each parameter
+ of <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ make_bitfield_tuple.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="bold"><strong>Macro</strong></span>:
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MAKE_BITFIELD_TUPLE_CREATE_FUNCTION_PARSE_ARGUMENTS</span><span class="special">()</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Pattern</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">details</span><span class="special">::</span><span class="identifier">assign_parameter_to_bft</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">bft</span><span class="special">,</span> <span class="identifier">parameter</span></code>##<code class="computeroutput"><span class="number">0</span><span class="special">);</span></code>
+ ... <code class="computeroutput"><span class="identifier">details</span><span class="special">::</span><span class="identifier">assign_parameter_to_bft</span><span class="special">&lt;</span><span class="identifier">n</span><span class="special">&gt;(</span><span class="identifier">bft</span><span class="special">,</span> <span class="identifier">parameter</span></code>##<code class="computeroutput"><span class="identifier">n</span><span class="special">);</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Description</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Internal Use Only.</strong></span> Generates
+ function calls which are either no-op's or store data into
+ a member of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ inside of <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Where its used</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Header Defined in</strong></span>:
+ </p>
+ </td>
+<td>
+ <p>
+ make_bitfield_tuple.hpp
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../internal_documentation.html"><img src="../../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../internal_documentation.html"><img src="../../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../images/home.png" alt="Home"></a><a accesskey="n" href="class_templates.html"><img src="../../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>overview</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../bitfield_tuple/bitfield_tuple.html" title="bitfield_tuple">
+<link rel="prev" href="../../bitfield_tuple/bitfield_tuple.html" title="bitfield_tuple">
+<link rel="next" href="overview/description.html" title="Description">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview/description.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.overview"></a><a class="link" href="overview.html" title="overview">overview</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Description</span></dt>
+<dt><span class="section">Motivation</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="overview/description.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/description.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/description.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,228 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Description</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../overview.html" title="overview">
+<link rel="prev" href="../overview.html" title="overview">
+<link rel="next" href="motivation.html" title="Motivation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="motivation.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.overview.description"></a><a class="link" href="description.html" title="Description">Description</a>
+</h4></div></div></div>
+<p>
+ A <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> is a type
+ that provides access to bitfields stored within integral or integral like
+ types. The interface of this type is similar to that of a tuple, with slight
+ variations on the template parameters and <code class="computeroutput"><span class="identifier">get</span></code>
+ function, while still providing similar functionality to the boost.tuple.
+ A piratical example for using a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ could be for storing colors.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">red</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span> <span class="number">6</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">,</span> <span class="number">5</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">rgb565_t</span> <span class="special">;</span>
+</pre>
+<p>
+ To use the storage of bitfield_tuple for retrieving and storing data, all
+ that needs to be done is to call <code class="computeroutput"><span class="identifier">get</span></code>,
+ just like a Boost.Tuple. Each of the named parameters do something slightly
+ different, in the above example <code class="computeroutput"><span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">&gt;</span></code>
+ is used to specify that the type to be used for storing the bitfields within
+ is going to be an unsigned short. The <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">red</span><span class="special">,</span> <span class="number">5</span><span class="special">&gt;</span></code>
+ member is used to specify a bitfield within the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ Here is how <code class="computeroutput"><span class="identifier">member</span></code> works,
+ and relates directly back to regular recognizable C++.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ </p>
+ </th>
+<th>
+ <p>
+ <code class="computeroutput"><span class="identifier">classic</span> <span class="identifier">Struct</span>
+ <span class="identifier">Example</span></code>
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="special">...</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">red</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="special">...</span>
+<span class="special">&gt;</span> <span class="identifier">rgb656_t</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">rgb656_t</span> <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">unsigned</span> <span class="keyword">char</span> <span class="identifier">red</span><span class="special">:</span><span class="number">5</span><span class="special">;</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ Observing the above example <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">red</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span></code>
+ and <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">char</span>
+ <span class="identifier">red</span><span class="special">:</span><span class="number">5</span><span class="special">;</span></code> are specified
+ in almost the exact same way. First parameter in <code class="computeroutput"><span class="identifier">member</span></code>
+ relates directly to the <code class="computeroutput"><span class="keyword">unsigned</span>
+ <span class="keyword">char</span></code> type used in the bitfield
+ <code class="computeroutput"><span class="identifier">red</span></code> in the struct above.
+ The second parameter of member <code class="computeroutput"><span class="identifier">red</span></code>
+ which is in the above using a bitfield is a type, and the the struct rgb656_t
+ it's the name of the variable. The second parameter for member is also
+ a name for the bitfield it corresponds to and can be used with the get
+ function to retrieve the bitfield its being associated with. The third
+ parameter is the width of the bitfield in bits just as it is specified
+ using <code class="computeroutput"><span class="special">:</span><span class="number">5</span></code>
+ in the above example. Accessing of bitfields can be done either by index
+ or by name. If one chooses to retrieve a bitfield by index, the index value
+ is based on the other member which are specified before it. The following
+ is an example of how to use both an index accessor and the name accessor,
+ the two examples do the exact same thing.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Access By Name
+ </p>
+ </th>
+<th>
+ <p>
+ Access By Index
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="identifier">rgb565_t</span> <span class="identifier">rgb565</span><span class="special">;</span>
+
+ <span class="identifier">rgb565</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">31</span><span class="special">;</span>
+ <span class="identifier">rgb565</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">green</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">15</span><span class="special">;</span>
+ <span class="identifier">rgb565</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">blue</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">12</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="identifier">rgb565_t</span> <span class="identifier">rgb565</span><span class="special">;</span>
+
+ <span class="identifier">rgb565</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">31</span><span class="special">;</span>
+ <span class="identifier">rgb565</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">15</span><span class="special">;</span>
+ <span class="identifier">rgb565</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">12</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> get
+ functions return proxies to the bitfield they represent. Using a proxy
+ provides a way for the user to access the bitfields directly without the
+ hassle of doing the masking themselves.
+ </p>
+<p>
+ There are many more complex examples to follow through out this documentation,
+ but for the sake of brevity they are not listed within this section and
+ are instead listed in the example section. Here is a brief description
+ of the different things one can accomplish with the bitfield_tuple:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Bit stuffing pointers.
+ </li>
+<li class="listitem">
+ Bit stuffing into integral types.
+ </li>
+<li class="listitem">
+ Custom encoding and decoding of the storage of bits within an integral
+ or integral like type.
+ </li>
+<li class="listitem">
+ Using non-POD types for storage.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="motivation.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/motivation.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/overview/motivation.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Motivation</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../overview.html" title="overview">
+<link rel="prev" href="description.html" title="Description">
+<link rel="next" href="../users_guide.html" title="Users Guide">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="description.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../users_guide.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.overview.motivation"></a><a class="link" href="motivation.html" title="Motivation">Motivation</a>
+</h4></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier">bool_one</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier">bool_two</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">int_one</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">int_two</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">example_type</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ The goal of a bitfield tuple is to provide a method for constructing bitfields
+ which is not subject to packing restrictions of structs or classes, while
+ providing an interface simlar to that of a struct or class. For instance,
+ if a user wanted to create a struct or class which was similar to <code class="computeroutput"><span class="identifier">example_type</span></code> in the above example they
+ would write the following,
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="identifier">bool_one</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">bool_two</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">int_one</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">int_two</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ There is a problem with <code class="computeroutput"><span class="keyword">struct</span> <span class="identifier">foo</span></code>, it is not one which is so simple
+ to see. <code class="computeroutput"><span class="keyword">struct</span> <span class="identifier">foo</span></code>
+ has a <code class="computeroutput"><span class="keyword">sizeof</span></code> 4 bytes, while
+ <code class="computeroutput"><span class="identifier">example_type</span></code> is storing
+ its data within in a single byte. One can imagine the problems that arise
+ from creating a <code class="computeroutput"><span class="keyword">union</span></code> of
+ <code class="computeroutput"><span class="keyword">struct</span> <span class="identifier">foo</span></code>
+ with a <code class="computeroutput"><span class="keyword">char</span></code> type.
+ </p>
+<p>
+ One of the more advanced use cases for the bitfield_tuple is to create
+ a simple method for storing bit stuff pointers and other integral types
+ which may have additional bit which are not being used. Pointers which
+ are aligned to DWORD boundaries have the last to bits always zero. Those
+ last two bits can be used for storing a 2 bit integral type or two boolean
+ values. Another use case for the bit stuffing abilities of this data structure
+ is to allowing for bit stuffing of anything which may have always empty
+ bits. For instance, if an integer is always an even number then the last
+ bit is always going to be zero and that could be used for storing a boolean
+ value.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="description.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../users_guide.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reference</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../bitfield_tuple/bitfield_tuple.html" title="bitfield_tuple">
+<link rel="prev" href="users_guide/glossary.html" title="Glossary">
+<link rel="next" href="reference/concepts.html" title="Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="users_guide/glossary.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="reference/concepts.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Concepts</span></dt>
+<dt><span class="section"><a href="reference/bitfield_tuple_class_reference.html">bitfield_tuple
+ Class Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html">bitfield_tuple
+ and bitfield_reference</a></span></dt>
+<dt><span class="section">padding</span></dt>
+<dt><span class="section">member</span></dt>
+<dt><span class="section">flag</span></dt>
+<dt><span class="section">align</span></dt>
+<dt><span class="section">storage</span></dt>
+<dt><span class="section">pointer</span></dt>
+<dt><span class="section">custom</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/bitfield_tuple_macro_reference.html">bitfield_tuple
+ Macro Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html">Parameter
+ Adjustment macros</a></span></dt>
+<dt><span class="section"><a href="reference/bitfield_tuple_macro_reference/code_generation_macros.html">Code
+ Generation Macros</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/function_reference.html">Function
+ Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/function_reference/make_bitfield_tuple.html">
+ make_bitfield_tuple Free Function</a></span></dt>
+<dt><span class="section"><a href="reference/function_reference/get.html">
+ get Free Function</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/meta_function_reference.html">Meta-Function
+ Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/meta_function_reference/element.html">
+ struct element</a></span></dt>
+<dt><span class="section"><a href="reference/meta_function_reference/element_n.html">
+ struct element_n</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/boost_fusion_sequence_extension.html">Boost.Fusion
+ Sequence Extension</a></span></dt>
+<dt><span class="section">Files</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="users_guide/glossary.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="reference/concepts.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>bitfield_tuple Class Reference</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="concepts.html" title="Concepts">
+<link rel="next" href="bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html" title="bitfield_tuple and bitfield_reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference"></a><a class="link" href="bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">bitfield_tuple
+ Class Reference</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html">bitfield_tuple
+ and bitfield_reference</a></span></dt>
+<dt><span class="section">padding</span></dt>
+<dt><span class="section">member</span></dt>
+<dt><span class="section">flag</span></dt>
+<dt><span class="section">align</span></dt>
+<dt><span class="section">storage</span></dt>
+<dt><span class="section">pointer</span></dt>
+<dt><span class="section">custom</span></dt>
+</dl></div>
+<p>
+ This section contains information about the interface provided by the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> struct and
+ the different structs which can be used to compose it.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/align.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/align.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>align</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="flag.html" title="flag">
+<link rel="next" href="storage.html" title="storage">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flag.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="storage.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align"></a><a class="link" href="align.html" title="align">align</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.description"></a><h5>
+<a name="id3234972"></a>
+ <a class="link" href="align.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.description">Description</a>
+ </h5>
+<p>
+ Adjusts the next <code class="computeroutput"><span class="identifier">member</span></code>
+ or <code class="computeroutput"><span class="identifier">flag</span></code> template inside
+ of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ template parameter to a multiple of the <code class="computeroutput"><span class="identifier">AlignTo</span></code>
+ parameter. If the current next position is a multiple of <code class="computeroutput"><span class="identifier">AlignTo</span></code> then no adjustment will be
+ made.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Calling <code class="computeroutput"><span class="identifier">align</span><span class="special">&lt;</span><span class="number">8</span><span class="special">&gt;</span></code>
+ more then once in a row will have the same effect as calling <code class="computeroutput"><span class="identifier">align</span><span class="special">&lt;</span><span class="number">8</span><span class="special">&gt;</span></code>
+ once.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.template_signature"></a><h5>
+<a name="id3235117"></a>
+ <a class="link" href="align.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">AlignTo</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">align</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.template_parameters"></a><h5>
+<a name="id3235238"></a>
+ <a class="link" href="align.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ template Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Explanation
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">AlignTo</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The value that the next bitfield's first bit should be a multiple
+ of.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.header_file_locaton"></a><h5>
+<a name="id3235330"></a>
+ <a class="link" href="align.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.header_file_locaton">Header
+ file Locaton</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">align</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.example"></a><h5>
+<a name="id3235439"></a>
+ <a class="link" href="align.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.align.example">Example</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">i</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span> <span class="number">6</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="identifier">unsinged</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">align</span><span class="special">&lt;</span><span class="number">32</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">i</span><span class="special">,</span><span class="number">32</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">color_plus_int</span><span class="special">;</span>
+</pre>
+<p>
+ With in the above example the first 3 fields are the size of a short
+ then the alignment is pushed up to the next boundary and a full sized
+ integer is then stored at the end. This actually does make accessing
+ slightly for the integer.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flag.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="storage.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,989 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>bitfield_tuple and bitfield_reference</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="next" href="padding.html" title="padding">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="padding.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference"></a><a class="link" href="bitfield_tuple_and_bitfield_reference.html" title="bitfield_tuple and bitfield_reference">bitfield_tuple
+ and bitfield_reference</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_tuple_interface"></a><h5>
+<a name="id3227898"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_tuple_interface">bitfield_tuple
+ interface</a>
+ </h5>
+<p>
+ There are two main sections to the interface of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ The first part of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ interface is how its specified and how those specifications effect its
+ behavior and composition. The second part of the interface is the runtime
+ portion of the interface.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.template_interface"></a><h5>
+<a name="id3227956"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.template_interface">Template
+ Interface</a>
+ </h5>
+<p>
+ For all but one of the types used to specify a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ template parameters, order does matter, the one type which is not part
+ of the implicit ordering of a <code class="computeroutput"><span class="identifier">bitfield_tuples</span></code>
+ composition is the <code class="computeroutput"><span class="identifier">storage</span><span class="special">&lt;&gt;</span></code> type. For more information on
+ the storage type as it relates to ordering please see documentation relating
+ to the <code class="computeroutput"><span class="identifier">storage</span></code> template.
+ Basically the template parameters which are of type <code class="computeroutput"><span class="identifier">flag</span></code>
+ and <code class="computeroutput"><span class="identifier">member</span></code> increment
+ the <code class="computeroutput"><span class="identifier">get</span></code> function accessor's
+ index by 1. (meaning that if one was to construct a bitfield tuple using
+ a flag followed by a <code class="computeroutput"><span class="identifier">filler</span></code>,
+ followed by a <code class="computeroutput"><span class="identifier">member</span></code>,
+ than the index for the <code class="computeroutput"><span class="identifier">flag</span></code>
+ would be 0 and the index for the <code class="computeroutput"><span class="identifier">member</span></code>
+ would be 1 because <code class="computeroutput"><span class="identifier">filler</span></code>
+ doesn't have a value associated with it).
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.runtime_support_interface"></a><h5>
+<a name="id3228134"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.runtime_support_interface">Runtime
+ Support Interface</a>
+ </h5>
+<p>
+ The runtime interface of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ is composed of the basic tuple interface, that being it is default and
+ copy constructible, and provids the regular <code class="computeroutput"><span class="identifier">get</span></code>
+ funtions which a tuple does. The two main difference between the boost.tuple
+ and the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ are as follows: First, the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ doesn't return references to its data members it has to return a proxy
+ to them. Second, the bitfield_tuple provides an additional <code class="computeroutput"><span class="identifier">get</span></code> function which uses a name or empty
+ struct to access internal data elements (the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ still provides the regular <code class="computeroutput"><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">Index</span><span class="special">&gt;()</span></code> by index function as boost.tuple).
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.include_files"></a><h6>
+<a name="id3228265"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.include_files">Include
+ Files</a>
+ </h6>
+<p>
+ Header file:
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Forward declaration file:
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bitfield_tuple_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.template_signature"></a><h6>
+<a name="id3228387"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.template_signature">Template
+ Signature</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">bitfield_tuple</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ For additional information on creating specilizations over the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s implementation documentation
+ reguarding macros.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.typedefs"></a><h6>
+<a name="id3228523"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.typedefs">Typedefs</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">N</span></code> is used to represent
+ a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">members</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is an boost.mpl sequence, specifically <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span></code>.
+ <code class="computeroutput"><span class="identifier">members</span></code> holds
+ the information about the different member within the bitfield_tuple.
+ The only reason this is part of the public interface is so
+ that the fusion sequence can be made to work correctly. One
+ should never have to use the <code class="computeroutput"><span class="identifier">members</span></code>
+ type directly, however, if you must the elements contained
+ within are of type <code class="computeroutput"><span class="identifier">bitfeild_element</span></code>
+ mentioned more in the implementation section.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">storage_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The integral type being used to store bitfields within the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ For more information about how this type is either deduced
+ or supplied see the <code class="computeroutput"><span class="keyword">struct</span>
+ <span class="identifier">storage</span></code> section of
+ the class reference documentation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">bits_used</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The number of bits offset by the fields supplied by the user.
+ Bits used is of type <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;</span></code> where <code class="computeroutput"><span class="identifier">M</span></code>
+ is the sum of the bits use by all bitfields and filler bits
+ within the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ This is also the index of of the first bit of the next bitfield
+ that would be added into the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.template_members"></a><h6>
+<a name="id3228884"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.template_members">Template
+ Members</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">bitfield_reference</span></code>
+ type is responsible for acting as the proxy reference type into the storage
+ of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ This works similar to the proxy reference type supplied by <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span></code>
+ specilization.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If one wishes to work with the reference direcrly please not that the
+ <code class="computeroutput"><span class="keyword">const</span></code>'ness of the <code class="computeroutput"><span class="identifier">BitfieldElement</span></code> template parameter
+ is used to specify if reference type is a const or non const type.
+ This is due to construction of the structure which is repsonsible to
+ extracting or storing data within each bitfield.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The <code class="computeroutput"><span class="identifier">bitfieldElement</span></code>
+ type is also used to specify the bitfield to retrieve and store data
+ within.
+ </p></td></tr>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_reference</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">BitfieldElement</span><span class="special">&gt;</span> <span class="identifier">bitfield_reference</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the proxy reference type use to create a fake reference
+ to a bitfield within the bitfield_tuple.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_reference_internal_types"></a><h6>
+<a name="id3229157"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_reference_internal_types">bitfield_reference
+ Internal Types</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">ref</span></code> refers to a <code class="computeroutput"><span class="identifier">bitfield_reference</span></code> type
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span><span class="identifier">return_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The return type specified by the user, via either a member
+ or flag parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span><span class="identifier">storage_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The storage type with the same <code class="computeroutput"><span class="keyword">const</span></code>
+ ness as the <code class="computeroutput"><span class="identifier">BitfieldElement</span></code>
+ template parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ref</span><span class="special">::</span><span class="identifier">field_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integer</span><span class="special">::</span><span class="identifier">bitfield</span></code> that relates to
+ the data you are storing within the integral value. This is
+ the type which does the actual retrieval and storage of data
+ into and from the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_reference_constructors"></a><h6>
+<a name="id3229424"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_reference_constructors">bitfield_reference
+ constructors</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Constructor Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Exception Safty
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Reference Constructor
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">bitfield_reference</span><span class="special">(</span><span class="identifier">storage_t</span><span class="special">&amp;</span> <span class="identifier">field</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ TBD
+ </p>
+ </td>
+<td>
+ <p>
+ Just like a reference the bitfield_reference is constrctible
+ over the type it references.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Copy Constructor
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_reference</span><span class="special">(</span> <span class="identifier">bitfield_reference</span>
+ <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="identifier">x</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ TBD
+ </p>
+ </td>
+<td>
+ <p>
+ Copy makes a copy of the reference inside of <code class="computeroutput"><span class="identifier">x</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_reference_operators"></a><h6>
+<a name="id3229661"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.bitfield_reference_operators">bitfield_reference
+ operators</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Exception Safty
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Implicit Conversion Operator
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">inline</span> <span class="keyword">operator</span>
+ <span class="identifier">return_type</span><span class="special">()</span>
+ <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ TBD
+ </p>
+ </td>
+<td>
+ <p>
+ Allows the <code class="computeroutput"><span class="identifier">bitfield_reference</span></code>
+ type to be treated as though it is the <code class="computeroutput"><span class="identifier">return_type</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Assignment Operator
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_reference</span>
+ <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">return_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ TBD
+ </p>
+ </td>
+<td>
+ <p>
+ takes the value <code class="computeroutput"><span class="identifier">rhs</span></code>
+ and stores its value in the corrosponding bitfield in the storage
+ of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.constructors"></a><h6>
+<a name="id3229939"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.constructors">Constructors</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Constructor Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Exception Safty
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Value Constructor
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">explicit</span> <span class="identifier">bitfield_tuple</span><span class="special">(</span><span class="identifier">storage_type</span>
+ <span class="identifier">x</span> <span class="special">=</span>
+ <span class="number">0</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ No Throw
+ </p>
+ </td>
+<td>
+ <p>
+ This constructor acts as both a default constructor and allows
+ for construction over the storage type. This constructor is
+ one way of giving a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ an initial value.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Copy Constructor
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span><span class="special">(</span> <span class="identifier">bitfield_tuple</span>
+ <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="identifier">x</span> <span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ No Throw
+ </p>
+ </td>
+<td>
+ <p>
+ Copies the value from <code class="computeroutput"><span class="identifier">x</span></code>
+ into the current <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.operators"></a><h6>
+<a name="id3230205"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.operators">Operators</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Exception Safty
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Value Assignment Operator
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span> <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">storage_type</span> <span class="keyword">const</span><span class="special">&amp;)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ No Throw
+ </p>
+ </td>
+<td>
+ <p>
+ Assigns a new value to the internal storage of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Copy Assignment Operator
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span> <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">bitfield_tuple</span> <span class="keyword">const</span><span class="special">&amp;)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ No Throw
+ </p>
+ </td>
+<td>
+ <p>
+ Assigns a new value to the internal storage of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.member_functions"></a><h6>
+<a name="id3230464"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.member_functions">Member
+ functions</a>
+ </h6>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ All of the <code class="computeroutput"><span class="identifier">bitfield_reference</span></code>
+ types returned by the <code class="computeroutput"><span class="identifier">get</span></code>
+ functions listed below are deduced at compile time so they are ommited
+ for clarity.
+ </p></td></tr>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">storage_type</span> <span class="identifier">data</span><span class="special">(</span>
+ <span class="special">)</span> <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This returns a copy of the internal storage from within a bitfield
+ tuple.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">&gt;</span></code> <em class="replaceable"><code><code class="computeroutput"><span class="identifier">bitfield_reference</span></code> type</code></em>
+ <code class="computeroutput"><span class="identifier">get</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a reference type corrisponding to the field stored
+ with <code class="computeroutput"><span class="identifier">Name</span></code> specified
+ in the template parameters.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">&gt;</span></code> <em class="replaceable"><code><code class="computeroutput"><span class="identifier">bitfield_reference</span></code> type</code></em>
+ <code class="computeroutput"><span class="identifier">get</span><span class="special">()</span>
+ <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Const version of the above function.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">&gt;</span></code> <em class="replaceable"><code><code class="computeroutput"><span class="identifier">bitfield_reference</span></code> type</code></em>
+ <code class="computeroutput"><span class="identifier">get</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the same as the boost.tuple get function. The only
+ difference is that it returns a proxy reference type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">&gt;</span></code> <em class="replaceable"><code><code class="computeroutput"><span class="identifier">bitfield_reference</span></code> type</code></em>
+ <code class="computeroutput"><span class="identifier">get</span><span class="special">()</span>
+ <span class="keyword">const</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Const version of the above function.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.preconditions_on_the_bitfield_tuple_template"></a><h6>
+<a name="id3230959"></a>
+ <a class="link" href="bitfield_tuple_and_bitfield_reference.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.bitfield_tuple_and_bitfield_reference.preconditions_on_the_bitfield_tuple_template">Preconditions
+ on the bitfield_tuple template</a>
+ </h6>
+<p>
+ The following is a list of documented and/or enforeced preconditions
+ for constructing a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ All of the preconditions will be noted as either being documentation
+ only or enfocred. For documentation only preconditions please treat them
+ as recomended usage of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>,
+ if you do not follow the documentation only preconditions the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> may not behave as you
+ intend. All enforced preconditions if violated will result in compilation
+ failure normally resulting from a static assertion, look up failure or
+ an error message generated by <code class="computeroutput"><span class="preprocessor">#error</span></code>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enfocement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ The storage policy must not be specified more then once within
+ the template parameters of bitfield_tuple template.
+ </p>
+ </td>
+<td>
+ <p>
+ Don't supply multiple <code class="computeroutput"><span class="identifier">storage</span><span class="special">&lt;&gt;</span></code> parameters to the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ A member or flag can not have the same name type as another
+ member or flag
+ </p>
+ </td>
+<td>
+ <p>
+ Don't supply <code class="computeroutput"><span class="identifier">memeber</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;</span></code> to the same <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> template.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ A <code class="computeroutput"><span class="identifier">member</span></code> can
+ not have a width of 0.
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">0</span><span class="special">&gt;</span></code>
+ will result in an error.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The width of a member can not exceed the width, in bits, of
+ its return type.
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">33</span><span class="special">&gt;</span></code>
+ will result in an error.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The total width of the sum of all bit fields must not exceed
+ the bit width of the storage type.
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span><span class="special">&lt;</span><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">20</span><span class="special">&gt;,</span> <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">blue</span><span class="special">,</span><span class="number">21</span><span class="special">&gt;,</span> <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">bft</span></code> Will result in
+ an error. Please see documentation for storage type for behavior
+ when a storage type is not specified by the user as this behavior
+ still applies in that situation.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by Static Assert
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ must not exceed 50.
+ </p>
+ </td>
+<td>
+ <p>
+ Don't set the <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ to a value higher then 50. This is because the <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span></code> doesn't support more
+ then 50 parameters. Please see documentation <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code> under
+ macro reference section for additional information regarding
+ the <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ macro.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by macro error message.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Don't set <code class="computeroutput"><span class="identifier">BOOST_MPL_LIMIT_VECTOR_SIZE</span></code>
+ to be less then <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">BOOST_MPL_LIMIT_VECTOR_SIZE</span></code>
+ is set and <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ is set and <code class="computeroutput"><span class="identifier">BOOST_MPL_LIMIT_VECTOR_SIZE</span></code>
+ &lt; <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ is true, it is impossible for the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ to store all of its parameters inside of the <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by macro error message.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="padding.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/custom.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/custom.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,536 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>custom</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="pointer.html" title="pointer">
+<link rel="next" href="../bitfield_tuple_macro_reference.html" title="bitfield_tuple Macro Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pointer.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom"></a><a class="link" href="custom.html" title="custom">custom</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.description"></a><h5>
+<a name="id3239190"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.description">Description</a>
+ </h5>
+<p>
+ The <code class="computeroutput"><span class="identifier">custom</span></code> member is
+ a template which is used to do to integers what <code class="computeroutput"><span class="identifier">pointer</span></code>
+ does to pointers. That being said, the custom class allows for semi-intrusive
+ behavior with regards to the storage of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ In the simplest use cases the <code class="computeroutput"><span class="identifier">custom</span></code>
+ member will only ever take three template parameters and will use the
+ default policy which is supplied.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.template_signature"></a><h5>
+<a name="id3239265"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">ReturnType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Mask</span><span class="special">,</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">Policy</span> <span class="special">=</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">custom_packing_policy</span>
+<span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">custom</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.template_parameters"></a><h5>
+<a name="id3239504"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ template Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Explanation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ReturnType</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type that the value is to be returned from the get function
+ as.You may supply a signed type for a member but please note
+ that a singed bit will be stored within the width you specify,
+ so if you don't need negative values you should not store them.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is a type which is associated with the bitfield which
+ is represented by this member template.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Mask</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is a mask which minimally defines the following two <code class="computeroutput"><span class="keyword">typedef</span></code>s and static constant:
+ <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">type</span></code>, <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value_type</span></code>,
+ and <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value</span></code>. There are masking
+ utilities which are included with <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ which make using this parameter easier.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Policy</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See below in the <code class="computeroutput"><span class="identifier">Policy</span></code>
+ Section of this page. Default behavior is to apply the Mask
+ to the incoming information and extract it, shift the new information
+ to the correct location of the bitfield within the <code class="computeroutput"><span class="identifier">bitfield_tuples</span></code> storage.
+ The next step is to take the complement of the current shifted
+ mask and &amp; that with the storage, and | that with the shifted
+ value then store that in the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ storage. The similar is done to get the information out of
+ the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ storage. <span class="bold"><strong>For MOST cases this will NOT
+ have to be used and the default case will work just fine.</strong></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.preconditions"></a><h4>
+<a name="id3239832"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value</span> <span class="special">!=</span>
+ <span class="number">0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The value associated with the mask can not be zero.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code> must be
+ unique.
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Name</span></code> template
+ parameter can only be supplied once per <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.header_file_location"></a><h5>
+<a name="id3240010"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.header_file_location">Header
+ file Location</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">custom</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.examples"></a><h5>
+<a name="id3240120"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.examples">Examples</a>
+ </h5>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.using_a__code__phrase_role__identifier__custom__phrase___code__member_to_store_the_16_most_significant_bits_of_an_integer"></a><h6>
+<a name="id3240144"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.using_a__code__phrase_role__identifier__custom__phrase___code__member_to_store_the_16_most_significant_bits_of_an_integer">Using
+ a <code class="computeroutput"><span class="identifier">custom</span></code> member to store
+ the 16 most significant bits of an integer</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bifield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitifields</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">high_bits_mask</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span> <span class="identifier">top16bits</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">int1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">int2</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">&gt;,</span>
+ <span class="identifier">custom</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">int1</span><span class="special">,</span> <span class="identifier">top16bits</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">int2</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">two_different_halves</span><span class="special">;</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">custom</span></code> members are accessed
+ just the same as every other member within a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ by simply using the get function followed by its index or <code class="computeroutput"><span class="identifier">Name</span></code>.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.how_to_define_a_policy_for_a_custom_member"></a><h5>
+<a name="id3240550"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.how_to_define_a_policy_for_a_custom_member">How
+ to Define a Policy For a Custom Member</a>
+ </h5>
+<p>
+ As stated before, if the previous case works for you then this is unnecessary.
+ Defining a policy is only necessary when you need to do custom packing
+ of a type before it's stored and custom unpack before it's returned.
+ Custom packing means that you are storing a mass of normally non contiguous
+ bits in a contiguous manner and expanding them to be non-contiguous afterwards.
+ </p>
+<p>
+ The template signature of a policy, as seen above in the template parameters,
+ table takes 4 arguments. Here is what to expect for each of those template
+ arguments.
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Mask</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Offset</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Width</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">my_policy</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.policy_parameter_description"></a><h6>
+<a name="id3240692"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.policy_parameter_description">Policy
+ Parameter Description</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Mask</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Mask</span></code> is the
+ template parameter which was supplied to the <code class="computeroutput"><span class="identifier">custom</span></code> member as a <code class="computeroutput"><span class="identifier">Mask</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ValueType</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the type which was supplied to the <code class="computeroutput"><span class="identifier">custom</span></code>
+ template as the <code class="computeroutput"><span class="identifier">ReturnType</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Offset</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This of type <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&lt;</span></code><span class="emphasis"><em>Implementation
+ Defined</em></span><code class="computeroutput"><span class="special">&gt;</span></code>
+ which is used to denote the number of bits from the least significant
+ bit the field is supposed to be.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This of type <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&lt;</span></code><span class="emphasis"><em>Implementation
+ Defined</em></span><code class="computeroutput"><span class="special">&gt;</span></code>.
+ The width is deduced from the mask supplied to the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> based on leading
+ and trailing zeros within <code class="computeroutput"><span class="identifier">Mask</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.policy_body"></a><h6>
+<a name="id3241022"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.policy_body">Policy
+ Body</a>
+ </h6>
+<p>
+ The body of the class template must contain the following <code class="computeroutput"><span class="keyword">typedef</span></code> and member template.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the ValueType which was supplied to the policy. If
+ the <code class="computeroutput"><span class="keyword">typedef</span></code> isn't
+ the same as ValueType it could cause problems however there
+ is nothing enforcing this. So if you attempt to specify a different
+ type for value_type then ValueType do so at your own risk.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">StorageType</span><span class="special">&gt;</span> <span class="keyword">struct</span>
+ <span class="identifier">apply</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Because at the time the policy is being instantiated and kept
+ for later use the type of the storage may not be known yet.
+ It has to be passed in at a later time. The <code class="computeroutput"><span class="identifier">StorageType</span></code>
+ in the apply member template refers to the integral type which
+ the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ is using for storing its bitfields.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ I recommend that if you wish to specialize the policy you do so by
+ having the <code class="computeroutput"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">StorageType</span><span class="special">&gt;</span> <span class="keyword">struct</span>
+ <span class="identifier">apply</span><span class="special">;</span></code>
+ inherit something which takes all five template parameters in scope:
+ <code class="computeroutput"><span class="identifier">Mask</span></code>, <code class="computeroutput"><span class="identifier">ValueType</span></code>, <code class="computeroutput"><span class="identifier">Offset</span></code>,
+ <code class="computeroutput"><span class="identifier">Width</span></code> and <code class="computeroutput"><span class="identifier">StorageType</span></code> and then define the necessary
+ two static functions there.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.the__code__phrase_role__identifier__apply__phrase___code__member_template"></a><h6>
+<a name="id3241342"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.the__code__phrase_role__identifier__apply__phrase___code__member_template">The
+ <code class="computeroutput"><span class="identifier">apply</span></code> member template</a>
+ </h6>
+<p>
+ The apply member template is where the actual magic happens so to speak.
+ The apply template defines two static functions. The two static functions
+ are what is called to preform the actual storage and retrieval of the
+ bitfield itself.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Static Function
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">static</span> <span class="identifier">StorageType</span>
+ <span class="identifier">set</span><span class="special">(</span><span class="identifier">StorageType</span> <span class="identifier">storage</span><span class="special">,</span> <span class="identifier">ValueType</span>
+ <span class="identifier">value</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This function is used to set the value of the bitfield and
+ store it inside of storage then return storage. The returned
+ storage is set to the storage which <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ uses.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">static</span> <span class="identifier">ValueType</span>
+ <span class="identifier">get</span><span class="special">(</span><span class="identifier">StorageType</span> <span class="identifier">storage</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieves the value of from <code class="computeroutput"><span class="identifier">storage</span></code>
+ which is the actual storage from within <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and returns the value of the bitfield.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.completed_policy_structure_"></a><h6>
+<a name="id3241594"></a>
+ <a class="link" href="custom.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.custom.completed_policy_structure_">Completed
+ Policy Structure </a>
+ </h6>
+<p>
+ Example of what a completed policy will need to look like.
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Mask</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ValueType</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Offset</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Width</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">my_policy</span> <span class="special">{</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">ValueType</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">StorageType</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">apply</span> <span class="special">{</span>
+ <span class="keyword">static</span> <span class="identifier">ValueType</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">StorageType</span> <span class="identifier">storage</span><span class="special">);</span>
+ <span class="keyword">static</span> <span class="identifier">StorageType</span> <span class="identifier">set</span><span class="special">(</span><span class="identifier">StorageType</span> <span class="identifier">storage</span><span class="special">,</span> <span class="identifier">ValueType</span> <span class="identifier">value</span><span class="special">);</span>
+ <span class="special">};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pointer.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/flag.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/flag.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,204 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>flag</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="member.html" title="member">
+<link rel="next" href="align.html" title="align">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="member.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="align.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag"></a><a class="link" href="flag.html" title="flag">flag</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.description"></a><h5>
+<a name="id3233856"></a>
+ <a class="link" href="flag.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.description">Description</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="identifier">flag</span></code> is used to specify
+ a boolean member of width one. This is a simplification of <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier">NameType</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;</span></code> and
+ does the exact same thing.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.template_signature"></a><h5>
+<a name="id3233940"></a>
+ <a class="link" href="flag.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">flag</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.template_parameters"></a><h5>
+<a name="id3234057"></a>
+ <a class="link" href="flag.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ template Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Explanation
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the name which can be used to access the template parameter
+ using the get function.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.preconditions"></a><h4>
+<a name="id3234147"></a>
+ <a class="link" href="flag.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code> must be
+ unique.
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Name</span></code> template
+ parameter can only be supplied once per <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.header_file_location"></a><h5>
+<a name="id3234270"></a>
+ <a class="link" href="flag.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.header_file_location">Header
+ File Location</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">flag</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.example"></a><h5>
+<a name="id3234379"></a>
+ <a class="link" href="flag.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.flag.example">Example</a>
+ </h5>
+<p>
+ This is the simplification which <code class="computeroutput"><span class="identifier">flag</span></code>
+ makes in comparison to writing the same thing using the <code class="computeroutput"><span class="identifier">member</span></code> template.
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">b</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">bitfield_tuple_1</span><span class="special">;</span>
+
+
+<span class="keyword">typedef</span> <span class="identifier">btifield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier">b</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">bitfield_tuple_2</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ Example of how to use <code class="computeroutput"><span class="identifier">flag</span></code>
+ within the declaration of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ template.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">b0</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b2</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b3</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">something</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">btifield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b0</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b1</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b2</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b3</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">something</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">int_bool_size_char</span><span class="special">;</span>
+</pre>
+<p>
+ The above type is used to represent a char which is split between 4
+ <code class="computeroutput"><span class="keyword">bool</span></code> values and a 4 bit
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="member.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="align.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/member.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/member.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,263 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>member</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="padding.html" title="padding">
+<link rel="next" href="flag.html" title="flag">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="padding.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="flag.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member"></a><a class="link" href="member.html" title="member">member</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.description"></a><h5>
+<a name="id3232619"></a>
+ <a class="link" href="member.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.description">Description</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="identifier">member</span></code> is used for specifying
+ different bitfields within a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ A <code class="computeroutput"><span class="identifier">member</span></code> is meant to
+ look like a bitfield when it is declared within a <code class="computeroutput"><span class="keyword">class</span></code>
+ or <code class="computeroutput"><span class="keyword">struct</span></code>. A <code class="computeroutput"><span class="identifier">member</span></code> is the most basic type of bitfield
+ that can be used for a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ When other templates used to specify a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ are noted as members, it means they have storage space as a bitfield
+ within the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.template_signature"></a><h5>
+<a name="id3232748"></a>
+ <a class="link" href="member.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ReturnType</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">NameType</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Width</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">member</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.template_parameters"></a><h5>
+<a name="id3232907"></a>
+ <a class="link" href="member.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ template Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Explanation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ReturnType</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type that the value is to be returned from the get function
+ as.You may supply a signed type for a member but please note
+ that a singed bit will be stored within the width you specify,
+ so if you don't need negative values you should not store them.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">NameType</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is a type which is associated with the bitfield which
+ is represented by this member template. All names supplied
+ to a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ can only be used one per <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ The is enforced as a precondition.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The number of bits you would like associated with the field
+ represented by the <code class="computeroutput"><span class="identifier">member</span></code>
+ template.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.preconditions"></a><h4>
+<a name="id3233099"></a>
+ <a class="link" href="member.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span> <span class="special">!=</span>
+ <span class="number">0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Width</span></code> template
+ parameter must not be zero.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span> <span class="special">&lt;=</span>
+ <span class="identifier">bit_width</span><span class="special">&lt;</span><span class="identifier">ReturnType</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Width</span></code> parameter
+ of <code class="computeroutput"><span class="identifier">member</span></code> must
+ not exceed the width in bits of <code class="computeroutput"><span class="identifier">ReturnType</span></code>
+ template parameter.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">NameType</span></code> must
+ be unique.
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">NameType</span></code>
+ template parameter can only be supplied once per <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.header_file_location"></a><h5>
+<a name="id3233379"></a>
+ <a class="link" href="member.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.header_file_location">Header
+ file Location</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">member</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.example"></a><h5>
+<a name="id3233488"></a>
+ <a class="link" href="member.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.member.example">Example</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">salmon</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">color_tuple</span><span class="special">;</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">member</span></code>s specified
+ in <code class="computeroutput"><span class="identifier">color_tuple</span></code> above
+ are used to specify the different bitfields within the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="padding.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="flag.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/padding.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/padding.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,142 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>padding</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="bitfield_tuple_and_bitfield_reference.html" title="bitfield_tuple and bitfield_reference">
+<link rel="next" href="member.html" title="member">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_tuple_and_bitfield_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="member.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding"></a><a class="link" href="padding.html" title="padding">padding</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.description"></a><h5>
+<a name="id3231794"></a>
+ <a class="link" href="padding.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.description">Description</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="identifier">padding</span></code> specifies a number
+ of empty bits to be ignored. Another good way to think about this is
+ as bit padding, it adds the number of bits in padding when specified.
+ From an implementation stand point it adds <code class="computeroutput"><span class="identifier">Bits</span></code>
+ to the starting the next starting position of the next bitfield specified
+ in the template parameter list. This class is used to give explicit control
+ to the user when it comes to the internal storage of the bits within
+ the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.template_signature"></a><h5>
+<a name="id3231860"></a>
+ <a class="link" href="padding.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Bits</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">padding</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.template_parameters"></a><h5>
+<a name="id3231986"></a>
+ <a class="link" href="padding.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Bits</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The amount of padding to add.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.header_file_location"></a><h5>
+<a name="id3232075"></a>
+ <a class="link" href="padding.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.header_file_location">Header
+ File Location</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">padding</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.example"></a><h5>
+<a name="id3232182"></a>
+ <a class="link" href="padding.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.padding.example">Example</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">integer</span><span class="special">\</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">pink</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">salmon</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">padding</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">blue</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">tuple_with_padding</span><span class="special">;</span>
+</pre>
+<p>
+ All the padding does in the above is shift the last two members over
+ by 3 bits.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_tuple_and_bitfield_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="member.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/pointer.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/pointer.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,358 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>pointer</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="storage.html" title="storage">
+<link rel="next" href="custom.html" title="custom">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="storage.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="custom.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer"></a><a class="link" href="pointer.html" title="pointer">pointer</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.description"></a><h5>
+<a name="id3237064"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.description">Description</a>
+ </h5>
+<p>
+ The pointer member is a member of a bitfield_tuple which allows the user
+ to use a bitfield to store a pointer. This is useful when a user has
+ allocated an object on a DWORD boundry, when that happens the last two
+ bits of a pointer are 0. Because the last to bits of the pointer are
+ zero two boolean values can be stored within those two bits effectivly
+ saving 2 bytes per pointer. There are other types of space optimizations
+ which can be preformed when you know how a perticular object is going
+ to be allocated. Another example of what the pointer member can be used
+ for stuffing bits into the leading bits of the pointer. This can be done
+ in a valid manner if the address of the pointer is at a lower value.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.template_signature"></a><h5>
+<a name="id3237118"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">ReturnType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Mask</span> <span class="special">=</span> <span class="identifier">implementation</span> <span class="identifier">defined</span>
+ <span class="special">&gt;</span>
+<span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">pointer</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.template_parameters"></a><h5>
+<a name="id3237291"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ template Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Explanation
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ReturnType</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the type which a pointer is being made to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code> of the
+ field which is can be used to access the field with the get
+ function.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Mask</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is a mask which minimally defines the following two <code class="computeroutput"><span class="keyword">typedef</span></code>s and static constant:
+ <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">type</span></code>, <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value_type</span></code>,
+ and <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value</span></code>. There are masking
+ utilities which are included with <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ which make using this parameter easier. The <code class="computeroutput"><span class="identifier">Mask</span></code>
+ is used to define the value bits of the pointer which are to
+ be stored within the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ The default value for this parameter is to define a <code class="computeroutput"><span class="identifier">Mask</span></code> over an integral type
+ which is the same size as a pointer, and leaves off the 2 least
+ significant bits of the pointer. This is because on most 32
+ and 64 bit architectures it is common for most allocation to
+ be DWORD aligned, which makes the address divisible by 4.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.preconditions"></a><h4>
+<a name="id3237579"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value</span> <span class="special">!=</span>
+ <span class="number">0</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The value associated with the mask can not be zero.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">Mask</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">)</span>
+ <span class="special">==</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">void</span><span class="special">*)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The value type of the mask must be the same size as a pointer.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code> must be
+ unique.
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Name</span></code> template
+ parameter can only be supplied once per <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.header_file_locaton"></a><h5>
+<a name="id3237841"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.header_file_locaton">Header
+ file Locaton</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.basic_example"></a><h5>
+<a name="id3237950"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.basic_example">Basic
+ Example</a>
+ </h5>
+<p>
+ Basic use case for stuffing the 2 least significant bits of a pointer.
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">ptr</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b2</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">ptr</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b1</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b2</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">bool_stuffed_ptr</span><span class="special">;</span>
+
+
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="keyword">int</span><span class="special">*</span> <span class="identifier">some_ptr</span> <span class="special">=</span> <span class="keyword">new</span> <span class="keyword">int</span><span class="special">();</span>
+ <span class="identifier">bool_stuffed_ptr</span> <span class="identifier">bsp</span><span class="special">;</span>
+ <span class="identifier">bsp</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">ptr</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="identifier">some_ptr</span><span class="special">;</span>
+
+ <span class="comment">// prints the value of the integer being pointed at.
+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">bsp</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">ptr</span><span class="special">&gt;()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">bool_stuffed_ptr</span></code>
+ type allows for a the <code class="computeroutput"><span class="identifier">ptr</span></code>
+ member to point to an integer which is DWORD aligned within memory and
+ use the unused bits inside of it for storage of 2 additional boolean
+ values. If a valid address has been stored for <code class="computeroutput"><span class="identifier">ptr</span></code>
+ the value returned from the get function will be dereferenceable just
+ like a regular pointer.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.mask_example"></a><h5>
+<a name="id3238474"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.mask_example">Mask
+ Example</a>
+ </h5>
+<p>
+ Example of how to define a the <code class="computeroutput"><span class="identifier">Mask</span></code>
+ parameter for differently aligned memory allocations. The following allocations
+ are 8 byte aligned rather then 4 byte aligned, which leaves 3 bits instead
+ of 2 bits.
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">ptr</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b2</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">b3</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">high_bits_mask</span><span class="special">&lt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span>
+ <span class="identifier">bit_width</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">-</span> <span class="number">3</span>
+<span class="special">&gt;</span> <span class="identifier">ptr_mask</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">ptr</span><span class="special">,</span> <span class="identifier">ptr_mask</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b1</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b2</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">b3</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">bool_stuffed_ptr</span><span class="special">;</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">high_bits_mask</span></code> defines a mask which
+ starting at the most significant bit makes a contiguous section of 1
+ bits which are used to compose a mask. In the above example <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> is being used to create
+ the following mask in binary (assuming a 32 bit architecture):
+ </p>
+<pre class="programlisting">most significant bit least significant bit
+ 31 0
+ 1111 1111 1111 1111 1111 1111 1111 1000
+</pre>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.two_pointers_and_a_4_bit_integer"></a><h6>
+<a name="id3238894"></a>
+ <a class="link" href="pointer.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.pointer.two_pointers_and_a_4_bit_integer">Two
+ Pointers and a 4 Bit Integer</a>
+ </h6>
+<p>
+ The next example is how to on a 32 bit system to stuff two pointers to
+ DWORD aligned memory and a 4 bit integer into a single <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">long</span>
+ <span class="keyword">long</span></code> type.
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">ptr1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">ptr2</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">four_bit_int</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">ptr1</span><span class="special">&gt;,</span>
+ <span class="identifier">pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">ptr2</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">four_bit_int</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">pointer_double_stuffed</span><span class="special">;</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">pointer</span></code> members are
+ treated as bitfields and simply move around within the storage of the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> as a normal
+ member would be. This can effect the access time but only by a shift
+ operation to correctly place place the pointer to match the value bits
+ of its mask.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="storage.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="custom.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/storage.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/storage.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,230 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>storage</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+<link rel="prev" href="align.html" title="align">
+<link rel="next" href="pointer.html" title="pointer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="align.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pointer.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage"></a><a class="link" href="storage.html" title="storage">storage</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.description"></a><h5>
+<a name="id3235895"></a>
+ <a class="link" href="storage.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.description">Description</a>
+ </h5>
+<p>
+ The <code class="computeroutput"><span class="identifier">storage</span></code> template
+ is optional (you don't have to have one in the template parameter list
+ of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>).
+ You may use it to specify that type you would like your bitfields to
+ be stored within. If you don't specify a storage type using the <code class="computeroutput"><span class="identifier">storage</span></code> parameter a type will be selected
+ for you which can hold all of your bitfields. The deduced type will be
+ unsigned and one off the following types from within &lt;boost/cstdint.hpp&gt;,
+ uint_least8_t, uint_least16_t, uint_least32_t or if you have long long
+ support enabled, uint_least64_t. You can use boost.integer endian to
+ specify your storage type as one which is different from your current
+ machine and the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ will store the data values in the endianness specified as well as return
+ and accept values in the endianness of your native machine.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.template_signature"></a><h5>
+<a name="id3235991"></a>
+ <a class="link" href="storage.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.template_signature">Template
+ Signature</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">StorageType</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">storage</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.template_parameters"></a><h5>
+<a name="id3236109"></a>
+ <a class="link" href="storage.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.template_parameters">Template
+ Parameters</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ template Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Explanation
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">StorageType</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The storage type to be used for storing data inside of the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.preconditions"></a><h4>
+<a name="id3236215"></a>
+ <a class="link" href="storage.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ storage type can be supplied 0 or 1 times for the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">storage</span></code>
+ not be specified more then once per inside of the template
+ parameters for a single <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Total width of all bitfields in a single <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ can not exceed the width in bits of the storage type when the
+ storage type is specified or 64 bits when a storage type is
+ not specified if you system supports some form 64 bit integer
+ other wise the limit is set to 32 bits.
+ </p>
+ </td>
+<td>
+ <p>
+ This is a limitation on the internal storage that <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> uses to hold
+ its bitfields.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.header_file_locaton"></a><h5>
+<a name="id3236395"></a>
+ <a class="link" href="storage.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.header_file_locaton">Header
+ file Locaton</a>
+ </h5>
+<p>
+ This header file is included with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">details</span><span class="special">/</span><span class="identifier">bft</span><span class="special">/</span><span class="identifier">storage</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.example"></a><h5>
+<a name="id3236505"></a>
+ <a class="link" href="storage.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_class_reference.storage.example">Example</a>
+ </h5>
+<p>
+ Specified storage type example.
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">unsinged</span> <span class="keyword">int</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">green</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">blue</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">rgb444</span><span class="special">;</span>
+</pre>
+<p>
+ The type <code class="computeroutput"><span class="identifier">rgb444</span></code> shown
+ in the above example has the size of 4. <code class="computeroutput"><span class="identifier">rgb444</span></code>
+ has the same size as the integer type which the storage type specifies.
+ </p>
+<p>
+ non-specified storage type example.
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">green</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">blue</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">rgb444_2</span><span class="special">;</span>
+</pre>
+<p>
+ The in this example a storage type is being deduced by the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>. So the type <code class="computeroutput"><span class="identifier">rgb444_2</span></code> has a size of 2 which is the
+ size of an unsigned short which is the smallest type that could hold
+ all of the bitfields.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="align.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_class_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="pointer.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>bitfield_tuple Macro Reference</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="bitfield_tuple_class_reference/custom.html" title="custom">
+<link rel="next" href="bitfield_tuple_macro_reference/parameter_adjustment_macros.html" title="Parameter Adjustment macros">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_tuple_class_reference/custom.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_tuple_macro_reference/parameter_adjustment_macros.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference"></a><a class="link" href="bitfield_tuple_macro_reference.html" title="bitfield_tuple Macro Reference">bitfield_tuple
+ Macro Reference</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="bitfield_tuple_macro_reference/parameter_adjustment_macros.html">Parameter
+ Adjustment macros</a></span></dt>
+<dt><span class="section"><a href="bitfield_tuple_macro_reference/code_generation_macros.html">Code
+ Generation Macros</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_tuple_class_reference/custom.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_tuple_macro_reference/parameter_adjustment_macros.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/code_generation_macros.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/code_generation_macros.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,136 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Code Generation Macros</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_macro_reference.html" title="bitfield_tuple Macro Reference">
+<link rel="prev" href="parameter_adjustment_macros.html" title="Parameter Adjustment macros">
+<link rel="next" href="../function_reference.html" title="Function Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parameter_adjustment_macros.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../function_reference.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference.code_generation_macros"></a><a class="link" href="code_generation_macros.html" title="Code Generation Macros">Code
+ Generation Macros</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference.code_generation_macros.macros"></a><h6>
+<a name="id3242210"></a>
+ <a class="link" href="code_generation_macros.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference.code_generation_macros.macros">Macros</a>
+ </h6>
+<p>
+ Macros used for generating template parameters for use in specilization
+ and generating template parameters. The <code class="computeroutput"><span class="identifier">N</span></code>
+ value in the below sequences below represent the value of <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Pattern
+ </p>
+ </th>
+<th>
+ <p>
+ Usage
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_TEMPLATE_ARGS_NO_DEFAULTS</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="special">...</span>
+ <span class="keyword">typename</span> <span class="identifier">TN</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Recomended for use outside of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ This macro is used to create template parameters which can
+ be used for specialization over a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_SPECILIZATION_PARAM_LIST</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T0</span><span class="special">,</span>
+ <span class="special">...</span> <span class="identifier">TN</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Recomended for use outside of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ This macro is used to create template parameters which are
+ then supplied to the template of a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Here is example useage of the macros that can be used to specilize a
+ class template over the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">;</span>
+
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">BOOST_BFT_TEMPLATE_ARGS_NO_DEFAULTS</span><span class="special">()&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">foo</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfield_tuple</span><span class="special">&lt;</span> <span class="identifier">BOOST_BFT_SPECILIZATION_PARAM_LIST</span><span class="special">()</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="special">};</span>
+
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parameter_adjustment_macros.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../function_reference.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Parameter Adjustment macros</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../bitfield_tuple_macro_reference.html" title="bitfield_tuple Macro Reference">
+<link rel="prev" href="../bitfield_tuple_macro_reference.html" title="bitfield_tuple Macro Reference">
+<link rel="next" href="code_generation_macros.html" title="Code Generation Macros">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="code_generation_macros.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference.parameter_adjustment_macros"></a><a class="link" href="parameter_adjustment_macros.html" title="Parameter Adjustment macros">Parameter
+ Adjustment macros</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference.parameter_adjustment_macros.template_parameter_control"></a><h6>
+<a name="id3241931"></a>
+ <a class="link" href="parameter_adjustment_macros.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.bitfield_tuple_macro_reference.parameter_adjustment_macros.template_parameter_control">Template
+ Parameter Control</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ macro is used for controlling the max number of template parameters that
+ are able to be used by the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and the function templates and class templates relating to it. The <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code> macro if definded
+ sets the upper limit of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ template parameter's to a higher number. The max <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ can be set to is 50 and the default is 10. The side effect of setting
+ <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ can be that the <code class="computeroutput"><span class="identifier">BOOST_MPL_LIMIT_VECTOR_SIZE</span></code>
+ vector is set to a size which is larger or equal to the value of <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>. If one wishes
+ to set the value of both <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>
+ and <code class="computeroutput"><span class="identifier">BOOST_MPL_LIMIT_VECTOR_SIZE</span></code>
+ both must be set before the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ header file is included. Don't include &lt;boost/mpl/vector.hpp&gt; before
+ the bitfield_tuple header file if you you intend to set the <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>.
+ </p>
+<p>
+ Example of setting the parameter count to 11.
+</p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_BFT_PARAM_COUNT</span> <span class="number">11</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bitfield_tuple_macro_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="code_generation_macros.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/boost_fusion_sequence_extension.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/boost_fusion_sequence_extension.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Boost.Fusion Sequence Extension</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="meta_function_reference/element_n.html" title="struct element_n">
+<link rel="next" href="files.html" title="Files">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta_function_reference/element_n.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="files.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.boost_fusion_sequence_extension"></a><a class="link" href="boost_fusion_sequence_extension.html" title="Boost.Fusion Sequence Extension">Boost.Fusion
+ Sequence Extension</a>
+</h4></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.boost_fusion_sequence_extension.boost_fusion_sequence_extension"></a><h6>
+<a name="id3248992"></a>
+ <a class="link" href="boost_fusion_sequence_extension.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.boost_fusion_sequence_extension.boost_fusion_sequence_extension">Boost.Fusion
+ Sequence Extension</a>
+ </h6>
+<p>
+ The type modeled by the boost.fusion iterator is of the following category:
+
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">bft_category</span>
+ <span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">random_access_traversal_tag</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">associative_tag</span>
+<span class="special">{</span> <span class="special">};</span>
+</pre>
+<p>
+ </p>
+<p>
+ List of supported funtions on <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ begin
+ </li>
+<li class="listitem">
+ end
+ </li>
+<li class="listitem">
+ is_sequence
+ </li>
+<li class="listitem">
+ is_view
+ </li>
+<li class="listitem">
+ category_of
+ </li>
+<li class="listitem">
+ at
+ </li>
+<li class="listitem">
+ size
+ </li>
+<li class="listitem">
+ at_key
+ </li>
+<li class="listitem">
+ tag_of
+ </li>
+<li class="listitem">
+ All intrinsic functions which are available because of the implementation
+ of the above functions.
+ </li>
+</ul></div>
+<p>
+ List of functions supported by <code class="computeroutput"><span class="identifier">bitfield_tuple_iterator</span></code>:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ deref
+ </li>
+<li class="listitem">
+ value_of
+ </li>
+<li class="listitem">
+ next
+ </li>
+<li class="listitem">
+ prior
+ </li>
+<li class="listitem">
+ distance
+ </li>
+<li class="listitem">
+ key_of
+ </li>
+<li class="listitem">
+ value_at_data
+ </li>
+<li class="listitem">
+ deref_data
+ </li>
+<li class="listitem">
+ advance
+ </li>
+<li class="listitem">
+ Additional intrinsic functions are available for use with this iterator.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="meta_function_reference/element_n.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="files.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/concepts.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Concepts</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="bitfield_tuple_class_reference.html" title="bitfield_tuple Class Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_tuple_class_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.concepts"></a><a class="link" href="concepts.html" title="Concepts">Concepts</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_tuple_class_reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/files.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/files.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Files</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="boost_fusion_sequence_extension.html" title="Boost.Fusion Sequence Extension">
+<link rel="next" href="../appendices.html" title="Appendices">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost_fusion_sequence_extension.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.files"></a><a class="link" href="files.html" title="Files">Files</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="boost_fusion_sequence_extension.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,43 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function Reference</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="bitfield_tuple_macro_reference/code_generation_macros.html" title="Code Generation Macros">
+<link rel="next" href="function_reference/make_bitfield_tuple.html" title="make_bitfield_tuple Free Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_tuple_macro_reference/code_generation_macros.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="function_reference/make_bitfield_tuple.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference"></a><a class="link" href="function_reference.html" title="Function Reference">Function
+ Reference</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="function_reference/make_bitfield_tuple.html">
+ make_bitfield_tuple Free Function</a></span></dt>
+<dt><span class="section"><a href="function_reference/get.html">
+ get Free Function</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_tuple_macro_reference/code_generation_macros.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="function_reference/make_bitfield_tuple.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/get.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/get.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>get Free Function</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../function_reference.html" title="Function Reference">
+<link rel="prev" href="make_bitfield_tuple.html" title="make_bitfield_tuple Free Function">
+<link rel="next" href="../meta_function_reference.html" title="Meta-Function Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_bitfield_tuple.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../meta_function_reference.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get"></a><a class="link" href="get.html" title="get Free Function">
+ get Free Function</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get.description"></a><h6>
+<a name="id3243498"></a>
+ <a class="link" href="get.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get.description">Description</a>
+ </h6>
+<p>
+ There are two variations on the <code class="computeroutput"><span class="identifier">get</span></code>
+ function overloads. The first, is a member function of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>. The second, is a free
+ function with similar interface. The free function version of <code class="computeroutput"><span class="identifier">get</span></code> simplifies things for writing inside
+ of a template scope. The member function version of <code class="computeroutput"><span class="identifier">get</span></code>
+ requires the user to constantly put the word template before it, while
+ the free function version does not require the word template inside of
+ a template scope.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get.get_free_function_overloads"></a><h6>
+<a name="id3243576"></a>
+ <a class="link" href="get.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get.get_free_function_overloads">get
+ Free Function Overloads</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="special">(</span><span class="identifier">Implementation</span> <span class="identifier">Defined</span> <span class="identifier">proxy_reference_type</span><span class="special">)</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">BitfieldTuple</span><span class="special">&amp;</span> <span class="identifier">bft</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="special">(</span><span class="identifier">Implementation</span> <span class="identifier">Defined</span> <span class="identifier">proxy_reference_type</span><span class="special">)</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">BitfieldTuple</span><span class="special">&amp;</span> <span class="identifier">bft</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="special">(</span><span class="identifier">Implementation</span> <span class="identifier">Defined</span> <span class="identifier">proxy_reference_type</span><span class="special">)</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">BitfieldTuple</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">bft</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="special">(</span><span class="identifier">Implementation</span> <span class="identifier">Defined</span> <span class="identifier">proxy_reference_type</span><span class="special">)</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">BitfieldTuple</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">bft</span><span class="special">);</span>
+
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get.examples"></a><h6>
+<a name="id3244056"></a>
+ <a class="link" href="get.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.get.examples">Examples</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cassert</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">pink</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">salmon</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;,</span>
+ <span class="identifier">filler</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">blue</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">get_free_function_example</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+
+ <span class="identifier">get_free_function_example</span> <span class="identifier">t1</span><span class="special">;</span>
+
+ <span class="comment">// equivalent operations.
+</span> <span class="identifier">assert</span><span class="special">(</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;(</span><span class="identifier">t1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">t1</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;());</span>
+
+ <span class="comment">// equivalent operations.
+</span> <span class="identifier">assert</span><span class="special">(</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">t1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">t1</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;());</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_bitfield_tuple.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../meta_function_reference.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/make_bitfield_tuple.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/make_bitfield_tuple.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>make_bitfield_tuple Free Function</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../function_reference.html" title="Function Reference">
+<link rel="prev" href="../function_reference.html" title="Function Reference">
+<link rel="next" href="get.html" title="get Free Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.make_bitfield_tuple"></a><a class="link" href="make_bitfield_tuple.html" title="make_bitfield_tuple Free Function">
+ make_bitfield_tuple Free Function</a>
+</h5></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ function is included with the bitfield_tuple header. <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ like <code class="computeroutput"><span class="identifier">make_tuple</span></code> takes
+ a variadic number of parameters. However, differing from the <code class="computeroutput"><span class="identifier">make_tuple</span></code>, <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ requires one to specify the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ the wish to create.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.make_bitfield_tuple.function_signature"></a><h6>
+<a name="id3242814"></a>
+ <a class="link" href="make_bitfield_tuple.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.function_reference.make_bitfield_tuple.function_signature">Function
+ Signature</a>
+ </h6>
+<p>
+ Function signature for <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>:
+ </p>
+<p>
+ <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">&gt;</span> <span class="identifier">BitfieldTuple</span>
+ <span class="identifier">make_bitfield_tuple</span><span class="special">(</span></code>
+ <em class="replaceable"><code>Implementation Defined</code></em><code class="computeroutput"> <span class="special">);</span></code>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <em class="replaceable"><code>Implementation defined</code></em> in the function signature
+ leaves a lot to be desired, however the function is variadic in nature
+ and can take upto as many parameters as <code class="computeroutput"><span class="identifier">BOOST_BFT_PARAM_COUNT</span></code>.
+ If the number of parameters supplied to the function is greater the
+ the number of members within the supplied <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type those parameters will be ignored.
+ </p></td></tr>
+</table></div>
+<p>
+ Here is an example for using the <code class="computeroutput"><span class="identifier">make_bitfield_tuple</span></code>
+ function to create a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">pink</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">salmon</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;,</span>
+ <span class="identifier">filler</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">blue</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">test_tuple</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">test_tuple</span> <span class="identifier">bft</span> <span class="special">=</span> <span class="identifier">make_bitfield_tuple</span><span class="special">&lt;</span><span class="identifier">test_tuple</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="keyword">true</span><span class="special">);</span>
+
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Meta-Function Reference</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="function_reference/get.html" title="get Free Function">
+<link rel="next" href="meta_function_reference/element.html" title="struct element">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function_reference/get.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="meta_function_reference/element.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference"></a><a class="link" href="meta_function_reference.html" title="Meta-Function Reference">Meta-Function
+ Reference</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="meta_function_reference/element.html">
+ struct element</a></span></dt>
+<dt><span class="section"><a href="meta_function_reference/element_n.html">
+ struct element_n</a></span></dt>
+</dl></div>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function_reference/get.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="meta_function_reference/element.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,333 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>struct element</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../meta_function_reference.html" title="Meta-Function Reference">
+<link rel="prev" href="../meta_function_reference.html" title="Meta-Function Reference">
+<link rel="next" href="element_n.html" title="struct element_n">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../meta_function_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../meta_function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="element_n.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element"></a><a class="link" href="element.html" title="struct element">
+ struct element</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.description"></a><h6>
+<a name="id3244732"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.description">Description</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">element</span></code> meta-function,
+ is a template which behaves the in a similar fashion to that of Boost.Tuple's
+ <code class="computeroutput"><span class="identifier">element</span></code>. It takes a
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> followed
+ by an index and returns the proxy reference type that would be returned
+ from calling the <code class="computeroutput"><span class="identifier">get</span></code>
+ function with the same index. It is possible to use <code class="computeroutput"><span class="identifier">element</span></code>
+ to create a type of view into another integral type which is not a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>. This is done by using
+ the proxy reference type to construct a proxy reference over an integral
+ instead of over another proxy reference type which is the only other
+ constructor, for the <code class="computeroutput"><span class="identifier">bitfield_reference</span></code>
+ type.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.template_signature"></a><h6>
+<a name="id3244848"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.template_signature">Template
+ Signature</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">element</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.template_parameters"></a><h6>
+<a name="id3244987"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.template_parameters">Template
+ Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ which is to be used to retrieve the proxy reference type from.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Index</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The index to use for retrieving the proxy reference type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If there is a need for retrieving a <code class="computeroutput"><span class="keyword">const</span></code>
+ version of a proxy reference type there is a convention for retrieving
+ a <code class="computeroutput"><span class="keyword">const</span></code> proxy reference
+ type from the <code class="computeroutput"><span class="identifier">element</span></code>
+ meta-function. To retrieve a <code class="computeroutput"><span class="keyword">const</span></code>
+ proxy reference type all that needs to be done is to supply the <code class="computeroutput"><span class="keyword">const</span></code> qualifier along with the <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code> template parameter.
+ For an example, see below within the example section.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.preconditions"></a><h6>
+<a name="id3245194"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.preconditions">Preconditions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Index</span> <span class="special">&lt;</span>
+ <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">size</span><span class="special">&lt;</span><span class="identifier">BitfieldTuple</span><span class="special">::</span><span class="identifier">members</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The index supplied must be less then the number of members
+ within the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ which is supplied as a template parameter. All this means is
+ that if the <code class="computeroutput"><span class="identifier">Index</span></code>
+ supplied is not a valid index the <code class="computeroutput"><span class="identifier">element</span></code>
+ meta-function will statically assert.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BitfieldTuple must be a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Means that if something other then a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ is supplied for the <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code>
+ template parameter that this meta-function will not work.
+ </p>
+ </td>
+<td>
+ <p>
+ Documented requirement only. Not enforced.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.interface"></a><h6>
+<a name="id3245454"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.interface">Interface</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">N</span></code> is used for type <code class="computeroutput"><span class="identifier">element</span></code> within the following interface
+ documentation.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is set to the proxy reference type which would be returned
+ from the get function at the specified <code class="computeroutput"><span class="identifier">Index</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.header_file_location"></a><h6>
+<a name="id3245590"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.header_file_location">Header
+ File Location</a>
+ </h6>
+<p>
+ This meta-function is included along with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file. There is no need to directly include the element header
+ file within your code.
+ </p>
+<pre class="programlisting">#include &lt;boost/integer/bitfield_tuple/element.hpp&gt;
+</pre>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.example"></a><h6>
+<a name="id3245637"></a>
+ <a class="link" href="element.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element.example">Example</a>
+ </h6>
+<p>
+ Basic example of how to use the <code class="computeroutput"><span class="identifier">element</span></code>
+ meta-function to retrieve the return type of the <code class="computeroutput"><span class="identifier">get</span></code>
+ member or free function.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">i</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span> <span class="number">6</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="identifier">unsinged</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">rgb565</span><span class="special">;</span>
+
+<span class="comment">// write a function whose return type is the proxy reference type
+</span><span class="comment">// which would be returned from calling get&lt;0&gt;() or get&lt;red&gt;()
+</span><span class="identifier">element</span><span class="special">&lt;</span><span class="identifier">rgb565</span><span class="special">,</span><span class="number">0</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_func</span><span class="special">(</span><span class="identifier">rgb565</span> <span class="identifier">bft</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;();</span> <span class="comment">// this could be replaced with get&lt;0&gt;()
+</span><span class="special">}</span>
+
+<span class="comment">// make a const version of my_func
+</span><span class="identifier">element</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">rgb565</span><span class="special">,</span><span class="number">0</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_func</span><span class="special">(</span><span class="identifier">rgb565</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">bft</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;();</span> <span class="comment">// this could be replaced with get&lt;0&gt;()
+</span><span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ How to use element to make views from a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type. <code class="computeroutput"><span class="keyword">const</span></code> still applies
+ to the views, if one would like a <code class="computeroutput"><span class="keyword">const</span></code>
+ view into something simply supply the <code class="computeroutput"><span class="keyword">const</span></code>
+ qualifier to the BitfieldTuple template parameter and that's all that
+ needs to be done.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cassert</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">test_tuple_1</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">element</span><span class="special">&lt;</span><span class="identifier">test_tuple_1</span><span class="special">,</span><span class="number">0</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">view_red</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">storage</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="comment">// constructs the red view type over storage
+</span> <span class="comment">// which is simply std::size_t.
+</span> <span class="identifier">view_red</span> <span class="identifier">red_v</span><span class="special">(</span><span class="identifier">storage</span><span class="special">);</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">red_v</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
+ <span class="identifier">red_v</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">red_v</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../meta_function_reference.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../meta_function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="element_n.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element_n.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element_n.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,324 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>struct element_n</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../meta_function_reference.html" title="Meta-Function Reference">
+<link rel="prev" href="element.html" title="struct element">
+<link rel="next" href="../boost_fusion_sequence_extension.html" title="Boost.Fusion Sequence Extension">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="element.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../meta_function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_fusion_sequence_extension.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n"></a><a class="link" href="element_n.html" title="struct element_n">
+ struct element_n</a>
+</h5></div></div></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.description"></a><h6>
+<a name="id3246902"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">element_n</span></code> is a meta-function
+ similar to the <code class="computeroutput"><span class="identifier">element</span></code>.
+ The only difference between this <code class="computeroutput"><span class="identifier">element</span></code>
+ and <code class="computeroutput"><span class="identifier">element_n</span></code> is that
+ <code class="computeroutput"><span class="identifier">element_n</span></code> operates using
+ the member's name instead of its index.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.template_signature"></a><h6>
+<a name="id3246988"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.template_signature">Template
+ Signature</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">bitfields</span> <span class="special">{</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">BitfieldTuple</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">element_n</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.template_parameters"></a><h6>
+<a name="id3247119"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.template_parameters">Template
+ Parameters</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ which is to be used to retrieve the proxy reference type from.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Name</span></code> supplied
+ to the member when the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If there is a need for retrieving a <code class="computeroutput"><span class="keyword">const</span></code>
+ version of a proxy reference type there is a convention for retrieving
+ a <code class="computeroutput"><span class="keyword">const</span></code> proxy reference
+ type from the <code class="computeroutput"><span class="identifier">element_n</span></code>
+ meta-function. To retrieve a <code class="computeroutput"><span class="keyword">const</span></code>
+ proxy reference type all that needs to be done is to supply the <code class="computeroutput"><span class="keyword">const</span></code> qualifier along with the <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code> template parameter.
+ For an example, see below within the example section.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.preconditions"></a><h6>
+<a name="id3247348"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.preconditions">Preconditions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Name</span></code> must exist
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Name</span></code> template
+ parameter must exist within the <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code>
+ template parameter.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BitfieldTuple must be a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Means that if something other then a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ is supplied for the <code class="computeroutput"><span class="identifier">BitfieldTuple</span></code>
+ template parameter that this meta-function will not work.
+ </p>
+ </td>
+<td>
+ <p>
+ Documented requirement only. Not enforced.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.interface"></a><h6>
+<a name="id3247537"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.interface">Interface</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">N</span></code> is used for type <code class="computeroutput"><span class="identifier">element_n</span></code> within the following interface
+ documentation.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the type which would be returned from the <code class="computeroutput"><span class="identifier">get</span></code> function when it is called
+ with <code class="computeroutput"><span class="identifier">Name</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.header_file_location"></a><h6>
+<a name="id3247683"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.header_file_location">Header
+ File Location</a>
+ </h6>
+<p>
+ This meta-function is included along with the &lt;boost/integer/bitfield_tuple.hpp&gt;
+ header file. There is no need to directly include the element header
+ file within your code.
+ </p>
+<pre class="programlisting">#include &lt;boost/integer/bitfield_tuple/element.hpp&gt;
+</pre>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.example"></a><h6>
+<a name="id3247728"></a>
+ <a class="link" href="element_n.html#boost_integer_bits_masks_extension.bitfield_tuple.reference.meta_function_reference.element_n.example">Example</a>
+ </h6>
+<p>
+ Basic example of how to use the <code class="computeroutput"><span class="identifier">element_n</span></code>
+ meta-function to retrieve the return type of the <code class="computeroutput"><span class="identifier">get</span></code>
+ member or free function.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">i</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span> <span class="number">6</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="identifier">unsinged</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">rgb565</span><span class="special">;</span>
+
+<span class="comment">// write a function whose return type is the proxy reference type
+</span><span class="comment">// which would be returned from calling get&lt;0&gt;() or get&lt;red&gt;()
+</span><span class="identifier">element_n</span><span class="special">&lt;</span><span class="identifier">rgb565</span><span class="special">,</span><span class="identifier">red</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_func</span><span class="special">(</span><span class="identifier">rgb565</span> <span class="identifier">bft</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;();</span> <span class="comment">// this could be replaced with get&lt;0&gt;()
+</span><span class="special">}</span>
+
+<span class="comment">// make a const version of my_func
+</span><span class="identifier">element_n</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">rgb565</span><span class="special">,</span><span class="identifier">red</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_func</span><span class="special">(</span><span class="identifier">rgb565</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">bft</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">red</span><span class="special">&gt;();</span> <span class="comment">// this could be replaced with get&lt;0&gt;()
+</span><span class="special">}</span>
+</pre>
+<p>
+ </p>
+<p>
+ How to use element_n to make views from a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type. <code class="computeroutput"><span class="keyword">const</span></code> still applies
+ to the views, if one would like a <code class="computeroutput"><span class="keyword">const</span></code>
+ view into something simply supply the <code class="computeroutput"><span class="keyword">const</span></code>
+ qualifier to the BitfieldTuple template parameter and that's all that
+ needs to be done.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cassert</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">test_tuple_1</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">element_n</span><span class="special">&lt;</span><span class="identifier">test_tuple_1</span><span class="special">,</span><span class="identifier">red</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">view_red</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">storage</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="comment">// constructs the red view type over storage
+</span> <span class="comment">// which is simply std::size_t.
+</span> <span class="identifier">view_red</span> <span class="identifier">red_v</span><span class="special">(</span><span class="identifier">storage</span><span class="special">);</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">red_v</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
+ <span class="identifier">red_v</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">red_v</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="element.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../meta_function_reference.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../boost_fusion_sequence_extension.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Users Guide</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../bitfield_tuple/bitfield_tuple.html" title="bitfield_tuple">
+<link rel="prev" href="overview/motivation.html" title="Motivation">
+<link rel="next" href="users_guide/getting_started.html" title="Getting Started">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/motivation.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="users_guide/getting_started.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide"></a><a class="link" href="users_guide.html" title="Users Guide">Users
+ Guide</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="users_guide/getting_started.html">Getting
+ Started</a></span></dt>
+<dd><dl>
+<dt><span class="section">Installation</span></dt>
+<dt><span class="section">Dependencies</span></dt>
+<dt><span class="section"><a href="users_guide/getting_started/building_with_bitfield_tuple.html">Building
+ With bitfield_tuple</a></span></dt>
+<dt><span class="section">Testing</span></dt>
+</dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dt><span class="section"><a href="users_guide/external_resources.html">External
+ Resources</a></span></dt>
+<dt><span class="section">Glossary</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/motivation.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../bitfield_tuple/bitfield_tuple.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="users_guide/getting_started.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/external_resources.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/external_resources.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,35 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>External Resources</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../users_guide.html" title="Users Guide">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<link rel="next" href="glossary.html" title="Glossary">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="glossary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.external_resources"></a><a class="link" href="external_resources.html" title="External Resources">External
+ Resources</a>
+</h4></div></div></div></div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="glossary.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Getting Started</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../users_guide.html" title="Users Guide">
+<link rel="prev" href="../users_guide.html" title="Users Guide">
+<link rel="next" href="getting_started/installation.html" title="Installation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../users_guide.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="getting_started/installation.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started"></a><a class="link" href="getting_started.html" title="Getting Started">Getting
+ Started</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Installation</span></dt>
+<dt><span class="section">Dependencies</span></dt>
+<dt><span class="section"><a href="getting_started/building_with_bitfield_tuple.html">Building
+ With bitfield_tuple</a></span></dt>
+<dt><span class="section">Testing</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../users_guide.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="getting_started/installation.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/building_with_bitfield_tuple.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/building_with_bitfield_tuple.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,40 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Building With bitfield_tuple</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../getting_started.html" title="Getting Started">
+<link rel="prev" href="dependencies.html" title="Dependencies">
+<link rel="next" href="testing.html" title="Testing">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dependencies.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="testing.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.building_with_bitfield_tuple"></a><a class="link" href="building_with_bitfield_tuple.html" title="Building With bitfield_tuple">Building
+ With bitfield_tuple</a>
+</h5></div></div></div>
+<p>
+ Coming Soon.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dependencies.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="testing.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/dependencies.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/dependencies.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,283 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Dependencies</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../getting_started.html" title="Getting Started">
+<link rel="prev" href="installation.html" title="Installation">
+<link rel="next" href="building_with_bitfield_tuple.html" title="Building With bitfield_tuple">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="installation.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="building_with_bitfield_tuple.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies"></a><a class="link" href="dependencies.html" title="Dependencies">Dependencies</a>
+</h5></div></div></div>
+<p>
+ This section covers both dependencies which are from within boost as
+ well as the requirements for how to enable different extensions of the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>. Some
+ of the extensions include adjustment of variadic template parameters,
+ and adjust meant for long long support.
+ </p>
+<p>
+ The following is a list of all dependencies which are included with the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> header
+ file ( <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> ).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The following header files are included along with the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> header and are not
+ need to be included by the user to use <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ This documentation exists for impact analysis and so that the user
+ knows exactly what they are getting when the include the bitfield_tuple
+ header file.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.standard_library_includes"></a><h6>
+<a name="id3222585"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.standard_library_includes">Standard
+ Library Includes</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ &lt;cstddef&gt; - Included for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ Included by Boost.Integer.Bitfield
+ <div class="itemizedlist"><ul class="itemizedlist" type="square">
+<li class="listitem">
+ &lt;cassert&gt;
+ </li>
+<li class="listitem">
+ &lt;limits&gt;
+ </li>
+</ul></div>
+</li></ul></div>
+</li></ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_library_includes"></a><h5>
+<a name="id3222659"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_library_includes">Boost
+ Library Includes</a>
+ </h5>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_preprocessor"></a><h6>
+<a name="id3222683"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_preprocessor">boost.Preprocessor</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ &lt;boost/preprocessor/repetition/enum.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/preprocessor/repetition/repeat_from_to.hpp&gt;
+ </li>
+</ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_config"></a><h6>
+<a name="id3222721"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_config">Boost.Config</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ &lt;boost/config.hpp&gt;
+ </li></ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_mpl"></a><h6>
+<a name="id3222752"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_mpl">Boost.MPL</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ &lt;boost/mpl/vector.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/not.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/deref.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/at.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/less.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/size.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/int.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/assert.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/if.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/minus.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/size_t.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/mpl/void.hpp&gt;
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span></code> is a limiting factor of the
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> for
+ more information on how to deal with limitations of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> and its dependencies
+ please see the class reference documentation for <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and <code class="computeroutput"><span class="identifier">bitfield_reference</span></code>
+ regarding Preconditions.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_type_traits"></a><h6>
+<a name="id3222902"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_type_traits">Boost.Type
+ Traits</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ &lt;boost/type_traits/add_reference.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/type_traits/is_const.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/type_traits/make_unsigned.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/type_traits/is_same.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/type_traits/is_pod.hpp&gt;
+ </li>
+</ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_static_assert"></a><h6>
+<a name="id3222956"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_static_assert">Boost.Static
+ Assert</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ &lt;boost/static_assert.hpp&gt;
+ </li></ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_enable_if"></a><h6>
+<a name="id3222988"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_enable_if">Boost.Enable
+ If</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ &lt;boost/utility/enable_if.hpp&gt;
+ </li></ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_fusion"></a><h6>
+<a name="id3223020"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_fusion">Boost.Fusion</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ &lt;boost/fusion/sequence/intrinsic.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/support/is_sequence.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/support/is_view.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/support/tag_of_fwd.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/iterator_facade.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/value_of.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/deref.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/next.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/prior.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/distance.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/key_of.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/value_of_data.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/fusion/iterator/deref_data.hpp&gt;
+ </li>
+</ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_vault_includes"></a><h6>
+<a name="id3223120"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_vault_includes">Boost
+ Vault Includes</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ &lt;boost/bitfield/bitfield.hpp&gt;
+ </li></ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_integer_bit_mask_extension_includes"></a><h6>
+<a name="id3223149"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.boost_integer_bit_mask_extension_includes">Boost.Integer
+ Bit Mask Extension Includes</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ &lt;boost/integer/bits_mask.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/integer/bit_width.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/integer/high_bits_mask.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/integer/low_bits_mask.hpp&gt;
+ </li>
+<li class="listitem">
+ &lt;boost/integer/integral_mask.hpp&gt;
+ </li>
+</ul></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.bitfield_tuple_include_files_"></a><h6>
+<a name="id3223205"></a>
+ <a class="link" href="dependencies.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.dependencies.bitfield_tuple_include_files_">Bitfield
+ Tuple Include Files </a>
+ </h6>
+<p>
+ Please see the Files section for a full list and description of all files
+ which are part of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and its interface.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="installation.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="building_with_bitfield_tuple.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/installation.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/installation.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Installation</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../getting_started.html" title="Getting Started">
+<link rel="prev" href="../getting_started.html" title="Getting Started">
+<link rel="next" href="dependencies.html" title="Dependencies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../getting_started.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="dependencies.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.installation"></a><a class="link" href="installation.html" title="Installation">Installation</a>
+</h5></div></div></div>
+<p>
+ Coming Soon.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../getting_started.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="dependencies.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/testing.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/testing.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Testing</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../getting_started.html" title="Getting Started">
+<link rel="prev" href="building_with_bitfield_tuple.html" title="Building With bitfield_tuple">
+<link rel="next" href="../tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="building_with_bitfield_tuple.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../tutorial.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.getting_started.testing"></a><a class="link" href="testing.html" title="Testing">Testing</a>
+</h5></div></div></div>
+<p>
+ List of compilers which the library has been tested on.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ GCC
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ GCC-4.4.3
+ </li></ul></div>
+</li>
+<li class="listitem">
+ MSVC
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle">
+<li class="listitem">
+ MSVC 10.0
+ </li>
+<li class="listitem">
+ MSVC 9.0
+ </li>
+</ul></div>
+</li>
+<li class="listitem">
+ Cygwin
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ GCC-3.4.4
+ </li></ul></div>
+</li>
+<li class="listitem">
+ MinGW with
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle">
+<li class="listitem">
+ GCC 4.4.0
+ </li>
+<li class="listitem">
+ GCC 4.5.0
+ </li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="building_with_bitfield_tuple.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../tutorial.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/glossary.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/glossary.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Glossary</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../users_guide.html" title="Users Guide">
+<link rel="prev" href="external_resources.html" title="External Resources">
+<link rel="next" href="../reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="external_resources.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.glossary"></a><a class="link" href="glossary.html" title="Glossary">Glossary</a>
+</h4></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Bit Field Related Resourses
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle">
+<li class="listitem">
+<a href="http://en.wikipedia.org/wiki/Bit_field" target="_top">Wikipedia Bit
+ Field</a> - Wikipedia article on bit fields.
+ </li>
+<li class="listitem">
+<a href="http://msdn.microsoft.com/en-us/library/ewwyfdbe%28VS.71%29.aspx" target="_top">Microsoft
+ Bit Field</a> - MSDN article on bit fields.
+ </li>
+<li class="listitem">
+<a href="http://publications.gbdirect.co.uk/c_book/chapter6/bitfields.html" target="_top">C
+ - Book: Bitfields</a> - Chapter on bit fields from a book on
+ C.
+ </li>
+<li class="listitem">
+<a href="http://publib.boulder.ibm.com/infocenter/macxhelp/v6v81/index.jsp?topic=/com.ibm.vacpp6m.doc/language/ref/clrc03defbitf.htm" target="_top">IBM
+ Bit Field Documentation</a> - Documentation page on the IBM about
+ bit fields.
+ </li>
+</ul></div>
+</li>
+<li class="listitem">
+ Data Structure Packing Resourses.
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+<a href="http://en.wikipedia.org/wiki/Data_structure_alignment" target="_top">Wikipedia
+ Data Struture Alignment</a> - Data Structure Alignment article
+ from Wikipedia. This relates directly to packing of data structures.
+ </li></ul></div>
+</li>
+<li class="listitem">
+ Endianness
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle">
+<li class="listitem">
+Wikipedia Endianness
+ - Wikipedia article on endianness.
+ </li>
+<li class="listitem">
+Endians
+ - In boost standbox.
+ </li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="external_resources.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/tutorial.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/boost_integer_bits_masks_extension/bitfield_tuple/users_guide/tutorial.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,481 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../users_guide.html" title="Users Guide">
+<link rel="prev" href="getting_started/testing.html" title="Testing">
+<link rel="next" href="external_resources.html" title="External Resources">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started/testing.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="external_resources.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
+</h4></div></div></div>
+<p>
+ In this section I will walk you through step by step process about how
+ to create a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and all of the different functionalities it provides.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_1__the_basics"></a><h6>
+<a name="id3223378"></a>
+ <a class="link" href="tutorial.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_1__the_basics">Part
+ 1: The Basics</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> template
+ is included into your project including the following header:
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ After the file is included you're ready to begin creating a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>. Here is a <code class="computeroutput"><span class="keyword">struct</span></code> that, contains bitfields, that is
+ going to be used to model an instance of the bitfield tuple after.
+</p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">foo</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="identifier">flag_1</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">flag_2</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">int_1</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">int_2</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ In the next example a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type is made to model <code class="computeroutput"><span class="keyword">struct</span> <span class="identifier">foo</span></code>'s behavior but reduce its storage
+ from 4 bytes to one.
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+<span class="comment">// names used to mimic the names in struct foo.
+</span><span class="keyword">struct</span> <span class="identifier">flag_1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">flag_2</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">int_1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">int_2</span><span class="special">;</span>
+
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier">flag_1</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">flag_2</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">int_1</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">int_2</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">bitfield_tuple_foo</span><span class="special">;</span>
+</pre>
+<p>
+ The above example may look a little confusing at first but when broken
+ down it's made to be as simple as possible. <code class="computeroutput"><span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span></code> specifies to the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ template that the type which is going to be used for storage is a <code class="computeroutput"><span class="keyword">char</span></code> type(this can be any integral type).
+ The <code class="computeroutput"><span class="identifier">member</span></code> templates read
+ just like the bitfields within <code class="computeroutput"><span class="keyword">struct</span>
+ <span class="identifier">foo</span></code>, so type, name, width in
+ bits. <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">int_1</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;</span></code>
+ specifies a bitfield which is of type <code class="computeroutput"><span class="keyword">int</span></code>,
+ has the name <code class="computeroutput"><span class="identifier">int_1</span></code>, and
+ a width of 2 bits.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_2__using_the_tuple"></a><h5>
+<a name="id3224056"></a>
+ <a class="link" href="tutorial.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_2__using_the_tuple">Part
+ 2: Using the tuple</a>
+ </h5>
+<p>
+ Here is an example of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ accessor function. <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ uses the similar accessor function as boost.tuple, there are two main differences
+ between the accessor funciton's for <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and boost.tuple. The first difference is that <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ doesn't return a real reference, it instead returns a proxy to the bitfeild
+ that it represents. Second, the names specified in the above example are
+ not just for show, they are actually used to name the type within the a
+ bitfield_tuple and can be used to access them in the same fashion as the
+ index relative get function.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><span class="identifier">get</span></code> index accessor function.
+ The index for accessing member of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ is relative to the number of <code class="computeroutput"><span class="identifier">members</span></code>
+ specified inside of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ template parameters. Other types supplied to the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ and not counted for the index. For instance, in the above example the
+ type <code class="computeroutput"><span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span></code>
+ does not effect the index of any of the members after it.
+ </p></td></tr>
+</table></div>
+<p>
+ The following example shows the two different ways that the <code class="computeroutput"><span class="identifier">get</span></code> member funciton can be used to retrieve
+ data from within a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ by either using a name or an index.
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="comment">// names used to mimic the names in struct foo.
+</span><span class="keyword">struct</span> <span class="identifier">flag_1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">flag_2</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">int_1</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">int_2</span><span class="special">;</span>
+
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span><span class="identifier">flag_1</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">flag_2</span><span class="special">,</span><span class="number">1</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">int_1</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">int_2</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">bitfield_tuple_foo</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="identifier">bitfield_tuple_foo</span> <span class="identifier">foo</span><span class="special">;</span>
+ <span class="identifier">foo</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">flag_1</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span> <span class="comment">// returns the proxy to the boolean member at flag_1
+</span> <span class="keyword">if</span><span class="special">(</span><span class="identifier">foo</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;()</span> <span class="special">){</span> <span class="comment">// get&lt;0&gt;() gets the member at index 0 which is the same as flag_1
+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"flag_1 is true"</span><span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_3__slightly_more_advanced"></a><h6>
+<a name="id3224773"></a>
+ <a class="link" href="tutorial.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_3__slightly_more_advanced">Part
+ 3: Slightly More Advanced</a>
+ </h6>
+<p>
+ There are ways to simplify the <code class="computeroutput"><span class="identifier">bitfield_tuple_foo</span></code>'s
+ template declaration. This part of the tutorial covers the additional functionalities
+ provided by the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ which can be used to simplify the creation of more complex <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ </p>
+<p>
+ The different templates that can be used within a <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>'s
+ template declaration.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Brief Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">padding</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Padding in bits that can be used to separate bitfield.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">align</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Sets the offset of the first bit of the next bitfield supplied
+ to a multiple of the integer supplied.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">flag</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Makes a single bit width boolean <code class="computeroutput"><span class="identifier">member</span></code>
+ with a name supplied to as the parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">,</span>
+ <span class="keyword">typename</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Used for specifying a member where the first parameter is the
+ type being stored, the second is the name and the third is the
+ width in bits.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">storage</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type specified in this parameter is used as the storage.
+ This parameter is optional and it doesn't matter where in the
+ template you put it.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pointer</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">,</span><span class="keyword">typename</span><span class="special">,</span><span class="keyword">typename</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This allows for a pointer to have bits stuffed into it and have
+ both extracted separately but stored together.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">custom</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">,</span><span class="keyword">typename</span><span class="special">,</span><span class="keyword">typename</span><span class="special">,</span><span class="keyword">typename</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This type allows for custom packing and unpacking of the the
+ data before it is stored within the bitfield_tuple.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Read the documentation under the class reference section for additional
+ information about the templates used to create the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ type.
+ </p></td></tr>
+</table></div>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_4__fusion_sequence_extension"></a><h6>
+<a name="id3225317"></a>
+ <a class="link" href="tutorial.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_4__fusion_sequence_extension">Part
+ 4: Fusion Sequence extension</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> is a
+ boost.fusion sequence. It supports the all of the functionality that is
+ supported by a random access container and an associative sequence. The
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> internally
+ stores its fields as an associative array. This allows the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> to provide both index
+ based as well as named <code class="computeroutput"><span class="identifier">get</span></code>
+ functions. For full documentation of how to use boost.fusion see the boost.fusion
+ documentation. For the Boost.Fusion features supported by the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> see the fusion extension
+ documentation located in the reference section of the documentation.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">red</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">green</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">pink</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">blue</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">salmon</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="identifier">red</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="identifier">green</span><span class="special">,</span><span class="number">5</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">salmon</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;,</span>
+ <span class="identifier">storage</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">fusion_example_tuple</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">unary_function_object</span><span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()</span> <span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">x</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+
+ <span class="identifier">fusion_example_tuple</span> <span class="identifier">bft</span><span class="special">;</span>
+ <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+ <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
+ <span class="identifier">bft</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">bft</span><span class="special">,</span><span class="identifier">unary_function_object</span><span class="special">());</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The above code uses the fusion for_each to iterate over each element within
+ the bitfield_tuple and print it. For a full description of all of the Boost.Fusion
+ supported operations please see the section of the documentation relating
+ to the Boost.Fusion sequence extension.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_5__pointer_stuffing"></a><h6>
+<a name="id3226221"></a>
+ <a class="link" href="tutorial.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_5__pointer_stuffing">Part
+ 5: Pointer stuffing</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code> provides
+ a mechanism for for stuffing bits into pointers (as well as other things).
+ For a more in depth description of the <code class="computeroutput"><span class="identifier">pointer</span></code>
+ member of <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>
+ please refer to the documentation for <code class="computeroutput"><span class="identifier">pointer</span></code>.
+ The following is a basic example for pointers which point to DWORD aligned
+ sections of memory.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">color</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">ptr</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">pointer</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">ptr</span><span class="special">&gt;,</span>
+ <span class="identifier">member</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span><span class="identifier">color</span><span class="special">,</span><span class="number">2</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">color_stuffed_ptr_tuple</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="keyword">int</span><span class="special">*</span> <span class="identifier">some_ptr</span> <span class="special">=</span> <span class="keyword">new</span> <span class="keyword">int</span><span class="special">();</span>
+ <span class="identifier">color_stuffed_ptr_tuple</span> <span class="identifier">colored_ptr</span><span class="special">;</span>
+ <span class="identifier">colored_ptr</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">ptr</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="identifier">some_ptr</span><span class="special">;</span>
+ <span class="identifier">colored_ptr</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">color</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+
+ <span class="comment">// set the value of the thing being pointed at to 3.
+</span> <span class="special">*</span><span class="identifier">colored_ptr</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">ptr</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+
+ <span class="comment">// make sure that the color is correctly set.
+</span> <span class="identifier">BOOST_ASSERT</span><span class="special">((</span> <span class="identifier">colored_ptr</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">color</span><span class="special">&gt;()</span> <span class="special">==</span> <span class="number">3</span> <span class="special">));</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+
+</pre>
+<p>
+ There is much more one can do with a stuffed pointer but this is the minimal
+ example of how to use the <code class="computeroutput"><span class="identifier">pointer</span></code>
+ member.
+ </p>
+<a name="boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_5__custom_integral_stuffing"></a><h6>
+<a name="id3226875"></a>
+ <a class="link" href="tutorial.html#boost_integer_bits_masks_extension.bitfield_tuple.users_guide.tutorial.part_5__custom_integral_stuffing">Part
+ 5: Custom Integral Stuffing</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">custom</span></code> member allows
+ the user to specify a section of bits within a type and extract those bits
+ and then store them inside of the <code class="computeroutput"><span class="identifier">bitfield_tuple</span></code>.
+ One of the use cases for something like this is if a number is always even
+ then the last bit is always zero. The following example is how to specify
+ the <code class="computeroutput"><span class="identifier">custom</span></code> member such
+ that it is used to store an always even number.
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bitfields</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">always_even_int</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">extra_bool</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">bitfield_tuple</span><span class="special">&lt;</span>
+ <span class="identifier">custom</span><span class="special">&lt;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span>
+ <span class="identifier">always_even_int</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">high_bits_mask</span><span class="special">&lt;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span>
+ <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bit_width</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;,</span>
+ <span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">extra_bool</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">custom_stuffing</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
+ <span class="identifier">custom_stuffing</span> <span class="identifier">cs</span><span class="special">;</span>
+ <span class="identifier">cs</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">always_even_int</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span>
+
+ <span class="identifier">BOOST_ASSERT</span><span class="special">((</span> <span class="identifier">cs</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">always_even_int</span><span class="special">&gt;()</span> <span class="special">==</span> <span class="number">4</span><span class="special">));</span>
+ <span class="identifier">cs</span><span class="special">.</span><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">extra_bool</span><span class="special">&gt;()</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+
+ <span class="identifier">BOOST_ASSERT</span><span class="special">((</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">custom_stuffing</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">)</span> <span class="special">));</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> in the
+ above example, is what is used to specify the value bits within the value
+ type. The mask is used to extract the value bits out of the <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code>
+ when the <code class="computeroutput"><span class="identifier">get</span><span class="special">&lt;</span><span class="identifier">alway_even_int</span><span class="special">()</span></code>'s
+ value type assignment operator is called. When the <code class="computeroutput"><span class="keyword">operator</span>
+ <span class="identifier">value_type</span><span class="special">()</span></code>
+ the function returns the value bits so that they match the mask that was
+ used to take them. For instance, if the order of the template parameters
+ was switched so that the <code class="computeroutput"><span class="identifier">flag</span><span class="special">&lt;</span><span class="identifier">extra_bool</span><span class="special">&gt;</span></code> was to be first and the <code class="computeroutput"><span class="identifier">custom</span></code> member second the data structure
+ would look exactly the same, but there would be a slight difference in
+ performance because of the shifts which would have to occur in order to
+ correctly unpack or pack the type before it is returned or stored.
+ </p>
+<p>
+ There is much more that can be done with the <code class="computeroutput"><span class="identifier">custom</span></code>
+ member type then what is shown for additional information on how to fully
+ utilize all features of this type please see the documentation relating
+ the <code class="computeroutput"><span class="identifier">custom</span></code> member.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started/testing.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="external_resources.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/bit_masks/high_bits_maskbits.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/bit_masks/high_bits_maskbits.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,352 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>high_bits_mask</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../boost_integer_bits_masks_extension/bit_masks.html" title="Bit Masks">
+<link rel="prev" href="../../integral_mask/bit_masks/integral_mask.html" title="integral_mask">
+<link rel="next" href="../../low_bits_mask/bit_masks/low_bits_mask.html" title="low_bits_mask">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../integral_mask/bit_masks/integral_mask.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../low_bits_mask/bit_masks/low_bits_mask.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="high_bits_mask.bit_masks.high_bits_maskbits"></a><a class="link" href="high_bits_maskbits.html" title="high_bits_mask"> high_bits_mask</a>
+</h3></div></div></div>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.description"></a><h4>
+<a name="id3215549"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.description">Description</a>
+ </h4>
+<p>
+ The <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> is an
+ abstract representation of a contiguous section of bits which extend out
+ from the most significant bit towards the least significant bit. The <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> changes base on the width
+ of the type but always maintains the same high level description of the bits.
+ For example,
+</p>
+<pre class="programlisting"><span class="comment">// using high bits to create a mask starting from the left most bit with a width
+</span><span class="comment">// of 15
+</span><span class="keyword">typedef</span> <span class="identifier">high_bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">15</span><span class="special">&gt;</span> <span class="identifier">bits</span><span class="special">;</span>
+<span class="comment">// bits::value will have the following value in binary.
+</span><span class="comment">// 1111 1111 1111 1110 0000 0000 0000 0000
+</span></pre>
+<p>
+ </p>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.header_file_information"></a><h4>
+<a name="id3215662"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.header_file_information">Header
+ File Information</a>
+ </h4>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">high_bits_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">high_low_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.template_signature"></a><h4>
+<a name="id3215777"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.template_signature">Template
+ Signature</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> has the following
+ template signature:
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">Width</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">high_bits_mask</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.bit_mask_hierarchy"></a><h4>
+<a name="id3215893"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.bit_mask_hierarchy">Bit
+ Mask Hierarchy</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> inherits from
+ <code class="computeroutput"><span class="identifier">integral_mask</span></code>.
+ </p>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.template_parameters"></a><h4>
+<a name="id3215933"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.template_parameters">Template
+ Parameters</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Is an integral type which the mask is to be created over.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the width of the mask in bits.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.interface"></a><h4>
+<a name="id3216040"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.interface">Interface</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">high_bits_mask</span></code> Compile time
+ interface. Assume that N is of type <code class="computeroutput"><span class="identifier">high_bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span>
+ <span class="number">10</span><span class="special">&gt;</span></code>
+ the type supplied here is only for example.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">value</span></code>
+ associated with <code class="computeroutput"><span class="identifier">N</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">T</span></code> which
+ is the type associated with <code class="computeroutput"><span class="identifier">value</span></code>
+ inside <code class="computeroutput"><span class="identifier">N</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the current types type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">offset</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Always set to zero for this type. The offset is something which
+ all of the mask type support and refers the amount the mask has
+ been shifted to the right or the left (Depending on the type of
+ mask used). In the case of <code class="computeroutput"><span class="identifier">integral_mask</span></code>,
+ no left or right shift has occurred so <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">offset</span></code>
+ is always set to zero.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the integral value associated with the <code class="computeroutput"><span class="identifier">width</span></code>
+ template parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Run time support function. Returns <code class="computeroutput"><span class="identifier">value</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.preconditions"></a><h4>
+<a name="id3216440"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bit_width</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;=</span>
+ <span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Width</span></code> must
+ not be greater then the size in bits of type <code class="computeroutput"><span class="identifier">T</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code> must be an integral
+ type.
+ </p>
+ </td>
+<td>
+ <p>
+ This is only a documented precondition. It is not enforced.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="high_bits_mask.bit_masks.high_bits_maskbits.examples"></a><h4>
+<a name="id3216614"></a>
+ <a class="link" href="high_bits_maskbits.html#high_bits_mask.bit_masks.high_bits_maskbits.examples">Examples</a>
+ </h4>
+<p>
+ Examples and use cases related to the <code class="computeroutput"><span class="identifier">high_bits_mask</span></code>
+ template.
+ </p>
+<p>
+ Example:
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">high_bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+
+<span class="comment">// binary for mask::value
+</span><span class="comment">// 1111 0000 0000 0000 0000 0000 0000 0000
+</span>
+<span class="keyword">int</span> <span class="identifier">integral_value</span> <span class="special">=</span> <span class="number">0xc000000c</span><span class="special">;</span>
+
+<span class="comment">// integral_value's binary value
+</span><span class="comment">// 1100 0000 0000 0000 0000 0000 0000 1100
+</span>
+<span class="keyword">int</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">integral_value</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">();</span>
+<span class="comment">// binary value of result
+</span><span class="comment">// 1100 0000 0000 0000 0000 0000 0000 0000
+</span>
+</pre>
+<p>
+ </p>
+<p>
+ The implicit cast operator allows for simplicity, clairity of code. In the
+ above example <code class="computeroutput"><span class="identifier">mask</span><span class="special">()</span></code>
+ could be replaced with <code class="computeroutput"><span class="identifier">mask</span><span class="special">::</span><span class="identifier">value</span></code>
+ to achieve the same result. The same applies to all other bitwise operators.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../integral_mask/bit_masks/integral_mask.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../low_bits_mask/bit_masks/low_bits_mask.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Boost.Integer Bits Masks Extension</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="next" href="boost_integer_bits_masks_extension/HeaderSummary.html" title="Header File Summary">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_integer_bits_masks_extension/HeaderSummary.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="article">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="boost_integer_bits_masks_extension"></a>Boost.Integer Bits Masks Extension</h2></div>
+<div><div class="authorgroup"><div class="author"><h3 class="author">
+<span class="firstname">Brian</span> <span class="surname">Bartman</span>
+</h3></div></div></div>
+<div><p class="copyright">Copyright &#169; 2010 Brian Bartman</p></div>
+<div><div class="legalnotice">
+<a name="id3204141"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/HeaderSummary.html"> Header
+ File Summary</a></span></dt>
+<dt><span class="section">Bit Masks</span></dt>
+<dd><dl>
+<dt><span class="section">Overview</span></dt>
+<dd><dl>
+<dt><span class="section">Description</span></dt>
+<dt><span class="section">Rationale</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="integral_mask/bit_masks/integral_mask.html"> integral_mask
+ </a></span></dt>
+<dt><span class="section"> high_bits_mask</span></dt>
+<dt><span class="section"> low_bits_mask</span></dt>
+<dt><span class="section"> bits_mask</span></dt>
+<dt><span class="section"> bit_width</span></dt>
+</dl></dd>
+<dt><span class="section">bitfield_tuple</span></dt>
+<dd><dl>
+<dt><span class="section">overview</span></dt>
+<dd><dl>
+<dt><span class="section">Description</span></dt>
+<dt><span class="section">Motivation</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/users_guide.html">Users
+ Guide</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started.html">Getting
+ Started</a></span></dt>
+<dd><dl>
+<dt><span class="section">Installation</span></dt>
+<dt><span class="section">Dependencies</span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/building_with_bitfield_tuple.html">Building
+ With bitfield_tuple</a></span></dt>
+<dt><span class="section">Testing</span></dt>
+</dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/users_guide/external_resources.html">External
+ Resources</a></span></dt>
+<dt><span class="section">Glossary</span></dt>
+</dl></dd>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Concepts</span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference.html">bitfield_tuple
+ Class Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html">bitfield_tuple
+ and bitfield_reference</a></span></dt>
+<dt><span class="section">padding</span></dt>
+<dt><span class="section">member</span></dt>
+<dt><span class="section">flag</span></dt>
+<dt><span class="section">align</span></dt>
+<dt><span class="section">storage</span></dt>
+<dt><span class="section">pointer</span></dt>
+<dt><span class="section">custom</span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference.html">bitfield_tuple
+ Macro Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html">Parameter
+ Adjustment macros</a></span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/code_generation_macros.html">Code
+ Generation Macros</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference.html">Function
+ Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/make_bitfield_tuple.html">
+ make_bitfield_tuple Free Function</a></span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/get.html">
+ get Free Function</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference.html">Meta-Function
+ Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element.html">
+ struct element</a></span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element_n.html">
+ struct element_n</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/reference/boost_fusion_sequence_extension.html">Boost.Fusion
+ Sequence Extension</a></span></dt>
+<dt><span class="section">Files</span></dt>
+</dl></dd>
+<dt><span class="section">Appendices</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/appendices/design_rationale.html">Design
+ Rationale</a></span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details.html">Implementation
+ Details</a></span></dt>
+<dd><dl><dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation.html">Internal
+ documentation</a></span></dt></dl></dd>
+<dt><span class="section">Acknowledgments</span></dt>
+<dt><span class="section"><a href="boost_integer_bits_masks_extension/bitfield_tuple/appendices/future_work.html">Future
+ Work</a></span></dt>
+</dl></dd>
+</dl></dd>
+</dl>
+</div>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: August 22, 2010 at 14:33:26 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_integer_bits_masks_extension/HeaderSummary.html"><img src="images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/bit_masks/integral_mask.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/bit_masks/integral_mask.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,349 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>integral_mask</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../boost_integer_bits_masks_extension/bit_masks.html" title="Bit Masks">
+<link rel="prev" href="../../Rationale/bit_masks/overview/rationale.html" title="Rationale">
+<link rel="next" href="../../high_bits_mask/bit_masks/high_bits_maskbits.html" title="high_bits_mask">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../Rationale/bit_masks/overview/rationale.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../high_bits_mask/bit_masks/high_bits_maskbits.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="integral_mask.bit_masks.integral_mask"></a><a class="link" href="integral_mask.html" title="integral_mask"> integral_mask
+ </a>
+</h3></div></div></div>
+<a name="integral_mask.bit_masks.integral_mask.description"></a><h4>
+<a name="id3214326"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.description">Description</a>
+ </h4>
+<p>
+ The <code class="computeroutput"><span class="identifier">integral_mask</span></code> type is
+ the most basic mask type. It is used to abstract all masks back to a simple
+ integral type. This type is used similar to an <code class="computeroutput"><span class="identifier">integral_constant</span></code>
+ type from the Boost.Type Traits library.
+ </p>
+<a name="integral_mask.bit_masks.integral_mask.header_file_information"></a><h4>
+<a name="id3214370"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.header_file_information">Header
+ File Information</a>
+ </h4>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">integral_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="integral_mask.bit_masks.integral_mask.template_signature"></a><h4>
+<a name="id3214441"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.template_signature">Template
+ Signature</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">integral_mask</span></code> has the following
+ template signature:
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">Value</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">integral_mask</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// end boost
+</span></pre>
+<p>
+ </p>
+<a name="integral_mask.bit_masks.integral_mask.bit_mask_hierarchy"></a><h4>
+<a name="id3214556"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.bit_mask_hierarchy">Bit
+ Mask Hierarchy</a>
+ </h4>
+<p>
+ All other mask types either derive directly or indirectly from this class.
+ The <code class="computeroutput"><span class="identifier">integral_mask</span></code> class inherits
+ from <code class="computeroutput"><span class="identifier">integral_constant</span></code>.
+ </p>
+<a name="integral_mask.bit_masks.integral_mask.template_parameters"></a><h4>
+<a name="id3214598"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.template_parameters">Template
+ Parameters</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the the mask.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The integral value of the mask.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="integral_mask.bit_masks.integral_mask.preconditions"></a><h4>
+<a name="id3214706"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code> must be an integral
+ type.
+ </p>
+ </td>
+<td>
+ <p>
+ This is only a documented precondition. It is not enforced.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Value</span></code> must be in
+ the domain of the integral type <code class="computeroutput"><span class="identifier">T</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ This is only a documented precondition. It is not enforced.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="integral_mask.bit_masks.integral_mask.interface"></a><h4>
+<a name="id3214844"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.interface">Interface</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">Integral_mask</span></code> Compile time
+ interface. Assume that <code class="computeroutput"><span class="identifier">N</span></code>
+ is of type <code class="computeroutput"><span class="identifier">integral_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span>
+ <span class="number">16</span><span class="special">&gt;</span></code>
+ the type supplied here is only for example.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">value</span></code>
+ associated with <code class="computeroutput"><span class="identifier">N</span></code>
+ (in the current case that is 16).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">T</span></code> which
+ is the type associated with <code class="computeroutput"><span class="identifier">value</span></code>
+ inside <code class="computeroutput"><span class="identifier">N</span></code> (in the
+ current case that is int).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the current types type (using <code class="computeroutput"><span class="identifier">N</span></code>
+ as an example, <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ is equivalent to <code class="computeroutput"><span class="identifier">integral_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">16</span><span class="special">&gt;</span></code> )
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">offset</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Always set to zero for this type. The offset is something which
+ all of the mask type support and refers the amount the mask has
+ been shifted to the right or the left (Depending on the type of
+ mask used). In the case of <code class="computeroutput"><span class="identifier">integral_mask</span></code>,
+ no left or right shift has occurred so <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">offset</span></code>
+ is always set to zero.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The value of <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">width</span></code>
+ is always set to zero because the width refers the width of a contiguous
+ section of bits and the contiguity of the an integral mask is unknown.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Run time support function.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="integral_mask.bit_masks.integral_mask.examples"></a><h4>
+<a name="id3215314"></a>
+ <a class="link" href="integral_mask.html#integral_mask.bit_masks.integral_mask.examples">Examples</a>
+ </h4>
+<p>
+ Examples and use cases related to the <code class="computeroutput"><span class="identifier">integral_mask</span></code>
+ template.
+ </p>
+<p>
+ Example:
+</p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">bits</span> <span class="special">=</span> <span class="number">255</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">integral_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">16</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+<span class="comment">// mask has the folling binary value
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0001 0110
+</span>
+<span class="comment">// bits has binary value of:
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0010 0101
+</span>
+<span class="comment">// the following is a bitwise and operation
+</span><span class="comment">// which is done to bits using the integral_mask type
+</span><span class="keyword">int</span> <span class="identifier">new_bits</span> <span class="special">=</span> <span class="identifier">bits</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">();</span>
+
+<span class="comment">// Resulting value of new_bits:
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0000 0100
+</span>
+
+</pre>
+<p>
+ The implicit cast operator allows for simplicity, clairity of code. In the
+ above example <code class="computeroutput"><span class="identifier">mask</span><span class="special">()</span></code>
+ could be replaced with <code class="computeroutput"><span class="identifier">mask</span><span class="special">::</span><span class="identifier">value</span></code>
+ to achieve the same result. The same applies to all other bitwise operators.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../Rationale/bit_masks/overview/rationale.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../high_bits_mask/bit_masks/high_bits_maskbits.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/bit_masks/low_bits_mask.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/bit_masks/low_bits_mask.html 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,348 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>low_bits_mask</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Boost.Integer Bits Masks Extension">
+<link rel="up" href="../../boost_integer_bits_masks_extension/bit_masks.html" title="Bit Masks">
+<link rel="prev" href="../../high_bits_mask/bit_masks/high_bits_maskbits.html" title="high_bits_mask">
+<link rel="next" href="../../bits_mask/bit_masks/bits_mask.html" title="bits_mask">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../high_bits_mask/bit_masks/high_bits_maskbits.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bits_mask/bit_masks/bits_mask.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="low_bits_mask.bit_masks.low_bits_mask"></a><a class="link" href="low_bits_mask.html" title="low_bits_mask"> low_bits_mask</a>
+</h3></div></div></div>
+<a name="low_bits_mask.bit_masks.low_bits_mask.description"></a><h4>
+<a name="id3216842"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.description">Description</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">low_bits_mask</span></code> is a section
+ of contiguous of bits which extend out from the least significant bit toward
+ the most significant bit. The following is a basic example of how <code class="computeroutput"><span class="identifier">low_bits_mask</span></code> works:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">low_bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">10</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+<span class="comment">// mask::value has the following binary value
+</span><span class="comment">// 0000 0000 0000 0000 0000 0011 1111 1111
+</span></pre>
+<p>
+ </p>
+<a name="low_bits_mask.bit_masks.low_bits_mask.header_file_information"></a><h4>
+<a name="id3216945"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.header_file_information">Header
+ File Information</a>
+ </h4>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">low_bits_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">high_low_mask</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<a name="low_bits_mask.bit_masks.low_bits_mask.template_signature"></a><h4>
+<a name="id3217060"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.template_signature">Template
+ Signature</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">low_bits_mask</span></code> has the following
+ template signature:
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">Width</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">low_bits_mask</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+<a name="low_bits_mask.bit_masks.low_bits_mask.bit_mask_hierarchy"></a><h4>
+<a name="id3217175"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.bit_mask_hierarchy">Bit
+ Mask Hierarchy</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">low_bits_mask</span></code> inherits from
+ <code class="computeroutput"><span class="identifier">integral_mask</span></code>.
+ </p>
+<a name="low_bits_mask.bit_masks.low_bits_mask.template_parameters"></a><h4>
+<a name="id3217215"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.template_parameters">Template
+ Parameters</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Parameter
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Is an integral type which the mask is to be created over.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This is the width of the mask in bits.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="low_bits_mask.bit_masks.low_bits_mask.interface"></a><h4>
+<a name="id3217322"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.interface">Interface</a>
+ </h4>
+<p>
+ <code class="computeroutput"><span class="identifier">low_bits_mask</span></code> Compile time
+ interface. Assume that <code class="computeroutput"><span class="identifier">N</span></code>
+ is of type <code class="computeroutput"><span class="identifier">low_bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">10</span><span class="special">&gt;</span></code> the
+ type supplied here is only for example.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operation
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">value</span></code>
+ associated with <code class="computeroutput"><span class="identifier">N</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">T</span></code> which
+ is the type associated with <code class="computeroutput"><span class="identifier">value</span></code>
+ inside <code class="computeroutput"><span class="identifier">N</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the current types type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the integral value associated with the <code class="computeroutput"><span class="identifier">width</span></code>
+ template parameter.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">N</span><span class="special">::</span><span class="identifier">offset</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns 0 for this mask because the <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>
+ is not shifted in any direction and always starts at the least
+ significant bit.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Run time support function. All this function does is return the
+ value associated with the type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="low_bits_mask.bit_masks.low_bits_mask.preconditions"></a><h4>
+<a name="id3217702"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.preconditions">Preconditions</a>
+ </h4>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Precondition
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Enforcement
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bit_width</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;=</span>
+ <span class="identifier">Width</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The <code class="computeroutput"><span class="identifier">Width</span></code> must
+ not be greater then the size in bits of type <code class="computeroutput"><span class="identifier">T</span></code>.
+ </p>
+ </td>
+<td>
+ <p>
+ Enforced by static assert.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code> must be an integral
+ type.
+ </p>
+ </td>
+<td>
+ <p>
+ This is only a documented precondition. It is not enforced.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="low_bits_mask.bit_masks.low_bits_mask.examples"></a><h4>
+<a name="id3217875"></a>
+ <a class="link" href="low_bits_mask.html#low_bits_mask.bit_masks.low_bits_mask.examples">Examples</a>
+ </h4>
+<p>
+ Examples and use cases related to the <code class="computeroutput"><span class="identifier">low_bits_mask</span></code>
+ template.
+ </p>
+<p>
+ Example:
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">low_bits_mask</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">4</span><span class="special">&gt;</span> <span class="identifier">mask</span><span class="special">;</span>
+
+<span class="comment">// binary for mask::value
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0000 1111
+</span>
+<span class="keyword">int</span> <span class="identifier">integral_value</span> <span class="special">=</span> <span class="number">0xc000000c</span><span class="special">;</span>
+
+<span class="comment">// integral_value's binary value
+</span><span class="comment">// 1100 0000 0000 0000 0000 0000 0000 1100
+</span>
+<span class="keyword">int</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">integral_value</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">();</span>
+<span class="comment">// binary value of result
+</span><span class="comment">// 0000 0000 0000 0000 0000 0000 0000 1100
+</span></pre>
+<p>
+ </p>
+<p>
+ The implicit cast operator allows for simplicity, clairity of code. In the
+ above example <code class="computeroutput"><span class="identifier">mask</span><span class="special">()</span></code>
+ could be replaced with <code class="computeroutput"><span class="identifier">mask</span><span class="special">::</span><span class="identifier">value</span></code>
+ to achieve the same result. The same applies to all other bitwise operators.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2010 Brian Bartman<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../high_bits_mask/bit_masks/high_bits_maskbits.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_integer_bits_masks_extension/bit_masks.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../bits_mask/bit_masks/bits_mask.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/standalone_HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/standalone_HTML.manifest 2010-08-22 11:27:10 EDT (Sun, 22 Aug 2010)
@@ -0,0 +1,55 @@
+index.html
+boost_integer_bits_masks_extension/HeaderSummary.html
+boost_integer_bits_masks_extension/bit_masks.html
+boost_integer_bits_masks_extension/bit_masks/overview.html
+boost_integer_bits_masks_extension/bit_masks/overview/description.html
+Rationale/bit_masks/overview/rationale.html
+integral_mask/bit_masks/integral_mask.html
+high_bits_mask/bit_masks/high_bits_maskbits.html
+low_bits_mask/bit_masks/low_bits_mask.html
+bits_mask/bit_masks/bits_mask.html
+bit_width/bit_masks/bit_width.html
+bitfield_tuple/bitfield_tuple.html
+boost_integer_bits_masks_extension/bitfield_tuple/overview.html
+boost_integer_bits_masks_extension/bitfield_tuple/overview/description.html
+boost_integer_bits_masks_extension/bitfield_tuple/overview/motivation.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/installation.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/dependencies.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/building_with_bitfield_tuple.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/getting_started/testing.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/tutorial.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/external_resources.html
+boost_integer_bits_masks_extension/bitfield_tuple/users_guide/glossary.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/concepts.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/bitfield_tuple_and_bitfield_reference.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/padding.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/member.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/flag.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/align.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/storage.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/pointer.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_class_reference/custom.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/parameter_adjustment_macros.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/bitfield_tuple_macro_reference/code_generation_macros.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/make_bitfield_tuple.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/function_reference/get.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/meta_function_reference/element_n.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/boost_fusion_sequence_extension.html
+boost_integer_bits_masks_extension/bitfield_tuple/reference/files.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/design_rationale.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/macros.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/class_templates.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/implementation_details/internal_documentation/function_templates.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/acknowledgments.html
+boost_integer_bits_masks_extension/bitfield_tuple/appendices/future_work.html


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk