$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r63490 - in sandbox/SOC/2010/bit_masks/lib/integer/doc: bft_doc/reference/class_reference html html/bits_mask html/high_bits_mask html/integral_mask html/low_bits_mask html/rationale
From: bbartmanboost_at_[hidden]
Date: 2010-07-02 14:54:26
Author: bbartman
Date: 2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
New Revision: 63490
URL: http://svn.boost.org/trac/boost/changeset/63490
Log:
finished first draft of bitfield_tuple's basic class documentation and bitfield_reference documentation
Text files modified: 
   sandbox/SOC/2010/bit_masks/lib/integer/doc/bft_doc/reference/class_reference/bitfield_tuple.qbk |   234 +++++++++++++++++++++++++++++++++++++++ 
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bits_mask.html                        |    10                                         
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/high_bits_maskbits.html          |     8                                         
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html                                      |     4                                         
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/integral_mask.html                |     8                                         
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/low_bits_mask.html                |     8                                         
   sandbox/SOC/2010/bit_masks/lib/integer/doc/html/rationale/rationale.html                        |     2                                         
   7 files changed, 252 insertions(+), 22 deletions(-)
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/bft_doc/reference/class_reference/bitfield_tuple.qbk
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/bft_doc/reference/class_reference/bitfield_tuple.qbk	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/bft_doc/reference/class_reference/bitfield_tuple.qbk	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -34,7 +34,237 @@
 `bitfield_tuple` still provides the regular `get<Index>()` by index function as
 boost.tuple).
 
-The following table lists all constructors, destructors, template members and
-member functions.
+[h5 Include Files]
 
+Header file:
+``
+#include <boost/bitfield_tuple.hpp>
+``
+Forward declaration file:
+``
+#include <boost/bitfield_tuple_fwd.hpp>
+``
+
+[h5 Template Signature]
+``
+tempate <typename... Args> struct bitfield_tuple;
+``
+For additional information on creating specilizations over the 
+`bitfield_tuple`'s implementation documentation reguarding macros.
+
+[h5 types]
+`N` is used to represent a `bitfield_tuple`.
+
+[table
+    [
+        [Type]
+        [Description]
+    ]
+    [
+        [`N::members`]
+        [ This is an boost.mpl sequence, specifically `mpl::vector`. `members`
+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 `members` type
+directly, however, if you must the elements contained within are of type
+`bitfeild_element` mentioned more in the implementation section.]
+    ]
+    [
+        [`N::storage_type`]
+        [ The integral type being used to store bitfields within the 
+`bitfield_tuple`. For more information about how this type is either deduced or
+supplied see the `struct storage` section of the class reference documentation.]
+    ]
+    [
+        [`N::bits_used`]
+        [ The number of bits offset by the fields supplied by the user. Bits
+used is of type `mpl::size_t<M>` where `M` is the sum of the bits use by all
+bitfields and filler bits within the `bitfield_tuple`. This is also the index of
+of the first bit of the next bitfield that would be added into the 
+`bitfield_tuple`. ]
+    ]
+]
+
+[h5 Template Members]
+The `bitfield_reference` type is responsible for acting as the proxy reference
+type into the storage of a `bitfield_tuple`, This works similar to the proxy 
+reference type supplied by `std::vector<bool>` specilization. 
+
+[note If one wishes to work with the reference direcrly please not that the
+`const`'ness of the `BitfieldElement` 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.]
+
+[note The `bitfieldElement` type is also used to specify the bitfield to 
+retrieve and store data within.]
+
+[table
+    [
+        [Name]
+        [Signature]
+        [Description]
+    ]
+    [
+        [`bitfield_reference`]
+        [`N::template <typename BitfieldElement> bitfield_reference;`]
+        [ This is the proxy reference type use to create a fake reference to
+a bitfield within the bitfield_tuple.]
+    ]
+]
+
+[h5 `bitfield_reference` Internal Types]
+`ref` refers to a `bitfield_reference` type
+[table
+    [
+        [Type]
+        [Description]
+    ]
+    [
+        [`ref::return_type`]
+        [The return type specified by the user, via either a member or flag
+parameter.]
+    ]
+    [
+        [`ref::storage_t`]
+        [The storage type with the same `const` ness as the `BitfieldElement` 
+template parameter.]
+    ]
+    [
+        [`ref::field_type`]
+        [ The `boost::integer::bitfield` 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 `bitfield_tuple`. ]
+    ]
+]
+
+[h5 bitfield_reference constructors]
+[table
+    [
+        [Name]
+        [Constructor Signature]
+        [Exception Safty]
+        [Description]
+    ]
+    [
+        [Reference Constructor]
+        [ `explicit bitfield_reference(storage_t& field)`]
+        [ TBD ]
+        [ Just like a reference the bitfield_reference is constrctible over the
+type it references. ]
+    ]
+    [
+        [Copy Constructor]
+        [ `bitfield_reference( bitfield_reference const& x)`]
+        [ TBD ]
+        [ Copy makes a copy of the reference inside of `x`. ]
+    ]
+]
+
+[h5 bitfield_reference operators]
+[table
+    [
+        [Name]
+        [Signature]
+        [Exception Safty]
+        [Description]
+    ]
+    [
+        [Implicit Conversion Operator]
+        [ `inline operator return_type() const`]
+        [ TBD ]
+        [ Allows the `bitfield_reference` type to be treated as though it is the
+`return_type`. ]
+    ]
+    [
+        [Assignment Operator]
+        [ `bitfield_reference const& operator=(return_type const& rhs)`]
+        [ TBD ]
+        [ takes the value `rhs` and stores its value in the corrosponding 
+bitfield in the storage of the `bitfield_tuple`.]
+    ]
+]
+
+
+
+
+[h5 Constructors]
+[table
+    [
+        [Name]
+        [Constructor Signature]
+        [Exception Safty]
+        [Description]
+    ]
+    [
+        [ Value Constructor ]
+        [ `explicit bitfield_tuple(storage_type x = 0)` ]
+        [ No Throw ]
+        [ This constructor acts as both a default constructor and allows for
+construction over the storage type. This constructor is one way of giving
+a `bitfield_tuple` an initial value. ]
+    ]
+    [
+        [ Copy Constructor ]
+        [ `bitfield_tuple( bitfield_tuple const& x )` ]
+        [ No Throw ]
+        [ Copies the value from `x` into the current `bitfield_tuple`. ]
+    ]
+]
+
+[h5 Operators]
+[table
+    [
+        [Name]
+        [Signature]
+        [Exception Safty]
+        [Description]
+    ]
+    [
+        [Value Assignment Operator]
+        [`bitfield_tuple const& operator=( storage_type const&)`]
+        [ No Throw ]
+        [Assigns a new value to the internal storage of the `bitfield_tuple`.]
+    ]
+    [
+        [Copy Assignment Operator]
+        [`bitfield_tuple const& operator=( bitfield_tuple const&)`]
+        [ No Throw ]
+        [Assigns a new value to the internal storage of the `bitfield_tuple`.]
+    ]
+]
+
+[h5 Member functions]
+[note All of the `bitfield_reference` types returned by the `get` functions 
+listed below are deduced at compile time so they are ommited for clarity. ]
+
+[table 
+    [
+        [Signature]
+        [Description]
+    ]
+    [
+        [`storage_type data( ) const`]
+        [This returns a copy of the internal storage from within a bitfield
+tuple.]
+    ]
+    [
+        [ `template <typename Name>` [~ `bitfield_reference` type] `get()`]
+        [ Returns a reference type corrisponding to the field stored with `Name`
+specified in the template parameters.]
+    ]
+    [
+        [ `template <typename Name>` [~ `bitfield_reference` type] `get() const`]
+        [ Const version of the above function. ]
+    ]
+    [
+        [ `template <std::size_t Index>` [~ `bitfield_reference` type] `get()`]
+        [ This is the same as the boost.tuple get function. The only difference
+is that it returns a proxy reference type.]
+    ]
+    [
+        [ `template <std::size_t Index>` [~ `bitfield_reference` type] `get() const`]
+        [ Const version of the above function.]
+    ]
+]
 [endsect]
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bits_mask.html
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bits_mask.html	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/bits_mask/bits_mask.html	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -20,7 +20,7 @@
 <a name="bits_mask.bits_mask"></a><a class="link" href="bits_mask.html" title="bits_mask"> bits_mask</a>
 </h2></div></div></div>
 <a name="bits_mask.bits_mask.description"></a><h4>
-<a name="id3133569"></a>
+<a name="id2915184"></a>
       <a class="link" href="bits_mask.html#bits_mask.bits_mask.description">Description</a>
     </h4>
 <p>
@@ -60,7 +60,7 @@
       in the <boost/integer/bits_mask.hpp> header file.
     </p>
 <a name="bits_mask.bits_mask.template_signature"></a><h4>
-<a name="id3133809"></a>
+<a name="id2915424"></a>
       <a class="link" href="bits_mask.html#bits_mask.bits_mask.template_signature">Template Signature</a>
     </h4>
 <p>
@@ -130,7 +130,7 @@
 </tbody>
 </table></div>
 <a name="bits_mask.bits_mask.interface"></a><h4>
-<a name="id3134057"></a>
+<a name="id2915672"></a>
       <a class="link" href="bits_mask.html#bits_mask.bits_mask.interface">Interface</a>
     </h4>
 <p>
@@ -237,7 +237,7 @@
 </tbody>
 </table></div>
 <a name="bits_mask.bits_mask.preconditions"></a><h4>
-<a name="id3134421"></a>
+<a name="id2916036"></a>
       <a class="link" href="bits_mask.html#bits_mask.bits_mask.preconditions">Preconditions</a>
     </h4>
 <p>
@@ -336,7 +336,7 @@
 </tbody>
 </table></div>
 <a name="bits_mask.bits_mask.examples"></a><h4>
-<a name="id3134740"></a>
+<a name="id2916355"></a>
       <a class="link" href="bits_mask.html#bits_mask.bits_mask.examples">Examples</a>
     </h4>
 <p>
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/high_bits_maskbits.html
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/high_bits_maskbits.html	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/high_bits_mask/high_bits_maskbits.html	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -20,7 +20,7 @@
 <a name="high_bits_mask.high_bits_maskbits"></a><a class="link" href="high_bits_maskbits.html" title="high_bits_mask"> high_bits_mask</a>
 </h2></div></div></div>
 <a name="high_bits_mask.high_bits_maskbits.description"></a><h4>
-<a name="id3131811"></a>
+<a name="id2913426"></a>
       <a class="link" href="high_bits_maskbits.html#high_bits_mask.high_bits_maskbits.description">Description</a>
     </h4>
 <p>
@@ -39,7 +39,7 @@
 <p>
     </p>
 <a name="high_bits_mask.high_bits_maskbits.template_signature"></a><h4>
-<a name="id3131947"></a>
+<a name="id2913562"></a>
       <a class="link" href="high_bits_maskbits.html#high_bits_mask.high_bits_maskbits.template_signature">Template
       Signature</a>
     </h4>
@@ -97,7 +97,7 @@
 </tbody>
 </table></div>
 <a name="high_bits_mask.high_bits_maskbits.interface"></a><h4>
-<a name="id3132129"></a>
+<a name="id2913744"></a>
       <a class="link" href="high_bits_maskbits.html#high_bits_mask.high_bits_maskbits.interface">Interface</a>
     </h4>
 <p>
@@ -193,7 +193,7 @@
 </tbody>
 </table></div>
 <a name="high_bits_mask.high_bits_maskbits.examples"></a><h4>
-<a name="id3132465"></a>
+<a name="id2914080"></a>
       <a class="link" href="high_bits_maskbits.html#high_bits_mask.high_bits_maskbits.examples">Examples</a>
     </h4>
 <p>
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/index.html	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -20,7 +20,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright © 2010 Brian Bartman</p></div>
 <div><div class="legalnotice">
-<a name="id2536474"></a><p>
+<a name="id2318089"></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>
@@ -107,7 +107,7 @@
   </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: July 01, 2010 at 16:10:37 GMT</small></p></td>
+<td align="left"><p><small>Last revised: July 01, 2010 at 17:24:55 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/integral_mask.html
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/integral_mask.html	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/integral_mask/integral_mask.html	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -20,7 +20,7 @@
 <a name="integral_mask.integral_mask"></a><a class="link" href="integral_mask.html" title="integral_mask type"> integral_mask type</a>
 </h2></div></div></div>
 <a name="integral_mask.integral_mask.description"></a><h4>
-<a name="id3080460"></a>
+<a name="id2862075"></a>
       <a class="link" href="integral_mask.html#integral_mask.integral_mask.description">Description</a>
     </h4>
 <p>
@@ -31,7 +31,7 @@
       template is located in the following header file: <boost/integer/integral_mask.hpp>.
     </p>
 <a name="integral_mask.integral_mask.template_signature"></a><h4>
-<a name="id3080521"></a>
+<a name="id2862136"></a>
       <a class="link" href="integral_mask.html#integral_mask.integral_mask.template_signature">Template Signature</a>
     </h4>
 <p>
@@ -89,7 +89,7 @@
 </tbody>
 </table></div>
 <a name="integral_mask.integral_mask.interface"></a><h4>
-<a name="id3131228"></a>
+<a name="id2912843"></a>
       <a class="link" href="integral_mask.html#integral_mask.integral_mask.interface">Interface</a>
     </h4>
 <p>
@@ -175,7 +175,7 @@
 </tbody>
 </table></div>
 <a name="integral_mask.integral_mask.examples"></a><h4>
-<a name="id3131571"></a>
+<a name="id2913186"></a>
       <a class="link" href="integral_mask.html#integral_mask.integral_mask.examples">Examples</a>
     </h4>
 <p>
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/low_bits_mask.html
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/low_bits_mask.html	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/low_bits_mask/low_bits_mask.html	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -20,7 +20,7 @@
 <a name="low_bits_mask.low_bits_mask"></a><a class="link" href="low_bits_mask.html" title="low_bits_mask"> low_bits_mask</a>
 </h2></div></div></div>
 <a name="low_bits_mask.low_bits_mask.description"></a><h4>
-<a name="id3132688"></a>
+<a name="id2914303"></a>
       <a class="link" href="low_bits_mask.html#low_bits_mask.low_bits_mask.description">Description</a>
     </h4>
 <p>
@@ -43,7 +43,7 @@
       is located in the <boost/integer/low_bits_mask.hpp> header file.
     </p>
 <a name="low_bits_mask.low_bits_mask.template_signature"></a><h4>
-<a name="id3132822"></a>
+<a name="id2914437"></a>
       <a class="link" href="low_bits_mask.html#low_bits_mask.low_bits_mask.template_signature">Template Signature</a>
     </h4>
 <p>
@@ -100,7 +100,7 @@
 </tbody>
 </table></div>
 <a name="low_bits_mask.low_bits_mask.interface"></a><h4>
-<a name="id3133002"></a>
+<a name="id2914617"></a>
       <a class="link" href="low_bits_mask.html#low_bits_mask.low_bits_mask.interface">Interface</a>
     </h4>
 <p>
@@ -195,7 +195,7 @@
 </tbody>
 </table></div>
 <a name="low_bits_mask.low_bits_mask.examples"></a><h4>
-<a name="id3133346"></a>
+<a name="id2914961"></a>
       <a class="link" href="low_bits_mask.html#low_bits_mask.low_bits_mask.examples">Examples</a>
     </h4>
 <p>
Modified: sandbox/SOC/2010/bit_masks/lib/integer/doc/html/rationale/rationale.html
==============================================================================
--- sandbox/SOC/2010/bit_masks/lib/integer/doc/html/rationale/rationale.html	(original)
+++ sandbox/SOC/2010/bit_masks/lib/integer/doc/html/rationale/rationale.html	2010-07-01 13:25:56 EDT (Thu, 01 Jul 2010)
@@ -46,7 +46,7 @@
       accessors to the data stored within.
     </p>
 <a name="rationale.rationale.project_data_structure_motivation_and_rationale"></a><h4>
-<a name="id3137400"></a>
+<a name="id2861443"></a>
       <a class="link" href="rationale.html#rationale.rationale.project_data_structure_motivation_and_rationale">Project
       Data Structure Motivation and Rationale</a>
     </h4>