$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: matt_calabrese_at_[hidden]
Date: 2007-06-29 15:23:05
Author: matt_calabrese
Date: 2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
New Revision: 7316
URL: http://svn.boost.org/trac/boost/changeset/7316
Log:
Started fixing old documentation (still much more to do). Header now also explicitly states the library is not a boost library.
Added:
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer_policy.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_basic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_integer_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/pc_queue.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/queue_policy.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_arithmetic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_basic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_integer_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/images/callouts/Thumbs.db   (contents, props changed)
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/consumer.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/consumer_policy.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_basic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_integer_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/pc_queue.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/queue_policy.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_arithmetic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_basic_type.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_integer_type.html
Binary files modified: 
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/images/Thumbs.db
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/images/header-fg.png
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/images/header-fg.png
Text files modified: 
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/act.qbk                                                   |    15 ++-                                     
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts.qbk                                              |    10 +-                                      
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk                             |   148 +-------------------------------------- 
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest                                        |    21 ++--                                    
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup/compiling_the_library.html  |     6                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/consumer_concepts/consumer_policy.html     |     6                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer.html                   |    18 ++--                                    
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer/integer_typedefs.html  |    28 +++---                                  
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts.html                        |     6                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/pc_queue.html               |     4                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/queue_policy.html           |     8 +-                                      
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html                                           |    34 +++++----                               
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/HTML.manifest                                       |    21 ++--                                    
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/compiler_setup/compiling_the_library.html |     6                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/consumer_concepts/consumer_policy.html    |     6                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer.html                  |    18 ++--                                    
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer/integer_typedefs.html |    28 +++---                                  
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts.html                       |     6                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/pc_queue.html              |     4                                         
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/queue_policy.html          |     8 +-                                      
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/index.html                                          |   120 +++++++++++++++++--------------         
   21 files changed, 198 insertions(+), 323 deletions(-)
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/act.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/act.qbk	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/act.qbk	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -21,13 +21,14 @@
 [def __note__               [$images/note.png]]
 [def __OpenMP__             [@http://www.OpenMP.org OpenMP]]
 
-[def __consumer_policy__             [link boost_act.consumer_concepts.consumer_policy                [concept Consumer Policy]]]
-[def __consumer__                    [link boost_act.consumer_concepts.consumer                       [concept Consumer]]]
-[def __queue_policy__                [link boost_act.queue_concepts.queue_policy                      [concept Queue Policy]]]
-[def __pc_queue__                    [link boost_act.queue_concepts.pc_queue                          [concept PC Queue]]]
-[def __interlocked_type__            [link boost_act.interlocked_concepts.interlocked_type            [concept Interlocked Type]]]
-[def __interlocked_arithmetic_type__ [link boost_act.interlocked_concepts.interlocked_arithmetic_type [concept Interlocked Arithmetic Type]]]
-[def __interlocked_integer_type__    [link boost_act.interlocked_concepts.interlocked_integer_type    [concept Interlocked Integer Type]]]
+[def __consumer_policy__             [link boost_act.concepts.consumer_concepts.consumer_policy       [concept Consumer Policy]]]
+[def __consumer__                    [link boost_act.concepts.consumer_concepts.consumer              [concept Consumer]]]
+[def __queue_policy__                [link boost_act.concepts.queue_concepts.queue_policy             [concept Queue Policy]]]
+[def __pc_queue__                    [link boost_act.concepts.queue_concepts.pc_queue                 [concept PC Queue]]]
+[def __interlocked_type__            [link boost_act.concepts.interlocked_types                       [concept Interlocked Type]]]
+[def __interlocked_arithmetic_type__ [link boost_act.concepts.interlocked_types.interlocked_basic_type             [concept Interlocked Arithmetic Type]]]
+[def __interlocked_arithmetic_type__ [link boost_act.concepts.interlocked_types.interlocked_arithmetic_type             [concept Interlocked Arithmetic Type]]]
+[def __interlocked_integer_type__    [link boost_act.concepts.interlocked_types.interlocked_integer_type                [concept Interlocked Integer Type]]]
 [def __worker_policy__               [link boost_act.concepts.worker_policy                           [concept Worker Policy]]]
 [def __worker__                      [link boost_act.concepts.worker                                  [concept Worker]]]
 [def __threaded_worker_policy__      [link boost_act.concepts.threaded_worker_policy                  [concept Threaded Worker Policy]]]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts.qbk	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts.qbk	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -1,3 +1,5 @@
+[section Concepts]
+
 [section Consumer Concepts]
 
 [include consumer.qbk]
@@ -5,13 +7,7 @@
 
 [endsect]
 
-[section Interlocked Concepts]
-
 [include concepts/interlocked_type.qbk]
-[include concepts/interlocked_type/interlocked_arithmetic_type.qbk]
-[include concepts/interlocked_type/interlocked_integer_type.qbk]
-
-[endsect]
 
 [section Queue Concepts]
 
@@ -19,3 +15,5 @@
 [include concepts/queue_policy.qbk]
 
 [endsect]
+
+[endsect]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type.qbk	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -1,147 +1,7 @@
-[section Interlocked Type]
+[section Interlocked Types]
 
-An [concept Interlocked Type] is a type whose instances support thread-safe
-interlocked operations and which are often used in the implementation of
-lock-free code. On systems which support interlocked operations, all non-member
-and pointer types and some arithmetic types may be compliant
-[concept Interlocked Types] as well as some library-defined or user-defined
-types given that they support the required operations. For details on how to
-select and take advantage of such types, see the __interlocked__.
-
-In order to be considered a valid [concept Interlocked Type], given the
-variable definitions below, the following expressions must be well-formed and
-have the indicated effects.
-
-[variablelist Interlocked Type Descriptive Variable Definitions
-[[`I`]            [An [concept Interlocked Type].]                             ]
-[[`IV`]           [`I volatile`.]                                              ]
-[[`C1`]           [A type which is convertible to `IV`.]                       ]
-[[`C2`]           [A type which is convertible to `IV`.]                       ]
-[[`iv`]           [Value of type `I volatile&`.]                               ]
-[[`c1`]           [Value of type `C1 const&`.]                                 ]
-[[`c2`]           [Value of type `C2 const&`.]                                 ]
-]
-
-[heading Expression Requirements]
-
-[note In the following requirements, certain operations are listed as having
- /acquire/ memory semantics, /release/ memory semantics, or a
- /full memory barrier/. Operations with /acquire/ memory semantics imply that
- the memory operation being performed by the current thread will be visible
- before any other memory operations are attempted. Operations with /release/
- memory semantics imply that the memory operation being performed by the current
- thread will be visible after all other memory operations have been completed.
- Operations with a /full memory barrier/ imply that the memory operation being
- performed by the current thread enforces a strict ordering with both /acqure/
- memory semantics and /release/ memory semantics. These specifications are
- merely a minimum requirement and therefore on certain systems, such operations
- which require /acquire/ memory semantics or /release/ memory semantics may be
- implemented with a /full memory barrier/. For brevity, functions and templates
- are listed without qualification although they actually exist in in the
- namespace `::boost::act::interlocked`.
-]
-
-[table Interlocked Type Requirements
-[[Expression]                         [Return Type][Pre/Post-Condition]        ]
-[[`I()`]                              []           [Constructs an instance of
-                                                    `I` with an unspecified
-                                                    initial value.
-                                                   ]                           ]
-[[`I i = c1`]                         []           [Constructs an instance of
-                                                    `I` with `c1` as an initial
-                                                    value.
-                                                   ]                           ]
-[[`iv = c1`]                          [`I&`]       [Stores the value of `c1`
-                                                    to object `i`.
-                                                    Returns a reference to `iv`.
-                                                    [tablenote This is not an
-                                                     interlocked operation and
-                                                     does not imply a memory
-                                                     barrier of any kind.
-                                                    ]
-                                                   ]                           ]
-[[`assign( iv, c1 )`]    [`assign_result<IV>::type`]
-                                                   [Stores the value of `c1`
-                                                    to object `iv` with a
-                                                    /full memory barrier/.
-                                                    Returns the value of `iv`
-                                                    prior to the operation being
-                                                    performed.
-                                                   ]                           ]
-[[`assign_acquire( iv, c1 )`]
-                                      [`assign_result<IV>::type`]
-                                                   [Stores the value of `c1`
-                                                    to object `iv` with
-                                                    /acquire/ memory semantics.
-                                                    Returns the value of `iv`
-                                                    prior to the operation being
-                                                    performed.
-                                                   ]                           ]
-[[`assign_if_was( iv, c1, c2 )`]
-                                      [`assign_if_was_result<IV>::type`]
-                                                   [Stores the value of `c1`
-                                                    to object `iv`
-                                                    iff `iv == c2` prior to the
-                                                    operation with a
-                                                    /full memory barrier/.
-                                                    Returns the value of `iv`
-                                                    prior to the operation being
-                                                    performed.
-                                                    [tablenote This is the same
-                                                     as the more commonly known
-                                                     "compare and swap"
-                                                     operation with a full
-                                                     memory barrier.
-                                                    ]
-                                                   ]                           ]
-[[`assign_if_was_acquire( iv, c1, c2 )`]
-                                      [`assign_if_was_result<IV>::type`]
-                                                   [Stores the value of `c1`
-                                                    to object `iv`
-                                                    iff `iv == c2` prior to the
-                                                    operation with /aquire/
-                                                    memory semantics.
-                                                    Returns the value of `iv`
-                                                    prior to the operation being
-                                                    performed.
-                                                    [tablenote This is the same
-                                                     as the more commonly known
-                                                     "compare and swap"
-                                                     operation with acquire
-                                                     memory semantics.
-                                                    ]
-                                                   ]                           ]
-[[`assign_if_was_release( iv, c1, c2 )`]
-                                      [`assign_if_was_result<IV>::type`]
-                                                   [Stores the value of `c1`
-                                                    to object `iv`
-                                                    iff `iv == c2` prior to the
-                                                    operation with /release/
-                                                    memory semantics.
-                                                    Returns the value of `iv`
-                                                    prior to the operation being
-                                                    performed.
-                                                    [tablenote This is the same
-                                                     as the more commonly known
-                                                     "compare and swap"
-                                                     operation with release
-                                                     memory semantics.
-                                                    ]
-                                                   ]                           ]
-[[`load( iv )`]  [`I`]            [Returns the value of `iv`.
-                                                    [tablenote This template is
-                                                     used for retrieving the
-                                                     value of an object with the
-                                                     guarantee that the value
-                                                     obtained will be the most
-                                                     recent value after any
-                                                     modifications done by other
-                                                     threads. The value is also
-                                                     guaranteed to not be only
-                                                     partially updated by
-                                                     another thread.
-                                                    ]
-                                                   ]                           ]
-]
+[include interlocked_type/interlocked_basic_type.qbk]
+[include interlocked_type/interlocked_arithmetic_type.qbk]
+[include interlocked_type/interlocked_integer_type.qbk]
 
 [endsect]
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,103 @@
+[section Interlocked Basic Type]
+
+An [concept Interlocked Basic Type] is a type whose instances support
+thread-safe `load` and `store` operations and which are often used in the
+implementation of lock-free code. In the current version of Boost.Act, only
+built-in types may be [concept Interlocked Basic Types], although this will
+likely change in future releases.
+
+In order to be considered a valid [concept Interlocked Type], given the
+variable definitions below, the following expressions must be well-formed and
+have the indicated effects.
+
+[variablelist Interlocked Type Descriptive Variable Definitions
+[[`I`]            [An [concept Interlocked Type].]                             ]
+[[`IV`]           [`I volatile`.]                                              ]
+[[`C1`]           [A type which is convertible to `IV`.]                       ]
+[[`C2`]           [A type which is convertible to `IV`.]                       ]
+[[`iv`]           [Value of type `I volatile&`.]                               ]
+[[`c1`]           [Value of type `C1 const&`.]                                 ]
+[[`c2`]           [Value of type `C2 const&`.]                                 ]
+]
+
+[heading Expression Requirements]
+
+[note In the following requirements, certain operations are listed as having
+ /acquire/ memory semantics, /release/ memory semantics, or both. Operations
+ with /acquire/ memory semantics imply that the memory operation being performed
+ by the current thread will be visible before any other memory operations are
+ attempted. Operations with /release/ memory semantics imply that the memory
+ operation being performed by the current thread will be visible after all other
+ memory operations have been completed. For brevity, functions and templates are
+ listed without qualification although they actually exist in in the namespace
+ `::boost::act::interlocked`.
+]
+
+[table Interlocked Type Requirements
+[[Expression]                         [Return Type][Pre/Post-Condition]        ]
+[[`I()`]                              []           [Constructs an instance of
+                                                    `I` with an unspecified
+                                                    initial value.
+                                                    [tablenote This is not an
+                                                    interlocked operation and
+                                                    does not imply a memory
+                                                    barrier of any kind.
+                                                    ]
+                                                   ]                           ]
+[[`I i = c1`]                         []           [Constructs an instance of
+                                                    `I` with `c1` as an initial
+                                                    value.
+                                                    [tablenote This is not an
+                                                    interlocked operation and
+                                                    does not imply a memory
+                                                    barrier of any kind.
+                                                    ]
+                                                   ]                           ]
+[[`iv = c1`]                          [`I&`]       [Stores the value of `c1`
+                                                    to object `i`.
+                                                    Returns a reference to `iv`.
+                                                    [tablenote This is not an
+                                                     interlocked operation and
+                                                     does not imply a memory
+                                                     barrier of any kind.
+                                                    ]
+                                                   ]                           ]
+[[`store< unordered >( iv, c1 )`]     [`void`]
+                                                   [Stores the value of `c1`
+                                                    to object `iv` with no
+                                                    ordering guarantees.
+                                                   ]                           ]
+[[`store< release >( iv, c1 )`]       [`void`]
+                                                   [Stores the value of `c1`
+                                                    to object `iv` with
+                                                    /release/ memory semantics.
+                                                   ]                           ]
+[[`store( iv, c1 )`]                  [`void`]
+                                                   [Effectively calls
+                                                    `store< release >( iv, cl )`
+                                                   ]                           ]
+[[`store< default_ >( iv, c1 )`]      [`void`]
+                                                   [Effectively calls
+                                                    `store< release >( iv, cl )`
+                                                   ]                           ]
+[[`load< unordered >( iv, c1 )`]      [`void`]
+                                                   [Stores the value of `c1`
+                                                    to object `iv` with no
+                                                    ordering guarantees.
+                                                   ]                           ]
+[[`load< acquire >( iv, c1 )`]        [`void`]
+                                                   [Stores the value of `c1`
+                                                    to object `iv` with
+                                                    /acquire/ memory semantics.
+                                                   ]                           ]
+[[`load( iv, c1 )`]                   [`void`]
+                                                   [Effectively calls
+                                                    `load< acquire >( iv, cl )`
+                                                   ]                           ]
+[[`load< default_ >( iv, c1 )`]       [`void`]
+                                                   [Effectively calls
+                                                    `load< acquire >( iv, cl )`
+                                                   ]                           ]
+]
+
+[endsect]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -12,16 +12,17 @@
 boost_act/compiler_setup/enabling_parallel_algorithms.html
 boost_act/compiler_setup/linking_with_boost_threads.html
 boost_act/compiler_setup/compiling_the_library.html
-boost_act/consumer_concepts.html
-boost_act/consumer_concepts/consumer.html
-boost_act/consumer_concepts/consumer_policy.html
-boost_act/interlocked_concepts.html
-boost_act/interlocked_concepts/interlocked_type.html
-boost_act/interlocked_concepts/interlocked_arithmetic_type.html
-boost_act/interlocked_concepts/interlocked_integer_type.html
-boost_act/queue_concepts.html
-boost_act/queue_concepts/pc_queue.html
-boost_act/queue_concepts/queue_policy.html
+boost_act/concepts.html
+boost_act/concepts/consumer_concepts.html
+boost_act/concepts/consumer_concepts/consumer.html
+boost_act/concepts/consumer_concepts/consumer_policy.html
+boost_act/concepts/interlocked_types.html
+boost_act/concepts/interlocked_types/interlocked_basic_type.html
+boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html
+boost_act/concepts/interlocked_types/interlocked_integer_type.html
+boost_act/concepts/queue_concepts.html
+boost_act/concepts/queue_concepts/pc_queue.html
+boost_act/concepts/queue_concepts/queue_policy.html
 boost_act/interlocked_integer.html
 boost_act/interlocked_integer/integer_typedefs.html
 boost_act/rationale.html
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup/compiling_the_library.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup/compiling_the_library.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup/compiling_the_library.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="Boost.Act">
 <link rel="up" href="../compiler_setup.html" title="Compiler Setup">
 <link rel="prev" href="linking_with_boost_threads.html" title="Linking with Boost.Threads">
-<link rel="next" href="../consumer_concepts.html" title="Consumer Concepts">
+<link rel="next" href="../concepts.html" title="Concepts">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <div id="heading">
@@ -16,7 +16,7 @@
 <div class="heading_search_box"></div>
 </div>
 <div class="spirit-nav">
-<a accesskey="p" href="linking_with_boost_threads.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../compiler_setup.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../consumer_concepts.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="linking_with_boost_threads.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../compiler_setup.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../concepts.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 <div id="body"><div id="body-inner">
 <div id="content"><div class="section" lang="en">
@@ -32,7 +32,7 @@
 <div class="clear"></div>
 </div></div>
 <div class="spirit-nav">
-<a accesskey="p" href="linking_with_boost_threads.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../compiler_setup.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../consumer_concepts.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="linking_with_boost_threads.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../compiler_setup.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../concepts.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
 <div id="footer-left">
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Concepts</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../index.html" title="Boost.Act">
+<link rel="up" href="../index.html" title="Boost.Act">
+<link rel="prev" href="compiler_setup/compiling_the_library.html" title="Compiling the Library">
+<link rel="next" href="concepts/consumer_concepts.html" title="Consumer Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="compiler_setup/compiling_the_library.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/consumer_concepts.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_act.concepts"></a>Concepts</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Consumer Concepts</span></dt>
+<dd><dl>
+<dt><span class="section">Consumer</span></dt>
+<dt><span class="section"><a href="concepts/consumer_concepts/consumer_policy.html">Consumer
+        Policy</a></span></dt>
+</dl></dd>
+<dt><span class="section">Interlocked Types</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="concepts/interlocked_types/interlocked_basic_type.html">Interlocked
+        Basic Type</a></span></dt>
+<dt><span class="section"><a href="concepts/interlocked_types/interlocked_arithmetic_type.html">Interlocked
+        Arithmetic Type</a></span></dt>
+<dt><span class="section"><a href="concepts/interlocked_types/interlocked_integer_type.html">Interlocked
+        Integer Type</a></span></dt>
+</dl></dd>
+<dt><span class="section">Queue Concepts</span></dt>
+<dd><dl>
+<dt><span class="section">PC Queue</span></dt>
+<dt><span class="section"><a href="concepts/queue_concepts/queue_policy.html">Queue
+        Policy</a></span></dt>
+</dl></dd>
+</dl></div>
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="compiler_setup/compiling_the_library.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/consumer_concepts.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Consumer Concepts</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../index.html" title="Boost.Act">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="../concepts.html" title="Concepts">
+<link rel="next" href="consumer_concepts/consumer.html" title="Consumer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="../concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="consumer_concepts/consumer.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_act.concepts.consumer_concepts"></a>Consumer Concepts</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Consumer</span></dt>
+<dt><span class="section"><a href="consumer_concepts/consumer_policy.html">Consumer
+        Policy</a></span></dt>
+</dl></div>
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="../concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="consumer_concepts/consumer.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Consumer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../consumer_concepts.html" title="Consumer Concepts">
+<link rel="prev" href="../consumer_concepts.html" title="Consumer Concepts">
+<link rel="next" href="consumer_policy.html" title="Consumer Policy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="../consumer_concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="consumer_policy.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.consumer_concepts.consumer"></a>Consumer</h4></div></div></div>
+<p>
+          A <code class="literal">Consumer</code> is an object which takes in data of a single
+          type one instance at a time and processes it in an implementation defined-manner
+          either sychnronously or asynchronously with respect to the thread it is
+          interfaced with. In Boost.Act, models of this concept may be found as members
+          of models of the <a href="consumer_policy.html" title="Consumer Policy">
+          <code class="literal">Consumer Policy</code></a> concept.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">Consumer</code>, given the
+          variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+<div class="variablelist">
+<p class="title"><b>Consumer Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
+<dd>
+            A <code class="literal">Consumer</code> type.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">C</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">d</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.consumer_concepts.consumer.expression_requirements"></a><h6>
+<a name="id491255"></a>
+          <a href="consumer.html#boost_act.concepts.consumer_concepts.consumer.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="table">
+<a name="id491273"></a><p class="title"><b>Table 2. Consumer Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Consumer Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">C</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                Creates an instance using a default policy. A destructor is assumed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                The type of data which is processed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">c</span><span class="special">(</span><span class="identifier">d</span><span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                (unused)
+              </p>
+              </td>
+<td>
+              <p>
+                Processes a copy of <code class="computeroutput"><span class="identifier">d</span></code>.
+                <span class="emphasis"><em>Note: Processing takes place in an implementation-defined
+                thread of execution. --end note</em></span>
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="../consumer_concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="consumer_policy.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer_policy.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,176 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Consumer Policy</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../consumer_concepts.html" title="Consumer Concepts">
+<link rel="prev" href="consumer.html" title="Consumer">
+<link rel="next" href="../interlocked_types.html" title="Interlocked Types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="consumer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../interlocked_types.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.consumer_concepts.consumer_policy"></a><a href="consumer_policy.html" title="Consumer Policy">Consumer
+        Policy</a></h4></div></div></div>
+<p>
+          A <code class="literal">Consumer Policy</code> is a type which is used as a handle
+          to related <a href="consumer.html" title="Consumer">
+          <code class="literal">Consumer</code></a> types. These <code class="literal">Consumer Policys</code>
+          generally act as policies to higher-level templates which choose the appropriate
+           Consumer
+          type based on the knowledge of how the <a href="consumer.html" title="Consumer">
+          <code class="literal">Consumer</code></a> will be used. In <code class="literal">Boost.Act</code>,
+          such types are used as policies during active-qualification.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">Consumer Policy</code>, given
+          the variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+<div class="variablelist">
+<p class="title"><b>Consumer Policy Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">A</span></code></span></dt>
+<dd>
+            A <code class="literal">Consumer Policy</code> type.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">A</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span></code></span></dt>
+<dd>
+            The type of objects to be processed.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">t</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">tc</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">P</span></code></span></dt>
+<dd>
+            A unary function object which may take <code class="computeroutput"><span class="identifier">t</span></code>
+            as an argument.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">p</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">P</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.consumer_concepts.consumer_policy.expression_requirements"></a><h6>
+<a name="id491817"></a>
+          <a href="consumer_policy.html#boost_act.concepts.consumer_concepts.consumer_policy.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="table">
+<a name="id491835"></a><p class="title"><b>Table 3. Consumer Policy Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Consumer Policy Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">consumer_policy</span><span class="special">::</span><span class="identifier">scoped_consumer</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">constraint</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span>
+                <span class="identifier">processor</span><span class="special"><</span><span class="identifier">P</span><span class="special">></span>
+                <span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                A <a href="consumer.html" title="Consumer">
+                <code class="literal">Consumer</code></a> type which guarantees all processing
+                is completed prior to the object being destroyed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">consumer_policy</span><span class="special">::</span><span class="identifier">safe_scoped_consumer</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">constraint</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span>
+                <span class="identifier">processor</span><span class="special"><</span><span class="identifier">P</span><span class="special">></span>
+                <span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                A <a href="consumer.html" title="Consumer">
+                <code class="literal">Consumer</code></a> type which guarantees all processing
+                is completed prior to the object being destroyed and which may be
+                interfaced with by any number of threads of execution.
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="consumer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../interlocked_types.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Types</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../index.html" title="Boost.Act">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="consumer_concepts/consumer_policy.html" title="Consumer Policy">
+<link rel="next" href="interlocked_types/interlocked_basic_type.html" title="Interlocked Basic Type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="consumer_concepts/consumer_policy.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_types/interlocked_basic_type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_act.concepts.interlocked_types"></a>Interlocked Types</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="interlocked_types/interlocked_basic_type.html">Interlocked
+        Basic Type</a></span></dt>
+<dt><span class="section"><a href="interlocked_types/interlocked_arithmetic_type.html">Interlocked
+        Arithmetic Type</a></span></dt>
+<dt><span class="section"><a href="interlocked_types/interlocked_integer_type.html">Interlocked
+        Integer Type</a></span></dt>
+</dl></div>
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="consumer_concepts/consumer_policy.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_types/interlocked_basic_type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,509 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Arithmetic Type</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="prev" href="interlocked_basic_type.html" title="Interlocked Basic Type">
+<link rel="next" href="interlocked_integer_type.html" title="Interlocked Integer Type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_basic_type.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer_type.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.interlocked_types.interlocked_arithmetic_type"></a><a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">Interlocked
+        Arithmetic Type</a></h4></div></div></div>
+<p>
+          An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="../interlocked_types.html" title="Interlocked Types">
+          <code class="literal">Interlocked Type</code></a> which supports common arithmetic
+          operations.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">Interlocked Arithmetic Type</code>,
+          given the variable definitions below, the following expressions must be
+          well-formed and have the indicated effects, in addition to those requirements
+          of <a href="../interlocked_types.html" title="Interlocked Types"> <code class="literal">Interlocked
+          Type</code></a>. <code class="literal">Interlocked Arithmetic Types</code>
+          also support all operations specified in the C++ standard for arithmetic
+          types. Such operations do not imply memory barriers of any kind.
+        </p>
+<div class="variablelist">
+<p class="title"><b>Interlocked Arithmetic Type Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
+<dd>
+            An <code class="literal">Interlocked Arithmetic Type</code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">IV</span></code></span></dt>
+<dd>
+<code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C1</span></code></span></dt>
+<dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">iv</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c1</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.interlocked_types.interlocked_arithmetic_type.expression_requirements"></a><h6>
+<a name="id494121"></a>
+          <a href="interlocked_arithmetic_type.html#boost_act.concepts.interlocked_types.interlocked_arithmetic_type.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="table">
+<a name="id494140"></a><p class="title"><b>Table 5. Interlocked Arithmetic Type Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Interlocked Arithmetic Type Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment</span><span class="special">(</span>
+                <span class="identifier">iv</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_acquire</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_release</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement</span><span class="special">(</span>
+                <span class="identifier">iv</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_acquire</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_release</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+                <code class="computeroutput"><span class="identifier">iv</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+                <code class="computeroutput"><span class="identifier">iv</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+                <code class="computeroutput"><span class="identifier">iv</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">c1</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">c1</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">c1</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_basic_type.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer_type.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_basic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_basic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,387 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Basic Type</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="prev" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="next" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="../interlocked_types.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_arithmetic_type.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.interlocked_types.interlocked_basic_type"></a><a href="interlocked_basic_type.html" title="Interlocked Basic Type">Interlocked
+        Basic Type</a></h4></div></div></div>
+<p>
+          An <code class="literal">Interlocked Basic Type</code> is a type whose instances
+          support thread-safe <code class="computeroutput"><span class="identifier">load</span></code>
+          and <code class="computeroutput"><span class="identifier">store</span></code> operations and
+          which are often used in the implementation of lock-free code. In the current
+          version of Boost.Act, only built-in types may be <code class="literal">Interlocked Basic
+          Types</code>, although this will likely change in future releases.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">Interlocked Type</code>,
+          given the variable definitions below, the following expressions must be
+          well-formed and have the indicated effects.
+        </p>
+<div class="variablelist">
+<p class="title"><b>Interlocked Type Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
+<dd>
+            An <code class="literal">Interlocked Type</code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">IV</span></code></span></dt>
+<dd>
+<code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C1</span></code></span></dt>
+<dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C2</span></code></span></dt>
+<dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">iv</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c1</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c2</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">C2</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.interlocked_types.interlocked_basic_type.expression_requirements"></a><h6>
+<a name="id492503"></a>
+          <a href="interlocked_basic_type.html#boost_act.concepts.interlocked_types.interlocked_basic_type.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="note">
+<div class="admonition-graphic"><img alt="[Note]" src="../../../images/note.png"></div>
+<div class="admonition-body">
+<div class="admonition-title">Note</div>
+<div class="admonition-content">
+<p>
+            </p>
+<p>
+              In the following requirements, certain operations are listed as having
+              <span class="emphasis"><em>acquire</em></span> memory semantics, <span class="emphasis"><em>release</em></span>
+              memory semantics, or both. Operations with <span class="emphasis"><em>acquire</em></span>
+              memory semantics imply that the memory operation being performed by
+              the current thread will be visible before any other memory operations
+              are attempted. Operations with <span class="emphasis"><em>release</em></span> memory
+              semantics imply that the memory operation being performed by the current
+              thread will be visible after all other memory operations have been
+              completed. For brevity, functions and templates are listed without
+              qualification although they actually exist in in the namespace <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>.
+            </p>
+<p>
+          </p>
+</div>
+</div>
+</div>
+<div class="table">
+<a name="id492597"></a><p class="title"><b>Table 4. Interlocked Type Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Interlocked Type Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">I</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+                with an unspecified initial value. <span class="emphasis"><em>Note: This is not an
+                interlocked operation and does not imply a memory barrier of any
+                kind. --end note</em></span>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">I</span> <span class="identifier">i</span>
+                <span class="special">=</span> <span class="identifier">c1</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+                with <code class="computeroutput"><span class="identifier">c1</span></code> as an initial
+                value. <span class="emphasis"><em>Note: This is not an interlocked operation and does
+                not imply a memory barrier of any kind. --end note</em></span>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">iv</span> <span class="special">=</span>
+                <span class="identifier">c1</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">I</span><span class="special">&</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">i</span></code>. Returns
+                a reference to <code class="computeroutput"><span class="identifier">iv</span></code>.
+                <span class="emphasis"><em>Note: This is not an interlocked operation and does not
+                imply a memory barrier of any kind. --end note</em></span>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+                <span class="identifier">unordered</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                no ordering guarantees.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+                <span class="identifier">release</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+                <span class="identifier">default_</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+                <span class="identifier">unordered</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                no ordering guarantees.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+                <span class="identifier">acquire</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+                <span class="identifier">default_</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="../interlocked_types.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_arithmetic_type.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_integer_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_types/interlocked_integer_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,510 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Integer Type</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="prev" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">
+<link rel="next" href="../queue_concepts.html" title="Queue Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_arithmetic_type.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../queue_concepts.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.interlocked_types.interlocked_integer_type"></a><a href="interlocked_integer_type.html" title="Interlocked Integer Type">Interlocked
+        Integer Type</a></h4></div></div></div>
+<p>
+          An <code class="literal">Interlocked Integer Type</code> is an <a href="interlocked_basic_type.html" title="Interlocked Basic Type">
+          <code class="literal">Interlocked Arithmetic Type</code></a> which supports common
+          integer operations.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">Interlocked Integer Type</code>,
+          given the variable definitions below, the following expressions must be
+          well-formed and have the indicated effects, in addition to those requirements
+          of <a href="interlocked_basic_type.html" title="Interlocked Basic Type">
+          <code class="literal">Interlocked Arithmetic Type</code></a>. <code class="literal">Interlocked
+          Integer Types</code> also support all operations specified in the C++
+          standard for integer types. Such operations do not imply memory barriers
+          of any kind.
+        </p>
+<div class="variablelist">
+<p class="title"><b>Interlocked Arithmetic Type Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
+<dd>
+            An <code class="literal">Interlocked Integral Type</code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">IV</span></code></span></dt>
+<dd>
+<code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C1</span></code></span></dt>
+<dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">iv</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c1</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd>
+            An integral or <code class="literal">Interlocked Integer Type</code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd>
+            A value of type <code class="computeroutput"><span class="identifier">S</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.interlocked_types.interlocked_integer_type.expression_requirements"></a><h6>
+<a name="id496990"></a>
+          <a href="interlocked_integer_type.html#boost_act.concepts.interlocked_types.interlocked_integer_type.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="table">
+<a name="id497008"></a><p class="title"><b>Table 6. Interlocked Arithmetic Type Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Interlocked Arithmetic Type Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">mod_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">mod_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">mod_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">and_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">and_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">and_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">or_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">or_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">or_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">xor_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">xor_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">xor_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">lshift_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">lshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">lshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">rshift_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">rshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">rshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_arithmetic_type.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../queue_concepts.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Queue Concepts</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../index.html" title="Boost.Act">
+<link rel="up" href="../concepts.html" title="Concepts">
+<link rel="prev" href="interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
+<link rel="next" href="queue_concepts/pc_queue.html" title="PC Queue">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_types/interlocked_integer_type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="queue_concepts/pc_queue.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_act.concepts.queue_concepts"></a>Queue Concepts</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">PC Queue</span></dt>
+<dt><span class="section"><a href="queue_concepts/queue_policy.html">Queue
+        Policy</a></span></dt>
+</dl></div>
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_types/interlocked_integer_type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="queue_concepts/pc_queue.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/pc_queue.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/pc_queue.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,399 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>PC Queue</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../queue_concepts.html" title="Queue Concepts">
+<link rel="prev" href="../queue_concepts.html" title="Queue Concepts">
+<link rel="next" href="queue_policy.html" title="Queue Policy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="../queue_concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../queue_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="queue_policy.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.queue_concepts.pc_queue"></a>PC Queue</h4></div></div></div>
+<p>
+          A <code class="literal">PC Queue</code> is a type whose instances represent a queue
+          upon which data may be pushed on and popped off in FIFO order.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">PC Queue</code>, given the
+          variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+<div class="variablelist">
+<p class="title"><b>PC Queue Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">Q</span></code></span></dt>
+<dd>
+            A <code class="literal">PC Queue</code> type.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">q</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">q</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">V</span></code></span></dt>
+<dd>
+            The type <code class="computeroutput"><span class="identifier">Q</span><span class="special">::</span><span class="identifier">value_type</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">v</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">V</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">OV</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">V</span><span class="special">></span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
+<dd>
+            An in_place_factory type.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
+<dd>
+            A value of type <code class="computeroutput"><span class="identifier">F</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.queue_concepts.pc_queue.expression_requirements"></a><h6>
+<a name="id500041"></a>
+          <a href="pc_queue.html#boost_act.concepts.queue_concepts.pc_queue.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="table">
+<a name="id500058"></a><p class="title"><b>Table 7. PC Queue Requirements</b></p>
+<div class="table-contents"><table class="table" summary="PC Queue Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">Q</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                Creates an instance. A destructor is assumed.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">Q</span><span class="special">::</span><span class="identifier">value_type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                The type of data which is stored in the queue.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">Q</span><span class="special">::</span><span class="identifier">size_type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                The return type of a call to to <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Returns the number of elements currently in <code class="computeroutput"><span class="identifier">q</span></code>.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Returns <code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span>
+                <span class="special">==</span> <span class="number">0</span></code>;
+                <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">full</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Returns <code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="identifier">q</span></code> has reached its maximum capacity;
+                <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">push</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                (not used)
+              </p>
+              </td>
+<td>
+              <p>
+                Pushes a default constructed <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. If the queue is full then behavior is undefined.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                (not used)
+              </p>
+              </td>
+<td>
+              <p>
+                Pushes the value <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. If the queue is full then behavior is undefined.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                (not used)
+              </p>
+              </td>
+<td>
+              <p>
+                Pushes a value into the queue with constructor arguments specified
+                by <code class="computeroutput"><span class="identifier">f</span></code>. If the queue
+                is full then behavior is undefined.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_push</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Pushes a default constructed <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                if the push was successful; <code class="computeroutput"><span class="keyword">false</span></code>
+                otherwise. <span class="emphasis"><em>Note: Push may return <code class="computeroutput"><span class="keyword">false</span></code>
+                if the queue is at maximum capacity. --end note</em></span>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_push</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Pushes the value <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                if the push was successful; <code class="computeroutput"><span class="keyword">false</span></code>
+                otherwise. <span class="emphasis"><em>Note: Push may return <code class="computeroutput"><span class="keyword">false</span></code>
+                if the queue is at maximum capacity. --end note</em></span>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_push</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Pushes a value into the queue with constructor arguments specified
+                by <code class="computeroutput"><span class="identifier">f</span></code>. Returns <code class="computeroutput"><span class="keyword">true</span></code> if the push was successful;
+                <code class="computeroutput"><span class="keyword">false</span></code> otherwise. <span class="emphasis"><em>Note:
+                Push may return <code class="computeroutput"><span class="keyword">false</span></code>
+                if the queue is at maximum capacity. --end note</em></span>
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">pop</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                (not used)
+              </p>
+              </td>
+<td>
+              <p>
+                Pops a value from the queue. If the queue is empty then behavior
+                is undefined.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_pop</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Pops a value from the queue. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                if the queue was not empty; <code class="computeroutput"><span class="keyword">false</span></code>
+                otherwise.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">value_pop</span><span class="special">()</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">OV</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Pops a value from the queue. Returns the popped value if the queue
+                was not empty, otherwise a default-constructed <code class="computeroutput"><span class="identifier">OV</span></code>
+                is returned.
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="../queue_concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../queue_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="queue_policy.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/queue_policy.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/queue_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,220 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Queue Policy</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../../index.html" title="Boost.Act">
+<link rel="up" href="../queue_concepts.html" title="Queue Concepts">
+<link rel="prev" href="pc_queue.html" title="PC Queue">
+<link rel="next" href="../../interlocked_integer.html" title="Interlocked Integer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="pc_queue.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../queue_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../interlocked_integer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_act.concepts.queue_concepts.queue_policy"></a><a href="queue_policy.html" title="Queue Policy">Queue
+        Policy</a></h4></div></div></div>
+<p>
+          A <code class="literal">Queue Policy</code> is a type which is used as a handle to
+          related <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+          Queue</code></a> types. These <code class="literal">Queue Policys</code> generally
+          act as policies to higher-level templates which choose the appropriate
+          <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+          Queue</code></a> based on the knowledge of how the queue will be
+          used. In <code class="literal">Boost.Act</code>, such types are used as policies
+          to <a href="../consumer_concepts/consumer_policy.html" title="Consumer Policy">
+          <code class="literal">Consumer Policy</code></a> templates.
+        </p>
+<p>
+          In order to be considered a valid <code class="literal">Queue Policy</code>, given
+          the variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+<div class="variablelist">
+<p class="title"><b>Queue Policy Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">A</span></code></span></dt>
+<dd>
+            A <code class="literal">Queue Policy</code> type.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">a</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">A</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span></code></span></dt>
+<dd>
+            The type of objects to be processed.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">t</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">tc</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">P</span></code></span></dt>
+<dd>
+            A unary function object which may take <code class="computeroutput"><span class="identifier">t</span></code>
+            as an argument.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">p</span></code></span></dt>
+<dd>
+            Value of type <code class="computeroutput"><span class="identifier">P</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+</dl>
+</div>
+<a name="boost_act.concepts.queue_concepts.queue_policy.expression_requirements"></a><h6>
+<a name="id501698"></a>
+          <a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+<div class="table">
+<a name="id501715"></a><p class="title"><b>Table 8. Queue Policy Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Queue Policy Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Expression
+              </p>
+              </th>
+<th>
+              <p>
+                Return Type
+              </p>
+              </th>
+<th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">queue_policy</span><span class="special">::</span><span class="identifier">queue</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">V</span> <span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                A <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+                Queue</code></a> type which holds objects of type <code class="computeroutput"><span class="identifier">V</span></code> and whose instances may individually
+                be safely interfaced with by exactly one thread.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">queue_policy</span><span class="special">::</span><span class="identifier">safe_queue</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">V</span> <span class="special">...</span></code>
+                <em class="replaceable"><code>
+                  <a href="../../../">Unordered
+                  Parameters</a>
+                </code></em>
+                <code class="computeroutput"><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+              </p>
+              </td>
+<td>
+              <p>
+                A <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+                Queue</code></a> type which holds objects of type <code class="computeroutput"><span class="identifier">V</span></code> and which has a user-specified
+                level of thread-safety (see link on left for details).
+              </p>
+              </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters"></a><h6>
+<a name="id502019"></a>
+          <a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters">Queue
+          Policy PC Queue Unordered Parameters</a>
+        </h6>
+<div class="variablelist">
+<p class="title"><b>--Pusher Parameter--</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">one_pusher</span></code></span></dt>
+<dd>
+            Specifies that a single thread will be performing push operations on
+            the queue.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">many_pushers</span></code></span></dt>
+<dd>
+            Specifies that multiple threads may be performing push operations on
+            the queue.
+          </dd>
+<dt><span class="term"><span class="emphasis"><em>default value</em></span></span></dt>
+<dd><code class="computeroutput"><span class="identifier">many_pushers</span></code></dd>
+</dl>
+</div>
+<div class="variablelist">
+<p class="title"><b>--Popper Parameter--</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">one_popper</span></code></span></dt>
+<dd>
+            Specifies that a single thread will be performing pop operations on the
+            queue.
+          </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">many_poppers</span></code></span></dt>
+<dd>
+            Specifies that multiple threads may be performing pop operations on the
+            queue.
+          </dd>
+<dt><span class="term"><span class="emphasis"><em>default value</em></span></span></dt>
+<dd><code class="computeroutput"><span class="identifier">many_poppers</span></code></dd>
+</dl>
+</div>
+<a name="boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples"></a><h6>
+<a name="id502194"></a>
+          <a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples">Queue
+          Policy PC Queue Type Selection Examples</a>
+        </h6>
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="pc_queue.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../queue_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../interlocked_integer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/consumer_concepts/consumer_policy.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/consumer_concepts/consumer_policy.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/consumer_concepts/consumer_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="Boost.Act">
 <link rel="up" href="../consumer_concepts.html" title="Consumer Concepts">
 <link rel="prev" href="consumer.html" title="Consumer">
-<link rel="next" href="../interlocked_concepts.html" title="Interlocked Concepts">
+<link rel="next" href="../interlocked_types.html" title="Interlocked Types">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <div id="heading">
@@ -16,7 +16,7 @@
 <div class="heading_search_box"></div>
 </div>
 <div class="spirit-nav">
-<a accesskey="p" href="consumer.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../interlocked_concepts.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="consumer.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../interlocked_types.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 <div id="body"><div id="body-inner">
 <div id="content"><div class="section" lang="en">
@@ -154,7 +154,7 @@
 <div class="clear"></div>
 </div></div>
 <div class="spirit-nav">
-<a accesskey="p" href="consumer.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../interlocked_concepts.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="consumer.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../consumer_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../interlocked_types.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
 <div id="footer-left">
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
 <link rel="start" href="../index.html" title="Boost.Act">
 <link rel="up" href="../index.html" title="Boost.Act">
-<link rel="prev" href="queue_concepts/queue_policy.html" title="Queue Policy">
+<link rel="prev" href="concepts/queue_concepts/queue_policy.html" title="Queue Policy">
 <link rel="next" href="interlocked_integer/integer_typedefs.html" title="Integer Typedefs">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -16,7 +16,7 @@
 <div class="heading_search_box"></div>
 </div>
 <div class="spirit-nav">
-<a accesskey="p" href="queue_concepts/queue_policy.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer/integer_typedefs.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="concepts/queue_concepts/queue_policy.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer/integer_typedefs.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 <div id="body"><div id="body-inner">
 <div id="content"><div class="section" lang="en">
@@ -25,7 +25,7 @@
 <div class="toc"><dl><dt><span class="section"><a href="interlocked_integer/integer_typedefs.html">Integer
       Typedefs</a></span></dt></dl></div>
 <a name="boost_act.interlocked_integer.header"></a><h4>
-<a name="id502083"></a>
+<a name="id502244"></a>
       <a href="interlocked_integer.html#boost_act.interlocked_integer.header">Header</a>
     </h4>
 <pre class="programlisting">
@@ -37,22 +37,22 @@
 <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">selection</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
 <a name="boost_act.interlocked_integer.description"></a><h4>
-<a name="id502335"></a>
+<a name="id502497"></a>
       <a href="interlocked_integer.html#boost_act.interlocked_integer.description">Description</a>
     </h4>
 <p>
       <code class="literal">Boost.Act</code> exposes several methods for retrieving types which
-      are models of <a href="interlocked_concepts/interlocked_type.html" title="Interlocked Type">
-      <code class="literal">Interlocked Type</code></a> including common typedefs and template
-      metafunctions similar to those found in <code class="literal">Boost.Integer</code>. The
-      following types and typedefs are all found in the <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>
+      are models of <a href="concepts/interlocked_types.html" title="Interlocked Types"> <code class="literal">Interlocked
+      Type</code></a> including common typedefs and template metafunctions
+      similar to those found in <code class="literal">Boost.Integer</code>. The following types
+      and typedefs are all found in the <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>
       namespace.
     </p>
 </div></div>
 <div class="clear"></div>
 </div></div>
 <div class="spirit-nav">
-<a accesskey="p" href="queue_concepts/queue_policy.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer/integer_typedefs.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="concepts/queue_concepts/queue_policy.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer/integer_typedefs.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
 <div id="footer-left">
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer/integer_typedefs.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer/integer_typedefs.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer/integer_typedefs.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -24,22 +24,22 @@
 <a name="boost_act.interlocked_integer.integer_typedefs"></a><a href="integer_typedefs.html" title="Integer Typedefs">Integer
       Typedefs</a></h3></div></div></div>
 <a name="boost_act.interlocked_integer.integer_typedefs.header"></a><h5>
-<a name="id502450"></a>
+<a name="id502612"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.header">Header</a>
       </h5>
 <pre class="programlisting">
 <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
 <a name="boost_act.interlocked_integer.integer_typedefs.exact_width_integer_types"></a><h5>
-<a name="id502559"></a>
+<a name="id502720"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.exact_width_integer_types">Exact-Width
         Integer Types</a>
       </h5>
 <p>
-        The typedef int#_t, with # replaced by the width, designates a signed <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type"> <code class="literal">Interlocked
-        Integer Type</code></a> of exactly # bits; int8_t denotes an 8-bit
-        signed integer type. Similarly, the typedef uint#_t designates and unsigned
-        integer type of exactly # bits.
+        The typedef int#_t, with # replaced by the width, designates a signed <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
+        <code class="literal">Interlocked Integer Type</code></a> of exactly # bits; int8_t
+        denotes an 8-bit signed integer type. Similarly, the typedef uint#_t designates
+        and unsigned integer type of exactly # bits.
       </p>
 <p>
         These types are optional. However, if an implementation provides integer
@@ -51,13 +51,13 @@
         to built-in integer types. ]
       </p>
 <a name="boost_act.interlocked_integer.integer_typedefs.minimum_width_integer_types"></a><h5>
-<a name="id502619"></a>
+<a name="id502780"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.minimum_width_integer_types">Minimum-Width
         Integer Types</a>
       </h5>
 <p>
         The typedef int_least#_t, with # replaced by the width, designates a signed
-        <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a> type with a width of at
         least # bits, such that no signed integer type with lesser size has at least
         the specified width. Thus, int_least32_t denotes a signed integer type with
@@ -92,13 +92,13 @@
         All other minimum-width integer types are optional.
       </p>
 <a name="boost_act.interlocked_integer.integer_typedefs.fastest_minimum_width_integer_types"></a><h5>
-<a name="id502715"></a>
+<a name="id502874"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.fastest_minimum_width_integer_types">Fastest
         Minimum-Width Integer Types</a>
       </h5>
 <p>
         The typedef int_fast#_t, with # replaced by the width, designates the fastest
-        signed <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        signed <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a> type with a width of at
         least # bits. Similarly, the typedef name uint_fast#_t designates the fastest
         unsigned integer type with a width of at least # bits.
@@ -134,7 +134,7 @@
         All other fastest minimum-width integer types are optional.
       </p>
 <a name="boost_act.interlocked_integer.integer_typedefs.greatest_width_integer_types"></a><h5>
-<a name="id502814"></a>
+<a name="id502973"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.greatest_width_integer_types">Greatest-Width
         Integer Types</a>
       </h5>
@@ -143,16 +143,16 @@
         any value of any signed integer type.
       </p>
 <p>
-        The typedef uintmax_t designates an unsigned <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        The typedef uintmax_t designates an unsigned <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a> capable of representing
-        any value of any unsigned <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        any value of any unsigned <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a>.
       </p>
 <p>
         These types are required.
       </p>
 <a name="boost_act.interlocked_integer.integer_typedefs.miscellaneous_integer_types"></a><h5>
-<a name="id502888"></a>
+<a name="id503048"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.miscellaneous_integer_types">Miscellaneous
         Integer Types</a>
       </h5>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Types</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../index.html" title="Boost.Act">
+<link rel="up" href="../index.html" title="Boost.Act">
+<link rel="prev" href="consumer_concepts/consumer_policy.html" title="Consumer Policy">
+<link rel="next" href="interlocked_types/interlocked_basic_type.html" title="Interlocked Basic Type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="consumer_concepts/consumer_policy.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_types/interlocked_basic_type.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_act.interlocked_types"></a>Interlocked Types</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="interlocked_types/interlocked_basic_type.html">Interlocked
+      Basic Type</a></span></dt>
+<dt><span class="section"><a href="interlocked_types/interlocked_arithmetic_type.html">Interlocked
+      Arithmetic Type</a></span></dt>
+<dt><span class="section"><a href="interlocked_types/interlocked_integer_type.html">Interlocked
+      Integer Type</a></span></dt>
+</dl></div>
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="consumer_concepts/consumer_policy.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_types/interlocked_basic_type.html"><img src="../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_arithmetic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_arithmetic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,484 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Arithmetic Type</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../index.html" title="Boost.Act">
+<link rel="up" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="prev" href="interlocked_basic_type.html" title="Interlocked Basic Type">
+<link rel="next" href="interlocked_integer_type.html" title="Interlocked Integer Type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_basic_type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer_type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_act.interlocked_types.interlocked_arithmetic_type"></a><a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">Interlocked
+      Arithmetic Type</a></h3></div></div></div>
+<p>
+        An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="../../">
+        <code class="literal">Interlocked Type</code></a> which supports common arithmetic
+        operations.
+      </p>
+<p>
+        In order to be considered a valid <code class="literal">Interlocked Arithmetic Type</code>,
+        given the variable definitions below, the following expressions must be well-formed
+        and have the indicated effects, in addition to those requirements of <a href="../../"> <code class="literal">Interlocked
+        Type</code></a>. <code class="literal">Interlocked Arithmetic Types</code> also
+        support all operations specified in the C++ standard for arithmetic types.
+        Such operations do not imply memory barriers of any kind.
+      </p>
+<div class="variablelist">
+<p class="title"><b>Interlocked Arithmetic Type Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
+<dd>
+          An <code class="literal">Interlocked Arithmetic Type</code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">IV</span></code></span></dt>
+<dd>
+<code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C1</span></code></span></dt>
+<dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">iv</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c1</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+</dl>
+</div>
+<a name="boost_act.interlocked_types.interlocked_arithmetic_type.expression_requirements"></a><h5>
+<a name="id494082"></a>
+        <a href="interlocked_arithmetic_type.html#boost_act.interlocked_types.interlocked_arithmetic_type.expression_requirements">Expression
+        Requirements</a>
+      </h5>
+<div class="table">
+<a name="id494101"></a><p class="title"><b>Table 5. Interlocked Arithmetic Type Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Interlocked Arithmetic Type Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+            <p>
+              Expression
+            </p>
+            </th>
+<th>
+            <p>
+              Return Type
+            </p>
+            </th>
+<th>
+            <p>
+              Pre/Post-Condition
+            </p>
+            </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+              a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code> before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_acquire</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_release</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>release</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+              a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code> before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_acquire</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_release</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>release</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+              <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full
+              memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+              <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+              <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_basic_type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_integer_type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_basic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_basic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,381 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Basic Type</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../index.html" title="Boost.Act">
+<link rel="up" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="prev" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="next" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="../interlocked_types.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_arithmetic_type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_act.interlocked_types.interlocked_basic_type"></a><a href="interlocked_basic_type.html" title="Interlocked Basic Type">Interlocked
+      Basic Type</a></h3></div></div></div>
+<p>
+        An <code class="literal">Interlocked Basic Type</code> is a type whose instances support
+        thread-safe <code class="computeroutput"><span class="identifier">load</span></code> and <code class="computeroutput"><span class="identifier">store</span></code> operations and which are often used
+        in the implementation of lock-free code. In the current version of Boost.Act,
+        only built-in types may be <code class="literal">Interlocked Basic Types</code>, although
+        this will likely change in future releases.
+      </p>
+<p>
+        In order to be considered a valid <code class="literal">Interlocked Type</code>, given
+        the variable definitions below, the following expressions must be well-formed
+        and have the indicated effects.
+      </p>
+<div class="variablelist">
+<p class="title"><b>Interlocked Type Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
+<dd>
+          An <code class="literal">Interlocked Type</code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">IV</span></code></span></dt>
+<dd>
+<code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C1</span></code></span></dt>
+<dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C2</span></code></span></dt>
+<dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">iv</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c1</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c2</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">C2</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+</dl>
+</div>
+<a name="boost_act.interlocked_types.interlocked_basic_type.expression_requirements"></a><h5>
+<a name="id492468"></a>
+        <a href="interlocked_basic_type.html#boost_act.interlocked_types.interlocked_basic_type.expression_requirements">Expression
+        Requirements</a>
+      </h5>
+<div class="note">
+<div class="admonition-graphic"><img alt="[Note]" src="../../images/note.png"></div>
+<div class="admonition-body">
+<div class="admonition-title">Note</div>
+<div class="admonition-content">
+<p>
+          </p>
+<p>
+            In the following requirements, certain operations are listed as having
+            <span class="emphasis"><em>acquire</em></span> memory semantics, <span class="emphasis"><em>release</em></span>
+            memory semantics, or both. Operations with <span class="emphasis"><em>acquire</em></span>
+            memory semantics imply that the memory operation being performed by the
+            current thread will be visible before any other memory operations are
+            attempted. Operations with <span class="emphasis"><em>release</em></span> memory semantics
+            imply that the memory operation being performed by the current thread
+            will be visible after all other memory operations have been completed.
+            For brevity, functions and templates are listed without qualification
+            although they actually exist in in the namespace <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>.
+          </p>
+<p>
+        </p>
+</div>
+</div>
+</div>
+<div class="table">
+<a name="id492558"></a><p class="title"><b>Table 4. Interlocked Type Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Interlocked Type Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+            <p>
+              Expression
+            </p>
+            </th>
+<th>
+            <p>
+              Return Type
+            </p>
+            </th>
+<th>
+            <p>
+              Pre/Post-Condition
+            </p>
+            </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">I</span><span class="special">()</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+            </p>
+            </td>
+<td>
+            <p>
+              Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+              with an unspecified initial value. <span class="emphasis"><em>Note: This is not an interlocked
+              operation and does not imply a memory barrier of any kind. --end note</em></span>
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">I</span> <span class="identifier">i</span>
+              <span class="special">=</span> <span class="identifier">c1</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+            </p>
+            </td>
+<td>
+            <p>
+              Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+              with <code class="computeroutput"><span class="identifier">c1</span></code> as an initial
+              value. <span class="emphasis"><em>Note: This is not an interlocked operation and does
+              not imply a memory barrier of any kind. --end note</em></span>
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">iv</span> <span class="special">=</span>
+              <span class="identifier">c1</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">I</span><span class="special">&</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">i</span></code>. Returns
+              a reference to <code class="computeroutput"><span class="identifier">iv</span></code>.
+              <span class="emphasis"><em>Note: This is not an interlocked operation and does not imply
+              a memory barrier of any kind. --end note</em></span>
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+              <span class="identifier">unordered</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with no
+              ordering guarantees.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+              <span class="identifier">release</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>release</em></span> memory semantics.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+              <span class="identifier">default_</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+              <span class="identifier">unordered</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with no
+              ordering guarantees.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+              <span class="identifier">acquire</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>acquire</em></span> memory semantics.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+              <span class="identifier">default_</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="../interlocked_types.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="interlocked_arithmetic_type.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_integer_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_types/interlocked_integer_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,498 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Interlocked Integer Type</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<link rel="start" href="../../index.html" title="Boost.Act">
+<link rel="up" href="../interlocked_types.html" title="Interlocked Types">
+<link rel="prev" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">
+<link rel="next" href="../queue_concepts.html" title="Queue Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div id="heading">
+<div id="heading-placard"></div>
+<div class="heading_navigation_box"></div>
+<div class="heading_search_box"></div>
+</div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_arithmetic_type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../queue_concepts.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div id="body"><div id="body-inner">
+<div id="content"><div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_act.interlocked_types.interlocked_integer_type"></a><a href="interlocked_integer_type.html" title="Interlocked Integer Type">Interlocked
+      Integer Type</a></h3></div></div></div>
+<p>
+        An <code class="literal">Interlocked Integer Type</code> is an <a href="../../">
+        <code class="literal">Interlocked Arithmetic Type</code></a> which supports common
+        integer operations.
+      </p>
+<p>
+        In order to be considered a valid <code class="literal">Interlocked Integer Type</code>,
+        given the variable definitions below, the following expressions must be well-formed
+        and have the indicated effects, in addition to those requirements of <a href="../../"> <code class="literal">Interlocked
+        Arithmetic Type</code></a>. <code class="literal">Interlocked Integer Types</code>
+        also support all operations specified in the C++ standard for integer types.
+        Such operations do not imply memory barriers of any kind.
+      </p>
+<div class="variablelist">
+<p class="title"><b>Interlocked Arithmetic Type Descriptive Variable Definitions</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt>
+<dd>
+          An <code class="literal">Interlocked Integral Type</code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">IV</span></code></span></dt>
+<dd>
+<code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C1</span></code></span></dt>
+<dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">iv</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c1</span></code></span></dt>
+<dd>
+          Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd>
+          An integral or <code class="literal">Interlocked Integer Type</code>.
+        </dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd>
+          A value of type <code class="computeroutput"><span class="identifier">S</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+</dl>
+</div>
+<a name="boost_act.interlocked_types.interlocked_integer_type.expression_requirements"></a><h5>
+<a name="id496948"></a>
+        <a href="interlocked_integer_type.html#boost_act.interlocked_types.interlocked_integer_type.expression_requirements">Expression
+        Requirements</a>
+      </h5>
+<div class="table">
+<a name="id496966"></a><p class="title"><b>Table 6. Interlocked Arithmetic Type Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Interlocked Arithmetic Type Requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+            <p>
+              Expression
+            </p>
+            </th>
+<th>
+            <p>
+              Return Type
+            </p>
+            </th>
+<th>
+            <p>
+              Pre/Post-Condition
+            </p>
+            </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">mod_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">mod_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">mod_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">and_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">and_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">and_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">or_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">or_assign_acquire</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">or_assign_release</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">xor_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">xor_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">xor_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">lshift_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full
+              memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">lshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">lshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">rshift_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full
+              memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">rshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+<tr>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">rshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+<td>
+            <p>
+              Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div></div>
+<div class="clear"></div>
+</div></div>
+<div class="spirit-nav">
+<a accesskey="p" href="interlocked_arithmetic_type.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../interlocked_types.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../queue_concepts.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+<div id="footer-left">
+<div id="copyright"><p>Copyright © 2006 , 2007 Matthew Calabrese</p></div>
+<div id="license"><p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p></div>
+</div>
+<div id="footer-right"><div id="banners">
+<p id="banner-xhtml">XHTML 1.0</p>
+<p id="banner-css">CSS</p>
+<p id="banner-sourceforge">SourceForge</p>
+</div></div>
+<div class="clear"></div>
+</div>
+</body>
+</html>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
 <link rel="start" href="../index.html" title="Boost.Act">
 <link rel="up" href="../index.html" title="Boost.Act">
-<link rel="prev" href="interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+<link rel="prev" href="interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
 <link rel="next" href="queue_concepts/pc_queue.html" title="PC Queue">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -16,7 +16,7 @@
 <div class="heading_search_box"></div>
 </div>
 <div class="spirit-nav">
-<a accesskey="p" href="interlocked_concepts/interlocked_integer_type.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="queue_concepts/pc_queue.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="interlocked_types/interlocked_integer_type.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="queue_concepts/pc_queue.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 <div id="body"><div id="body-inner">
 <div id="content"><div class="section" lang="en">
@@ -30,7 +30,7 @@
 <div class="clear"></div>
 </div></div>
 <div class="spirit-nav">
-<a accesskey="p" href="interlocked_concepts/interlocked_integer_type.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="queue_concepts/pc_queue.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="interlocked_types/interlocked_integer_type.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="queue_concepts/pc_queue.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
 <div id="footer-left">
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/pc_queue.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/pc_queue.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/pc_queue.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -65,12 +65,12 @@
 </dl>
 </div>
 <a name="boost_act.queue_concepts.pc_queue.expression_requirements"></a><h5>
-<a name="id499892"></a>
+<a name="id499987"></a>
         <a href="pc_queue.html#boost_act.queue_concepts.pc_queue.expression_requirements">Expression
         Requirements</a>
       </h5>
 <div class="table">
-<a name="id499910"></a><p class="title"><b>Table 7. PC Queue Requirements</b></p>
+<a name="id500004"></a><p class="title"><b>Table 7. PC Queue Requirements</b></p>
 <div class="table-contents"><table class="table" summary="PC Queue Requirements">
 <colgroup>
 <col>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/queue_policy.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/queue_policy.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/queue_concepts/queue_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -72,12 +72,12 @@
 </dl>
 </div>
 <a name="boost_act.queue_concepts.queue_policy.expression_requirements"></a><h5>
-<a name="id501546"></a>
+<a name="id501640"></a>
         <a href="queue_policy.html#boost_act.queue_concepts.queue_policy.expression_requirements">Expression
         Requirements</a>
       </h5>
 <div class="table">
-<a name="id501563"></a><p class="title"><b>Table 8. Queue Policy Requirements</b></p>
+<a name="id501658"></a><p class="title"><b>Table 8. Queue Policy Requirements</b></p>
 <div class="table-contents"><table class="table" summary="Queue Policy Requirements">
 <colgroup>
 <col>
@@ -153,7 +153,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters"></a><h5>
-<a name="id501864"></a>
+<a name="id501960"></a>
         <a href="queue_policy.html#boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters">Queue
         Policy PC Queue Unordered Parameters</a>
       </h5>
@@ -192,7 +192,7 @@
 </dl>
 </div>
 <a name="boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples"></a><h5>
-<a name="id502035"></a>
+<a name="id502131"></a>
         <a href="queue_policy.html#boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples">Queue
         Policy PC Queue Type Selection Examples</a>
       </h5>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/images/Thumbs.db
==============================================================================
Binary files. No diff available.
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/images/callouts/Thumbs.db
==============================================================================
Binary file. No diff available.
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/images/header-fg.png
==============================================================================
Binary files. No diff available.
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -58,25 +58,29 @@
 <dt><span class="section"><a href="boost_act/compiler_setup/compiling_the_library.html">Compiling
       the Library</a></span></dt>
 </dl></dd>
-<dt><span class="section">Consumer Concepts</span></dt>
+<dt><span class="section">Concepts</span></dt>
 <dd><dl>
-<dt><span class="section">Consumer</span></dt>
-<dt><span class="section"><a href="boost_act/consumer_concepts/consumer_policy.html">Consumer
-      Policy</a></span></dt>
+<dt><span class="section">Consumer Concepts</span></dt>
+<dd><dl>
+<dt><span class="section">Consumer</span></dt>
+<dt><span class="section"><a href="boost_act/concepts/consumer_concepts/consumer_policy.html">Consumer
+        Policy</a></span></dt>
 </dl></dd>
-<dt><span class="section">Interlocked Concepts</span></dt>
+<dt><span class="section">Interlocked Types</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="boost_act/interlocked_concepts/interlocked_type.html">Interlocked
-      Type</a></span></dt>
-<dt><span class="section"><a href="boost_act/interlocked_concepts/interlocked_arithmetic_type.html">Interlocked
-      Arithmetic Type</a></span></dt>
-<dt><span class="section"><a href="boost_act/interlocked_concepts/interlocked_integer_type.html">Interlocked
-      Integer Type</a></span></dt>
+<dt><span class="section"><a href="boost_act/concepts/interlocked_types/interlocked_basic_type.html">Interlocked
+        Basic Type</a></span></dt>
+<dt><span class="section"><a href="boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html">Interlocked
+        Arithmetic Type</a></span></dt>
+<dt><span class="section"><a href="boost_act/concepts/interlocked_types/interlocked_integer_type.html">Interlocked
+        Integer Type</a></span></dt>
 </dl></dd>
-<dt><span class="section">Queue Concepts</span></dt>
+<dt><span class="section">Queue Concepts</span></dt>
 <dd><dl>
-<dt><span class="section">PC Queue</span></dt>
-<dt><span class="section">Queue Policy</span></dt>
+<dt><span class="section">PC Queue</span></dt>
+<dt><span class="section"><a href="boost_act/concepts/queue_concepts/queue_policy.html">Queue
+        Policy</a></span></dt>
+</dl></dd>
 </dl></dd>
 <dt><span class="section">Interlocked Integer</span></dt>
 <dd><dl><dt><span class="section"><a href="boost_act/interlocked_integer/integer_typedefs.html">Integer
@@ -96,7 +100,7 @@
 <div class="spirit-nav"><a accesskey="n" href="boost_act/brief_description.html"><img src="images/next.png" alt="Next"></a></div>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
 <div id="footer-left">
-<div id="revised">Revised: June 29, 2007 at 03:24:45 GMT</div>
+<div id="revised">Revised: June 29, 2007 at 19:16:18 GMT</div>
 <div id="copyright"></div>
 <div id="license"><p>Distributed under the
                   <a href="/LICENSE_1_0.txt" class="internal">Boost Software License, Version 1.0</a>.
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/HTML.manifest
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/HTML.manifest	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/HTML.manifest	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -12,16 +12,17 @@
 boost_act/compiler_setup/enabling_parallel_algorithms.html
 boost_act/compiler_setup/linking_with_boost_threads.html
 boost_act/compiler_setup/compiling_the_library.html
-boost_act/consumer_concepts.html
-boost_act/consumer_concepts/consumer.html
-boost_act/consumer_concepts/consumer_policy.html
-boost_act/interlocked_concepts.html
-boost_act/interlocked_concepts/interlocked_type.html
-boost_act/interlocked_concepts/interlocked_arithmetic_type.html
-boost_act/interlocked_concepts/interlocked_integer_type.html
-boost_act/queue_concepts.html
-boost_act/queue_concepts/pc_queue.html
-boost_act/queue_concepts/queue_policy.html
+boost_act/concepts.html
+boost_act/concepts/consumer_concepts.html
+boost_act/concepts/consumer_concepts/consumer.html
+boost_act/concepts/consumer_concepts/consumer_policy.html
+boost_act/concepts/interlocked_types.html
+boost_act/concepts/interlocked_types/interlocked_basic_type.html
+boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html
+boost_act/concepts/interlocked_types/interlocked_integer_type.html
+boost_act/concepts/queue_concepts.html
+boost_act/concepts/queue_concepts/pc_queue.html
+boost_act/concepts/queue_concepts/queue_policy.html
 boost_act/interlocked_integer.html
 boost_act/interlocked_integer/integer_typedefs.html
 boost_act/rationale.html
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/compiler_setup/compiling_the_library.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/compiler_setup/compiling_the_library.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/compiler_setup/compiling_the_library.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -9,7 +9,7 @@
     <link rel="start" href="../../index.html" title="Boost.Act" />
     <link rel="up" href="../compiler_setup.html" title="Compiler Setup" />
     <link rel="prev" href="linking_with_boost_threads.html" title="Linking with Boost.Threads" />
-    <link rel="next" href="../consumer_concepts.html" title="Consumer Concepts" />
+    <link rel="next" href="../concepts.html" title="Concepts" />
   </head>
   <body>
     <div id="heading">
@@ -27,7 +27,7 @@
       <a accesskey="h" href="../../index.html">
         <img src="../../../../doc/html/images/home.png" alt="Home" />
       </a>
-      <a accesskey="n" href="../consumer_concepts.html">
+      <a accesskey="n" href="../concepts.html">
         <img src="../../../../doc/html/images/next.png" alt="Next" />
       </a>
     </div>
@@ -63,7 +63,7 @@
       <a accesskey="h" href="../../index.html">
         <img src="../../../../doc/html/images/home.png" alt="Home" />
       </a>
-      <a accesskey="n" href="../consumer_concepts.html">
+      <a accesskey="n" href="../concepts.html">
         <img src="../../../../doc/html/images/next.png" alt="Next" />
       </a>
     </div>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Concepts</title>
+    <link xmlns="" rel="stylesheet" href="../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../index.html" title="Boost.Act" />
+    <link rel="up" href="../index.html" title="Boost.Act" />
+    <link rel="prev" href="compiler_setup/compiling_the_library.html" title="Compiling the Library" />
+    <link rel="next" href="concepts/consumer_concepts.html" title="Consumer Concepts" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="compiler_setup/compiling_the_library.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="concepts/consumer_concepts.html">
+        <img src="../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h2 class="title" style="clear: both"><a id="boost_act.concepts"></a>Concepts</h2>
+                </div>
+              </div>
+            </div>
+            <div class="toc">
+              <dl>
+                <dt>
+                  <span class="section">
+                    Consumer Concepts
+                  </span>
+                </dt>
+                <dd>
+                  <dl>
+                    <dt>
+                      <span class="section">
+                        Consumer
+                      </span>
+                    </dt>
+                    <dt>
+                      <span class="section">
+                        <a href="concepts/consumer_concepts/consumer_policy.html">Consumer
+        Policy</a>
+                      </span>
+                    </dt>
+                  </dl>
+                </dd>
+                <dt>
+                  <span class="section">
+                    Interlocked Types
+                  </span>
+                </dt>
+                <dd>
+                  <dl>
+                    <dt>
+                      <span class="section">
+                        <a href="concepts/interlocked_types/interlocked_basic_type.html">Interlocked
+        Basic Type</a>
+                      </span>
+                    </dt>
+                    <dt>
+                      <span class="section">
+                        <a href="concepts/interlocked_types/interlocked_arithmetic_type.html">Interlocked
+        Arithmetic Type</a>
+                      </span>
+                    </dt>
+                    <dt>
+                      <span class="section">
+                        <a href="concepts/interlocked_types/interlocked_integer_type.html">Interlocked
+        Integer Type</a>
+                      </span>
+                    </dt>
+                  </dl>
+                </dd>
+                <dt>
+                  <span class="section">
+                    Queue Concepts
+                  </span>
+                </dt>
+                <dd>
+                  <dl>
+                    <dt>
+                      <span class="section">
+                        PC Queue
+                      </span>
+                    </dt>
+                    <dt>
+                      <span class="section">
+                        <a href="concepts/queue_concepts/queue_policy.html">Queue
+        Policy</a>
+                      </span>
+                    </dt>
+                  </dl>
+                </dd>
+              </dl>
+            </div>
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="compiler_setup/compiling_the_library.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="concepts/consumer_concepts.html">
+        <img src="../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Consumer Concepts</title>
+    <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../index.html" title="Boost.Act" />
+    <link rel="up" href="../concepts.html" title="Concepts" />
+    <link rel="prev" href="../concepts.html" title="Concepts" />
+    <link rel="next" href="consumer_concepts/consumer.html" title="Consumer" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../concepts.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../concepts.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="consumer_concepts/consumer.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h3 class="title"><a id="boost_act.concepts.consumer_concepts"></a>Consumer Concepts</h3>
+                </div>
+              </div>
+            </div>
+            <div class="toc">
+              <dl>
+                <dt>
+                  <span class="section">
+                    Consumer
+                  </span>
+                </dt>
+                <dt>
+                  <span class="section">
+                    <a href="consumer_concepts/consumer_policy.html">Consumer
+        Policy</a>
+                  </span>
+                </dt>
+              </dl>
+            </div>
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../concepts.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../concepts.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="consumer_concepts/consumer.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/consumer.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/consumer.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Consumer</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../consumer_concepts.html" title="Consumer Concepts" />
+    <link rel="prev" href="../consumer_concepts.html" title="Consumer Concepts" />
+    <link rel="next" href="consumer_policy.html" title="Consumer Policy" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../consumer_concepts.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../consumer_concepts.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="consumer_policy.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.consumer_concepts.consumer"></a>Consumer</h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          A <code class="literal">Consumer</code> is an object which takes in data of a single
+          type one instance at a time and processes it in an implementation defined-manner
+          either sychnronously or asynchronously with respect to the thread it is
+          interfaced with. In Boost.Act, models of this concept may be found as members
+          of models of the <a href="consumer_policy.html" title="Consumer Policy">
+          <code class="literal">Consumer Policy</code></a> concept.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">Consumer</code>, given the
+          variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Consumer Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A <code class="literal">Consumer</code> type.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">C</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">d</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.consumer_concepts.consumer.expression_requirements"></a>
+            <h6><a id="id491701"></a>
+          <a href="consumer.html#boost_act.concepts.consumer_concepts.consumer.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div class="table">
+              <a id="id491718"></a>
+              <p class="title">
+                <b>Table 2. Consumer Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Consumer Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">C</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Creates an instance using a default policy. A destructor is assumed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                The type of data which is processed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">c</span><span class="special">(</span><span class="identifier">d</span><span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                (unused)
+              </p>
+              </td>
+                      <td>
+              <p>
+                Processes a copy of <code class="computeroutput"><span class="identifier">d</span></code>.
+                <span class="emphasis"><em>Note: Processing takes place in an implementation-defined
+                thread of execution. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../consumer_concepts.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../consumer_concepts.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="consumer_policy.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/consumer_policy.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/consumer_concepts/consumer_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Consumer Policy</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../consumer_concepts.html" title="Consumer Concepts" />
+    <link rel="prev" href="consumer.html" title="Consumer" />
+    <link rel="next" href="../interlocked_types.html" title="Interlocked Types" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="consumer.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../consumer_concepts.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="../interlocked_types.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.consumer_concepts.consumer_policy"></a><a href="consumer_policy.html" title="Consumer Policy">Consumer
+        Policy</a></h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          A <code class="literal">Consumer Policy</code> is a type which is used as a handle
+          to related <a href="consumer.html" title="Consumer">
+          <code class="literal">Consumer</code></a> types. These <code class="literal">Consumer Policys</code>
+          generally act as policies to higher-level templates which choose the appropriate
+           Consumer
+          type based on the knowledge of how the <a href="consumer.html" title="Consumer">
+          <code class="literal">Consumer</code></a> will be used. In <code class="literal">Boost.Act</code>,
+          such types are used as policies during active-qualification.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">Consumer Policy</code>, given
+          the variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Consumer Policy Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">A</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A <code class="literal">Consumer Policy</code> type.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">a</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">A</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">T</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            The type of objects to be processed.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">t</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">tc</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">P</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A unary function object which may take <code class="computeroutput"><span class="identifier">t</span></code>
+            as an argument.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">p</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">P</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.consumer_concepts.consumer_policy.expression_requirements"></a>
+            <h6><a id="id492263"></a>
+          <a href="consumer_policy.html#boost_act.concepts.consumer_concepts.consumer_policy.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div class="table">
+              <a id="id492281"></a>
+              <p class="title">
+                <b>Table 3. Consumer Policy Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Consumer Policy Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">consumer_policy</span><span class="special">::</span><span class="identifier">scoped_consumer</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">constraint</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span>
+                <span class="identifier">processor</span><span class="special"><</span><span class="identifier">P</span><span class="special">></span>
+                <span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                A <a href="consumer.html" title="Consumer">
+                <code class="literal">Consumer</code></a> type which guarantees all processing
+                is completed prior to the object being destroyed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">consumer_policy</span><span class="special">::</span><span class="identifier">safe_scoped_consumer</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">constraint</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span>
+                <span class="identifier">processor</span><span class="special"><</span><span class="identifier">P</span><span class="special">></span>
+                <span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                A <a href="consumer.html" title="Consumer">
+                <code class="literal">Consumer</code></a> type which guarantees all processing
+                is completed prior to the object being destroyed and which may be
+                interfaced with by any number of threads of execution.
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="consumer.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../consumer_concepts.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="../interlocked_types.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Types</title>
+    <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../index.html" title="Boost.Act" />
+    <link rel="up" href="../concepts.html" title="Concepts" />
+    <link rel="prev" href="consumer_concepts/consumer_policy.html" title="Consumer Policy" />
+    <link rel="next" href="interlocked_types/interlocked_basic_type.html" title="Interlocked Basic Type" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="consumer_concepts/consumer_policy.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../concepts.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="interlocked_types/interlocked_basic_type.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h3 class="title"><a id="boost_act.concepts.interlocked_types"></a>Interlocked Types</h3>
+                </div>
+              </div>
+            </div>
+            <div class="toc">
+              <dl>
+                <dt>
+                  <span class="section">
+                    <a href="interlocked_types/interlocked_basic_type.html">Interlocked
+        Basic Type</a>
+                  </span>
+                </dt>
+                <dt>
+                  <span class="section">
+                    <a href="interlocked_types/interlocked_arithmetic_type.html">Interlocked
+        Arithmetic Type</a>
+                  </span>
+                </dt>
+                <dt>
+                  <span class="section">
+                    <a href="interlocked_types/interlocked_integer_type.html">Interlocked
+        Integer Type</a>
+                  </span>
+                </dt>
+              </dl>
+            </div>
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="consumer_concepts/consumer_policy.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../concepts.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="interlocked_types/interlocked_basic_type.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,592 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Arithmetic Type</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="prev" href="interlocked_basic_type.html" title="Interlocked Basic Type" />
+    <link rel="next" href="interlocked_integer_type.html" title="Interlocked Integer Type" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_basic_type.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_integer_type.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.interlocked_types.interlocked_arithmetic_type"></a><a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">Interlocked
+        Arithmetic Type</a></h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="../interlocked_types.html" title="Interlocked Types">
+          <code class="literal">Interlocked Type</code></a> which supports common arithmetic
+          operations.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">Interlocked Arithmetic Type</code>,
+          given the variable definitions below, the following expressions must be
+          well-formed and have the indicated effects, in addition to those requirements
+          of <a href="../interlocked_types.html" title="Interlocked Types"> <code class="literal">Interlocked
+          Type</code></a>. <code class="literal">Interlocked Arithmetic Types</code>
+          also support all operations specified in the C++ standard for arithmetic
+          types. Such operations do not imply memory barriers of any kind.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Interlocked Arithmetic Type Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">I</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            An <code class="literal">Interlocked Arithmetic Type</code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">IV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd><code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">iv</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.interlocked_types.interlocked_arithmetic_type.expression_requirements"></a>
+            <h6><a id="id494571"></a>
+          <a href="interlocked_arithmetic_type.html#boost_act.concepts.interlocked_types.interlocked_arithmetic_type.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div class="table">
+              <a id="id494590"></a>
+              <p class="title">
+                <b>Table 5. Interlocked Arithmetic Type Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Interlocked Arithmetic Type Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment</span><span class="special">(</span>
+                <span class="identifier">iv</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_acquire</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_release</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement</span><span class="special">(</span>
+                <span class="identifier">iv</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_acquire</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_release</span><span class="special">(</span> <span class="identifier">iv</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+                <code class="computeroutput"><span class="identifier">iv</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+                <code class="computeroutput"><span class="identifier">iv</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+                <code class="computeroutput"><span class="identifier">iv</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">c1</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">c1</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">c1</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_basic_type.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_integer_type.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_basic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_basic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Basic Type</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="prev" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="next" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../interlocked_types.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_arithmetic_type.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.interlocked_types.interlocked_basic_type"></a><a href="interlocked_basic_type.html" title="Interlocked Basic Type">Interlocked
+        Basic Type</a></h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          An <code class="literal">Interlocked Basic Type</code> is a type whose instances
+          support thread-safe <code class="computeroutput"><span class="identifier">load</span></code>
+          and <code class="computeroutput"><span class="identifier">store</span></code> operations and
+          which are often used in the implementation of lock-free code. In the current
+          version of Boost.Act, only built-in types may be <code class="literal">Interlocked Basic
+          Types</code>, although this will likely change in future releases.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">Interlocked Type</code>,
+          given the variable definitions below, the following expressions must be
+          well-formed and have the indicated effects.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Interlocked Type Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">I</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            An <code class="literal">Interlocked Type</code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">IV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd><code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C2</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">iv</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c2</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">C2</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.interlocked_types.interlocked_basic_type.expression_requirements"></a>
+            <h6><a id="id492952"></a>
+          <a href="interlocked_basic_type.html#boost_act.concepts.interlocked_types.interlocked_basic_type.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div xmlns="" class="note">
+              <div class="admonition-graphic">
+                <img alt="[Note]" src="../../../../../doc/html/images/note.png" />
+              </div>
+              <div class="admonition-body">
+                <div class="admonition-title">Note</div>
+                <div class="admonition-content">
+                  <p xmlns="http://www.w3.org/1999/xhtml">
+            </p>
+                  <p>
+              In the following requirements, certain operations are listed as having
+              <span class="emphasis"><em>acquire</em></span> memory semantics, <span class="emphasis"><em>release</em></span>
+              memory semantics, or both. Operations with <span class="emphasis"><em>acquire</em></span>
+              memory semantics imply that the memory operation being performed by
+              the current thread will be visible before any other memory operations
+              are attempted. Operations with <span class="emphasis"><em>release</em></span> memory
+              semantics imply that the memory operation being performed by the current
+              thread will be visible after all other memory operations have been
+              completed. For brevity, functions and templates are listed without
+              qualification although they actually exist in in the namespace <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>.
+            </p>
+                  <p xmlns="http://www.w3.org/1999/xhtml">
+          </p>
+                </div>
+              </div>
+            </div>
+            <div class="table">
+              <a id="id493046"></a>
+              <p class="title">
+                <b>Table 4. Interlocked Type Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Interlocked Type Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">I</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+                with an unspecified initial value. <span class="emphasis"><em>Note: This is not an
+                interlocked operation and does not imply a memory barrier of any
+                kind. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">I</span> <span class="identifier">i</span>
+                <span class="special">=</span> <span class="identifier">c1</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+                with <code class="computeroutput"><span class="identifier">c1</span></code> as an initial
+                value. <span class="emphasis"><em>Note: This is not an interlocked operation and does
+                not imply a memory barrier of any kind. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">iv</span> <span class="special">=</span>
+                <span class="identifier">c1</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">I</span><span class="special">&</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">i</span></code>. Returns
+                a reference to <code class="computeroutput"><span class="identifier">iv</span></code>.
+                <span class="emphasis"><em>Note: This is not an interlocked operation and does not
+                imply a memory barrier of any kind. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+                <span class="identifier">unordered</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                no ordering guarantees.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+                <span class="identifier">release</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+                <span class="identifier">default_</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+                <span class="identifier">unordered</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                no ordering guarantees.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+                <span class="identifier">acquire</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+                to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+                <span class="identifier">default_</span> <span class="special">>(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">void</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+                <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../interlocked_types.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_arithmetic_type.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_integer_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/interlocked_types/interlocked_integer_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,605 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Integer Type</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="prev" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type" />
+    <link rel="next" href="../queue_concepts.html" title="Queue Concepts" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_arithmetic_type.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="../queue_concepts.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.interlocked_types.interlocked_integer_type"></a><a href="interlocked_integer_type.html" title="Interlocked Integer Type">Interlocked
+        Integer Type</a></h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          An <code class="literal">Interlocked Integer Type</code> is an <a href="interlocked_basic_type.html" title="Interlocked Basic Type">
+          <code class="literal">Interlocked Arithmetic Type</code></a> which supports common
+          integer operations.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">Interlocked Integer Type</code>,
+          given the variable definitions below, the following expressions must be
+          well-formed and have the indicated effects, in addition to those requirements
+          of <a href="interlocked_basic_type.html" title="Interlocked Basic Type">
+          <code class="literal">Interlocked Arithmetic Type</code></a>. <code class="literal">Interlocked
+          Integer Types</code> also support all operations specified in the C++
+          standard for integer types. Such operations do not imply memory barriers
+          of any kind.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Interlocked Arithmetic Type Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">I</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            An <code class="literal">Interlocked Integral Type</code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">IV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd><code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">iv</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">S</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            An integral or <code class="literal">Interlocked Integer Type</code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">s</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A value of type <code class="computeroutput"><span class="identifier">S</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.interlocked_types.interlocked_integer_type.expression_requirements"></a>
+            <h6><a id="id497440"></a>
+          <a href="interlocked_integer_type.html#boost_act.concepts.interlocked_types.interlocked_integer_type.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div class="table">
+              <a id="id497458"></a>
+              <p class="title">
+                <b>Table 6. Interlocked Arithmetic Type Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Interlocked Arithmetic Type Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">mod_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">mod_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">mod_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">and_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">and_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">and_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">or_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">or_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">or_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">xor_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">c1</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory
+                barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">xor_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">xor_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span>
+                <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+                memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+                before the operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">lshift_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">lshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">lshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">rshift_assign</span><span class="special">(</span>
+                <span class="identifier">iv</span><span class="special">,</span>
+                <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of
+                <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+                is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">rshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">rshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+                <code class="computeroutput"><span class="identifier">s</span></code> and stores the
+                result in <code class="computeroutput"><span class="identifier">iv</span></code> with
+                <span class="emphasis"><em>release</em></span> memory semantics. Returns the value
+                of <code class="computeroutput"><span class="identifier">iv</span></code> before the
+                operation is performed.
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_arithmetic_type.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="../queue_concepts.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Queue Concepts</title>
+    <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../index.html" title="Boost.Act" />
+    <link rel="up" href="../concepts.html" title="Concepts" />
+    <link rel="prev" href="interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type" />
+    <link rel="next" href="queue_concepts/pc_queue.html" title="PC Queue" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_types/interlocked_integer_type.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../concepts.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="queue_concepts/pc_queue.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h3 class="title"><a id="boost_act.concepts.queue_concepts"></a>Queue Concepts</h3>
+                </div>
+              </div>
+            </div>
+            <div class="toc">
+              <dl>
+                <dt>
+                  <span class="section">
+                    PC Queue
+                  </span>
+                </dt>
+                <dt>
+                  <span class="section">
+                    <a href="queue_concepts/queue_policy.html">Queue
+        Policy</a>
+                  </span>
+                </dt>
+              </dl>
+            </div>
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_types/interlocked_integer_type.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../concepts.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="queue_concepts/pc_queue.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/pc_queue.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/pc_queue.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,495 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>PC Queue</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../queue_concepts.html" title="Queue Concepts" />
+    <link rel="prev" href="../queue_concepts.html" title="Queue Concepts" />
+    <link rel="next" href="queue_policy.html" title="Queue Policy" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../queue_concepts.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../queue_concepts.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="queue_policy.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.queue_concepts.pc_queue"></a>PC Queue</h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          A <code class="literal">PC Queue</code> is a type whose instances represent a queue
+          upon which data may be pushed on and popped off in FIFO order.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">PC Queue</code>, given the
+          variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>PC Queue Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">Q</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A <code class="literal">PC Queue</code> type.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">q</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">q</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">V</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            The type <code class="computeroutput"><span class="identifier">Q</span><span class="special">::</span><span class="identifier">value_type</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">v</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">V</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">OV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">V</span><span class="special">></span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">F</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            An in_place_factory type.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">f</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A value of type <code class="computeroutput"><span class="identifier">F</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.queue_concepts.pc_queue.expression_requirements"></a>
+            <h6><a id="id500490"></a>
+          <a href="pc_queue.html#boost_act.concepts.queue_concepts.pc_queue.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div class="table">
+              <a id="id500508"></a>
+              <p class="title">
+                <b>Table 7. PC Queue Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="PC Queue Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">Q</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Creates an instance. A destructor is assumed.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">Q</span><span class="special">::</span><span class="identifier">value_type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                The type of data which is stored in the queue.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">Q</span><span class="special">::</span><span class="identifier">size_type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                The return type of a call to to <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Returns the number of elements currently in <code class="computeroutput"><span class="identifier">q</span></code>.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Returns <code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span>
+                <span class="special">==</span> <span class="number">0</span></code>;
+                <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">full</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Returns <code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="identifier">q</span></code> has reached its maximum capacity;
+                <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">push</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                (not used)
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pushes a default constructed <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. If the queue is full then behavior is undefined.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                (not used)
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pushes the value <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. If the queue is full then behavior is undefined.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">push</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                (not used)
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pushes a value into the queue with constructor arguments specified
+                by <code class="computeroutput"><span class="identifier">f</span></code>. If the queue
+                is full then behavior is undefined.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_push</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pushes a default constructed <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                if the push was successful; <code class="computeroutput"><span class="keyword">false</span></code>
+                otherwise. <span class="emphasis"><em>Note: Push may return <code class="computeroutput"><span class="keyword">false</span></code>
+                if the queue is at maximum capacity. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_push</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pushes the value <code class="computeroutput"><span class="identifier">v</span></code>
+                into the queue. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                if the push was successful; <code class="computeroutput"><span class="keyword">false</span></code>
+                otherwise. <span class="emphasis"><em>Note: Push may return <code class="computeroutput"><span class="keyword">false</span></code>
+                if the queue is at maximum capacity. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_push</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pushes a value into the queue with constructor arguments specified
+                by <code class="computeroutput"><span class="identifier">f</span></code>. Returns <code class="computeroutput"><span class="keyword">true</span></code> if the push was successful;
+                <code class="computeroutput"><span class="keyword">false</span></code> otherwise. <span class="emphasis"><em>Note:
+                Push may return <code class="computeroutput"><span class="keyword">false</span></code>
+                if the queue is at maximum capacity. --end note</em></span>
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">pop</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                (not used)
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pops a value from the queue. If the queue is empty then behavior
+                is undefined.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">checked_pop</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="keyword">bool</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pops a value from the queue. Returns <code class="computeroutput"><span class="keyword">true</span></code>
+                if the queue was not empty; <code class="computeroutput"><span class="keyword">false</span></code>
+                otherwise.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">value_pop</span><span class="special">()</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">OV</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+                Pops a value from the queue. Returns the popped value if the queue
+                was not empty, otherwise a default-constructed <code class="computeroutput"><span class="identifier">OV</span></code>
+                is returned.
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../queue_concepts.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../queue_concepts.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="queue_policy.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/queue_policy.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/concepts/queue_concepts/queue_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Queue Policy</title>
+    <link xmlns="" rel="stylesheet" href="../../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../../index.html" title="Boost.Act" />
+    <link rel="up" href="../queue_concepts.html" title="Queue Concepts" />
+    <link rel="prev" href="pc_queue.html" title="PC Queue" />
+    <link rel="next" href="../../interlocked_integer.html" title="Interlocked Integer" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="pc_queue.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../queue_concepts.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="../../interlocked_integer.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h4 class="title"><a id="boost_act.concepts.queue_concepts.queue_policy"></a><a href="queue_policy.html" title="Queue Policy">Queue
+        Policy</a></h4>
+                </div>
+              </div>
+            </div>
+            <p>
+          A <code class="literal">Queue Policy</code> is a type which is used as a handle to
+          related <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+          Queue</code></a> types. These <code class="literal">Queue Policys</code> generally
+          act as policies to higher-level templates which choose the appropriate
+          <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+          Queue</code></a> based on the knowledge of how the queue will be
+          used. In <code class="literal">Boost.Act</code>, such types are used as policies
+          to <a href="../consumer_concepts/consumer_policy.html" title="Consumer Policy">
+          <code class="literal">Consumer Policy</code></a> templates.
+        </p>
+            <p>
+          In order to be considered a valid <code class="literal">Queue Policy</code>, given
+          the variable definitions below, the following expressions must be well-formed
+          and have the indicated effects.
+        </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Queue Policy Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">A</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A <code class="literal">Queue Policy</code> type.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">a</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">A</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">T</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            The type of objects to be processed.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">t</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">tc</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">P</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            A unary function object which may take <code class="computeroutput"><span class="identifier">t</span></code>
+            as an argument.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">p</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Value of type <code class="computeroutput"><span class="identifier">P</span> <span class="keyword">const</span><span class="special">&</span></code>.
+          </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.queue_concepts.queue_policy.expression_requirements"></a>
+            <h6><a id="id502147"></a>
+          <a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.expression_requirements">Expression
+          Requirements</a>
+        </h6>
+            <div class="table">
+              <a id="id502164"></a>
+              <p class="title">
+                <b>Table 8. Queue Policy Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Queue Policy Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+              <p>
+                Expression
+              </p>
+              </th>
+                      <th>
+              <p>
+                Return Type
+              </p>
+              </th>
+                      <th>
+              <p>
+                Pre/Post-Condition
+              </p>
+              </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">queue_policy</span><span class="special">::</span><span class="identifier">queue</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">V</span> <span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                A <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+                Queue</code></a> type which holds objects of type <code class="computeroutput"><span class="identifier">V</span></code> and whose instances may individually
+                be safely interfaced with by exactly one thread.
+              </p>
+              </td>
+                    </tr>
+                    <tr>
+                      <td>
+              <p>
+                <code class="computeroutput"><span class="identifier">queue_policy</span><span class="special">::</span><span class="identifier">safe_queue</span><span class="special"><</span>
+                <span class="identifier">A</span><span class="special">,</span>
+                <span class="identifier">V</span> <span class="special">...</span></code>
+                <em class="replaceable"><code>
+                  <a href="../../../">Unordered
+                  Parameters</a>
+                </code></em>
+                <code class="computeroutput"><span class="special">>::</span><span class="identifier">type</span></code>
+              </p>
+              </td>
+                      <td>
+              <p>
+              </p>
+              </td>
+                      <td>
+              <p>
+                A <a href="pc_queue.html" title="PC Queue"> <code class="literal">PC
+                Queue</code></a> type which holds objects of type <code class="computeroutput"><span class="identifier">V</span></code> and which has a user-specified
+                level of thread-safety (see link on left for details).
+              </p>
+              </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+            <a id="boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters"></a>
+            <h6><a id="id502468"></a>
+          <a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters">Queue
+          Policy PC Queue Unordered Parameters</a>
+        </h6>
+            <div class="variablelist">
+              <p class="title">
+                <b>--Pusher Parameter--</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">one_pusher</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Specifies that a single thread will be performing push operations on
+            the queue.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">many_pushers</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Specifies that multiple threads may be performing push operations on
+            the queue.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <span class="emphasis">
+                      <em>default value</em>
+                    </span>
+                  </span>
+                </dt>
+                <dd>
+                  <code class="computeroutput">
+                    <span class="identifier">many_pushers</span>
+                  </code>
+                </dd>
+              </dl>
+            </div>
+            <div class="variablelist">
+              <p class="title">
+                <b>--Popper Parameter--</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">one_popper</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Specifies that a single thread will be performing pop operations on the
+            queue.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">many_poppers</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+            Specifies that multiple threads may be performing pop operations on the
+            queue.
+          </dd>
+                <dt>
+                  <span class="term">
+                    <span class="emphasis">
+                      <em>default value</em>
+                    </span>
+                  </span>
+                </dt>
+                <dd>
+                  <code class="computeroutput">
+                    <span class="identifier">many_poppers</span>
+                  </code>
+                </dd>
+              </dl>
+            </div>
+            <a id="boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples"></a>
+            <h6><a id="id502643"></a>
+          <a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples">Queue
+          Policy PC Queue Type Selection Examples</a>
+        </h6>
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="pc_queue.html">
+        <img src="../../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../queue_concepts.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="../../interlocked_integer.html">
+        <img src="../../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/consumer_concepts/consumer_policy.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/consumer_concepts/consumer_policy.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/consumer_concepts/consumer_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -9,7 +9,7 @@
     <link rel="start" href="../../index.html" title="Boost.Act" />
     <link rel="up" href="../consumer_concepts.html" title="Consumer Concepts" />
     <link rel="prev" href="consumer.html" title="Consumer" />
-    <link rel="next" href="../interlocked_concepts.html" title="Interlocked Concepts" />
+    <link rel="next" href="../interlocked_types.html" title="Interlocked Types" />
   </head>
   <body>
     <div id="heading">
@@ -27,7 +27,7 @@
       <a accesskey="h" href="../../index.html">
         <img src="../../../../doc/html/images/home.png" alt="Home" />
       </a>
-      <a accesskey="n" href="../interlocked_concepts.html">
+      <a accesskey="n" href="../interlocked_types.html">
         <img src="../../../../doc/html/images/next.png" alt="Next" />
       </a>
     </div>
@@ -236,7 +236,7 @@
       <a accesskey="h" href="../../index.html">
         <img src="../../../../doc/html/images/home.png" alt="Home" />
       </a>
-      <a accesskey="n" href="../interlocked_concepts.html">
+      <a accesskey="n" href="../interlocked_types.html">
         <img src="../../../../doc/html/images/next.png" alt="Next" />
       </a>
     </div>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -8,7 +8,7 @@
     <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
     <link rel="start" href="../index.html" title="Boost.Act" />
     <link rel="up" href="../index.html" title="Boost.Act" />
-    <link rel="prev" href="queue_concepts/queue_policy.html" title="Queue Policy" />
+    <link rel="prev" href="concepts/queue_concepts/queue_policy.html" title="Queue Policy" />
     <link rel="next" href="interlocked_integer/integer_typedefs.html" title="Integer Typedefs" />
   </head>
   <body>
@@ -18,7 +18,7 @@
       <div class="heading_search_box"></div>
     </div>
     <div class="spirit-nav">
-      <a accesskey="p" href="queue_concepts/queue_policy.html">
+      <a accesskey="p" href="concepts/queue_concepts/queue_policy.html">
         <img src="../../../doc/html/images/prev.png" alt="Prev" />
       </a>
       <a accesskey="u" href="../index.html">
@@ -53,7 +53,7 @@
               </dl>
             </div>
             <a id="boost_act.interlocked_integer.header"></a>
-            <h4><a id="id502529"></a>
+            <h4><a id="id502694"></a>
       <a href="interlocked_integer.html#boost_act.interlocked_integer.header">Header</a>
     </h4>
             <pre class="programlisting">
@@ -65,15 +65,15 @@
 <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">selection</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
             <a id="boost_act.interlocked_integer.description"></a>
-            <h4><a id="id502781"></a>
+            <h4><a id="id502946"></a>
       <a href="interlocked_integer.html#boost_act.interlocked_integer.description">Description</a>
     </h4>
             <p>
       <code class="literal">Boost.Act</code> exposes several methods for retrieving types which
-      are models of <a href="interlocked_concepts/interlocked_type.html" title="Interlocked Type">
-      <code class="literal">Interlocked Type</code></a> including common typedefs and template
-      metafunctions similar to those found in <code class="literal">Boost.Integer</code>. The
-      following types and typedefs are all found in the <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>
+      are models of <a href="concepts/interlocked_types.html" title="Interlocked Types"> <code class="literal">Interlocked
+      Type</code></a> including common typedefs and template metafunctions
+      similar to those found in <code class="literal">Boost.Integer</code>. The following types
+      and typedefs are all found in the <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>
       namespace.
     </p>
           </div>
@@ -82,7 +82,7 @@
       </div>
     </div>
     <div class="spirit-nav">
-      <a accesskey="p" href="queue_concepts/queue_policy.html">
+      <a accesskey="p" href="concepts/queue_concepts/queue_policy.html">
         <img src="../../../doc/html/images/prev.png" alt="Prev" />
       </a>
       <a accesskey="u" href="../index.html">
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer/integer_typedefs.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer/integer_typedefs.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_integer/integer_typedefs.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -44,22 +44,22 @@
               </div>
             </div>
             <a id="boost_act.interlocked_integer.integer_typedefs.header"></a>
-            <h5><a id="id502896"></a>
+            <h5><a id="id503061"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.header">Header</a>
       </h5>
             <pre class="programlisting">
 <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 </pre>
             <a id="boost_act.interlocked_integer.integer_typedefs.exact_width_integer_types"></a>
-            <h5><a id="id503004"></a>
+            <h5><a id="id503170"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.exact_width_integer_types">Exact-Width
         Integer Types</a>
       </h5>
             <p>
-        The typedef int#_t, with # replaced by the width, designates a signed <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type"> <code class="literal">Interlocked
-        Integer Type</code></a> of exactly # bits; int8_t denotes an 8-bit
-        signed integer type. Similarly, the typedef uint#_t designates and unsigned
-        integer type of exactly # bits.
+        The typedef int#_t, with # replaced by the width, designates a signed <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
+        <code class="literal">Interlocked Integer Type</code></a> of exactly # bits; int8_t
+        denotes an 8-bit signed integer type. Similarly, the typedef uint#_t designates
+        and unsigned integer type of exactly # bits.
       </p>
             <p>
         These types are optional. However, if an implementation provides integer
@@ -71,13 +71,13 @@
         to built-in integer types. ]
       </p>
             <a id="boost_act.interlocked_integer.integer_typedefs.minimum_width_integer_types"></a>
-            <h5><a id="id503064"></a>
+            <h5><a id="id503229"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.minimum_width_integer_types">Minimum-Width
         Integer Types</a>
       </h5>
             <p>
         The typedef int_least#_t, with # replaced by the width, designates a signed
-        <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a> type with a width of at
         least # bits, such that no signed integer type with lesser size has at least
         the specified width. Thus, int_least32_t denotes a signed integer type with
@@ -114,13 +114,13 @@
         All other minimum-width integer types are optional.
       </p>
             <a id="boost_act.interlocked_integer.integer_typedefs.fastest_minimum_width_integer_types"></a>
-            <h5><a id="id503160"></a>
+            <h5><a id="id503323"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.fastest_minimum_width_integer_types">Fastest
         Minimum-Width Integer Types</a>
       </h5>
             <p>
         The typedef int_fast#_t, with # replaced by the width, designates the fastest
-        signed <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        signed <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a> type with a width of at
         least # bits. Similarly, the typedef name uint_fast#_t designates the fastest
         unsigned integer type with a width of at least # bits.
@@ -158,7 +158,7 @@
         All other fastest minimum-width integer types are optional.
       </p>
             <a id="boost_act.interlocked_integer.integer_typedefs.greatest_width_integer_types"></a>
-            <h5><a id="id503260"></a>
+            <h5><a id="id503422"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.greatest_width_integer_types">Greatest-Width
         Integer Types</a>
       </h5>
@@ -167,16 +167,16 @@
         any value of any signed integer type.
       </p>
             <p>
-        The typedef uintmax_t designates an unsigned <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        The typedef uintmax_t designates an unsigned <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a> capable of representing
-        any value of any unsigned <a href="../interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type">
+        any value of any unsigned <a href="../concepts/interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type">
         <code class="literal">Interlocked Integer Type</code></a>.
       </p>
             <p>
         These types are required.
       </p>
             <a id="boost_act.interlocked_integer.integer_typedefs.miscellaneous_integer_types"></a>
-            <h5><a id="id503334"></a>
+            <h5><a id="id503497"></a>
         <a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.miscellaneous_integer_types">Miscellaneous
         Integer Types</a>
       </h5>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Types</title>
+    <link xmlns="" rel="stylesheet" href="../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../index.html" title="Boost.Act" />
+    <link rel="up" href="../index.html" title="Boost.Act" />
+    <link rel="prev" href="consumer_concepts/consumer_policy.html" title="Consumer Policy" />
+    <link rel="next" href="interlocked_types/interlocked_basic_type.html" title="Interlocked Basic Type" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="consumer_concepts/consumer_policy.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="interlocked_types/interlocked_basic_type.html">
+        <img src="../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h2 class="title" style="clear: both"><a id="boost_act.interlocked_types"></a>Interlocked Types</h2>
+                </div>
+              </div>
+            </div>
+            <div class="toc">
+              <dl>
+                <dt>
+                  <span class="section">
+                    <a href="interlocked_types/interlocked_basic_type.html">Interlocked
+      Basic Type</a>
+                  </span>
+                </dt>
+                <dt>
+                  <span class="section">
+                    <a href="interlocked_types/interlocked_arithmetic_type.html">Interlocked
+      Arithmetic Type</a>
+                  </span>
+                </dt>
+                <dt>
+                  <span class="section">
+                    <a href="interlocked_types/interlocked_integer_type.html">Interlocked
+      Integer Type</a>
+                  </span>
+                </dt>
+              </dl>
+            </div>
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="consumer_concepts/consumer_policy.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="interlocked_types/interlocked_basic_type.html">
+        <img src="../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_arithmetic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_arithmetic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,567 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Arithmetic Type</title>
+    <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../index.html" title="Boost.Act" />
+    <link rel="up" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="prev" href="interlocked_basic_type.html" title="Interlocked Basic Type" />
+    <link rel="next" href="interlocked_integer_type.html" title="Interlocked Integer Type" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_basic_type.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_integer_type.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h3 class="title"><a id="boost_act.interlocked_types.interlocked_arithmetic_type"></a><a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">Interlocked
+      Arithmetic Type</a></h3>
+                </div>
+              </div>
+            </div>
+            <p>
+        An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="../../">
+        <code class="literal">Interlocked Type</code></a> which supports common arithmetic
+        operations.
+      </p>
+            <p>
+        In order to be considered a valid <code class="literal">Interlocked Arithmetic Type</code>,
+        given the variable definitions below, the following expressions must be well-formed
+        and have the indicated effects, in addition to those requirements of <a href="../../"> <code class="literal">Interlocked
+        Type</code></a>. <code class="literal">Interlocked Arithmetic Types</code> also
+        support all operations specified in the C++ standard for arithmetic types.
+        Such operations do not imply memory barriers of any kind.
+      </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Interlocked Arithmetic Type Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">I</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          An <code class="literal">Interlocked Arithmetic Type</code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">IV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd><code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">iv</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+              </dl>
+            </div>
+            <a id="boost_act.interlocked_types.interlocked_arithmetic_type.expression_requirements"></a>
+            <h5><a id="id494531"></a>
+        <a href="interlocked_arithmetic_type.html#boost_act.interlocked_types.interlocked_arithmetic_type.expression_requirements">Expression
+        Requirements</a>
+      </h5>
+            <div class="table">
+              <a id="id494550"></a>
+              <p class="title">
+                <b>Table 5. Interlocked Arithmetic Type Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Interlocked Arithmetic Type Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+            <p>
+              Expression
+            </p>
+            </th>
+                      <th>
+            <p>
+              Return Type
+            </p>
+            </th>
+                      <th>
+            <p>
+              Pre/Post-Condition
+            </p>
+            </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+              a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code> before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_acquire</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_release</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">increment_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Increments <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>release</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+              a <span class="emphasis"><em>full memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code> before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_acquire</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>acquire</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_release</span><span class="special">(</span>
+              <span class="identifier">iv</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">decrement_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Decrements <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>release</em></span> memory semantics. Returns the value of
+              <code class="computeroutput"><span class="identifier">iv</span></code> before the operation
+              is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">add_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Adds <code class="computeroutput"><span class="identifier">c1</span></code> to <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+              <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full
+              memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+              <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">subtract_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Subtracts <code class="computeroutput"><span class="identifier">c1</span></code> from
+              <code class="computeroutput"><span class="identifier">iv</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">multiply_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Multiplies <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">divide_assign_result</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Divides <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_basic_type.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_integer_type.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_basic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_basic_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Basic Type</title>
+    <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../index.html" title="Boost.Act" />
+    <link rel="up" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="prev" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="next" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../interlocked_types.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_arithmetic_type.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h3 class="title"><a id="boost_act.interlocked_types.interlocked_basic_type"></a><a href="interlocked_basic_type.html" title="Interlocked Basic Type">Interlocked
+      Basic Type</a></h3>
+                </div>
+              </div>
+            </div>
+            <p>
+        An <code class="literal">Interlocked Basic Type</code> is a type whose instances support
+        thread-safe <code class="computeroutput"><span class="identifier">load</span></code> and <code class="computeroutput"><span class="identifier">store</span></code> operations and which are often used
+        in the implementation of lock-free code. In the current version of Boost.Act,
+        only built-in types may be <code class="literal">Interlocked Basic Types</code>, although
+        this will likely change in future releases.
+      </p>
+            <p>
+        In order to be considered a valid <code class="literal">Interlocked Type</code>, given
+        the variable definitions below, the following expressions must be well-formed
+        and have the indicated effects.
+      </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Interlocked Type Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">I</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          An <code class="literal">Interlocked Type</code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">IV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd><code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C2</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">iv</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c2</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">C2</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+              </dl>
+            </div>
+            <a id="boost_act.interlocked_types.interlocked_basic_type.expression_requirements"></a>
+            <h5><a id="id492914"></a>
+        <a href="interlocked_basic_type.html#boost_act.interlocked_types.interlocked_basic_type.expression_requirements">Expression
+        Requirements</a>
+      </h5>
+            <div xmlns="" class="note">
+              <div class="admonition-graphic">
+                <img alt="[Note]" src="../../../../doc/html/images/note.png" />
+              </div>
+              <div class="admonition-body">
+                <div class="admonition-title">Note</div>
+                <div class="admonition-content">
+                  <p xmlns="http://www.w3.org/1999/xhtml">
+          </p>
+                  <p>
+            In the following requirements, certain operations are listed as having
+            <span class="emphasis"><em>acquire</em></span> memory semantics, <span class="emphasis"><em>release</em></span>
+            memory semantics, or both. Operations with <span class="emphasis"><em>acquire</em></span>
+            memory semantics imply that the memory operation being performed by the
+            current thread will be visible before any other memory operations are
+            attempted. Operations with <span class="emphasis"><em>release</em></span> memory semantics
+            imply that the memory operation being performed by the current thread
+            will be visible after all other memory operations have been completed.
+            For brevity, functions and templates are listed without qualification
+            although they actually exist in in the namespace <code class="computeroutput"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">act</span><span class="special">::</span><span class="identifier">interlocked</span></code>.
+          </p>
+                  <p xmlns="http://www.w3.org/1999/xhtml">
+        </p>
+                </div>
+              </div>
+            </div>
+            <div class="table">
+              <a id="id493007"></a>
+              <p class="title">
+                <b>Table 4. Interlocked Type Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Interlocked Type Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+            <p>
+              Expression
+            </p>
+            </th>
+                      <th>
+            <p>
+              Return Type
+            </p>
+            </th>
+                      <th>
+            <p>
+              Pre/Post-Condition
+            </p>
+            </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">I</span><span class="special">()</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+              with an unspecified initial value. <span class="emphasis"><em>Note: This is not an interlocked
+              operation and does not imply a memory barrier of any kind. --end note</em></span>
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">I</span> <span class="identifier">i</span>
+              <span class="special">=</span> <span class="identifier">c1</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Constructs an instance of <code class="computeroutput"><span class="identifier">I</span></code>
+              with <code class="computeroutput"><span class="identifier">c1</span></code> as an initial
+              value. <span class="emphasis"><em>Note: This is not an interlocked operation and does
+              not imply a memory barrier of any kind. --end note</em></span>
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">iv</span> <span class="special">=</span>
+              <span class="identifier">c1</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">I</span><span class="special">&</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">i</span></code>. Returns
+              a reference to <code class="computeroutput"><span class="identifier">iv</span></code>.
+              <span class="emphasis"><em>Note: This is not an interlocked operation and does not imply
+              a memory barrier of any kind. --end note</em></span>
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+              <span class="identifier">unordered</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with no
+              ordering guarantees.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+              <span class="identifier">release</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>release</em></span> memory semantics.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span>
+              <span class="identifier">default_</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">store</span><span class="special"><</span> <span class="identifier">release</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+              <span class="identifier">unordered</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with no
+              ordering guarantees.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+              <span class="identifier">acquire</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Stores the value of <code class="computeroutput"><span class="identifier">c1</span></code>
+              to object <code class="computeroutput"><span class="identifier">iv</span></code> with
+              <span class="emphasis"><em>acquire</em></span> memory semantics.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span>
+              <span class="identifier">default_</span> <span class="special">>(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="keyword">void</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Effectively calls <code class="computeroutput"><span class="identifier">load</span><span class="special"><</span> <span class="identifier">acquire</span>
+              <span class="special">>(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">cl</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="../interlocked_types.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="interlocked_arithmetic_type.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_integer_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/interlocked_types/interlocked_integer_type.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head xmlns="http://www.w3.org/1999/xhtml">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Interlocked Integer Type</title>
+    <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+    <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+    <link rel="start" href="../../index.html" title="Boost.Act" />
+    <link rel="up" href="../interlocked_types.html" title="Interlocked Types" />
+    <link rel="prev" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type" />
+    <link rel="next" href="../queue_concepts.html" title="Queue Concepts" />
+  </head>
+  <body>
+    <div id="heading">
+      <div id="heading-placard"></div>
+      <div class="heading_navigation_box"></div>
+      <div class="heading_search_box"></div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_arithmetic_type.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="../queue_concepts.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div id="body">
+      <div id="body-inner">
+        <div id="content">
+          <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+            <div class="titlepage">
+              <div>
+                <div>
+                  <h3 class="title"><a id="boost_act.interlocked_types.interlocked_integer_type"></a><a href="interlocked_integer_type.html" title="Interlocked Integer Type">Interlocked
+      Integer Type</a></h3>
+                </div>
+              </div>
+            </div>
+            <p>
+        An <code class="literal">Interlocked Integer Type</code> is an <a href="../../">
+        <code class="literal">Interlocked Arithmetic Type</code></a> which supports common
+        integer operations.
+      </p>
+            <p>
+        In order to be considered a valid <code class="literal">Interlocked Integer Type</code>,
+        given the variable definitions below, the following expressions must be well-formed
+        and have the indicated effects, in addition to those requirements of <a href="../../"> <code class="literal">Interlocked
+        Arithmetic Type</code></a>. <code class="literal">Interlocked Integer Types</code>
+        also support all operations specified in the C++ standard for integer types.
+        Such operations do not imply memory barriers of any kind.
+      </p>
+            <div class="variablelist">
+              <p class="title">
+                <b>Interlocked Arithmetic Type Descriptive Variable Definitions</b>
+              </p>
+              <dl>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">I</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          An <code class="literal">Interlocked Integral Type</code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">IV</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd><code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">C1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          A type which is convertible to <code class="computeroutput"><span class="identifier">IV</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">iv</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">I</span> <span class="keyword">volatile</span><span class="special">&</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">c1</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          Value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">S</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          An integral or <code class="literal">Interlocked Integer Type</code>.
+        </dd>
+                <dt>
+                  <span class="term">
+                    <code class="computeroutput">
+                      <span class="identifier">s</span>
+                    </code>
+                  </span>
+                </dt>
+                <dd>
+          A value of type <code class="computeroutput"><span class="identifier">S</span> <span class="keyword">const</span><span class="special">&</span></code>.
+        </dd>
+              </dl>
+            </div>
+            <a id="boost_act.interlocked_types.interlocked_integer_type.expression_requirements"></a>
+            <h5><a id="id497396"></a>
+        <a href="interlocked_integer_type.html#boost_act.interlocked_types.interlocked_integer_type.expression_requirements">Expression
+        Requirements</a>
+      </h5>
+            <div class="table">
+              <a id="id497415"></a>
+              <p class="title">
+                <b>Table 6. Interlocked Arithmetic Type Requirements</b>
+              </p>
+              <div class="table-contents">
+                <table xmlns="" class="table" summary="Interlocked Arithmetic Type Requirements">
+                  <colgroup>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                    <col xmlns="http://www.w3.org/1999/xhtml"></col>
+                  </colgroup>
+                  <thead xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <th>
+            <p>
+              Expression
+            </p>
+            </th>
+                      <th>
+            <p>
+              Return Type
+            </p>
+            </th>
+                      <th>
+            <p>
+              Pre/Post-Condition
+            </p>
+            </th>
+                    </tr>
+                  </thead>
+                  <tbody xmlns="http://www.w3.org/1999/xhtml">
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">mod_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">mod_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">mod_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Mods <code class="computeroutput"><span class="identifier">iv</span></code> by <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">and_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">and_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">and_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Ands <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">or_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">or_assign_acquire</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">or_assign_release</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Ors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">xor_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full memory barrier</em></span>.
+              Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">xor_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">xor_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">c1</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Xors <code class="computeroutput"><span class="identifier">iv</span></code> with <code class="computeroutput"><span class="identifier">c1</span></code> and stores the result in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">lshift_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full
+              memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">lshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">lshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Left shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">rshift_assign</span><span class="special">(</span>
+              <span class="identifier">iv</span><span class="special">,</span>
+              <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with a <span class="emphasis"><em>full
+              memory barrier</em></span>. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">rshift_assign_acquire</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>acquire</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                    <tr>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">rshift_assign_release</span><span class="special">(</span> <span class="identifier">iv</span><span class="special">,</span> <span class="identifier">s</span> <span class="special">)</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              <code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+            </p>
+            </td>
+                      <td>
+            <p>
+              Right shifts <code class="computeroutput"><span class="identifier">iv</span></code> by
+              <code class="computeroutput"><span class="identifier">s</span></code> and stores the result
+              in <code class="computeroutput"><span class="identifier">iv</span></code> with <span class="emphasis"><em>release</em></span>
+              memory semantics. Returns the value of <code class="computeroutput"><span class="identifier">iv</span></code>
+              before the operation is performed.
+            </p>
+            </td>
+                    </tr>
+                  </tbody>
+                </table>
+              </div>
+            </div>
+            <br class="table-break" />
+          </div>
+        </div>
+        <div class="clear"></div>
+      </div>
+    </div>
+    <div class="spirit-nav">
+      <a accesskey="p" href="interlocked_arithmetic_type.html">
+        <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+      </a>
+      <a accesskey="u" href="../interlocked_types.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="../queue_concepts.html">
+        <img src="../../../../doc/html/images/next.png" alt="Next" />
+      </a>
+    </div>
+    <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
+      <div id="footer-left">
+        <div id="copyright">
+          <p>Copyright © 2006 , 2007 Matthew Calabrese</p>
+        </div>
+        <div id="license">
+          <p>Distributed under the
+                  Boost Software License, Version 1.0.
+               </p>
+        </div>
+      </div>
+      <div id="footer-right">
+        <div id="banners">
+          <p id="banner-xhtml">
+            XHTML 1.0
+          </p>
+          <p id="banner-css">
+            CSS
+          </p>
+          <p id="banner-sourceforge">
+            SourceForge
+          </p>
+        </div>
+      </div>
+      <div class="clear"></div>
+    </div>
+  </body>
+</html>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -8,7 +8,7 @@
     <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
     <link rel="start" href="../index.html" title="Boost.Act" />
     <link rel="up" href="../index.html" title="Boost.Act" />
-    <link rel="prev" href="interlocked_concepts/interlocked_integer_type.html" title="Interlocked Integer Type" />
+    <link rel="prev" href="interlocked_types/interlocked_integer_type.html" title="Interlocked Integer Type" />
     <link rel="next" href="queue_concepts/pc_queue.html" title="PC Queue" />
   </head>
   <body>
@@ -18,7 +18,7 @@
       <div class="heading_search_box"></div>
     </div>
     <div class="spirit-nav">
-      <a accesskey="p" href="interlocked_concepts/interlocked_integer_type.html">
+      <a accesskey="p" href="interlocked_types/interlocked_integer_type.html">
         <img src="../../../doc/html/images/prev.png" alt="Prev" />
       </a>
       <a accesskey="u" href="../index.html">
@@ -62,7 +62,7 @@
       </div>
     </div>
     <div class="spirit-nav">
-      <a accesskey="p" href="interlocked_concepts/interlocked_integer_type.html">
+      <a accesskey="p" href="interlocked_types/interlocked_integer_type.html">
         <img src="../../../doc/html/images/prev.png" alt="Prev" />
       </a>
       <a accesskey="u" href="../index.html">
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/pc_queue.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/pc_queue.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/pc_queue.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -129,12 +129,12 @@
               </dl>
             </div>
             <a id="boost_act.queue_concepts.pc_queue.expression_requirements"></a>
-            <h5><a id="id500338"></a>
+            <h5><a id="id500436"></a>
         <a href="pc_queue.html#boost_act.queue_concepts.pc_queue.expression_requirements">Expression
         Requirements</a>
       </h5>
             <div class="table">
-              <a id="id500356"></a>
+              <a id="id500453"></a>
               <p class="title">
                 <b>Table 7. PC Queue Requirements</b>
               </p>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/queue_policy.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/queue_policy.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/boost_act/queue_concepts/queue_policy.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -136,12 +136,12 @@
               </dl>
             </div>
             <a id="boost_act.queue_concepts.queue_policy.expression_requirements"></a>
-            <h5><a id="id501991"></a>
+            <h5><a id="id502089"></a>
         <a href="queue_policy.html#boost_act.queue_concepts.queue_policy.expression_requirements">Expression
         Requirements</a>
       </h5>
             <div class="table">
-              <a id="id502009"></a>
+              <a id="id502106"></a>
               <p class="title">
                 <b>Table 8. Queue Policy Requirements</b>
               </p>
@@ -225,7 +225,7 @@
             </div>
             <br class="table-break" />
             <a id="boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters"></a>
-            <h5><a id="id502310"></a>
+            <h5><a id="id502409"></a>
         <a href="queue_policy.html#boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters">Queue
         Policy PC Queue Unordered Parameters</a>
       </h5>
@@ -312,7 +312,7 @@
               </dl>
             </div>
             <a id="boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples"></a>
-            <h5><a id="id502481"></a>
+            <h5><a id="id502580"></a>
         <a href="queue_policy.html#boost_act.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples">Queue
         Policy PC Queue Type Selection Examples</a>
       </h5>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/images/header-fg.png
==============================================================================
Binary files. No diff available.
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/index.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/index.html	(original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/xhtml/index.html	2007-06-29 15:23:00 EDT (Fri, 29 Jun 2007)
@@ -136,68 +136,78 @@
                 </dd>
                 <dt>
                   <span class="section">
-                    Consumer Concepts
+                    Concepts
                   </span>
                 </dt>
                 <dd>
                   <dl>
                     <dt>
                       <span class="section">
-                        Consumer
-                      </span>
-                    </dt>
-                    <dt>
-                      <span class="section">
-                        <a href="boost_act/consumer_concepts/consumer_policy.html">Consumer
-      Policy</a>
-                      </span>
-                    </dt>
-                  </dl>
-                </dd>
-                <dt>
-                  <span class="section">
-                    Interlocked Concepts
-                  </span>
-                </dt>
-                <dd>
-                  <dl>
-                    <dt>
-                      <span class="section">
-                        <a href="boost_act/interlocked_concepts/interlocked_type.html">Interlocked
-      Type</a>
-                      </span>
-                    </dt>
-                    <dt>
-                      <span class="section">
-                        <a href="boost_act/interlocked_concepts/interlocked_arithmetic_type.html">Interlocked
-      Arithmetic Type</a>
-                      </span>
-                    </dt>
-                    <dt>
-                      <span class="section">
-                        <a href="boost_act/interlocked_concepts/interlocked_integer_type.html">Interlocked
-      Integer Type</a>
-                      </span>
-                    </dt>
-                  </dl>
-                </dd>
-                <dt>
-                  <span class="section">
-                    Queue Concepts
-                  </span>
-                </dt>
-                <dd>
-                  <dl>
-                    <dt>
-                      <span class="section">
-                        PC Queue
-                      </span>
-                    </dt>
-                    <dt>
-                      <span class="section">
-                        Queue Policy
+                        Consumer Concepts
                       </span>
                     </dt>
+                    <dd>
+                      <dl>
+                        <dt>
+                          <span class="section">
+                            Consumer
+                          </span>
+                        </dt>
+                        <dt>
+                          <span class="section">
+                            <a href="boost_act/concepts/consumer_concepts/consumer_policy.html">Consumer
+        Policy</a>
+                          </span>
+                        </dt>
+                      </dl>
+                    </dd>
+                    <dt>
+                      <span class="section">
+                        Interlocked Types
+                      </span>
+                    </dt>
+                    <dd>
+                      <dl>
+                        <dt>
+                          <span class="section">
+                            <a href="boost_act/concepts/interlocked_types/interlocked_basic_type.html">Interlocked
+        Basic Type</a>
+                          </span>
+                        </dt>
+                        <dt>
+                          <span class="section">
+                            <a href="boost_act/concepts/interlocked_types/interlocked_arithmetic_type.html">Interlocked
+        Arithmetic Type</a>
+                          </span>
+                        </dt>
+                        <dt>
+                          <span class="section">
+                            <a href="boost_act/concepts/interlocked_types/interlocked_integer_type.html">Interlocked
+        Integer Type</a>
+                          </span>
+                        </dt>
+                      </dl>
+                    </dd>
+                    <dt>
+                      <span class="section">
+                        Queue Concepts
+                      </span>
+                    </dt>
+                    <dd>
+                      <dl>
+                        <dt>
+                          <span class="section">
+                            PC Queue
+                          </span>
+                        </dt>
+                        <dt>
+                          <span class="section">
+                            <a href="boost_act/concepts/queue_concepts/queue_policy.html">Queue
+        Policy</a>
+                          </span>
+                        </dt>
+                      </dl>
+                    </dd>
                   </dl>
                 </dd>
                 <dt>
@@ -250,7 +260,7 @@
     </div>
     <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="footer">
       <div id="footer-left">
-        <div id="revised">Revised: June 29, 2007 at 03:25:17 GMT</div>
+        <div id="revised">Revised: June 29, 2007 at 19:16:51 GMT</div>
         <div id="copyright"></div>
         <div id="license">
           <p>Distributed under the