|
Boost-Commit : |
From: matt_calabrese_at_[hidden]
Date: 2007-06-30 16:31:46
Author: matt_calabrese
Date: 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
New Revision: 7328
URL: http://svn.boost.org/trac/boost/changeset/7328
Log:
Reorganized documentation.
Added:
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_natural_type.html
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_type.html
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_type.qbk
- copied, changed from r7325, /sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_basic_type.qbk
Removed:
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_basic_type.qbk
Text files modified:
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/act.qbk | 2 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest | 3 ++-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked.html | 10 ++++++++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts.html | 10 ++++++++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html | 34 +++++++++++++++++-----------------
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html | 16 ++++++++--------
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_operation.html | 6 +++---
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html | 2 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html | 4 ++--
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html | 12 +++++++++---
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts.qbk | 3 ++-
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_arithmetic_type.qbk | 10 +++++-----
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_natural_type.qbk | 31 ++++++++++++++-----------------
sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_type.qbk | 8 ++++----
14 files changed, 84 insertions(+), 67 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-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -26,9 +26,9 @@
[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.interlocked.interlocked_concepts.interlocked_type [concept Interlocked Type]]]
+[def __interlocked_natural_type__ [link boost_act.interlocked.interlocked_concepts.interlocked_natural_type [concept Interlocked Natural Type]]]
[def __interlocked_operation__ [link boost_act.interlocked.interlocked_concepts.interlocked_operation [concept Interlocked Operation]]]
[def __semantic_type__ [link boost_act.interlocked.interlocked_concepts.interlocked_operation.semantic_type [concept Semantic Type]]]
-[def __interlocked_basic_type__ [link boost_act.interlocked.interlocked_concepts.interlocked_basic_type [concept Interlocked Basic Type]]]
[def __interlocked_arithmetic_type__ [link boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type [concept Interlocked Arithmetic Type]]]
[def __interlocked_integer_type__ [link boost_act.interlocked.interlocked_concepts.interlocked_integer_type [concept Interlocked Integer Type]]]
[def __worker_policy__ [link boost_act.concepts.worker_policy [concept Worker Policy]]]
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 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -6,7 +6,8 @@
boost_act/interlocked.html
boost_act/interlocked/interlocked_concepts.html
boost_act/interlocked/interlocked_concepts/interlocked_operation.html
-boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html
+boost_act/interlocked/interlocked_concepts/interlocked_type.html
+boost_act/interlocked/interlocked_concepts/interlocked_natural_type.html
boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html
boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html
boost_act/rationale.html
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -110,8 +110,14 @@
</dt>
<dt>
<span class="section">
- <a href="interlocked/interlocked_concepts/interlocked_basic_type.html">Interlocked
- Basic Type</a>
+ <a href="interlocked/interlocked_concepts/interlocked_type.html">Interlocked
+ Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked/interlocked_concepts/interlocked_natural_type.html">Interlocked
+ Natural Type</a>
</span>
</dt>
<dt>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -103,8 +103,14 @@
</dt>
<dt>
<span class="section">
- <a href="interlocked_concepts/interlocked_basic_type.html">Interlocked
- Basic Type</a>
+ <a href="interlocked_concepts/interlocked_type.html">Interlocked
+ Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked_concepts/interlocked_natural_type.html">Interlocked
+ Natural Type</a>
</span>
</dt>
<dt>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html 2007-06-30 16:31:45 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>Interlocked Arithmetic Type</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="interlocked_basic_type.html" title="Interlocked Basic Type" /><link rel="next" href="interlocked_integer_type.html" title="Interlocked Integer Type" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Interlocked Arithmetic Type</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="interlocked_natural_type.html" title="Interlocked Natural Type" /><link rel="next" href="interlocked_integer_type.html" title="Interlocked Integer Type" /><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="interlocked_basic_type.html">
+ <a accesskey="p" href="interlocked_natural_type.html">
<div class="prev-icon"></div>
</a>
</div>
@@ -89,12 +89,12 @@
</div>
</div>
<a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.description"></a>
- <h6><a id="id457688"></a>
+ <h6><a id="id459355"></a>
<a href="interlocked_arithmetic_type.html#boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.description">Description</a>
</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
+ An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="interlocked_natural_type.html" title="Interlocked Natural Type">
+ <code class="literal">Interlocked Natural Type</code></a> which supports common
arithmetic operations.
</p>
<div class="variablelist">
@@ -145,16 +145,16 @@
</dl>
</div>
<a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.refinement_of"></a>
- <h6><a id="id457898"></a>
+ <h6><a id="id459565"></a>
<a href="interlocked_arithmetic_type.html#boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.refinement_of">Refinement
of</a>
</h6>
<p>
- <a href="../../../">
- <code class="literal">Interlocked Type</code></a>
+ <a href="interlocked_natural_type.html" title="Interlocked Natural Type">
+ <code class="literal">Interlocked Natural Type</code></a>
</p>
<a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.expression_requirements"></a>
- <h6><a id="id457946"></a>
+ <h6><a id="id459614"></a>
<a href="interlocked_arithmetic_type.html#boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.expression_requirements">Expression
Requirements</a>
</h6>
@@ -162,8 +162,8 @@
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
+ of <a href="interlocked_natural_type.html" title="Interlocked Natural Type">
+ <code class="literal">Interlocked Natural 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.
@@ -206,9 +206,9 @@
</div>
</div>
<div class="table">
- <a id="id458158"></a>
+ <a id="id459824"></a>
<p class="title">
- <b>Table 5. Interlocked Arithmetic Type Requirements</b>
+ <b>Table 6. Interlocked Arithmetic Type Requirements</b>
</p>
<div class="table-contents">
<table class="table" summary="Interlocked Arithmetic Type Requirements">
@@ -323,7 +323,7 @@
</div>
<br class="table-break" />
<a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.headers"></a>
- <h6><a id="id458673"></a>
+ <h6><a id="id460344"></a>
<a href="interlocked_arithmetic_type.html#boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.headers">Headers</a>
</h6>
<p>
@@ -335,10 +335,10 @@
<div class="box-top-right"></div>
<div class="box-top"></div>
<div class="box-inner-wrapper">
- <div class="style-switcher-box" id="id458694">
+ <div class="style-switcher-box" id="id460366">
<script type="text/javascript" > <!--
boostscript.call( boostscript.style_switcher, 'insert_style_selector',
- 'id458694',
+ 'id460366',
'../../../../../doc/style/html/syntax.xml',
'../../../../../doc/style/html'
);
@@ -390,7 +390,7 @@
</div>
<div class="spirit-nav">
<div class="spirit-nav-icon">
- <a accesskey="p" href="interlocked_basic_type.html">
+ <a accesskey="p" href="interlocked_natural_type.html">
<div class="prev-icon"></div>
</a>
</div>
Deleted: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
+++ (empty file)
@@ -1,400 +0,0 @@
-<?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>Interlocked Basic Type</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="interlocked_operation.html" title="Interlocked Operation" /><link rel="next" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
- <script type="text/javascript" > <!--
- boostscript.init( new Array(
- boostscript.nested_links,
- boostscript.style_switcher,
- boostscript.common
- ),
- '../../../../../doc/javascript'
- );
- //--></script>
-
- <script type="text/javascript" > <!--
- boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
- '../../../../../doc/style/html/syntax.xml',
- '../../../../../doc/style/html'
- );
- //--></script>
-<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
- <script type="text/javascript" > <!--
- boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
- //--></script>
-</head>
- <body>
- <div id="heading">
- <div id="heading-placard"></div>
- <div class="heading-navigation-box">
- <div class="nested-links-select-box" id="chapters_select_box">
- <script type="text/javascript" > <!--
- boostscript.call( boostscript.nested_links, 'select_box',
- 'chapters_select_box',
- '../../../../../doc/chapters.xml',
- '../../../../../libs');
- //--></script>
-</div>
- <div class="nested-links-select-box" id="sections_select_box">
- <script type="text/javascript" > <!--
- boostscript.call( boostscript.nested_links, 'select_box',
- 'sections_select_box',
- '../../../sections.xml',
- '../../.././');
- //--></script>
-</div>
- </div>
- <div class="search-box">
- <form id="cref" action="http://google.com/cse">
- <div class="search-box-label"></div>
- <div>
- <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
- <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
- </div>
- </form>
- </div>
- </div>
- <div class="spirit-nav">
- <div class="spirit-nav-icon">
- <a accesskey="p" href="interlocked_operation.html">
- <div class="prev-icon"></div>
- </a>
- </div>
- <div class="spirit-nav-icon">
- <a accesskey="u" href="../interlocked_concepts.html">
- <div class="up-icon"></div>
- </a>
- </div>
- <div class="spirit-nav-icon">
- <a accesskey="h" href="../../../index.html">
- <div class="home-icon"></div>
- </a>
- </div>
- <div class="spirit-nav-icon">
- <a accesskey="n" href="interlocked_arithmetic_type.html">
- <div class="next-icon"></div>
- </a>
- </div>
- </div>
- <div id="body">
- <div id="body-inner">
- <div id="content">
- <div class="section">
- <div class="titlepage">
- <div>
- <div>
- <h4 class="title"><a id="boost_act.interlocked.interlocked_concepts.interlocked_basic_type"></a><a href="interlocked_basic_type.html" title="Interlocked Basic Type">Interlocked
- Basic Type</a></h4>
- </div>
- </div>
- </div>
- <a id="boost_act.interlocked.interlocked_concepts.interlocked_basic_type.description"></a>
- <h6><a id="id456117"></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>
- 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>
- <div class="variablelist">
- <p class="title">
- <b>Notation</b>
- </p>
- <dl>
- <dt>
- <span class="term">
- <code class="computeroutput">
- <span class="identifier">I</span>
- </code>
- </span>
- </dt>
- <dd>
- An <code class="literal">Interlocked Basic Type</code>.
- </dd>
- <dt>
- <span class="term">
- <code class="computeroutput">
- <span class="identifier">i</span>
- </code>
- </span>
- </dt>
- <dd>
- A value of type <code class="computeroutput"><span class="identifier">I</span><span class="special">&</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">remove_cv</span><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span></code>.
- </dd>
- <dt>
- <span class="term">
- <code class="computeroutput">
- <span class="identifier">c1</span>
- </code>
- </span>
- </dt>
- <dd>
- A value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
- </dd>
- <dt>
- <span class="term">
- <code class="computeroutput">
- <span class="identifier">IU</span>
- </code>
- </span>
- </dt>
- <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.interlocked.interlocked_concepts.interlocked_basic_type.expression_requirements"></a>
- <h6><a id="id456403"></a>
- <a href="interlocked_basic_type.html#boost_act.interlocked.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="id456601"></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">load</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">IU</span></code>
- </p>
- </td>
- <td>
- <p>
- Returns the value stored in <code class="computeroutput"><span class="identifier">i</span></code>.
- This function is an <a href="interlocked_operation.html" title="Interlocked Operation">
- <code class="literal">Interlocked Operation</code></a> and defaults to
- <code class="computeroutput"><span class="identifier">acquire</span></code> semantics.
- Allowable semantics for this operation are <code class="computeroutput"><span class="identifier">unordered</span></code>
- and <code class="computeroutput"><span class="identifier">acquire</span></code>.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <p>
- <code class="computeroutput"><span class="identifier">store</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="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">i</span></code>. This
- function is an <a href="interlocked_operation.html" title="Interlocked Operation">
- <code class="literal">Interlocked Operation</code></a> and defaults to
- <code class="computeroutput"><span class="identifier">release</span></code> semantics.
- Allowable semantics for this operation are <code class="computeroutput"><span class="identifier">unordered</span></code>
- and <code class="computeroutput"><span class="identifier">release</span></code>.
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <br class="table-break" />
- <a id="boost_act.interlocked.interlocked_concepts.interlocked_basic_type.headers"></a>
- <h6><a id="id456927"></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="id456949">
- <script type="text/javascript" > <!--
- boostscript.call( boostscript.style_switcher, 'insert_style_selector',
- 'id456949',
- '../../../../../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>
- </div>
- </div>
- <div class="spirit-nav">
- <div class="spirit-nav-icon">
- <a accesskey="p" href="interlocked_operation.html">
- <div class="prev-icon"></div>
- </a>
- </div>
- <div class="spirit-nav-icon">
- <a accesskey="u" href="../interlocked_concepts.html">
- <div class="up-icon"></div>
- </a>
- </div>
- <div class="spirit-nav-icon">
- <a accesskey="h" href="../../../index.html">
- <div class="home-icon"></div>
- </a>
- </div>
- <div class="spirit-nav-icon">
- <a accesskey="n" href="interlocked_arithmetic_type.html">
- <div class="next-icon"></div>
- </a>
- </div>
- </div>
- <div 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/interlocked/interlocked_concepts/interlocked_integer_type.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -89,7 +89,7 @@
</div>
</div>
<a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.description"></a>
- <h6><a id="id459597"></a>
+ <h6><a id="id461270"></a>
<a href="interlocked_integer_type.html#boost_act.interlocked.interlocked_concepts.interlocked_integer_type.description">Description</a>
</h6>
<p>
@@ -145,7 +145,7 @@
</dl>
</div>
<a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.refinement_of"></a>
- <h6><a id="id459808"></a>
+ <h6><a id="id461490"></a>
<a href="interlocked_integer_type.html#boost_act.interlocked.interlocked_concepts.interlocked_integer_type.refinement_of">Refinement
of</a>
</h6>
@@ -154,7 +154,7 @@
<code class="literal">Interlocked Arithmetic Type</code></a>
</p>
<a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.expression_requirements"></a>
- <h6><a id="id459856"></a>
+ <h6><a id="id461538"></a>
<a href="interlocked_integer_type.html#boost_act.interlocked.interlocked_concepts.interlocked_integer_type.expression_requirements">Expression
Requirements</a>
</h6>
@@ -206,9 +206,9 @@
</div>
</div>
<div class="table">
- <a id="id460065"></a>
+ <a id="id461755"></a>
<p class="title">
- <b>Table 6. Interlocked Integer Type Requirements</b>
+ <b>Table 7. Interlocked Integer Type Requirements</b>
</p>
<div class="table-contents">
<table class="table" summary="Interlocked Integer Type Requirements">
@@ -341,7 +341,7 @@
</div>
<br class="table-break" />
<a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.headers"></a>
- <h6><a id="id460702"></a>
+ <h6><a id="id462394"></a>
<a href="interlocked_integer_type.html#boost_act.interlocked.interlocked_concepts.interlocked_integer_type.headers">Headers</a>
</h6>
<p>
@@ -353,10 +353,10 @@
<div class="box-top-right"></div>
<div class="box-top"></div>
<div class="box-inner-wrapper">
- <div class="style-switcher-box" id="id460724">
+ <div class="style-switcher-box" id="id462416">
<script type="text/javascript" > <!--
boostscript.call( boostscript.style_switcher, 'insert_style_selector',
- 'id460724',
+ 'id462416',
'../../../../../doc/style/html/syntax.xml',
'../../../../../doc/style/html'
);
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_natural_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_natural_type.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,400 @@
+<?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>Interlocked Natural Type</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="interlocked_type.html" title="Interlocked Type" /><link rel="next" href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../../../sections.xml',
+ '../../.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked_type.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../interlocked_concepts.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../../../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="interlocked_arithmetic_type.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h4 class="title"><a id="boost_act.interlocked.interlocked_concepts.interlocked_natural_type"></a><a href="interlocked_natural_type.html" title="Interlocked Natural Type">Interlocked
+ Natural Type</a></h4>
+ </div>
+ </div>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_natural_type.description"></a>
+ <h6><a id="id457681"></a>
+ Description
+ </h6>
+ <p>
+ An <code class="literal">Interlocked Arithmetic Type</code> is an <a href="interlocked_type.html" title="Interlocked Type">
+ <code class="literal">Interlocked Type</code></a> which supports <code class="computeroutput"><span class="identifier">assign</span></code> and <code class="computeroutput"><span class="identifier">assign_if_was</span></code>
+ operations (aka swap and cas).
+ </p>
+ <div class="variablelist">
+ <p class="title">
+ <b>Notation</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">i</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A value of type <code class="computeroutput"><span class="identifier">I</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">remove_cv</span><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span></code>.
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="computeroutput">
+ <span class="identifier">c1</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="computeroutput">
+ <span class="identifier">C2</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A type which is convertible to <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><span class="special">&</span></code>.
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="computeroutput">
+ <span class="identifier">c2</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A value of type <code class="computeroutput"><span class="identifier">C2</span> <span class="keyword">const</span><span class="special">&</span></code>.
+ </dd>
+ </dl>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_natural_type.refinement_of"></a>
+ <h6><a id="id458011"></a>
+ <a href="interlocked_natural_type.html#boost_act.interlocked.interlocked_concepts.interlocked_natural_type.refinement_of">Refinement
+ of</a>
+ </h6>
+ <p>
+ <a href="interlocked_type.html" title="Interlocked Type">
+ <code class="literal">Interlocked Type</code></a>
+ </p>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_natural_type.expression_requirements"></a>
+ <h6><a id="id458060"></a>
+ <a href="interlocked_natural_type.html#boost_act.interlocked.interlocked_concepts.interlocked_natural_type.expression_requirements">Expression
+ Requirements</a>
+ </h6>
+ <p>
+ In order to be considered a valid <code class="literal">Interlocked Natural 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_type.html" title="Interlocked Type">
+ <code class="literal">Interlocked Type</code></a>.
+ </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="id458260"></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 />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>
+ <p>
+ Expression
+ </p>
+ </th>
+ <th>
+ <p>
+ Operation (Returns Old Value)
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">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>
+ <span class="identifier">c1</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">assign_if_was</span><span class="special">(</span>
+ <span class="identifier">i</span><span class="special">,</span>
+ <span class="identifier">c1</span><span class="special">,</span>
+ <span class="identifier">c2</span> <span class="special">)</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="keyword">if</span><span class="special">(</span>
+ <span class="identifier">i</span> <span class="special">==</span>
+ <span class="identifier">c2</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>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_natural_type.headers"></a>
+ <h6><a id="id458524"></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="id458546">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id458546',
+ '../../../../../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">// 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">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">assign</span><span class="special">/</span><span class="identifier">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">assign</span><span class="special">/</span><span class="identifier">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">assign</span><span class="special">/</span><span class="identifier">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">assign</span><span class="special">/</span><span class="identifier">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">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">assign</span><span class="special">/</span><span class="identifier">assign_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// assign_if_was 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">assign_if_was</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">assign_if_was</span><span class="special">/</span><span class="identifier">assign_if_was</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>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked_type.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../interlocked_concepts.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../../../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="interlocked_arithmetic_type.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div 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/interlocked/interlocked_concepts/interlocked_operation.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_operation.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_operation.html 2007-06-30 16:31:45 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>Interlocked Operation</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="next" href="interlocked_basic_type.html" title="Interlocked Basic Type" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Interlocked Operation</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="next" href="interlocked_type.html" title="Interlocked Type" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
<script type="text/javascript" > <!--
boostscript.init( new Array(
boostscript.nested_links,
@@ -71,7 +71,7 @@
</a>
</div>
<div class="spirit-nav-icon">
- <a accesskey="n" href="interlocked_basic_type.html">
+ <a accesskey="n" href="interlocked_type.html">
<div class="next-icon"></div>
</a>
</div>
@@ -372,7 +372,7 @@
</a>
</div>
<div class="spirit-nav-icon">
- <a accesskey="n" href="interlocked_basic_type.html">
+ <a accesskey="n" href="interlocked_type.html">
<div class="next-icon"></div>
</a>
</div>
Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_type.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,399 @@
+<?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>Interlocked Type</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="../interlocked_concepts.html" title="Interlocked Concepts" /><link rel="prev" href="interlocked_operation.html" title="Interlocked Operation" /><link rel="next" href="interlocked_natural_type.html" title="Interlocked Natural Type" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../../../sections.xml',
+ '../../.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked_operation.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../interlocked_concepts.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../../../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="interlocked_natural_type.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h4 class="title"><a id="boost_act.interlocked.interlocked_concepts.interlocked_type"></a><a href="interlocked_type.html" title="Interlocked Type">Interlocked
+ Type</a></h4>
+ </div>
+ </div>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_type.description"></a>
+ <h6><a id="id456112"></a>
+ Description
+ </h6>
+ <p>
+ An <code class="literal">Interlocked 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 Types</code>,
+ although this will likely change in future releases.
+ </p>
+ <div class="variablelist">
+ <p class="title">
+ <b>Notation</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">i</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A value of type <code class="computeroutput"><span class="identifier">I</span><span class="special">&</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">remove_cv</span><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span></code>.
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="computeroutput">
+ <span class="identifier">c1</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A value of type <code class="computeroutput"><span class="identifier">C1</span> <span class="keyword">const</span><span class="special">&</span></code>.
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="computeroutput">
+ <span class="identifier">IU</span>
+ </code>
+ </span>
+ </dt>
+ <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.interlocked.interlocked_concepts.interlocked_type.expression_requirements"></a>
+ <h6><a id="id456397"></a>
+ <a href="interlocked_type.html#boost_act.interlocked.interlocked_concepts.interlocked_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="id456596"></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">load</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">IU</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Returns the value stored in <code class="computeroutput"><span class="identifier">i</span></code>.
+ This function is an <a href="interlocked_operation.html" title="Interlocked Operation">
+ <code class="literal">Interlocked Operation</code></a> and defaults to
+ <code class="computeroutput"><span class="identifier">acquire</span></code> semantics.
+ Allowable semantics for this operation are <code class="computeroutput"><span class="identifier">unordered</span></code>
+ and <code class="computeroutput"><span class="identifier">acquire</span></code>.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">store</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="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">i</span></code>. This
+ function is an <a href="interlocked_operation.html" title="Interlocked Operation">
+ <code class="literal">Interlocked Operation</code></a> and defaults to
+ <code class="computeroutput"><span class="identifier">release</span></code> semantics.
+ Allowable semantics for this operation are <code class="computeroutput"><span class="identifier">unordered</span></code>
+ and <code class="computeroutput"><span class="identifier">release</span></code>.
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_type.headers"></a>
+ <h6><a id="id456922"></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="id456943">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id456943',
+ '../../../../../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>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked_operation.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../interlocked_concepts.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../../../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="interlocked_natural_type.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div 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/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 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -119,7 +119,7 @@
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 <a href="../"> <code class="literal">Interlocked
+ this is accomplished through the use of the low-level abstraction of an <a href="interlocked/interlocked_concepts/interlocked_type.html" title="Interlocked Type"> <code class="literal">Interlocked
Type</code></a>, which are types that support both thread-unsafe and
thread-safe operations with semantics specified by the user at the call-site.
</p>
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -88,7 +88,7 @@
decisions.
</p>
<a id="boost_act.rationale.policy_based_design"></a>
- <h4><a id="id461627"></a>
+ <h4><a id="id463318"></a>
<a href="rationale.html#boost_act.rationale.policy_based_design">Policy-Based Design</a>
</h4>
<p>
@@ -128,7 +128,7 @@
design.
</p>
<a id="boost_act.rationale.actions_vs__futures"></a>
- <h4><a id="id461720"></a>
+ <h4><a id="id463412"></a>
<a href="rationale.html#boost_act.rationale.actions_vs__futures">Actions vs. Futures</a>
</h4>
<p>
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 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -145,8 +145,14 @@
</dt>
<dt>
<span class="section">
- <a href="boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html">Interlocked
- Basic Type</a>
+ <a href="boost_act/interlocked/interlocked_concepts/interlocked_type.html">Interlocked
+ Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="boost_act/interlocked/interlocked_concepts/interlocked_natural_type.html">Interlocked
+ Natural Type</a>
</span>
</dt>
<dt>
@@ -191,7 +197,7 @@
</div>
<div id="footer">
<div id="footer-left">
- <div id="revised">Revised: June 30, 2007 at 20:04:55 GMT</div>
+ <div id="revised">Revised: June 30, 2007 at 20:30:30 GMT</div>
<div id="copyright"></div>
<div id="license">
<p>Distributed under the
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts.qbk 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -1,7 +1,8 @@
[section Interlocked Concepts]
[include concepts/interlocked_operation.qbk]
-[include concepts/interlocked_basic_type.qbk]
+[include concepts/interlocked_type.qbk]
+[include concepts/interlocked_natural_type.qbk]
[include concepts/interlocked_arithmetic_type.qbk]
[include concepts/interlocked_integer_type.qbk]
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_arithmetic_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_arithmetic_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_arithmetic_type.qbk 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -2,8 +2,8 @@
[heading Description]
-An [concept Interlocked Arithmetic Type] is an __interlocked_basic_type__ which
-supports common arithmetic operations.
+An [concept Interlocked Arithmetic Type] is an __interlocked_natural_type__
+which supports common arithmetic operations.
[variablelist Notation
[[`I`] [An [concept Interlocked Arithmetic Type].] ]
@@ -13,15 +13,15 @@
]
[heading Refinement of]
-__interlocked_type__
+__interlocked_natural_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
-__interlocked_basic_type__. [concept Interlocked Arithmetic Types] also support
-all operations specified in the C++ standard for arithmetic types. Such
+__interlocked_natural_type__. [concept Interlocked Arithmetic Types] also
+support all operations specified in the C++ standard for arithmetic types. Such
operations do not imply memory barriers of any kind.
[note
Deleted: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_basic_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_basic_type.qbk 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
+++ (empty file)
@@ -1,82 +0,0 @@
-[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.
-
-[variablelist Notation
-[[`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`] [`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
- function is an
- __interlocked_operation__ and defaults to
- `acquire` semantics. Allowable semantics
- for this operation are `unordered` and
- `acquire`.
- ] ]
-[[`store( i, c1 )`] [`void`] [Stores the value of `c1` to object `i`.
- This function is an
- __interlocked_operation__ and defaults to
- `release` semantics. Allowable semantics
- for this operation are `unordered` and
- `release`.
- ] ]
-]
-
-[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/interlocked/concepts/interlocked_natural_type.qbk
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_natural_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_natural_type.qbk 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -2,14 +2,16 @@
[heading Description]
-An [concept Interlocked Arithmetic Type] is an __interlocked_basic_type__ which
-supports common arithmetic operations.
+An [concept Interlocked Arithmetic Type] is an __interlocked_type__ which
+supports `assign` and `assign_if_was` operations (aka swap and cas).
[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&`.] ]
+[[`C2`] [A type which is convertible to `remove_cv<I>::type&`.] ]
+[[`c2`] [A value of type `C2 const&`.] ]
]
[heading Refinement of]
@@ -20,7 +22,7 @@
In order to be considered a valid [concept Interlocked Natural Type], given the
variable definitions below, the following expressions must be well-formed and
have the indicated effects, in addition to those requirements of
-__interlocked_basic_type__.
+__interlocked_type__.
[note
Each of the following operations is a valid __interlocked_operation__, therefore
@@ -48,29 +50,24 @@
// Only forward declarations.
#include <boost/act/interlocked_fwd.hpp>
- // increment headers.
+ // assign headers.
#include <boost/act/interlocked/assign.hpp>
#include <boost/act/interlocked/assign/assign_acquire.hpp>
- #include <boost/act/interlocked/assign/assign_acquire.hpp>
- #include <boost/act/interlocked/assign/assign_acquire.hpp>
- #include <boost/act/interlocked/assign/assign_acquire.hpp>
- #include <boost/act/interlocked/assign/assign_acquire.hpp>
+ #include <boost/act/interlocked/assign/assign_release.hpp>
+ #include <boost/act/interlocked/assign/assign_acq_rel.hpp>
+ #include <boost/act/interlocked/assign/assign_unordered.hpp>
// Forward declarations.
- #include <boost/act/interlocked/increment_fwd.hpp>
- #include <boost/act/interlocked/increment/increment_fwd.hpp>
+ #include <boost/act/interlocked/assign_fwd.hpp>
+ #include <boost/act/interlocked/assign/assign_fwd.hpp>
/* etc. */
- // decrement headers.
- #include <boost/act/interlocked/decrement.hpp>
- #include <boost/act/interlocked/decrement/decrement.hpp>
+ // assign_if_was headers.
+ #include <boost/act/interlocked/assign_if_was.hpp>
+ #include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
/* etc. */
-
- ////////////////////////////////////////////////////////////////////////////
- // Headers for the remaining operations follow the same pattern as above. //
- ////////////////////////////////////////////////////////////////////////////
``
[endsect]
Copied: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_type.qbk (from r7325, /sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_basic_type.qbk)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_basic_type.qbk (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_type.qbk 2007-06-30 16:31:45 EDT (Sat, 30 Jun 2007)
@@ -1,15 +1,15 @@
-[section Interlocked Basic Type]
+[section Interlocked Type]
[heading Description]
-An [concept Interlocked Basic Type] is a type whose instances support
+An [concept Interlocked 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
+built-in types may be [concept Interlocked Types], although this will
likely change in future releases.
[variablelist Notation
-[[`I`] [An [concept Interlocked Basic Type].] ]
+[[`I`] [An [concept Interlocked 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&`.] ]
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