Boost logo

Boost-Commit :

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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">A</span><span class="special">,</span>
+ <span class="identifier">constraint</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">processor</span><span class="special">&lt;</span><span class="identifier">P</span><span class="special">&gt;</span>
+ <span class="special">&gt;::</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">&lt;</span>
+ <span class="identifier">A</span><span class="special">,</span>
+ <span class="identifier">constraint</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">processor</span><span class="special">&lt;</span><span class="identifier">P</span><span class="special">&gt;</span>
+ <span class="special">&gt;::</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">release</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">acquire</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">V</span><span class="special">&gt;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">A</span><span class="special">,</span>
+ <span class="identifier">V</span> <span class="special">&gt;::</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">&lt;</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">&gt;::</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">&lt;</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">&gt;</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">&lt;</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">&gt;</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">release</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">acquire</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">A</span><span class="special">,</span>
+ <span class="identifier">constraint</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">processor</span><span class="special">&lt;</span><span class="identifier">P</span><span class="special">&gt;</span>
+ <span class="special">&gt;::</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">&lt;</span>
+ <span class="identifier">A</span><span class="special">,</span>
+ <span class="identifier">constraint</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">processor</span><span class="special">&lt;</span><span class="identifier">P</span><span class="special">&gt;</span>
+ <span class="special">&gt;::</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">release</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">acquire</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">V</span><span class="special">&gt;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">A</span><span class="special">,</span>
+ <span class="identifier">V</span> <span class="special">&gt;::</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">&lt;</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">&gt;::</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">&lt;</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">&gt;</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">&lt;</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">&gt;</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">release</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">release</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">unordered</span> <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">acquire</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&lt;</span>
+ <span class="identifier">default_</span> <span class="special">&gt;(</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">&lt;</span> <span class="identifier">acquire</span>
+ <span class="special">&gt;(</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">&amp;</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">&amp;</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">&amp;</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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


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