|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r56759 - in sandbox/bitfield: . boost/integer libs/integer/doc libs/integer/doc/html libs/integer/doc/html/toward_boost_bitfield libs/integer/doc/html/toward_boost_bitfield/appendices libs/integer/doc/html/toward_boost_bitfield/overview libs/integer/doc/html/toward_boost_bitfield/reference libs/integer/doc/html/toward_boost_bitfield/users_guide libs/integer/test
From: vicente.botet_at_[hidden]
Date: 2009-10-12 17:24:39
Author: viboes
Date: 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
New Revision: 56759
URL: http://svn.boost.org/trac/boost/changeset/56759
Log:
TBoost.Bitfield:
* Added doc
Added:
sandbox/bitfield/libs/integer/doc/html/
sandbox/bitfield/libs/integer/doc/html/index.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/standalone_HTML.manifest (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/acknowledgements.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/appendix_e__tests.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/appendix_f__tickets.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/history.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/implementation.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/rationale.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/todo.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview/
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview/motivation.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/bitfield_dcl_hpp.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/bitfield_hpp.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/endian_bitfield_value_type_hpp.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/ext_references.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/getting_started.html (contents, props changed)
sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/tutorial.html (contents, props changed)
Removed:
sandbox/bitfield/Jamroot
Binary files modified:
sandbox/bitfield/boost.png
Text files modified:
sandbox/bitfield/boost/integer/bitfield.hpp | 12 ++++++++----
sandbox/bitfield/boost/integer/bitfield_dcl.hpp | 11 +++++++++++
sandbox/bitfield/boost/integer/endian_bitfield_value_type.hpp.hpp | 12 ++++++++++++
sandbox/bitfield/libs/integer/doc/Jamfile.v2 | 2 +-
sandbox/bitfield/libs/integer/doc/bitfield.qbk | 7 ++-----
sandbox/bitfield/libs/integer/test/Jamfile.v2 | 6 +++---
sandbox/bitfield/libs/integer/test/bitfield_test.cpp | 3 +++
7 files changed, 40 insertions(+), 13 deletions(-)
Deleted: sandbox/bitfield/Jamroot
==============================================================================
--- sandbox/bitfield/Jamroot 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
+++ (empty file)
@@ -1,522 +0,0 @@
-# Copyright Vladimir Prus 2002-2006.
-# Copyright Dave Abrahams 2005-2006.
-# Copyright Rene Rivera 2005-2007.
-# Copyright Douglas Gregor 2005.
-#
-# 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)
-
-# Usage:
-#
-# bjam [options] [properties] [install|stage]
-#
-# Builds and installs Boost.
-#
-# Targets and Related Options:
-#
-# install Install headers and compiled library files to the
-# ======= configured locations (below).
-#
-# --prefix=<PREFIX> Install architecture independent files here.
-# Default; C:\Boost on Win32
-# Default; /usr/local on Unix. Linux, etc.
-#
-# --exec-prefix=<EPREFIX> Install architecture dependent files here.
-# Default; <PREFIX>
-#
-# --libdir=<DIR> Install library files here.
-# Default; <EPREFIX>/lib
-#
-# --includedir=<HDRDIR> Install header files here.
-# Default; <PREFIX>/include
-#
-# stage Build and install only compiled library files
-# ===== to the stage directory.
-#
-# --stagedir=<STAGEDIR> Install library files here
-# Default; ./stage
-#
-# Other Options:
-#
-# --build-type=<type> Build the specified pre-defined set of variations
-# of the libraries. Note, that which variants get
-# built depends on what each library supports.
-#
-# minimal (default) - Builds the single
-# "release" version of the libraries. This
-# release corresponds to specifying:
-# "release <threading>multi <link>shared
-# <link>static <runtime-link>shared" as the
-# Boost.Build variant to build.
-#
-# complete - Attempts to build all possible
-# variations.
-#
-# --build-dir=DIR Build in this location instead of building
-# within the distribution tree. Recommended!
-#
-# --show-libraries Displays the list of Boost libraries that require
-# build and installation steps, then exit.
-#
-# --layout=<layout> Determines whether to choose library names
-# and header locations such that multiple
-# versions of Boost or multiple compilers can
-# be used on the same system.
-#
-# versioned (default) - Names of boost
-# binaries include the Boost version
-# number and the name and version of the
-# compiler. Boost headers are installed
-# in a subdirectory of <HDRDIR> whose
-# name contains the Boost version
-# number.
-#
-# system - Binaries names do not include
-# the Boost version number or the name
-# and version number of the compiler.
-# Boost headers are installed directly
-# into <HDRDIR>. This option is
-# intended for system integrators who
-# are building distribution packages.
-#
-# --buildid=ID Adds the specified ID to the name of built
-# libraries. The default is to not add anything.
-#
-# --help This message.
-#
-# --with-<library> Build and install the specified <library>
-# If this option is used, only libraries
-# specified using this option will be built.
-#
-# --without-<library> Do not build, stage, or install the specified
-# <library>. By default, all libraries are built.
-#
-# Properties:
-#
-# toolset=toolset Indicates the toolset to build with.
-#
-# variant=debug|release Select the build variant
-#
-# link=static|shared Whether to build static or shared libraries
-#
-# threading=single|multi Whether to build single or multithreaded binaries
-#
-# runtime-link=static|shared
-# Whether to link to static or shared C and C++ runtime.
-#
-
-# TODO:
-# - handle boost version
-# - handle python options such as pydebug
-
-import generate ;
-import modules ;
-import set ;
-import stage ;
-import package ;
-import path ;
-import common ;
-import os ;
-import regex ;
-import errors ;
-import "class" : new ;
-import common ;
-import sequence ;
-import symlink ;
-
-path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.38.0 ;
-constant BOOST_JAMROOT_MODULE : $(__name__) ;
-
-local version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(BOOST_VERSION) ] ;
-if $(version-tag[3]) = 0
-{
- version-tag = $(version-tag[1-2]) ;
-}
-
-constant BOOST_VERSION_TAG : $(version-tag:J="_") ;
-
-# Option to choose how many variants to build. The default is "minimal",
-# which builds only the "release <threading>multi <link>shared" variant.
-local build-type = [ MATCH "^--build-type=(.*)" : [ modules.peek : ARGV ] ] ;
-build-type ?= minimal ;
-if ! ( $(build-type) in minimal complete )
-{
- build-type = minimal ;
-}
-
-# Specify the build variants keyed on the build-type.
-local default-build,minimal =
- release
- <threading>multi
- <link>shared <link>static
- <runtime-link>shared
- ;
-local default-build,complete =
- debug release
- <threading>single <threading>multi
- <link>shared <link>static
- <runtime-link>shared <runtime-link>static
- ;
-
-# Set the default build.
-local default-build = $(default-build,$(build-type)) ;
-
-# We only use the default build when building at the root to
-# avoid having it impact the default regression testing of "debug".
-# TODO: Consider having a "testing" build type instead of this check.
-if $(__file__:D) != ""
-{
- default-build = debug ;
-}
-
-
-rule handle-static-runtime ( properties * )
-{
- # This property combination is dangerous.
- # Ideally, we'd add constraint to default build,
- # so that user can build with property combination
- # by hand. But we don't have any 'constraint' mechanism
- # for default-build, so disable such builds in requirements.
-
- # For CW, static runtime is needed so that
- # std::locale works.
- if <link>shared in $(properties)
- && <runtime-link>static in $(properties)
- && ! ( <toolset>cw in $(properties) )
- {
- return <build>no ;
- }
-}
-
-
-project boost
- : requirements <include>.
- # disable auto-linking for all targets here,
- # primarily because it caused troubles with V2
- <define>BOOST_ALL_NO_LIB=1
- # Used to encode variant in target name. See the
- # 'tag' rule below.
- <tag>@$(__name__).tag
- <conditional>@handle-static-runtime
-
- : usage-requirements <include>.
- : build-dir bin.v2
- : default-build $(default-build)
- ;
-
-# Setup convenient aliases for all libraries.
-
-all-libraries =
- [ MATCH .*libs/(.*)/build/.* : [ glob libs/*/build/Jamfile.v2 ] [ glob libs/*/build/Jamfile ] ]
- ;
-
-all-libraries = [ sequence.unique $(all-libraries) ] ;
-
-# First, the complicated libraries: where the target name in
-# Jamfile is different from directory name.
-alias prg_exec_monitor : libs/test/build//boost_prg_exec_monitor ;
-alias test_exec_monitor : libs/test/build//boost_test_exec_monitor ;
-alias unit_test_framework : libs/test/build//boost_unit_test_framework ;
-alias bgl-vis : libs/graps/build//bgl-vis ;
-alias serialization : libs/serialization/build//boost_serialization ;
-alias wserialization : libs/serialization/build//boost_wserialization ;
-
-explicit prg_exec_monitor test_exec_monitor unit_test_framework
- bgl-vis serialization wserialization ;
-
-for local l in $(all-libraries)
-{
- if ! $(l) in test graph serialization
- {
- alias $(l) : libs/$(l)/build//boost_$(l) ;
- explicit $(l) ;
- }
-}
-
-alias headers : : : : <include>. ;
-
-
-# Decides which libraries are to be installed by looking at --with-<library>
-# --without-<library> arguments. Returns the list of directories under "libs"
-# which must be built at installed.
-rule libraries-to-install ( existing-libraries * )
-{
- local argv = [ modules.peek : ARGV ] ;
- local with-parameter = [ MATCH --with-(.*) : $(argv) ] ;
- local without-parameter = [ MATCH --without-(.*) : $(argv) ] ;
-
- # Do some checks
- if $(with-parameter) && $(without-parameter)
- {
- ECHO "error: both --with-<library> and --without-<library> specified" ;
- EXIT ;
- }
-
- local wrong = [ set.difference $(with-parameter) : $(existing-libraries) ] ;
- if $(wrong)
- {
- ECHO "error: wrong library name '$(wrong[1])' in the --with-<library> option." ;
- EXIT ;
- }
- local wrong = [ set.difference $(without-parameter) : $(existing-libraries) ] ;
- if $(wrong)
- {
- ECHO "error: wrong library name '$(wrong[1])' in the --without-<library> option." ;
- EXIT ;
- }
-
- if $(with-parameter)
- {
- return [ set.intersection $(existing-libraries) : $(with-parameter) ] ;
- }
- else
- {
- return [ set.difference $(existing-libraries) : $(without-parameter) ] ;
- }
-}
-
-# what kind of layout are we doing?
-layout = [ MATCH "^--layout=(.*)" : [ modules.peek : ARGV ] ] ;
-layout ?= versioned ;
-layout-$(layout) = true ;
-
-# possible stage only location
-local stage-locate = [ MATCH "^--stagedir=(.*)" : [ modules.peek : ARGV ] ] ;
-stage-locate ?= stage ;
-
-path-constant BOOST_STAGE_LOCATE : $(stage-locate) ;
-
-
-# location of python
-local python-root = [ MATCH "^--with-python-root=(.*)" : [ modules.peek : ARGV ] ] ;
-PYTHON_ROOT ?= $(python-root) ;
-
-# Select the libraries to install.
-libraries = [ libraries-to-install $(all-libraries) ] ;
-
-if --show-libraries in [ modules.peek : ARGV ]
-{
- ECHO "The following libraries require building:" ;
- for local l in $(libraries)
- {
- ECHO " - $(l)" ;
- }
- EXIT ;
-}
-
-# Custom build ID.
-local build-id = [ MATCH "^--buildid=(.*)" : [ modules.peek : ARGV ] ] ;
-if $(build-id)
-{
- constant BUILD_ID : [ regex.replace $(build-id) "[*\\/:.\"\' ]" "_" ] ;
-}
-
-# This rule is called by Boost.Build to determine the name of
-# target. We use it to encode build variant, compiler name and
-# boost version in the target name
-rule tag ( name : type ? : property-set )
-{
- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
- {
- if $(layout) = versioned
- {
- local result = [ common.format-name
- <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
- -$(BUILD_ID)
- : $(name) : $(type) : $(property-set) ] ;
-
- # Optionally add version suffix.
- # On NT, library with version suffix won't be recognized
- # by linkers. On CYGWIN, we get strage duplicate symbol
- # errors when library is generated with version suffix.
- # On OSX, version suffix is not needed -- the linker expets
- # libFoo.1.2.3.dylib format.
- # AIX linkers don't accept version suffixes either.
- # Pgi compilers can't accept library with version suffix
- if $(type) = SHARED_LIB &&
- ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
- ! ( [ $(property-set).get <toolset> ] in pgi ) )
- {
- result = $(result).$(BOOST_VERSION) ;
- }
-
- return $(result) ;
- }
- else
- {
- return [ common.format-name
- <base> <threading> <runtime> -$(BUILD_ID)
- : $(name) : $(type) : $(property-set) ] ;
- }
- }
-}
-
-# Install to system location.
-
-local install-requirements =
- <install-source-root>boost
- ;
-if $(layout-versioned)
-{
- install-requirements += <install-header-subdir>boost-$(BOOST_VERSION_TAG)/boost ;
-}
-else
-{
- install-requirements += <install-header-subdir>boost ;
-}
-if [ modules.peek : NT ]
-{
- install-requirements += <install-default-prefix>C:/Boost ;
-}
-else if [ modules.peek : UNIX ]
-{
- install-requirements += <install-default-prefix>/usr/local ;
-}
-
-local headers =
- # The .SUNWCCh files are present in tr1 include directory and have to be installed,
- # see http://lists.boost.org/Archives/boost/2007/05/121430.php
- [ path.glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc *.SUNWCCh : CVS .svn ]
- [ path.glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* : CVS .svn ]
- [ path.glob boost/tr1/tr1 : * : bcc32 sun CVS .svn ]
- ;
-
-# Complete install
-package.install install-proper
- : $(install-requirements) <install-no-version-symlinks>on
- :
- : libs/$(libraries)/build
- : $(headers)
- ;
-explicit install-proper ;
-
-# Install just library.
-install stage-proper
- : libs/$(libraries)/build
- : <location>$(stage-locate)/lib
- <install-dependencies>on <install-type>LIB
- <install-no-version-symlinks>on
- ;
-explicit stage-proper ;
-
-
-if $(layout-versioned)
- && ( [ modules.peek : NT ] || [ modules.peek : UNIX ] )
-{
- rule make-unversioned-links ( project name ? : property-set : sources * )
- {
- local result ;
- local filtered ;
- local pattern ;
- local nt = [ modules.peek : NT ] ;
-
- # Collect the libraries that have the version number in 'filtered'.
- for local s in $(sources)
- {
- local m ;
- if $(nt)
- {
- m = [ MATCH "(.*[.]lib)" : [ $(s).name ] ] ;
- }
- else
- {
- m = [ MATCH "(.*[.]so[.0-9]+)" "(.*[.]dylib)" "(.*[.]a)" : [ $(s).name ] ] ;
- }
- if $(m)
- {
- filtered += $(s) ;
- }
- }
-
- # Create links without version.
- for local s in $(filtered)
- {
- local name = [ $(s).name ] ;
- local ea = [ $(s).action ] ;
- local ep = [ $(ea).properties ] ;
- local a = [
- new non-scanning-action $(s) : symlink.ln : $(ep) ] ;
-
- local noversion-file ;
- if $(nt)
- {
- noversion-file = [ MATCH "(.*)-[0-9_]+([.]lib)" : $(name) ] ;
- }
- else
- {
- noversion-file =
- [ MATCH "(.*)-[0-9_]+([.]so)[.0-9]*" : $(name) ]
- [ MATCH "(.*)-[0-9_]+([.]dylib)" : $(name) ]
- [ MATCH "(.*)-[0-9_]+([.]a)" : $(name) ]
- [ MATCH "(.*)-[0-9_]+([.]dll[.]a)" : $(name) ] ;
- }
-
- local new-name =
- $(noversion-file[1])$(noversion-file[2]) ;
- result += [ new file-target $(new-name) exact : [ $(s).type ] : $(project)
- : $(a) ] ;
-
- }
- return $(result) ;
- }
-
- generate stage-unversioned : stage-proper :
- <generating-rule>@make-unversioned-links ;
- explicit stage-unversioned ;
-
- generate install-unversioned : install-proper :
- <generating-rule>@make-unversioned-links ;
- explicit install-unversioned ;
-}
-else
-{
- # Create do-nothing aliases
- alias stage-unversioned ;
- explicit stage-unversioned ;
- alias install-unversioned ;
- explicit install-unversioned ;
-}
-
-alias install : install-proper install-unversioned ;
-alias stage : stage-proper stage-unversioned ;
-explicit install ;
-explicit stage ;
-
-
-# Just build the libraries, don't install them anywhere.
-# This is what happens with just "bjam --v2".
-alias build_all : libs/$(libraries)/build ;
-
-# This rule should be called from libraries' Jamfiles and will
-# create two targets, "install" and "stage", that will install
-# or stage that library. The --prefix option is respected, but
-# --with and --without options, naturally, are ignored.
-#
-# - libraries -- list of library targets to install.
-rule boost-install ( libraries * )
-{
- package.install install
- : <dependency>/boost//install-headers $(install-requirements)
- : # No binaries
- : $(libraries)
- : # No headers, it's handled by the dependency
- ;
-
- install stage : $(libraries) : <location>$(BOOST_STAGE_LOCATE) ;
-
- local c = [ project.current ] ;
- local project-module = [ $(c).project-module ] ;
- module $(project-module)
- {
- explicit stage ;
- explicit install ;
- }
-}
-
-# Make project ids of all libraries known.
-for local l in $(all-libraries)
-{
- use-project /boost/$(l) : libs/$(l)/build ;
-}
Modified: sandbox/bitfield/boost.png
==============================================================================
Binary files. No diff available.
Modified: sandbox/bitfield/boost/integer/bitfield.hpp
==============================================================================
--- sandbox/bitfield/boost/integer/bitfield.hpp (original)
+++ sandbox/bitfield/boost/integer/bitfield.hpp 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -6,7 +6,7 @@
// (See accompanying file LICENSE_1_0.txt or
// copy at http://www.boost.org/LICENSE_1_0.txt)
//
-// See http://www.boost.org/libs/synchro for documentation.
+// See http://www.boost.org/libs/integer for documentation.
//
//////////////////////////////////////////////////////////////////////////////
@@ -221,12 +221,16 @@
static const std::size_t STS = 8*sizeof(storage_type);
static const std::size_t LASTD = STS-LAST-1;
static const std::size_t WIDTH = LAST - FIRST + 1; //!< Width in bits of the bitfield
- static const std::size_t VAL_MASK = (1 << WIDTH) - 1; //!< Mask applied against assigned values
- static const std::size_t FIELD_MASK = (VAL_MASK << LASTD); //!< Mask of the field's bit positions
- static const std::size_t SIGN_MASK = ~VAL_MASK; //!< Sign mask applied against assigned values
+ static const storage_type VAL_MASK = (1 << WIDTH) - 1; //!< Mask applied against assigned values
+ static const storage_type FIELD_MASK = (VAL_MASK << LASTD); //!< Mask of the field's bit positions
+ static const storage_type SIGN_MASK = ~VAL_MASK; //!< Sign mask applied against assigned values
static const value_type MIN_VAL = std::numeric_limits<value_type>::is_signed?value_type((1<<(WIDTH-1))-1):0; //!< min value that can be represented with the bitfield
static const value_type MAX_VAL = std::numeric_limits<value_type>::is_signed?value_type(1<<(WIDTH-1)):(1<<(WIDTH))-1; //!< max value that can be represented with the bitfield
+ template <VALUE_TYPE V>
+ struct static_value_to_storage {
+ static const storage_type value = ((storage_type(V) & VAL_MASK) << LASTD);
+ };
//! explicit constructor from a reference
explicit bitfield(storage_type& field) : field_(field) {
}
Modified: sandbox/bitfield/boost/integer/bitfield_dcl.hpp
==============================================================================
--- sandbox/bitfield/boost/integer/bitfield_dcl.hpp (original)
+++ sandbox/bitfield/boost/integer/bitfield_dcl.hpp 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -1,3 +1,14 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Vicente J. Botet Escriba 2008-2009.
+// 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)
+//
+// See http://www.boost.org/libs/integer for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
#ifndef BOOST_INTEGER_BITFIELD_DCL__HPP
#define BOOST_INTEGER_BITFIELD_DCL__HPP
Modified: sandbox/bitfield/boost/integer/endian_bitfield_value_type.hpp.hpp
==============================================================================
--- sandbox/bitfield/boost/integer/endian_bitfield_value_type.hpp.hpp (original)
+++ sandbox/bitfield/boost/integer/endian_bitfield_value_type.hpp.hpp 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -1,3 +1,15 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Emile Cormier 2006.
+// (C) Copyright Vicente J. Botet Escriba 2008-2009.
+// 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)
+//
+// See http://www.boost.org/libs/integer for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
#ifndef BOOST_INTEGER_BITFIELD__HPP
#define BOOST_INTEGER_BITFIELD__HPP
Modified: sandbox/bitfield/libs/integer/doc/Jamfile.v2
==============================================================================
--- sandbox/bitfield/libs/integer/doc/Jamfile.v2 (original)
+++ sandbox/bitfield/libs/integer/doc/Jamfile.v2 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -1,4 +1,4 @@
-# Boost.LUID library documentation Jamfile ---------------------------------
+# Boost.Bitfield library documentation Jamfile ---------------------------------
#
# Copyright Vicente J. Botet Escriba 2009. Use, modification and
# distribution is subject to the Boost Software License, Version
Modified: sandbox/bitfield/libs/integer/doc/bitfield.qbk
==============================================================================
--- sandbox/bitfield/libs/integer/doc/bitfield.qbk (original)
+++ sandbox/bitfield/libs/integer/doc/bitfield.qbk 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -6,12 +6,12 @@
/]
[article Toward Boost.Bitfield
- [quickbook 1.3]
+ [quickbook 1.4]
[authors [Botet Escriba, Vicente J.]]
[copyright 2009 Vicente J. Botet Escriba]
[id boost.bitfield]
[dirname integer]
- [purpose Bitfield traits]
+ [purpose Bitfield portable traits]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
@@ -19,7 +19,6 @@
]
]
-
[/
[section Preface]
@@ -621,8 +620,6 @@
[section Appendices]
[/=================]
[section:history Appendix A: History]
-[section [*Version 0.1.1, May 9, 2009] ['Adaptation to 1.39]]
-[endsect]
[section [*Version 0.1.0, April 29, 2009] ['Announcement of Bitfield]]
[*Features:]
Added: sandbox/bitfield/libs/integer/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/index.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Toward Boost.Bitfield</title>
+<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="index.html" title="Toward Boost.Bitfield">
+<link rel="next" href="toward_boost_bitfield/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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="toward_boost_bitfield/overview.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
+<div class="article" lang="en">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="toward_boost_bitfield"></a>Toward Boost.Bitfield</h2></div>
+<div><div class="authorgroup"><div class="author"><h3 class="author">
+<span class="firstname">Vicente J.</span> <span class="surname">Botet Escriba</span>
+</h3></div></div></div>
+<div><p class="copyright">Copyright © 2009 Vicente J. Botet Escriba</p></div>
+<div><div class="legalnotice">
+<a name="id4803231"></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">Overview</span></dt>
+<dd><dl><dt><span class="section">Motivation</span></dt></dl></dd>
+<dt><span class="section"> Users'Guide</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="toward_boost_bitfield/users_guide/getting_started.html"> Getting
+ Started</a></span></dt>
+<dt><span class="section">Tutorial</span></dt>
+<dt><span class="section"> References</span></dt>
+</dl></dd>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="toward_boost_bitfield/reference/bitfield_hpp.html"> Header
+ <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/reference/bitfield_dcl_hpp.html"> Header
+ <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_dcl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/reference/endian_bitfield_value_type_hpp.html">
+ Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">endian_bitfield_value_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section">Appendices</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/history.html"> Appendix A:
+ History</a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/rationale.html"> Appendix
+ B: Rationale</a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/implementation.html"> Appendix
+ C: Implementation Notes</a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/acknowledgements.html"> Appendix
+ D: Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/appendix_e__tests.html">Appendix
+ E: Tests</a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/appendix_f__tickets.html">Appendix
+ F: Tickets</a></span></dt>
+<dt><span class="section"><a href="toward_boost_bitfield/appendices/todo.html"> Appendix F: Future
+ plans</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../doc/html/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Bitfield is not a part of the Boost libraries.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: October 05, 2009 at 16:42:56 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="toward_boost_bitfield/overview.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/standalone_HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/standalone_HTML.manifest 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,19 @@
+index.html
+toward_boost_bitfield/overview.html
+toward_boost_bitfield/overview/motivation.html
+toward_boost_bitfield/users_guide.html
+toward_boost_bitfield/users_guide/getting_started.html
+toward_boost_bitfield/users_guide/tutorial.html
+toward_boost_bitfield/users_guide/ext_references.html
+toward_boost_bitfield/reference.html
+toward_boost_bitfield/reference/bitfield_hpp.html
+toward_boost_bitfield/reference/bitfield_dcl_hpp.html
+toward_boost_bitfield/reference/endian_bitfield_value_type_hpp.html
+toward_boost_bitfield/appendices.html
+toward_boost_bitfield/appendices/history.html
+toward_boost_bitfield/appendices/rationale.html
+toward_boost_bitfield/appendices/implementation.html
+toward_boost_bitfield/appendices/acknowledgements.html
+toward_boost_bitfield/appendices/appendix_e__tests.html
+toward_boost_bitfield/appendices/appendix_f__tickets.html
+toward_boost_bitfield/appendices/todo.html
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Appendices</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="prev" href="reference/endian_bitfield_value_type_hpp.html" title="
+ Header <boost/integer/endian_bitfield_value_type.hpp>">
+<link rel="next" href="appendices/history.html" title=" Appendix A:
+ History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference/endian_bitfield_value_type_hpp.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="toward_boost_bitfield.appendices"></a>Appendices
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="appendices/history.html"> Appendix A:
+ History</a></span></dt>
+<dd><dl><dt><span class="section"><a href="appendices/history.html#toward_boost_bitfield.appendices.history.__version_0_1_0__april_29__2009____announcement_of_bitfield_"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Announcement
+ of Bitfield</em></span></a></span></dt></dl></dd>
+<dt><span class="section"><a href="appendices/rationale.html"> Appendix
+ B: Rationale</a></span></dt>
+<dt><span class="section"><a href="appendices/implementation.html"> Appendix
+ C: Implementation Notes</a></span></dt>
+<dt><span class="section"><a href="appendices/acknowledgements.html"> Appendix
+ D: Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="appendices/appendix_e__tests.html">Appendix
+ E: Tests</a></span></dt>
+<dd><dl><dt><span class="section"><a href="appendices/appendix_e__tests.html#toward_boost_bitfield.appendices.appendix_e__tests.aligned_bitfields">aligned
+ bitfields</a></span></dt></dl></dd>
+<dt><span class="section"><a href="appendices/appendix_f__tickets.html">Appendix
+ F: Tickets</a></span></dt>
+<dt><span class="section"><a href="appendices/todo.html"> Appendix F: Future
+ plans</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 © 2009 Vicente J. Botet Escriba<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/endian_bitfield_value_type_hpp.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendices/history.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/acknowledgements.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/acknowledgements.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix
+ D: Acknowledgements</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="implementation.html" title=" Appendix
+ C: Implementation Notes">
+<link rel="next" href="appendix_e__tests.html" title="Appendix
+ E: Tests">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_e__tests.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.acknowledgements"></a><a href="acknowledgements.html" title=" Appendix
+ D: Acknowledgements"> Appendix
+ D: Acknowledgements</a>
+</h3></div></div></div>
+<p>
+ Thanks to Emile Cormier, the initiator of this library. And also to Beman
+ Dawes; in a first version of the Boost.Bitfield the bitfield class tokes
+ in addition an endian template parameter to make the needed endian conversions.
+ With the Boost.Endian this is much more simpler and orthogonal.
+ </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 © 2009 Vicente J. Botet Escriba<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.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_e__tests.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/appendix_e__tests.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/appendix_e__tests.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,284 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Appendix
+ E: Tests</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="acknowledgements.html" title=" Appendix
+ D: Acknowledgements">
+<link rel="next" href="appendix_f__tickets.html" title="Appendix
+ F: Tickets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_f__tickets.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.appendix_e__tests"></a><a href="appendix_e__tests.html" title="Appendix
+ E: Tests">Appendix
+ E: Tests</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="appendix_e__tests.html#toward_boost_bitfield.appendices.appendix_e__tests.aligned_bitfields">aligned
+ bitfields</a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.appendices.appendix_e__tests.aligned_bitfields"></a><a href="appendix_e__tests.html#toward_boost_bitfield.appendices.appendix_e__tests.aligned_bitfields" title="aligned
+ bitfields">aligned
+ bitfields</a>
+</h4></div></div></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ kind
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Result
+ </p>
+ </th>
+<th>
+ <p>
+ Ticket
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ get
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check getters
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ assign
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check setters
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ flags
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check flags
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ traits
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check the traits of bitfield
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ invert
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check the <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ bit
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check the <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ signed
+ </p>
+ </td>
+<td>
+ <p>
+ run
+ </p>
+ </td>
+<td>
+ <p>
+ check signed bitfields
+ </p>
+ </td>
+<td>
+ <p>
+ Pass
+ </p>
+ </td>
+<td>
+ <p>
+ #
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></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 © 2009 Vicente J. Botet Escriba<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="acknowledgements.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="appendix_f__tickets.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/appendix_f__tickets.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/appendix_f__tickets.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,46 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Appendix
+ F: Tickets</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="appendix_e__tests.html" title="Appendix
+ E: Tests">
+<link rel="next" href="todo.html" title=" Appendix F: Future
+ plans">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="appendix_e__tests.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="todo.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.appendix_f__tickets"></a><a href="appendix_f__tickets.html" title="Appendix
+ F: Tickets">Appendix
+ F: Tickets</a>
+</h3></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 © 2009 Vicente J. Botet Escriba<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="appendix_e__tests.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="todo.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/history.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/history.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix A:
+ History</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="../appendices.html" title="Appendices">
+<link rel="next" href="rationale.html" title=" Appendix
+ B: Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../appendices.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.history"></a><a href="history.html" title=" Appendix A:
+ History"> Appendix A:
+ History</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="history.html#toward_boost_bitfield.appendices.history.__version_0_1_0__april_29__2009____announcement_of_bitfield_"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Announcement
+ of Bitfield</em></span></a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.appendices.history.__version_0_1_0__april_29__2009____announcement_of_bitfield_"></a><a href="history.html#toward_boost_bitfield.appendices.history.__version_0_1_0__april_29__2009____announcement_of_bitfield_" title="Version 0.1.0, April 29, 2009 Announcement
+ of Bitfield"><span class="bold"><strong>Version 0.1.0, April 29, 2009</strong></span> <span class="emphasis"><em>Announcement
+ of Bitfield</em></span></a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong>Features:</strong></span>
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ a generic bitfield traits class providing generic getter and setter for
+ portable bitfields.
+ </li>
+<li>
+ a BOOST_BITFIELD_DCL macro making easier the definition of the bitfield
+ helper type and the bitfield getter and setter functions.
+ </li>
+</ul></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 © 2009 Vicente J. Botet Escriba<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="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/implementation.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/implementation.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix
+ C: Implementation Notes</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="rationale.html" title=" Appendix
+ B: Rationale">
+<link rel="next" href="acknowledgements.html" title=" Appendix
+ D: Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.implementation"></a><a href="implementation.html" title=" Appendix
+ C: Implementation Notes"> Appendix
+ C: Implementation Notes</a>
+</h3></div></div></div>
+<a name="toward_boost_bitfield.appendices.implementation.faq"></a><h4>
+<a name="id4817293"></a>
+ FAQ
+ </h4>
+<div class="itemizedlist"><ul type="disc"><li>
+ Why bother with endian bitfields ?
+ </li></ul></div>
+<p>
+ External data portability and both speed and space efficiency. Availability
+ of bit order representations is important in some applications.
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Why not just use Boost.Serialization?
+ </li></ul></div>
+<p>
+ Serialization involves a conversion for every object involved in I/O. Endian
+ objects require no conversion or copying. They are already in the desired
+ format for binary I/O. Thus they can be read or written in bulk.
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Do this type have any uses outside of I/O?
+ </li></ul></div>
+<p>
+ Probably not.
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ Is there is a performance hit when doing arithmetic using these types?
+ </li></ul></div>
+<p>
+ Yes, for sure, compared to arithmetic operations on native bitfields integer
+ types. However, these types are usually faster, and sometimes much faster,
+ for I/O compared to stream inserters and extractors, or to serialization.
+ </p>
+<div class="itemizedlist"><ul type="disc"><li>
+ These types are really just byte-holders. Why provide the arithmetic operations
+ at all?
+ </li></ul></div>
+<p>
+ The first goal of the library is to be as close as possible of the usage
+ of bitfields on C/C++. Providing a full set of operations reduces program
+ clutter and makes code both easier to write and to read. Consider incrementing
+ a variable in a record. It is very convenient to write:
+ </p>
+<pre class="programlisting"><span class="special">++</span><span class="identifier">record</span><span class="special">.</span><span class="identifier">bf</span><span class="special">();</span>
+</pre>
+<p>
+ Rather than:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">temp</span><span class="special">(</span> <span class="identifier">record</span><span class="special">.</span><span class="identifier">bf</span><span class="special">());</span>
+<span class="special">++</span><span class="identifier">temp</span><span class="special">;</span>
+<span class="identifier">record</span><span class="special">.</span><span class="identifier">vf</span><span class="special">()</span> <span class="special">=</span> <span class="identifier">temp</span><span class="special">;</span>
+</pre>
+<a name="toward_boost_bitfield.appendices.implementation.design_considerations_for_boost_bitfield"></a><h4>
+<a name="id4817498"></a>
+ <a href="implementation.html#toward_boost_bitfield.appendices.implementation.design_considerations_for_boost_bitfield">Design
+ considerations for Boost.Bitfield</a>
+ </h4>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Must provide exactly the size and internal bit ordering specified.
+ </li>
+<li>
+ It is better software engineering if the same implementation works regardless
+ of the CPU endianness. In other words, #ifdefs should be avoided where
+ possible.
+ </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 © 2009 Vicente J. Botet Escriba<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.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/rationale.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix
+ B: Rationale</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="history.html" title=" Appendix A:
+ History">
+<link rel="next" href="implementation.html" title=" Appendix
+ C: Implementation Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="implementation.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.rationale"></a><a href="rationale.html" title=" Appendix
+ B: Rationale"> Appendix
+ B: Rationale</a>
+</h3></div></div></div>
+<a name="toward_boost_bitfield.appendices.rationale.why_we_can_not_declare_portable_c_c___bitfields__"></a><h4>
+<a name="id4817254"></a>
+ <a href="rationale.html#toward_boost_bitfield.appendices.rationale.why_we_can_not_declare_portable_c_c___bitfields__">Why
+ we can not declare portable C/C++ bitfields ?</a>
+ </h4>
+</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 © 2009 Vicente J. Botet Escriba<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="history.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="implementation.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/todo.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/appendices/todo.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Appendix F: Future
+ plans</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../appendices.html" title="Appendices">
+<link rel="prev" href="appendix_f__tickets.html" title="Appendix
+ F: Tickets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="appendix_f__tickets.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.appendices.todo"></a><a href="todo.html" title=" Appendix F: Future
+ plans"> Appendix F: Future
+ plans</a>
+</h3></div></div></div>
+<a name="toward_boost_bitfield.appendices.todo.tasks_to_do_before_review"></a><h4>
+<a name="id4817948"></a>
+ <a href="todo.html#toward_boost_bitfield.appendices.todo.tasks_to_do_before_review">Tasks
+ to do before review</a>
+ </h4>
+<div class="itemizedlist"><ul type="disc"><li>
+ Add test with the Boost.Endian types and binary archive.
+ </li></ul></div>
+<a name="toward_boost_bitfield.appendices.todo.for_later_releases"></a><h4>
+<a name="id4817976"></a>
+ <a href="todo.html#toward_boost_bitfield.appendices.todo.for_later_releases">For
+ later releases</a>
+ </h4>
+</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 © 2009 Vicente J. Botet Escriba<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="appendix_f__tickets.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../appendices.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Overview</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="prev" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="next" href="overview/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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="overview/motivation.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="toward_boost_bitfield.overview"></a>Overview
+</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section">Motivation</span></dt></dl></div>
+<a name="toward_boost_bitfield.overview.description"></a><h3>
+<a name="id4803156"></a>
+ Description
+ </h3>
+<p>
+ Portable bitfields.
+ </p>
+<p>
+ The main source of inspiration of this library was Boost.Bitfield from Emile
+ Cormier.
+ </p>
+<p>
+ <span class="bold"><strong>Boost.Bitfield</strong></span> provides:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ a generic bitfield traits class providing generic getter and setter.
+ </li>
+<li>
+ a BOOST_BITFIELD_DCL macro making easier the definition of the bitfield helper
+ type and the bitfield getter and setter functions.
+ </li>
+</ul></div>
+<a name="toward_boost_bitfield.overview.how_to_use_this_documentation"></a><h3>
+<a name="id4762302"></a>
+ <a href="overview.html#toward_boost_bitfield.overview.how_to_use_this_documentation">How
+ to Use This Documentation</a>
+ </h3>
+<p>
+ This documentation makes use of the following naming and formatting conventions.
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Code is in <code class="computeroutput"><span class="identifier">fixed</span> <span class="identifier">width</span>
+ <span class="identifier">font</span></code> and is syntax-highlighted.
+ </li>
+<li>
+ Replaceable text that you will need to supply is in
+ <em class="replaceable"><code>
+ italics
+ </code></em>
+ .
+ </li>
+<li>
+ If a name refers to a free function, it is specified like this: <code class="computeroutput"><span class="identifier">free_function</span><span class="special">()</span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code>
+ to indicate that it is a free function.
+ </li>
+<li>
+ If a name refers to a class template, it is specified like this: <code class="computeroutput"><span class="identifier">class_template</span><span class="special"><></span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special"><></span></code>
+ to indicate that it is a class template.
+ </li>
+<li>
+ If a name refers to a function-like macro, it is specified like this: <code class="computeroutput"><span class="identifier">MACRO</span><span class="special">()</span></code>;
+ that is, it is uppercase in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code> to indicate that it is a function-like
+ macro. Object-like macros appear without the trailing <code class="computeroutput"><span class="special">()</span></code>.
+ </li>
+<li>
+ Names that refer to <span class="emphasis"><em>concepts</em></span> in the generic programming
+ sense are specified in CamelCase.
+ </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="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ In addition, notes such as this one specify non-essential information that
+ provides additional background or rationale.
+ </p></td></tr>
+</table></div>
+<p>
+ Finally, you can mentally add the following to any code fragments in this document:
+ </p>
+<pre class="programlisting"><span class="comment">// Include all of Bitfield files
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_dcl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+</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 © 2009 Vicente J. Botet Escriba<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="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="overview/motivation.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview/motivation.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/overview/motivation.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,220 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Motivation</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="../overview.html" title="Overview">
+<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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../users_guide.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.overview.motivation"></a>Motivation
+</h3></div></div></div>
+<p>
+ In order for an application or a device driver to use the same source code
+ base on both platforms, it must either be endian neutral, or use conditional
+ compilation to select appropriate code modules. A program module is considered
+ endian neutral if it retains its functionality while being ported across
+ platforms of different endianness. In other words, there is no relation between
+ its functionality and the endianness of the platform it is running on. Endianness
+ issues become important when porting the pieces of the application that relate
+ to client communication over a heterogeneous network, persistent data storage
+ on the disk, product tracing (it is important that trace generated on SPARC
+ gets formatted correctly on x86) and other related areas.
+ </p>
+<p>
+ Boost.Endian handles with most of the issues related to the byte ordering,
+ but do not manage the bit ordering. E.g. the following structure has a different
+ layout in big and little endian machines.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01</span><span class="special">:</span><span class="number">7</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d02</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d03</span><span class="special">:</span><span class="number">6</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d04</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d05</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d06</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d07</span><span class="special">:</span><span class="number">3</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d08</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ In order to make this structure endian neutral, we need to use conditional
+ compilation, and swap on byte level of the fields
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+<span class="preprocessor">#if</span> <span class="identifier">__BYTE_ORDER</span> <span class="special">==</span> <span class="identifier">__BIG_ENDIAN</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01</span><span class="special">:</span><span class="number">7</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d02</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d03</span><span class="special">:</span><span class="number">6</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d04</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d05</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d06</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d07</span><span class="special">:</span><span class="number">3</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d08</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+<span class="preprocessor">#else</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01</span><span class="special">:</span><span class="number">7</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d03</span><span class="special">:</span><span class="number">6</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d02</span><span class="special">:</span><span class="number">2</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d05</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d04</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d08</span><span class="special">:</span><span class="number">4</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d07</span><span class="special">:</span><span class="number">3</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d06</span><span class="special">:</span><span class="number">1</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The preceding technique can be applied as far as the bitfield is contained
+ on a byte boundary. But for bitfields using several bytes as in
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00</span><span class="special">:</span><span class="number">11</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01</span><span class="special">:</span><span class="number">21</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ there is no way using conditional compilation to adapt the structure and
+ preserve the fields.
+ </p>
+<p>
+ Two approaches can be considered:
+ </p>
+<a name="toward_boost_bitfield.overview.motivation.decompose_the_fields_not_defined_on_a_byte_boundary_on_several_bitfield_defined_on_a_byte_boundary"></a><h4>
+<a name="id4758336"></a>
+ <a href="motivation.html#toward_boost_bitfield.overview.motivation.decompose_the_fields_not_defined_on_a_byte_boundary_on_several_bitfield_defined_on_a_byte_boundary">Decompose
+ the fields not defined on a byte boundary on several bitfield defined on
+ a byte boundary</a>
+ </h4>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+<span class="preprocessor">#if</span> <span class="identifier">__BYTE_ORDER</span> <span class="special">==</span> <span class="identifier">__BIG_ENDIAN</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00_b0</span><span class="special">:</span><span class="number">8</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00_b1</span><span class="special">:</span><span class="number">3</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01_b0</span><span class="special">:</span><span class="number">5</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01_b1</span><span class="special">:</span><span class="number">8</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01_b2</span><span class="special">:</span><span class="number">8</span><span class="special">;</span>
+<span class="preprocessor">#else</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01_b2</span><span class="special">:</span><span class="number">8</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01_b1</span><span class="special">:</span><span class="number">8</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01_b0</span><span class="special">:</span><span class="number">5</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00_b1</span><span class="special">:</span><span class="number">3</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00_b0</span><span class="special">:</span><span class="number">8</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="special">};</span>
+</pre>
+<p>
+ and define a way to access the bitfield information of the ENDIAN_UNSAFE
+ structure. This library do not use this apprach.
+ </p>
+<a name="toward_boost_bitfield.overview.motivation.replace_the_bitfields_by_the_integer_type"></a><h4>
+<a name="id4758728"></a>
+ <a href="motivation.html#toward_boost_bitfield.overview.motivation.replace_the_bitfields_by_the_integer_type">Replace
+ the bitfields by the integer type</a>
+ </h4>
+<p>
+ When it is possible, a suggestion would be to transform the bitfields into
+ integers, as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+<span class="preprocessor">#ifdef</span> <span class="identifier">ATRIUM_PORTABLE</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d0</span><span class="special">;</span>
+<span class="preprocessor">#else</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d00</span><span class="special">:</span><span class="number">11</span><span class="special">;</span> <span class="comment">/* ENDIAN_UNSAFE */</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">d01</span><span class="special">:</span><span class="number">21</span><span class="special">;</span> <span class="comment">/* ENDIAN_UNSAFE */</span>
+<span class="preprocessor">#endif</span>
+<span class="special">};</span>
+</pre>
+<p>
+ and define a way to access the bitfield information.
+ </p>
+<p>
+ When the structure is used by a C++ program, all the uses of the bit fields
+ (d00 and d01) could be replaced by an inline function, so
+ </p>
+<pre class="programlisting"><span class="identifier">y</span> <span class="special">=</span> <span class="identifier">x</span><span class="special">.</span><span class="identifier">d00</span><span class="special">;</span>
+</pre>
+<p>
+ could be replaced by
+ </p>
+<pre class="programlisting"><span class="identifier">y</span> <span class="special">=</span> <span class="identifier">x</span><span class="special">.</span><span class="identifier">d00</span><span class="special">();</span>
+</pre>
+<p>
+ or
+ </p>
+<pre class="programlisting"><span class="identifier">y</span> <span class="special">=</span> <span class="identifier">x</span><span class="special">.</span><span class="identifier">get_d00</span><span class="special">();</span>
+</pre>
+<p>
+ and x.d00= y;
+ </p>
+<p>
+ could be replaced by
+ </p>
+<pre class="programlisting"><span class="identifier">x</span><span class="special">.</span><span class="identifier">d00</span><span class="special">()=</span> <span class="identifier">y</span><span class="special">;</span>
+</pre>
+<p>
+ or
+ </p>
+<pre class="programlisting"><span class="identifier">x</span><span class="special">.</span><span class="identifier">set_d00</span><span class="special">(</span><span class="identifier">y</span><span class="special">)</span>
+</pre>
+<p>
+ where
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">uint_32</span> <span class="identifier">storage_type</span><span class="special">;</span>
+ <span class="identifier">storage_type</span> <span class="identifier">d0</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">d0</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">d00</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">d0</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">d01</span><span class="special">,</span> <span class="number">11</span><span class="special">,</span> <span class="number">31</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The goal of Boost.Bitfield is to make possible this simple portable translation.
+ </p>
+<p>
+ If we want to write the storage type to a binary archive we need to precise
+ which will be the endian format of the storage type. For this end, you can
+ use any of the endian types provided by the Boost.Endian library. If the
+ storage is big you can declare
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">ubig_32</span> <span class="identifier">storage_type</span><span class="special">;</span>
+ <span class="identifier">storage_type</span> <span class="identifier">d0</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">d0</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">d00</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">d0</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">d01</span><span class="special">,</span> <span class="number">11</span><span class="special">,</span> <span class="number">31</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</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 © 2009 Vicente J. Botet Escriba<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="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../users_guide.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Reference</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="prev" href="users_guide/ext_references.html" title=" References">
+<link rel="next" href="reference/bitfield_hpp.html" title=" Header
+ <boost/integer/bitfield.hpp>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="users_guide/ext_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/bitfield_hpp.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="toward_boost_bitfield.reference"></a>Reference
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference/bitfield_hpp.html"> Header
+ <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_default_value_type">
+ Metafunction <code class="computeroutput"><span class="identifier">bitfield_default_value_type</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield">
+ Template class <code class="computeroutput"><span class="identifier">bitfield</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_bit_proxy">
+ Template class <code class="computeroutput"><span class="identifier">bitfield_bit_proxy</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_traits">
+ Template class <code class="computeroutput"><span class="identifier">bitfield_traits</span><span class="special"><></span></code></a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/bitfield_dcl_hpp.html"> Header
+ <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_dcl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dd><dl><dt><span class="section"><a href="reference/bitfield_dcl_hpp.html#toward_boost_bitfield.reference.bitfield_dcl_hpp.BOOST_BITFIELD_DCL">
+ Macro <code class="computeroutput"><span class="identifier">BOOST_BITFIELD_DCL</span></code></a></span></dt></dl></dd>
+<dt><span class="section"><a href="reference/endian_bitfield_value_type_hpp.html">
+ Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">endian_bitfield_value_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></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 © 2009 Vicente J. Botet Escriba<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/ext_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/bitfield_hpp.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/bitfield_dcl_hpp.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/bitfield_dcl_hpp.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Header
+ <boost/integer/bitfield_dcl.hpp></title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="bitfield_hpp.html" title=" Header
+ <boost/integer/bitfield.hpp>">
+<link rel="next" href="endian_bitfield_value_type_hpp.html" title="
+ Header <boost/integer/endian_bitfield_value_type.hpp>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="endian_bitfield_value_type_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_dcl_hpp"></a><a href="bitfield_dcl_hpp.html" title=" Header
+ <boost/integer/bitfield_dcl.hpp>"> Header
+ <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield_dcl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="bitfield_dcl_hpp.html#toward_boost_bitfield.reference.bitfield_dcl_hpp.BOOST_BITFIELD_DCL">
+ Macro <code class="computeroutput"><span class="identifier">BOOST_BITFIELD_DCL</span></code></a></span></dt></dl></div>
+<p>
+ This file constains the macro making easier the definition of the bitfield
+ helper type and the bitfield getter and setter functions.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="identifier">STORAGE_VAR</span><span class="special">,</span> <span class="identifier">VALUE_TYPE</span><span class="special">,</span> <span class="identifier">FIELD</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">L</span><span class="special">)</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_dcl_hpp.BOOST_BITFIELD_DCL"></a><a href="bitfield_dcl_hpp.html#toward_boost_bitfield.reference.bitfield_dcl_hpp.BOOST_BITFIELD_DCL" title="
+ Macro BOOST_BITFIELD_DCL">
+ Macro <code class="computeroutput"><span class="identifier">BOOST_BITFIELD_DCL</span></code></a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="identifier">STORAGE_VAR</span><span class="special">,</span> <span class="identifier">VALUE_TYPE</span><span class="special">,</span> <span class="identifier">FIELD</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">L</span><span class="special">)</span>
+</pre>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Parameters
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ STORAGE_TYPE: the type to store the bitfield
+ </li>
+<li>
+ STORAGE_VAR: the variable used to store the bitfield
+ </li>
+<li>
+ VALUE_TYPE: the type for the bitfield
+ </li>
+<li>
+ FIELD: the name of the bitfield
+ </li>
+<li>
+ F: the first bit
+ </li>
+<li>
+ L: the last bit
+ </li>
+</ul></div>
+</li>
+<li>
+ Effect This macro defines the bitfield traits and the functions necessary
+ to make valid the following expressions:
+ <div class="itemizedlist"><ul type="circle">
+<li>
+ str.FIELD() = value;
+ </li>
+<li>
+ var= str.FIELD();
+ </li>
+<li>
+ str.set_FIELD(var);
+ </li>
+<li>
+ var= str.get_FIELD()
+ </li>
+</ul></div>
+</li>
+</ul></div>
+<p>
+ Two styles of getter/setter are provided: one using overloading on the
+ field name, the other using clasical prefic get<span class="underline">/set</span>.
+ </p>
+</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 © 2009 Vicente J. Botet Escriba<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_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="endian_bitfield_value_type_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/bitfield_hpp.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/bitfield_hpp.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,239 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Header
+ <boost/integer/bitfield.hpp></title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="bitfield_dcl_hpp.html" title=" Header
+ <boost/integer/bitfield_dcl.hpp>">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_dcl_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_hpp"></a><a href="bitfield_hpp.html" title=" Header
+ <boost/integer/bitfield.hpp>"> Header
+ <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">bitfield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_default_value_type">
+ Metafunction <code class="computeroutput"><span class="identifier">bitfield_default_value_type</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield">
+ Template class <code class="computeroutput"><span class="identifier">bitfield</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_bit_proxy">
+ Template class <code class="computeroutput"><span class="identifier">bitfield_bit_proxy</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_traits">
+ Template class <code class="computeroutput"><span class="identifier">bitfield_traits</span><span class="special"><></span></code></a></span></dt>
+</dl></div>
+<p>
+ This is the main file of Boost.Bitfield, which includes the definition of
+ the bitfield<> class.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">bitfield_default_value_type</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size</span><span class="special">,</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">class</span><span class="special">></span>
+<span class="keyword">class</span> <span class="identifier">bitfield</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">></span>
+<span class="keyword">class</span> <span class="identifier">bitfield_bit_proxy</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">L</span>
+ <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">VALUE_TYPE</span><span class="special">=</span><span class="identifier">bitfield_default_value_type</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">STORAGE_TYPE</span><span class="special">::</span><span class="identifier">type</span><span class="special">></span>
+<span class="special">></span>
+<span class="identifier">strcut</span> <span class="identifier">bitfield_traits</span><span class="special">;</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_hpp.bitfield_default_value_type"></a><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_default_value_type" title="
+ Metafunction bitfield_default_value_type<>">
+ Metafunction <code class="computeroutput"><span class="identifier">bitfield_default_value_type</span><span class="special"><></span></code></a>
+</h4></div></div></div>
+<p>
+ The default value type associated to an storage type is the storage type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">bitfield_value_type</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The user could need to specialize this metafunction for some specific types,
+ as for example for types comming from the Boost.Endian library.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_hpp.bitfield"></a><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield" title="
+ Template class bitfield<>">
+ Template class <code class="computeroutput"><span class="identifier">bitfield</span><span class="special"><></span></code></a>
+</h4></div></div></div>
+<p>
+ The bitfield class is a wrapper to an storage type that allows to get/set
+ a bitfield of a given value type defined by the first and last bit that
+ the bitfield occupes in the strogae type. It defines the conversion to
+ the bitfield value type as weel as all the arithmetic assignement operators.
+ </p>
+<p>
+ This template class behaves as a reference to a bitfield. Note that C/C++
+ do not allows to take directly the address of a bit field.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size</span> <span class="identifier">L</span>
+ <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">VALUE_TYPE</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">bitfield_value_type</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">STORAGE_TYPE</span><span class="special">::</span><span class="identifier">type</span><span class="special">></span>
+ <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">REFERENCE_TYPE</span><span class="special">=</span><span class="identifier">STORAGE_TYPE</span><span class="special">&></span>
+<span class="keyword">class</span> <span class="identifier">bitfield</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">//! Reference type of the word occupied by the bitfield
+</span> <span class="keyword">typedef</span> <span class="identifier">REFERENCE_TYPE</span> <span class="identifier">reference_type</span><span class="special">;</span>
+ <span class="comment">//! Value type of the bitfield itself
+</span> <span class="keyword">typedef</span> <span class="identifier">VALUE_TYPE</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="comment">//! storage type of the bitfield support
+</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">reference_traits</span><span class="special"><</span><span class="identifier">REFERENCE_TYPE</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">storage_type</span><span class="special">;</span>
+
+ <span class="comment">//! Useful constants
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">FIRST</span><span class="special">;</span> <span class="comment">//!< Position of the first bit
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">LAST</span><span class="special">;</span> <span class="comment">//!< Position of the last bit
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">STS</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">LASTD</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">WIDTH</span><span class="special">;</span> <span class="comment">//!< Width in bits of the bitfield
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">VAL_MASK</span><span class="special">;</span> <span class="comment">//!< Mask applied against assigned values
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">SIGN_MASK</span><span class="special">;</span> <span class="comment">//!< Sign Mask applied against assigned values
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">value_type</span> <span class="identifier">MIN_VAL</span><span class="special">;</span> <span class="comment">//!< min value that can be represented with the bitfield
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">value_type</span> <span class="identifier">MAX_VAL</span><span class="special">;</span> <span class="comment">//!< max value that can be represented with the bitfield
+</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">FIELD_MASK</span><span class="special">;</span> <span class="comment">//!< Mask of the field's bit positions
+</span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">first</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">last</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">width</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">storage_type</span> <span class="identifier">val_mask</span><span class="special">();</span>
+ <span class="keyword">static</span> <span class="identifier">storage_type</span> <span class="identifier">field_mask</span><span class="special">();</span>
+
+ <span class="comment">//! deleted because a reference is nedeed
+</span> <span class="identifier">bitfield</span><span class="special">()</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <span class="comment">//! explicit constructor from a reference
+</span> <span class="keyword">explicit</span> <span class="identifier">bitfield</span><span class="special">(</span><span class="identifier">reference_type</span> <span class="identifier">field</span><span class="special">);</span>
+
+ <span class="comment">//! Assignment from a value type
+</span> <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">value_type</span> <span class="identifier">val</span><span class="special">);</span>
+
+ <span class="comment">//! value_type implicit conversion
+</span> <span class="keyword">operator</span> <span class="identifier">value_type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//! value_type explicit getter
+</span> <span class="identifier">value_type</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//! Returns the negative of the bitfield value.
+</span> <span class="comment">// this must be modified on the case of signed value_type
+</span> <span class="identifier">value_type</span> <span class="keyword">operator</span><span class="special">~()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">bit_reference_type</span> <span class="keyword">operator</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">);</span>
+
+ <span class="identifier">bit_const_reference_type</span> <span class="keyword">operator</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">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//! Returns the current bitfield value as bit flags.
+</span> <span class="comment">/*! The returned bit flags can be ORed with other bit flags. */</span>
+ <span class="identifier">storage_type</span> <span class="identifier">flags</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//! Returns the current bitfield value as bit flags.
+</span> <span class="comment">/*! The returned bit flags can be ORed with other bit flags. */</span>
+ <span class="keyword">static</span> <span class="identifier">storage_type</span> <span class="identifier">flags</span><span class="special">(</span><span class="identifier">value_type</span> <span class="identifier">val</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//! Arithmetic-assign operators
+</span> <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">++();</span>
+ <span class="identifier">value_type</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span>
+
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">--();</span>
+ <span class="identifier">value_type</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">);</span>
+
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special"><<=(</span><span class="keyword">int</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">>>=(</span><span class="keyword">int</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">&=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">|=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">bitfield</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">^=(</span><span class="identifier">value_type</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_hpp.bitfield_bit_proxy"></a><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_bit_proxy" title="
+ Template class bitfield_bit_proxy<>">
+ Template class <code class="computeroutput"><span class="identifier">bitfield_bit_proxy</span><span class="special"><></span></code></a>
+</h4></div></div></div>
+<p>
+ This template class behaves as a reference to a bitfield bit. Note that
+ C/C++ do not allows to take directly the address of a bit field. The class
+ takes a reference to the storage and the index of the bit.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">R</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">></span>
+<span class="keyword">class</span> <span class="identifier">bitfield_bit_proxy</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">bitfield_bit_proxy</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="keyword">bool</span> <span class="identifier">state</span><span class="special">);</span>
+
+ <span class="keyword">operator</span> <span class="keyword">bool</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.reference.bitfield_hpp.bitfield_traits"></a><a href="bitfield_hpp.html#toward_boost_bitfield.reference.bitfield_hpp.bitfield_traits" title="
+ Template class bitfield_traits<>">
+ Template class <code class="computeroutput"><span class="identifier">bitfield_traits</span><span class="special"><></span></code></a>
+</h4></div></div></div>
+<p>
+ This traits class defies two traits:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ reference: used to modify a bitfield
+ </li>
+<li>
+ value: used to get the value of a bitset
+ </li>
+</ul></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">L</span>
+ <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">VALUE_TYPE</span><span class="special">=</span><span class="keyword">typename</span> <span class="identifier">bitfield_value_type</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">STORAGE_TYPE</span><span class="special">::</span><span class="identifier">type</span><span class="special">></span>
+<span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">bitfield_traits</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">bitfield</span><span class="special"><</span><span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">VALUE_TYPE</span><span class="special">></span> <span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">bitfield</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">STORAGE_TYPE</span><span class="special">,</span> <span class="identifier">F</span><span class="special">,</span> <span class="identifier">L</span><span class="special">,</span> <span class="identifier">VALUE_TYPE</span><span class="special">></span> <span class="identifier">value</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+</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 © 2009 Vicente J. Botet Escriba<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="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bitfield_dcl_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/endian_bitfield_value_type_hpp.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/reference/endian_bitfield_value_type_hpp.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>
+ Header <boost/integer/endian_bitfield_value_type.hpp></title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="bitfield_dcl_hpp.html" title=" Header
+ <boost/integer/bitfield_dcl.hpp>">
+<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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bitfield_dcl_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.reference.endian_bitfield_value_type_hpp"></a><a href="endian_bitfield_value_type_hpp.html" title="
+ Header <boost/integer/endian_bitfield_value_type.hpp>">
+ Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">endian_bitfield_value_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h3></div></div></div>
+<p>
+ This file includes the customization for the endian types for the bitfield_default_value_type
+ metafunction. You need to include this file if you use endian types as storage
+ for the bitfields.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">endianness</span> <span class="identifier">E</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n_bits</span><span class="special">,</span> <span class="identifier">alignment</span> <span class="identifier">A</span><span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">bitfield_value_type</span><span class="special"><</span><span class="identifier">endian</span><span class="special"><</span><span class="identifier">E</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">n_bits</span><span class="special">,</span><span class="identifier">A</span><span class="special">></span> <span class="special">></span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">endian</span><span class="special"><</span><span class="identifier">E</span><span class="special">,</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">n_bits</span><span class="special">,</span><span class="identifier">A</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+</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 © 2009 Vicente J. Botet Escriba<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_dcl_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../appendices.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Users'Guide</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../index.html" title="Toward Boost.Bitfield">
+<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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/motivation.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="users_guide/getting_started.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="toward_boost_bitfield.users_guide"></a> Users'Guide
+</h2></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"><a href="users_guide/getting_started.html#toward_boost_bitfield.users_guide.getting_started.install">
+ Installing Bitfield</a></span></dt>
+<dt><span class="section"><a href="users_guide/getting_started.html#toward_boost_bitfield.users_guide.getting_started.hello_world__">Hello
+ World! </a></span></dt>
+</dl></dd>
+<dt><span class="section">Tutorial</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="users_guide/tutorial.html#toward_boost_bitfield.users_guide.tutorial.declaring_a_storage_variable">Declaring
+ a storage variable</a></span></dt>
+<dt><span class="section"><a href="users_guide/tutorial.html#toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors">Bitfieds
+ helper classes and bitfield accessors</a></span></dt>
+<dt><span class="section"><a href="users_guide/tutorial.html#toward_boost_bitfield.users_guide.tutorial.using_macros_to_declare_portable_bitfields_">Using
+ macros to declare portable bitfields </a></span></dt>
+<dt><span class="section"><a href="users_guide/tutorial.html#toward_boost_bitfield.users_guide.tutorial.using_bitfield_getters_and_setters">Using
+ bitfield getters and setters</a></span></dt>
+</dl></dd>
+<dt><span class="section"> References</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 © 2009 Vicente J. Botet Escriba<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="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="users_guide/getting_started.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/ext_references.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/ext_references.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> References</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="prev" href="tutorial.html" title="Tutorial">
+<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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.users_guide.ext_references"></a> References
+</h3></div></div></div>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term">Boost.Endian</span></dt>
+<dd><p>
+ general integer-like byte-holder binary types with explicit control over
+ byte order, value type, size, and alignment from Beman Dawes
+ </p></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 © 2009 Vicente J. Botet Escriba<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="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/getting_started.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/getting_started.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title> Getting
+ Started</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="prev" href="../users_guide.html" title=" Users'Guide">
+<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"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../users_guide.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.users_guide.getting_started"></a><a href="getting_started.html" title=" Getting
+ Started"> Getting
+ Started</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install">
+ Installing Bitfield</a></span></dt>
+<dt><span class="section"><a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.hello_world__">Hello
+ World! </a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.users_guide.getting_started.install"></a><a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install" title="
+ Installing Bitfield">
+ Installing Bitfield</a>
+</h4></div></div></div>
+<a name="toward_boost_bitfield.users_guide.getting_started.install.getting_boost_bitfield"></a><h5>
+<a name="id4759654"></a>
+ <a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install.getting_boost_bitfield">Getting
+ Boost.Bitfield</a>
+ </h5>
+<p>
+ You can get the last stable release of Boost.Bitfield by downloading <code class="literal">bitfield.zip</code>
+ from the <a href="http://www.boost-consulting.com/vault/index.php?directory=Endianess%20Programming" target="_top">Boost
+ Vault</a>
+ </p>
+<p>
+ You can also access the latest (unstable?) state from the <a href="https://svn.boost.org/svn/boost/sandbox/bitfield" target="_top">Boost
+ Sandbox</a>.
+ </p>
+<a name="toward_boost_bitfield.users_guide.getting_started.install.building_boost_bitfield"></a><h5>
+<a name="id4759704"></a>
+ <a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install.building_boost_bitfield">Building
+ Boost.Bitfield</a>
+ </h5>
+<p>
+ There is no need to compile <span class="bold"><strong>Boost.Bitfield</strong></span>,
+ since it's a header only library. Just include your Boost header directory
+ in your compiler include path.
+ </p>
+<a name="toward_boost_bitfield.users_guide.getting_started.install.requirements"></a><h5>
+<a name="id4759738"></a>
+ Requirements
+ </h5>
+<p>
+ <span class="bold"><strong>Boost.Bitfield</strong></span> depends on some Boost library.
+ For these specific parts you must use either Boost version 1.38.0 or the
+ version in SVN trunk (even if older version should works also).
+ </p>
+<a name="toward_boost_bitfield.users_guide.getting_started.install.exceptions_safety"></a><h5>
+<a name="id4759771"></a>
+ <a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install.exceptions_safety">Exceptions
+ safety</a>
+ </h5>
+<p>
+ All functions in the library are exception-neutral and provide strong guarantee
+ of exception safety as long as the underlying parameters provide it.
+ </p>
+<a name="toward_boost_bitfield.users_guide.getting_started.install.thread_safety"></a><h5>
+<a name="id4759798"></a>
+ <a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install.thread_safety">Thread
+ safety</a>
+ </h5>
+<p>
+ All functions in the library are thread-unsafe except when noted explicitly.
+ </p>
+<a name="toward_boost_bitfield.users_guide.getting_started.install.tested_compilers"></a><h5>
+<a name="id4759824"></a>
+ <a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.install.tested_compilers">Tested
+ compilers</a>
+ </h5>
+<p>
+ Currently, <span class="bold"><strong>Boost.Bitfield</strong></span> has been tested
+ in the following compilers/platforms:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ GCC 3.4.4 Cygwin
+ </li>
+<li>
+ GCC 3.4.6 Linux
+ </li>
+<li>
+ GCC 4.1.2 Linux
+ </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="../../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Please send any questions, comments and bug reports to boost <at>
+ lists <dot> boost <dot> org.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.users_guide.getting_started.hello_world__"></a><a href="getting_started.html#toward_boost_bitfield.users_guide.getting_started.hello_world__" title="Hello
+ World! ">Hello
+ World! </a>
+</h4></div></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 © 2009 Vicente J. Botet Escriba<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="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/tutorial.html
==============================================================================
--- (empty file)
+++ sandbox/bitfield/libs/integer/doc/html/toward_boost_bitfield/users_guide/tutorial.html 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
+<link rel="start" href="../../index.html" title="Toward Boost.Bitfield">
+<link rel="up" href="../users_guide.html" title=" Users'Guide">
+<link rel="prev" href="getting_started.html" title=" Getting
+ Started">
+<link rel="next" href="ext_references.html" title=" References">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_started.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="ext_references.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_bitfield.users_guide.tutorial"></a>Tutorial
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.declaring_a_storage_variable">Declaring
+ a storage variable</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors">Bitfieds
+ helper classes and bitfield accessors</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.using_macros_to_declare_portable_bitfields_">Using
+ macros to declare portable bitfields </a></span></dt>
+<dt><span class="section"><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.using_bitfield_getters_and_setters">Using
+ bitfield getters and setters</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.users_guide.tutorial.declaring_a_storage_variable"></a><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.declaring_a_storage_variable" title="Declaring
+ a storage variable">Declaring
+ a storage variable</a>
+</h4></div></div></div>
+<p>
+ The first thing to do is to declare a storage type able to store all the
+ bitfields. In the following example we want to stor bits for the RGB encoding,
+ so 16 bits is enough.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Rgb565</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">ubig16_t</span> <span class="identifier">storage_type</span><span class="special">;</span>
+ <span class="identifier">storage_type</span> <span class="identifier">storage</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors"></a><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors" title="Bitfieds
+ helper classes and bitfield accessors">Bitfieds
+ helper classes and bitfield accessors</a>
+</h4></div></div></div>
+<a name="toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors.declaring_a_bitfield_helper_type"></a><h5>
+<a name="id4813029"></a>
+ <a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors.declaring_a_bitfield_helper_type">Declaring
+ a bitfield helper type</a>
+ </h5>
+<p>
+ For each bitfields we need to declare a type that knows about the bitfield
+ traits of the bitfield.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Rgb565</span>
+<span class="special">{</span>
+ <span class="comment">//...
+</span> <span class="keyword">typedef</span> <span class="identifier">bitfield_traits</span><span class="special"><</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">red_type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<a name="toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors.bitfield_getters"></a><h5>
+<a name="id4813156"></a>
+ <a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors.bitfield_getters">bitfield
+ getters</a>
+ </h5>
+<p>
+ Now we are ready to define the getter of this bitfield respect to the storage
+ variable. My prefered form is just to name the getter function as the type,
+ others will prefer the get_field() form.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Rgb565</span>
+<span class="special">{</span>
+ <span class="comment">//...
+</span> <span class="identifier">red_type</span><span class="special">::</span><span class="identifier">value</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">red</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">red_type</span><span class="special">::</span><span class="identifier">value</span><span class="special">(</span><span class="identifier">storage</span><span class="special">).</span><span class="identifier">get</span><span class="special">();</span> <span class="special">}</span>
+ <span class="identifier">red_type</span><span class="special">::</span><span class="identifier">value</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">get_red</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">red_type</span><span class="special">::</span><span class="identifier">value</span><span class="special">(</span><span class="identifier">storage</span><span class="special">).</span><span class="identifier">get</span><span class="special">();</span> <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<a name="toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors.bitfield_setters"></a><h5>
+<a name="id4813389"></a>
+ <a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.bitfieds_helper_classes_and_bitfield_accessors.bitfield_setters">bitfield
+ setters</a>
+ </h5>
+<p>
+ There are two variants for the setter. My prefered form is just to name
+ the setter function as the type and return a reference able to support
+ assignations. The other is the traditional set_field() taking the new value
+ as parameter. struct Rgb565 { //... red_type::reference red() { return
+ red_type::reference(storage); } void set_red(unsigned char val) { return
+ red_type::reference(storage).set(val); } };
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.users_guide.tutorial.using_macros_to_declare_portable_bitfields_"></a><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.using_macros_to_declare_portable_bitfields_" title="Using
+ macros to declare portable bitfields ">Using
+ macros to declare portable bitfields </a>
+</h4></div></div></div>
+<p>
+ All these stuf can be done at once using the BOOST_BITFIELD_DCL macro as
+ follows.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Rgb565</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">volatile</span> <span class="identifier">uint16_t</span> <span class="identifier">storage_type</span><span class="special">;</span>
+ <span class="identifier">storage_type</span> <span class="identifier">storage</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">volatile</span> <span class="identifier">uint16_t</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">storage</span><span class="special">,</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">0</span><span class="special">,</span> <span class="number">4</span><span class="special">);</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">storage</span><span class="special">,</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">,</span> <span class="number">10</span><span class="special">);</span>
+ <span class="identifier">BOOST_BITFIELD_DCL</span><span class="special">(</span><span class="identifier">storage_type</span><span class="special">,</span> <span class="identifier">storage</span><span class="special">,</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">11</span><span class="special">,</span><span class="number">15</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_bitfield.users_guide.tutorial.using_bitfield_getters_and_setters"></a><a href="tutorial.html#toward_boost_bitfield.users_guide.tutorial.using_bitfield_getters_and_setters" title="Using
+ bitfield getters and setters">Using
+ bitfield getters and setters</a>
+</h4></div></div></div>
+<p>
+ Next follows some examples of how these bitfields can be used.
+ </p>
+<pre class="programlisting"><span class="identifier">Rgb565</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="identifier">r</span><span class="special">.</span><span class="identifier">storage</span><span class="special">=</span> <span class="number">0xffff</span><span class="special">;</span>
+
+<span class="comment">// Write to a bitfield. Note that parenthesis are needed around the bitfield so
+</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">red</span><span class="special">()</span> <span class="special">=</span> <span class="number">23</span><span class="special">;</span>
+
+<span class="comment">// Read from a bitfield
+</span><span class="identifier">Rgb565</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">blue</span><span class="special">();</span>
+
+<span class="comment">// Access a bit within a bit field
+</span><span class="keyword">bool</span> <span class="identifier">bit</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">blue</span><span class="special">()[</span><span class="number">3</span><span class="special">];</span>
+</pre>
+</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 © 2009 Vicente J. Botet Escriba<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="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../users_guide.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="ext_references.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Modified: sandbox/bitfield/libs/integer/test/Jamfile.v2
==============================================================================
--- sandbox/bitfield/libs/integer/test/Jamfile.v2 (original)
+++ sandbox/bitfield/libs/integer/test/Jamfile.v2 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -18,8 +18,7 @@
project :
: requirements
<include>../../..
-# <include>/cvs/wss100/build_temp/botet/boost/boost_1_38_0/
- <include>/boost_1_39_0/
+ <include>$(BOOST_ROOT)
<include>/sandbox/endian
# <threading>multi
@@ -29,7 +28,7 @@
#<library>/boost/test//boost_unit_test_framework/<link>static
-# <library>/boost_1_39_0/libs/test/build//boost_unit_test_framework/<link>static
+# <library>/boost/test///boost_unit_test_framework/<link>static
# <library>/sandbox/libs/endia/build//boost_endian/<link>static
;
@@ -39,5 +38,6 @@
test-suite "bitfield" :
[ run bitfield_test.cpp ]
+ #[ run pointer_plus_small_int_test.cpp ]
;
Modified: sandbox/bitfield/libs/integer/test/bitfield_test.cpp
==============================================================================
--- sandbox/bitfield/libs/integer/test/bitfield_test.cpp (original)
+++ sandbox/bitfield/libs/integer/test/bitfield_test.cpp 2009-10-12 17:24:36 EDT (Mon, 12 Oct 2009)
@@ -180,8 +180,11 @@
typedef uint16_t T;
+ ASSERT_EQUALS((boost::integer::bitfield<T, 8, 15>::static_value_to_storage<0x12>::value), 0x12);
ASSERT_EQUALS((boost::integer::bitfield<T, 8, 15>::get_flags(0x12)), 0x12);
+ ASSERT_EQUALS((boost::integer::bitfield<T, 4, 11>::static_value_to_storage<0x34>::value), 0x0340);
ASSERT_EQUALS((boost::integer::bitfield<T, 4, 11>::get_flags(0x34)), 0x0340);
+ ASSERT_EQUALS((boost::integer::bitfield<T, 0, 7>::static_value_to_storage<0x56>::value), 0x5600);
ASSERT_EQUALS((boost::integer::bitfield<T, 0, 7>::get_flags(0x56)), 0x5600);
ASSERT_EQUALS((boost::integer::bitfield<T, 0, 15>::get_flags(0xabcd)), 0xabcd);
ASSERT_EQUALS((boost::integer::bitfield<T, 4, 4>::get_flags(0)), 0);
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