|
Boost-Commit : |
From: matt_calabrese_at_[hidden]
Date: 2007-06-30 15:29:16
Author: matt_calabrese
Date: 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
New Revision: 7324
URL: http://svn.boost.org/trac/boost/changeset/7324
Log:
Updated documentation (mostly just changes to the documentation on interlocked operations).
Added:
sandbox/SOC/2006/concurrency/trunk/libs/act/example/
sandbox/SOC/2006/concurrency/trunk/libs/act/example/interlocked/
Binary files modified:
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/style/html/images/header/Thumbs.db
Text files modified:
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp | 3
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/act.qbk | 2
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_arithmetic_type.qbk | 67 ++++++++++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk | 57 +++++++++-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_integer_type.qbk | 66 +++++++++++-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/consumer.qbk | 1
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest | 2
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/beta_warning.html | 10
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/brief_description.html | 10
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup.html | 10
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer.html | 20 ---
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer_policy.html | 4
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_arithmetic_type.html | 202 +++++++++++++++++++++++++++------------
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_basic_type.html | 119 ++++++++++++++++++++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_integer_type.html | 139 ++++++++++++++++++++++++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_operation.html | 8
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/pc_queue.html | 4
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/queue_policy.html | 8
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer.html | 8
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked_integer/integer_typedefs.html | 16 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html | 45 +++++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html | 12 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/introduction.qbk | 27 +++-
23 files changed, 626 insertions(+), 214 deletions(-)
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/cas_support.hpp 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -108,7 +108,8 @@
#define BOOST_ACT_INTERLOCKED_DETAIL_SEMANTIC_ID_read 2
#define BOOST_ACT_INTERLOCKED_DETAIL_SEMANTIC_ID_release 3
#define BOOST_ACT_INTERLOCKED_DETAIL_SEMANTIC_ID_write 3
-#define BOOST_ACT_INTERLOCKED_DETAIL_SEMANTIC_ID_acq_rel 4
+#define BOOST_ACT_INTERLOCKED_DETAIL_SEMANTIC_ID_acq_rel 4
+#define BOOST_ACT_INTERLOCKED_DETAIL_SEMANTIC_ID_none 5
#define BOOST_ACT_INTERLOCKED_DETAIL_COMPARE( data, elem ) \
BOOST_PP_EQUAL \
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-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -36,8 +36,8 @@
[def __threaded_worker_policy__ [link boost_act.concepts.threaded_worker_policy [concept Threaded Worker Policy]]]
[def __threaded_worker__ [link boost_act.concepts.threaded_worker [concept Threaded Worker]]]
-[include brief_description.qbk]
[include beta_warning.qbk]
+[include brief_description.qbk]
[include introduction.qbk]
[include compiler_setup.qbk]
[include concepts.qbk]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_arithmetic_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_arithmetic_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_arithmetic_type.qbk 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,8 +1,22 @@
[section Interlocked Arithmetic Type]
+[heading Description]
+
An [concept Interlocked Arithmetic Type] is an __interlocked_basic_type__ which
supports common arithmetic operations.
+[variablelist Notation
+[[`I`] [An [concept Interlocked Arithmetic Type].] ]
+[[`i`] [A value of type `I`.] ]
+[[`C1`] [A type which is convertible to `remove_cv<I>::type&`.] ]
+[[`c1`] [A value of type `C1 const&`.] ]
+]
+
+[heading Refinement of]
+__interlocked_type__
+
+[heading Expression Requirements]
+
In order to be considered a valid [concept Interlocked Arithmetic Type], given
the variable definitions below, the following expressions must be well-formed
and have the indicated effects, in addition to those requirements of
@@ -21,23 +35,48 @@
`acq_rel` semantics.
]
-[variablelist Interlocked Arithmetic Type Descriptive Variable Definitions
-[[`I`] [An [concept Interlocked Arithmetic Type].] ]
-[[`i`] [A value of type `I`.] ]
-[[`C1`] [A type which is convertible to `remove_cv<I>::type&`.] ]
-[[`c1`] [A value of type `C1 const&`.] ]
-]
-
-[heading Expression Requirements]
-
[table Interlocked Arithmetic Type Requirements
-[[Expression] [Atomic Operation (Returns Old Value)] ]
-[[`increment( i )`] [`i++;`] ]
-[[`decrement( i )`] [`i--;`] ]
+[[Expression] [Operation (Returns Old Value)] ]
[[`add_assign( i, c1 )`] [`i += c1;`] ]
-[[`subtract_assign( i, c1 )`] [`i -= c1;`] ]
-[[`multiply_assign( i, c1 )`] [`i *= c1;`] ]
+[[`decrement( i )`] [`--i;`] ]
[[`divide_assign( i, c1 )`] [`i /= c1;`] ]
+[[`increment( i )`] [`++i;`] ]
+[[`multiply_assign( i, c1 )`] [`i *= c1;`] ]
+[[`subtract_assign( i, c1 )`] [`i -= c1;`] ]
]
+[heading Headers]
+
+``
+ // Brings in all interlocked operations.
+ #include <boost/act/interlocked.hpp>
+
+ // Only forward declarations.
+ #include <boost/act/interlocked_fwd.hpp>
+
+ // increment headers.
+ #include <boost/act/interlocked/increment.hpp>
+ #include <boost/act/interlocked/increment/increment.hpp>
+ #include <boost/act/interlocked/increment/increment_acquire.hpp>
+ #include <boost/act/interlocked/increment/increment_release.hpp>
+ #include <boost/act/interlocked/increment/increment_acq_rel.hpp>
+ #include <boost/act/interlocked/increment/increment_unordered.hpp>
+
+
+ // Forward declarations.
+ #include <boost/act/interlocked/increment_fwd.hpp>
+ #include <boost/act/interlocked/increment/increment_fwd.hpp>
+ /* etc. */
+
+
+ // decrement headers.
+ #include <boost/act/interlocked/decrement.hpp>
+ #include <boost/act/interlocked/decrement/decrement.hpp>
+ /* etc. */
+
+ ////////////////////////////////////////////////////////////////////////////
+ // Headers for the remaining operations follow the same pattern as above. //
+ ////////////////////////////////////////////////////////////////////////////
+``
+
[endsect]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_basic_type.qbk 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,30 +1,39 @@
[section Interlocked Basic Type]
+[heading Description]
+
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], the type must be
-default co/nstructible/, /copy-constructible/, and /copy-assignable/. These
-operations are not interlocked operations and do not guarantee a specific
-ordering of any kind.
-
-Given the variable definitions below, the following expressions must be
-well-formed and have the indicated effects in order for a type to be considered
-an [concept Interlocked Basic Type].
-
[variablelist Interlocked Basic Type Descriptive Variable Definitions
[[`I`] [An [concept Interlocked Basic Type].] ]
[[`i`] [A value of type `I&`.] ]
[[`C1`] [A type which is convertible to `remove_cv<I>::type&`.] ]
[[`c1`] [A value of type `C1 const&`.] ]
-[[`IU`] [['cv-unqualified] `I`.] ]
+[[`IU`] [`remove_cv<I>::type`.] ]
]
[heading Expression Requirements]
+In order to be considered a valid [concept Interlocked Type], the type must be
+/default constructible/, /copy-constructible/, and /copy-assignable/. These
+operations are not interlocked operations and do not guarantee a specific
+ordering of any kind.
+
+[note
+Each of the following operations is a valid __interlocked_operation__, therefore
+user-specified semantics may be applied. In addition to this, all operations
+listed below have a return type of `boost::remove_cv<IV>::type` and yield the
+value of target object prior to the operation being applied. Allowed
+user-specified semantics for these operations are `acquire`, `release`,
+`acq_rel`, `unordered`, and `default_`. If no semantics are explicitly specified
+or if `default_` semantics are specified, then the operation is performed with
+`acq_rel` semantics.
+]
+
[table Interlocked Type Requirements
[[Expression] [Return Type][Pre/Post-Condition] ]
[[`load( i )`] [`IU`] [Returns the value stored in `i`. This
@@ -43,4 +52,32 @@
] ]
]
+[heading Headers]
+
+``
+ // Brings in all interlocked operations.
+ #include <boost/act/interlocked.hpp>
+
+ // Only forward declarations.
+ #include <boost/act/interlocked_fwd.hpp>
+
+ // load headers.
+ #include <boost/act/interlocked/load.hpp>
+ #include <boost/act/interlocked/load/load.hpp>
+ #include <boost/act/interlocked/load/load_acquire.hpp>
+ #include <boost/act/interlocked/load/load_unordered.hpp>
+
+
+ // Forward declarations.
+ #include <boost/act/interlocked/load_fwd.hpp>
+ #include <boost/act/interlocked/load/load_fwd.hpp>
+ /* etc. */
+
+
+ // store headers.
+ #include <boost/act/interlocked/store.hpp>
+ #include <boost/act/interlocked/store/store.hpp>
+ /* etc. */
+``
+
[endsect]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_integer_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_integer_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/concepts/interlocked_type/interlocked_integer_type.qbk 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,8 +1,22 @@
[section Interlocked Integer Type]
+[heading Description]
+
An [concept Interlocked Integer Type] is an __interlocked_arithmetic_type__
which supports common integer operations.
+[variablelist Notation
+[[`I`] [An [concept Interlocked Integer Type].] ]
+[[`i`] [A value of type `I`.] ]
+[[`C1`] [A type which is convertible to `remove_cv<I>::type&`.] ]
+[[`c1`] [A value of type `C1 const&`.] ]
+]
+
+[heading Refinement of]
+__interlocked_arithmetic_type__
+
+[heading Expression Requirements]
+
In order to be considered a valid [concept Interlocked Integer Type], given
the variable definitions below, the following expressions must be well-formed
and have the indicated effects, in addition to those requirements of
@@ -10,17 +24,19 @@
support all operations specified in the C++ standard for integer types. Such
operations do not imply memory barriers of any kind.
-[variablelist Interlocked Arithmetic Type Descriptive Variable Definitions
-[[`I`] [An [concept Interlocked Integer Type].] ]
-[[`i`] [A value of type `I`.] ]
-[[`C1`] [A type which is convertible to `remove_cv<I>::type&`.] ]
-[[`c1`] [A value of type `C1 const&`.] ]
+[note
+Each of the following operations is a valid __interlocked_operation__, therefore
+user-specified semantics may be applied. In addition to this, all operations
+listed below have a return type of `boost::remove_cv<IV>::type` and yield the
+value of target object prior to the operation being applied. Allowed
+user-specified semantics for these operations are `acquire`, `release`,
+`acq_rel`, `unordered`, and `default_`. If no semantics are explicitly specified
+or if `default_` semantics are specified, then the operation is performed with
+`acq_rel` semantics.
]
-[heading Expression Requirements]
-
[table Interlocked Integer Type Requirements
-[[Expression] [Atomic Operation (Returns Old Value)] ]
+[[Expression] [Operation (Returns Old Value)] ]
[[`bitand_assign( i, c1 )`] [`i &= c1;`] ]
[[`bitor_assign( i, c1 )`] [`i |= c1;`] ]
[[`compl_assign( i )`] [`i = ~i;`] ]
@@ -30,4 +46,38 @@
[[`xor_assign( i, c1 )`] [`i ^= c1;`] ]
]
+[heading Headers]
+
+``
+ // Brings in all interlocked operations.
+ #include <boost/act/interlocked.hpp>
+
+ // Only forward declarations.
+ #include <boost/act/interlocked_fwd.hpp>
+
+ // bitand_assign headers.
+ #include <boost/act/interlocked/bitand_assign.hpp>
+ #include <boost/act/interlocked/bitand_assign/bitand_assign.hpp>
+ #include <boost/act/interlocked/bitand_assign/bitand_assign_acquire.hpp>
+ #include <boost/act/interlocked/bitand_assign/bitand_assign_release.hpp>
+ #include <boost/act/interlocked/bitand_assign/bitand_assign_acq_rel.hpp>
+ #include <boost/act/interlocked/bitand_assign/bitand_assign_unordered.hpp>
+
+
+ // Forward declarations.
+ #include <boost/act/interlocked/bitand_assign_fwd.hpp>
+ #include <boost/act/interlocked/bitand_assign/bitand_assign_fwd.hpp>
+ /* etc. */
+
+
+ // bitor_assign headers.
+ #include <boost/act/interlocked/bitor_assign.hpp>
+ #include <boost/act/interlocked/bitor_assign/bitor_assign.hpp>
+ /* etc. */
+
+ ////////////////////////////////////////////////////////////////////////////
+ // Headers for the remaining operations follow the same pattern as above. //
+ ////////////////////////////////////////////////////////////////////////////
+``
+
[endsect]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/consumer.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/consumer.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/consumer.qbk 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -23,7 +23,6 @@
[[`C()`] [] [Creates an instance using a default policy. A
destructor is assumed.
] ]
-[[`C::value_type`][] [The type of data which is processed.] ]
[[`c(d)`] [(unused)] [Processes a copy of `d`. [tablenote Processing
takes place in an implementation-defined thread
of execution.]
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-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,6 +1,6 @@
index.html
-boost_act/brief_description.html
boost_act/beta_warning.html
+boost_act/brief_description.html
boost_act/introduction.html
boost_act/compiler_setup.html
boost_act/concepts.html
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/beta_warning.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/beta_warning.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/beta_warning.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,7 +1,7 @@
<?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><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Beta Warning</title><link rel="stylesheet" href="../../../doc/style/html/main.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="brief_description.html" title="Brief Description" /><link rel="next" href="introduction.html" title="Introduction" /><script type="text/javascript" src="../../../doc/javascript/main.js"></script>
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Beta Warning</title><link rel="stylesheet" href="../../../doc/style/html/main.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="../index.html" title="Boost.Act" /><link rel="next" href="brief_description.html" title="Brief Description" /><script type="text/javascript" src="../../../doc/javascript/main.js"></script>
<script type="text/javascript" > <!--
boostscript.init( new Array(
boostscript.nested_links,
@@ -56,7 +56,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="brief_description.html">
+ <a accesskey="p" href="../index.html">
<div class="prev-icon"></div>
</a>
</div>
@@ -71,7 +71,7 @@
</a>
</div>
<div class="spirit-nav-icon">
- <a accesskey="n" href="introduction.html">
+ <a accesskey="n" href="brief_description.html">
<div class="next-icon"></div>
</a>
</div>
@@ -128,7 +128,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="brief_description.html">
+ <a accesskey="p" href="../index.html">
<div class="prev-icon"></div>
</a>
</div>
@@ -143,7 +143,7 @@
</a>
</div>
<div class="spirit-nav-icon">
- <a accesskey="n" href="introduction.html">
+ <a accesskey="n" href="brief_description.html">
<div class="next-icon"></div>
</a>
</div>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/brief_description.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/brief_description.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/brief_description.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,7 +1,7 @@
<?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><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Brief Description</title><link rel="stylesheet" href="../../../doc/style/html/main.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="../index.html" title="Boost.Act" /><link rel="next" href="beta_warning.html" title="Beta Warning" /><script type="text/javascript" src="../../../doc/javascript/main.js"></script>
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Brief Description</title><link rel="stylesheet" href="../../../doc/style/html/main.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="beta_warning.html" title="Beta Warning" /><link rel="next" href="introduction.html" title="Introduction" /><script type="text/javascript" src="../../../doc/javascript/main.js"></script>
<script type="text/javascript" > <!--
boostscript.init( new Array(
boostscript.nested_links,
@@ -56,7 +56,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="../index.html">
+ <a accesskey="p" href="beta_warning.html">
<div class="prev-icon"></div>
</a>
</div>
@@ -71,7 +71,7 @@
</a>
</div>
<div class="spirit-nav-icon">
- <a accesskey="n" href="beta_warning.html">
+ <a accesskey="n" href="introduction.html">
<div class="next-icon"></div>
</a>
</div>
@@ -100,7 +100,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="../index.html">
+ <a accesskey="p" href="beta_warning.html">
<div class="prev-icon"></div>
</a>
</div>
@@ -115,7 +115,7 @@
</a>
</div>
<div class="spirit-nav-icon">
- <a accesskey="n" href="beta_warning.html">
+ <a accesskey="n" href="introduction.html">
<div class="next-icon"></div>
</a>
</div>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -88,7 +88,7 @@
</div>
</div>
<a id="boost_act.compiler_setup.activating_openmp_support_in_visual_c___2005"></a>
- <h4><a id="id388914"></a>
+ <h4><a id="id390190"></a>
<a href="compiler_setup.html#boost_act.compiler_setup.activating_openmp_support_in_visual_c___2005">Activating
OpenMP Support in Visual C++ 2005</a>
</h4>
@@ -139,7 +139,7 @@
</div>
</div>
<div class="table">
- <a id="id390463"></a>
+ <a id="id390258"></a>
<p class="title">
<b>Table 1. OpenMP Extension Support</b>
</p>
@@ -301,7 +301,7 @@
<p>
</p>
<a id="boost_act.compiler_setup.activating_openmp_support_in_visual_c___2005"></a>
- <h4><a id="id388570"></a>
+ <h4><a id="id388503"></a>
<a href="compiler_setup.html#boost_act.compiler_setup.activating_openmp_support_in_visual_c___2005">Activating
OpenMP Support in Visual C++ 2005</a>
</h4>
@@ -315,7 +315,7 @@
get a linker error upon build.
</p>
<a id="boost_act.compiler_setup.linking_with_boost_threads"></a>
- <h4><a id="id388631"></a>
+ <h4><a id="id388563"></a>
<a href="compiler_setup.html#boost_act.compiler_setup.linking_with_boost_threads">Linking
with Boost.Threads</a>
</h4>
@@ -326,7 +326,7 @@
and Install</a>.
</p>
<a id="boost_act.compiler_setup.compiling_the_library"></a>
- <h4><a id="id455449"></a>
+ <h4><a id="id388616"></a>
<a href="compiler_setup.html#boost_act.compiler_setup.compiling_the_library">Compiling the
Library</a>
</h4>
Modified: 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.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -138,12 +138,12 @@
</dl>
</div>
<a id="boost_act.concepts.consumer_concepts.consumer.expression_requirements"></a>
- <h6><a id="id455709"></a>
+ <h6><a id="id455641"></a>
<a href="consumer.html#boost_act.concepts.consumer_concepts.consumer.expression_requirements">Expression
Requirements</a>
</h6>
<div class="table">
- <a id="id455726"></a>
+ <a id="id455659"></a>
<p class="title">
<b>Table 2. Consumer Requirements</b>
</p>
@@ -193,22 +193,6 @@
<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>
Modified: 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/consumer_concepts/consumer_policy.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/consumer_concepts/consumer_policy.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -182,12 +182,12 @@
</dl>
</div>
<a id="boost_act.concepts.consumer_concepts.consumer_policy.expression_requirements"></a>
- <h6><a id="id456270"></a>
+ <h6><a id="id456159"></a>
<a href="consumer_policy.html#boost_act.concepts.consumer_concepts.consumer_policy.expression_requirements">Expression
Requirements</a>
</h6>
<div class="table">
- <a id="id456288"></a>
+ <a id="id456177"></a>
<p class="title">
<b>Table 3. Consumer Policy Requirements</b>
</p>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_arithmetic_type.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_arithmetic_type.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_arithmetic_type.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -88,61 +88,18 @@
</div>
</div>
</div>
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_arithmetic_type.description"></a>
+ <h6><a id="id458755"></a>
+ Description
+ </h6>
<p>
An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="interlocked_basic_type.html" title="Interlocked Basic Type">
<code class="literal">Interlocked Basic 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_basic_type.html" title="Interlocked Basic Type">
- <code class="literal">Interlocked Basic 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="note">
- <div class="box-outer-wrapper">
- <div class="box-top-left"></div>
- <div class="box-top-right"></div>
- <div class="box-top"></div>
- <div class="box-inner-wrapper">
- <div class="admonition-graphic">
- <div class="admonition-icon">
- <div class="note-icon"></div>
- </div>
- </div>
- <div class="admonition-body">
- <div class="admonition-title">Note</div>
- <div class="admonition-content">
- <p>
- </p>
- <p>
- Each of the following operations is a valid <a href="interlocked_operation.html" title="Interlocked Operation">
- <code class="literal">Interlocked Operation</code></a>, therefore user-specified
- semantics may be applied. In addition to this, all operations listed
- below have a return type of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
- and yield the value of target object prior to the operation being applied.
- Allowed user-specified semantics for these operations are <code class="computeroutput"><span class="identifier">acquire</span></code>, <code class="computeroutput"><span class="identifier">release</span></code>,
- <code class="computeroutput"><span class="identifier">acq_rel</span></code>, <code class="computeroutput"><span class="identifier">unordered</span></code>, and <code class="computeroutput"><span class="identifier">default_</span></code>.
- If no semantics are explicitly specified or if <code class="computeroutput"><span class="identifier">default_</span></code>
- semantics are specified, then the operation is performed with <code class="computeroutput"><span class="identifier">acq_rel</span></code> semantics.
- </p>
- <p>
- </p>
- </div>
- </div>
- </div>
- <div class="box-bottom-left"></div>
- <div class="box-bottom-right"></div>
- <div class="box-bottom"></div>
- </div>
- </div>
<div class="variablelist">
<p class="title">
- <b>Interlocked Arithmetic Type Descriptive Variable Definitions</b>
+ <b>Notation</b>
</p>
<dl>
<dt>
@@ -187,13 +144,69 @@
</dd>
</dl>
</div>
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_arithmetic_type.refinement_of"></a>
+ <h6><a id="id458965"></a>
+ <a href="interlocked_arithmetic_type.html#boost_act.concepts.interlocked_concepts.interlocked_arithmetic_type.refinement_of">Refinement
+ of</a>
+ </h6>
+ <p>
+ <a href="../interlocked_concepts.html" title="Interlocked Concepts"> <code class="literal">Interlocked
+ Type</code></a>
+ </p>
<a id="boost_act.concepts.interlocked_concepts.interlocked_arithmetic_type.expression_requirements"></a>
- <h6><a id="id458325"></a>
+ <h6><a id="id459013"></a>
<a href="interlocked_arithmetic_type.html#boost_act.concepts.interlocked_concepts.interlocked_arithmetic_type.expression_requirements">Expression
Requirements</a>
</h6>
+ <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_basic_type.html" title="Interlocked Basic Type">
+ <code class="literal">Interlocked Basic 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="note">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="note-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Note</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ Each of the following operations is a valid <a href="interlocked_operation.html" title="Interlocked Operation">
+ <code class="literal">Interlocked Operation</code></a>, therefore user-specified
+ semantics may be applied. In addition to this, all operations listed
+ below have a return type of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+ and yield the value of target object prior to the operation being applied.
+ Allowed user-specified semantics for these operations are <code class="computeroutput"><span class="identifier">acquire</span></code>, <code class="computeroutput"><span class="identifier">release</span></code>,
+ <code class="computeroutput"><span class="identifier">acq_rel</span></code>, <code class="computeroutput"><span class="identifier">unordered</span></code>, and <code class="computeroutput"><span class="identifier">default_</span></code>.
+ If no semantics are explicitly specified or if <code class="computeroutput"><span class="identifier">default_</span></code>
+ semantics are specified, then the operation is performed with <code class="computeroutput"><span class="identifier">acq_rel</span></code> semantics.
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
<div class="table">
- <a id="id458344"></a>
+ <a id="id459222"></a>
<p class="title">
<b>Table 7. Interlocked Arithmetic Type Requirements</b>
</p>
@@ -212,7 +225,7 @@
</th>
<th>
<p>
- Atomic Operation (Returns Old Value)
+ Operation (Returns Old Value)
</p>
</th>
</tr>
@@ -221,13 +234,15 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">increment</span><span class="special">(</span>
- <span class="identifier">i</span> <span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">add_assign</span><span class="special">(</span>
+ <span class="identifier">i</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">i</span><span class="special">++;</span></code>
+ <code class="computeroutput"><span class="identifier">i</span> <span class="special">+=</span>
+ <span class="identifier">c1</span><span class="special">;</span></code>
</p>
</td>
</tr>
@@ -240,21 +255,21 @@
</td>
<td>
<p>
- <code class="computeroutput"><span class="identifier">i</span><span class="special">--;</span></code>
+ <code class="computeroutput"><span class="special">--</span><span class="identifier">i</span><span class="special">;</span></code>
</p>
</td>
</tr>
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">add_assign</span><span class="special">(</span>
+ <code class="computeroutput"><span class="identifier">divide_assign</span><span class="special">(</span>
<span class="identifier">i</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">i</span> <span class="special">+=</span>
+ <code class="computeroutput"><span class="identifier">i</span> <span class="special">/=</span>
<span class="identifier">c1</span><span class="special">;</span></code>
</p>
</td>
@@ -262,15 +277,13 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">subtract_assign</span><span class="special">(</span>
- <span class="identifier">i</span><span class="special">,</span>
- <span class="identifier">c1</span> <span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">increment</span><span class="special">(</span>
+ <span class="identifier">i</span> <span class="special">)</span></code>
</p>
</td>
<td>
<p>
- <code class="computeroutput"><span class="identifier">i</span> <span class="special">-=</span>
- <span class="identifier">c1</span><span class="special">;</span></code>
+ <code class="computeroutput"><span class="special">++</span><span class="identifier">i</span><span class="special">;</span></code>
</p>
</td>
</tr>
@@ -292,14 +305,14 @@
<tr>
<td>
<p>
- <code class="computeroutput"><span class="identifier">divide_assign</span><span class="special">(</span>
+ <code class="computeroutput"><span class="identifier">subtract_assign</span><span class="special">(</span>
<span class="identifier">i</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">i</span> <span class="special">/=</span>
+ <code class="computeroutput"><span class="identifier">i</span> <span class="special">-=</span>
<span class="identifier">c1</span><span class="special">;</span></code>
</p>
</td>
@@ -309,6 +322,67 @@
</div>
</div>
<br class="table-break" />
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_arithmetic_type.headers"></a>
+ <h6><a id="id459737"></a>
+ Headers
+ </h6>
+ <p>
+
+</p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id459758">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id459758',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="comment">// Brings in all interlocked operations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+<span class="comment">// Only forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+<span class="comment">// increment headers.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_acquire</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_release</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_acq_rel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_unordered</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+
+<span class="comment">// Forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// decrement headers.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">decrement</span><span class="special">/</span><span class="identifier">decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+
+<span class="comment">////////////////////////////////////////////////////////////////////////////
+</span><span class="comment">// Headers for the remaining operations follow the same pattern as above. //
+</span><span class="comment">////////////////////////////////////////////////////////////////////////////
+</span></pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ </p>
</div>
</div>
<div class="clear"></div>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_basic_type.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_basic_type.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_basic_type.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -88,6 +88,10 @@
</div>
</div>
</div>
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_basic_type.description"></a>
+ <h6><a id="id457186"></a>
+ Description
+ </h6>
<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>
@@ -96,17 +100,6 @@
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>,
- the type must be default co<span class="emphasis"><em>nstructible</em></span>, <span class="emphasis"><em>copy-constructible</em></span>,
- and <span class="emphasis"><em>copy-assignable</em></span>. These operations are not interlocked
- operations and do not guarantee a specific ordering of any kind.
- </p>
- <p>
- Given the variable definitions below, the following expressions must be
- well-formed and have the indicated effects in order for a type to be considered
- an <code class="literal">Interlocked Basic Type</code>.
- </p>
<div class="variablelist">
<p class="title">
<b>Interlocked Basic Type Descriptive Variable Definitions</b>
@@ -159,17 +152,60 @@
</code>
</span>
</dt>
- <dd><span class="emphasis"><em>cv-unqualified</em></span><code class="computeroutput"><span class="identifier">I</span></code>.
+ <dd><code class="computeroutput"><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code>.
</dd>
</dl>
</div>
<a id="boost_act.concepts.interlocked_concepts.interlocked_basic_type.expression_requirements"></a>
- <h6><a id="id457579"></a>
+ <h6><a id="id457471"></a>
<a href="interlocked_basic_type.html#boost_act.concepts.interlocked_concepts.interlocked_basic_type.expression_requirements">Expression
Requirements</a>
</h6>
+ <p>
+ In order to be considered a valid <code class="literal">Interlocked Type</code>,
+ the type must be <span class="emphasis"><em>default constructible</em></span>, <span class="emphasis"><em>copy-constructible</em></span>,
+ and <span class="emphasis"><em>copy-assignable</em></span>. These operations are not interlocked
+ operations and do not guarantee a specific ordering of any kind.
+ </p>
+ <div class="note">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="note-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Note</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ Each of the following operations is a valid <a href="interlocked_operation.html" title="Interlocked Operation">
+ <code class="literal">Interlocked Operation</code></a>, therefore user-specified
+ semantics may be applied. In addition to this, all operations listed
+ below have a return type of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+ and yield the value of target object prior to the operation being applied.
+ Allowed user-specified semantics for these operations are <code class="computeroutput"><span class="identifier">acquire</span></code>, <code class="computeroutput"><span class="identifier">release</span></code>,
+ <code class="computeroutput"><span class="identifier">acq_rel</span></code>, <code class="computeroutput"><span class="identifier">unordered</span></code>, and <code class="computeroutput"><span class="identifier">default_</span></code>.
+ If no semantics are explicitly specified or if <code class="computeroutput"><span class="identifier">default_</span></code>
+ semantics are specified, then the operation is performed with <code class="computeroutput"><span class="identifier">acq_rel</span></code> semantics.
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
<div class="table">
- <a id="id457597"></a>
+ <a id="id457668"></a>
<p class="title">
<b>Table 6. Interlocked Type Requirements</b>
</p>
@@ -253,6 +289,61 @@
</div>
</div>
<br class="table-break" />
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_basic_type.headers"></a>
+ <h6><a id="id457995"></a>
+ Headers
+ </h6>
+ <p>
+
+</p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id458016">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id458016',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="comment">// Brings in all interlocked operations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+<span class="comment">// Only forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+<span class="comment">// load headers.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load_acquire</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load_unordered</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+
+<span class="comment">// Forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// store headers.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">store</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">store</span><span class="special">/</span><span class="identifier">store</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+</pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ </p>
</div>
</div>
<div class="clear"></div>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_integer_type.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_integer_type.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_integer_type.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -88,24 +88,18 @@
</div>
</div>
</div>
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_integer_type.description"></a>
+ <h6><a id="id460664"></a>
+ Description
+ </h6>
<p>
An <code class="literal">Interlocked Integer Type</code> is an <a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic 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_arithmetic_type.html" title="Interlocked Arithmetic 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>
+ <b>Notation</b>
</p>
<dl>
<dt>
@@ -150,13 +144,69 @@
</dd>
</dl>
</div>
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_integer_type.refinement_of"></a>
+ <h6><a id="id460882"></a>
+ <a href="interlocked_integer_type.html#boost_act.concepts.interlocked_concepts.interlocked_integer_type.refinement_of">Refinement
+ of</a>
+ </h6>
+ <p>
+ <a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">
+ <code class="literal">Interlocked Arithmetic Type</code></a>
+ </p>
<a id="boost_act.concepts.interlocked_concepts.interlocked_integer_type.expression_requirements"></a>
- <h6><a id="id459096"></a>
+ <h6><a id="id460929"></a>
<a href="interlocked_integer_type.html#boost_act.concepts.interlocked_concepts.interlocked_integer_type.expression_requirements">Expression
Requirements</a>
</h6>
+ <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_arithmetic_type.html" title="Interlocked Arithmetic 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="note">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="note-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Note</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ Each of the following operations is a valid <a href="interlocked_operation.html" title="Interlocked Operation">
+ <code class="literal">Interlocked Operation</code></a>, therefore user-specified
+ semantics may be applied. In addition to this, all operations listed
+ below have a return type of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_cv</span><span class="special"><</span><span class="identifier">IV</span><span class="special">>::</span><span class="identifier">type</span></code>
+ and yield the value of target object prior to the operation being applied.
+ Allowed user-specified semantics for these operations are <code class="computeroutput"><span class="identifier">acquire</span></code>, <code class="computeroutput"><span class="identifier">release</span></code>,
+ <code class="computeroutput"><span class="identifier">acq_rel</span></code>, <code class="computeroutput"><span class="identifier">unordered</span></code>, and <code class="computeroutput"><span class="identifier">default_</span></code>.
+ If no semantics are explicitly specified or if <code class="computeroutput"><span class="identifier">default_</span></code>
+ semantics are specified, then the operation is performed with <code class="computeroutput"><span class="identifier">acq_rel</span></code> semantics.
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
<div class="table">
- <a id="id459115"></a>
+ <a id="id461146"></a>
<p class="title">
<b>Table 8. Interlocked Integer Type Requirements</b>
</p>
@@ -175,7 +225,7 @@
</th>
<th>
<p>
- Atomic Operation (Returns Old Value)
+ Operation (Returns Old Value)
</p>
</th>
</tr>
@@ -290,6 +340,67 @@
</div>
</div>
<br class="table-break" />
+ <a id="boost_act.concepts.interlocked_concepts.interlocked_integer_type.headers"></a>
+ <h6><a id="id461784"></a>
+ Headers
+ </h6>
+ <p>
+
+</p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id461806">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id461806',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="comment">// Brings in all interlocked operations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+<span class="comment">// Only forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+<span class="comment">// bitand_assign headers.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">/</span><span class="identifier">bitand_assign_acquire</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">/</span><span class="identifier">bitand_assign_release</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">/</span><span class="identifier">bitand_assign_acq_rel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">/</span><span class="identifier">bitand_assign_unordered</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+
+
+<span class="comment">// Forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">/</span><span class="identifier">bitand_assign_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// bitor_assign headers.
+</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitor_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitor_assign</span><span class="special">/</span><span class="identifier">bitor_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+
+<span class="comment">////////////////////////////////////////////////////////////////////////////
+</span><span class="comment">// Headers for the remaining operations follow the same pattern as above. //
+</span><span class="comment">////////////////////////////////////////////////////////////////////////////
+</span></pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ </p>
</div>
</div>
<div class="clear"></div>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_operation.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_operation.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/interlocked_concepts/interlocked_operation.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -138,12 +138,12 @@
</dl>
</div>
<a id="boost_act.concepts.interlocked_concepts.interlocked_operation.expression_requirements"></a>
- <h6><a id="id456761"></a>
+ <h6><a id="id456650"></a>
<a href="interlocked_operation.html#boost_act.concepts.interlocked_concepts.interlocked_operation.expression_requirements">Expression
Requirements</a>
</h6>
<div class="table">
- <a id="id456780"></a>
+ <a id="id456668"></a>
<p class="title">
<b>Table 4. Interlocked Operation Requirements</b>
</p>
@@ -207,7 +207,7 @@
</div>
<br class="table-break" />
<a id="boost_act.concepts.interlocked_concepts.interlocked_operation.semantic_type"></a>
- <h6><a id="id456945"></a>
+ <h6><a id="id456832"></a>
<a href="interlocked_operation.html#boost_act.concepts.interlocked_concepts.interlocked_operation.semantic_type">Semantic
Type</a>
</h6>
@@ -254,7 +254,7 @@
</div>
</div>
<div class="table">
- <a id="id457014"></a>
+ <a id="id456900"></a>
<p class="title">
<b>Table 5. Semantic Types</b>
</p>
Modified: 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/pc_queue.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/pc_queue.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -174,12 +174,12 @@
</dl>
</div>
<a id="boost_act.concepts.queue_concepts.pc_queue.expression_requirements"></a>
- <h6><a id="id460069"></a>
+ <h6><a id="id463002"></a>
<a href="pc_queue.html#boost_act.concepts.queue_concepts.pc_queue.expression_requirements">Expression
Requirements</a>
</h6>
<div class="table">
- <a id="id460086"></a>
+ <a id="id463020"></a>
<p class="title">
<b>Table 9. PC Queue Requirements</b>
</p>
Modified: 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/concepts/queue_concepts/queue_policy.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/concepts/queue_concepts/queue_policy.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -183,12 +183,12 @@
</dl>
</div>
<a id="boost_act.concepts.queue_concepts.queue_policy.expression_requirements"></a>
- <h6><a id="id461727"></a>
+ <h6><a id="id464660"></a>
<a href="queue_policy.html#boost_act.concepts.queue_concepts.queue_policy.expression_requirements">Expression
Requirements</a>
</h6>
<div class="table">
- <a id="id461745"></a>
+ <a id="id464678"></a>
<p class="title">
<b>Table 10. Queue Policy Requirements</b>
</p>
@@ -270,7 +270,7 @@
</div>
<br class="table-break" />
<a id="boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_unordered_parameters"></a>
- <h6><a id="id462047"></a>
+ <h6><a id="id464978"></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>
@@ -357,7 +357,7 @@
</dl>
</div>
<a id="boost_act.concepts.queue_concepts.queue_policy.queue_policy_pc_queue_type_selection_examples"></a>
- <h6><a id="id462219"></a>
+ <h6><a id="id465150"></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>
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-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -108,7 +108,7 @@
</div>
</div>
<a id="boost_act.interlocked_integer.header"></a>
- <h4><a id="id462270"></a>
+ <h4><a id="id465202"></a>
<a href="interlocked_integer.html#boost_act.interlocked_integer.header">Header</a>
</h4>
<div class="programlisting">
@@ -117,10 +117,10 @@
<div class="box-top-right"></div>
<div class="box-top"></div>
<div class="box-inner-wrapper">
- <div class="style-switcher-box" id="id462288">
+ <div class="style-switcher-box" id="id465219">
<script type="text/javascript" > <!--
boostscript.call( boostscript.style_switcher, 'insert_style_selector',
- 'id462288',
+ 'id465219',
'../../../doc/style/html/syntax.xml',
'../../../doc/style/html'
);
@@ -141,7 +141,7 @@
</div>
</div>
<a id="boost_act.interlocked_integer.description"></a>
- <h4><a id="id462523"></a>
+ <h4><a id="id465454"></a>
<a href="interlocked_integer.html#boost_act.interlocked_integer.description">Description</a>
</h4>
<p>
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-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -89,7 +89,7 @@
</div>
</div>
<a id="boost_act.interlocked_integer.integer_typedefs.header"></a>
- <h5><a id="id462639"></a>
+ <h5><a id="id465570"></a>
<a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.header">Header</a>
</h5>
<div class="programlisting">
@@ -98,10 +98,10 @@
<div class="box-top-right"></div>
<div class="box-top"></div>
<div class="box-inner-wrapper">
- <div class="style-switcher-box" id="id462658">
+ <div class="style-switcher-box" id="id465588">
<script type="text/javascript" > <!--
boostscript.call( boostscript.style_switcher, 'insert_style_selector',
- 'id462658',
+ 'id465588',
'../../../../doc/style/html/syntax.xml',
'../../../../doc/style/html'
);
@@ -117,7 +117,7 @@
</div>
</div>
<a id="boost_act.interlocked_integer.integer_typedefs.exact_width_integer_types"></a>
- <h5><a id="id462748"></a>
+ <h5><a id="id465679"></a>
<a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.exact_width_integer_types">Exact-Width
Integer Types</a>
</h5>
@@ -137,7 +137,7 @@
to built-in integer types. ]
</p>
<a id="boost_act.interlocked_integer.integer_typedefs.minimum_width_integer_types"></a>
- <h5><a id="id462808"></a>
+ <h5><a id="id465739"></a>
<a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.minimum_width_integer_types">Minimum-Width
Integer Types</a>
</h5>
@@ -180,7 +180,7 @@
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="id462902"></a>
+ <h5><a id="id465833"></a>
<a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.fastest_minimum_width_integer_types">Fastest
Minimum-Width Integer Types</a>
</h5>
@@ -224,7 +224,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="id463000"></a>
+ <h5><a id="id465934"></a>
<a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.greatest_width_integer_types">Greatest-Width
Integer Types</a>
</h5>
@@ -242,7 +242,7 @@
These types are required.
</p>
<a id="boost_act.interlocked_integer.integer_typedefs.miscellaneous_integer_types"></a>
- <h5><a id="id463076"></a>
+ <h5><a id="id466009"></a>
<a href="integer_typedefs.html#boost_act.interlocked_integer.integer_typedefs.miscellaneous_integer_types">Miscellaneous
Integer Types</a>
</h5>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,7 +1,7 @@
<?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><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Introduction</title><link rel="stylesheet" href="../../../doc/style/html/main.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="beta_warning.html" title="Beta Warning" /><link rel="next" href="compiler_setup.html" title="Compiler Setup" /><script type="text/javascript" src="../../../doc/javascript/main.js"></script>
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Introduction</title><link rel="stylesheet" href="../../../doc/style/html/main.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="brief_description.html" title="Brief Description" /><link rel="next" href="compiler_setup.html" title="Compiler Setup" /><script type="text/javascript" src="../../../doc/javascript/main.js"></script>
<script type="text/javascript" > <!--
boostscript.init( new Array(
boostscript.nested_links,
@@ -56,7 +56,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="beta_warning.html">
+ <a accesskey="p" href="brief_description.html">
<div class="prev-icon"></div>
</a>
</div>
@@ -110,8 +110,21 @@
between immediate, concurrent, lazy evaluation, or a user-provided evaluation
strategy on a case-by-case basis with potentially no runtime cost to the application.
</p>
- <a id="boost_act.introduction.polymorphic_algorithms"></a>
+ <a id="boost_act.introduction.interlocked_types"></a>
<h4><a id="id388726"></a>
+ Interlocked Types
+ </h4>
+ <p>
+ In order to be able to construct the high-level concepts presented in this
+ library and to allow users to be able to portably and efficiently implement
+ their own shared-memory datastructures and algorithms, portable low-level interaction
+ must be made both possible and efficient. In <code class="literal">Boost.Act</code>,
+ this is accomplished through the use of the low-level abstraction of an Interlocked Type
,
+ which are types that support both thread-unsafe and thread-safe operations
+ with semantics specified by the user at the call-site.
+ </p>
+ <a id="boost_act.introduction.polymorphic_algorithms"></a>
+ <h4><a id="id388783"></a>
<a href="introduction.html#boost_act.introduction.polymorphic_algorithms">Polymorphic Algorithms</a>
</h4>
<p>
@@ -133,7 +146,7 @@
of the creation of user-defined polymorphic algorithms.
</p>
<a id="boost_act.introduction.algorithm_models"></a>
- <h4><a id="id388773"></a>
+ <h4><a id="id388832"></a>
<a href="introduction.html#boost_act.introduction.algorithm_models">Algorithm Models</a>
</h4>
<p>
@@ -146,24 +159,26 @@
library.
</p>
<a id="boost_act.introduction.actions"></a>
- <h4><a id="id388798"></a>
+ <h4><a id="id388857"></a>
<a href="introduction.html#boost_act.introduction.actions">Actions</a>
</h4>
<p>
It is often desirable to be able to signal a function, perform other unrelated
operations, and then eventually wait for the signaled function's completion.
In order to provide such functionality, Boost.Act introduces the concept of
- an <code class="literal">action</code>.
+ an <code class="literal">action</code>, which is similar in many ways to a <code class="literal">future</code>.
</p>
<p>
An <code class="literal">action</code> is a type which represents a signaled operation.
With a stored <code class="literal">action</code>, you have access to that operation
such that you may wait for the function's completion if you need the effects
- to have taken place prior to reaching a certain point in code. Actions also
- provide an indirect interface to the result of a signaled function.
+ to have taken place prior to reaching a further point in code. Actions also
+ provide an indirect interface to the result of a signaled function which allows
+ you to queue operations that may act upon the result of the signalled function
+ and which execute in the same thread as the original call.
</p>
<a id="boost_act.introduction.active_objects"></a>
- <h4><a id="id388856"></a>
+ <h4><a id="id390144"></a>
<a href="introduction.html#boost_act.introduction.active_objects">Active Objects</a>
</h4>
<p>
@@ -171,11 +186,11 @@
actual invocation of that function, Boost.Act also provides a way to separate
the signaling of intrinsic functions of a type from the invocation of such
functions, yet guarantees the same order of execution of such functions relative
- to one another. Since the invocations of such functions are also implicitly
- serialized, it makes it easy to signal several functions which all deal with
- the same object without having to worry that one call may occur while another
- is executing, and with the guarantee that they are called in the same order
- as they were signaled.
+ to one another. Since the invocations of such functions are serialized, it
+ makes it easy to signal several functions which all deal with the same object
+ without having to worry that one call may occur while another is executing,
+ and with the guarantee that they are called in the same order as they were
+ signaled.
</p>
</div>
</div>
@@ -184,7 +199,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="beta_warning.html">
+ <a accesskey="p" href="brief_description.html">
<div class="prev-icon"></div>
</a>
</div>
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-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -1,7 +1,7 @@
<?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><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Boost.Act</title><link rel="stylesheet" href="../../doc/style/html/main.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="next" href="boost_act/brief_description.html" title="Brief Description" /><script type="text/javascript" src="../../doc/javascript/main.js"></script>
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Boost.Act</title><link rel="stylesheet" href="../../doc/style/html/main.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="next" href="boost_act/beta_warning.html" title="Beta Warning" /><script type="text/javascript" src="../../doc/javascript/main.js"></script>
<script type="text/javascript" > <!--
boostscript.init( new Array(
boostscript.nested_links,
@@ -56,7 +56,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="n" href="boost_act/brief_description.html">
+ <a accesskey="n" href="boost_act/beta_warning.html">
<div class="next-icon"></div>
</a>
</div>
@@ -104,12 +104,12 @@
<dl>
<dt>
<span class="section">
- Brief Description
+ Beta Warning
</span>
</dt>
<dt>
<span class="section">
- Beta Warning
+ Brief Description
</span>
</dt>
<dt>
@@ -255,14 +255,14 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="n" href="boost_act/brief_description.html">
+ <a accesskey="n" href="boost_act/beta_warning.html">
<div class="next-icon"></div>
</a>
</div>
</div>
<div id="footer">
<div id="footer-left">
- <div id="revised">Revised: June 30, 2007 at 16:30:58 GMT</div>
+ <div id="revised">Revised: June 30, 2007 at 19:23:11 GMT</div>
<div id="copyright"></div>
<div id="license">
<p>Distributed under the
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/introduction.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/introduction.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/introduction.qbk 2007-06-30 15:29:13 EDT (Sat, 30 Jun 2007)
@@ -22,6 +22,16 @@
user-provided evaluation strategy on a case-by-case basis with potentially no
runtime cost to the application.
+[heading Interlocked Types]
+
+In order to be able to construct the high-level concepts presented in this
+library and to allow users to be able to portably and efficiently implement
+their own shared-memory datastructures and algorithms, portable low-level
+interaction must be made both possible and efficient. In =Boost.Act=, this is
+accomplished through the use of the low-level abstraction of an
+__interlocked_type__, which are types that support both thread-unsafe and
+thread-safe operations with semantics specified by the user at the call-site.
+
[heading Polymorphic Algorithms]
For the scope of this library, a polymorphic algorithm is considered to be an
@@ -55,13 +65,15 @@
It is often desirable to be able to signal a function, perform other unrelated
operations, and then eventually wait for the signaled function's completion. In
order to provide such functionality, Boost.Act introduces the concept of an
-=action=.
+=action=, which is similar in many ways to a =future=.
An =action= is a type which represents a signaled operation. With a stored
=action=, you have access to that operation such that you may wait for the
function's completion if you need the effects to have taken place prior to
-reaching a certain point in code. Actions also provide an indirect interface to
-the result of a signaled function.
+reaching a further point in code. Actions also provide an indirect interface to
+the result of a signaled function which allows you to queue operations that may
+act upon the result of the signalled function and which execute in the same
+thread as the original call.
[heading Active Objects]
@@ -69,10 +81,9 @@
actual invocation of that function, Boost.Act also provides a way to separate
the signaling of intrinsic functions of a type from the invocation of such
functions, yet guarantees the same order of execution of such functions relative
-to one another. Since the invocations of such functions are also implicitly
-serialized, it makes it easy to signal several functions which all deal with the
-same object without having to worry that one call may occur while another is
-executing, and with the guarantee that they are called in the same order as they
-were signaled.
+to one another. Since the invocations of such functions are serialized, it makes
+it easy to signal several functions which all deal with the same object without
+having to worry that one call may occur while another is executing, and with the
+guarantee that they are called in the same order as they were signaled.
[endsect]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/style/html/images/header/Thumbs.db
==============================================================================
Binary files. No diff available.
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