Boost logo

Boost-Commit :

From: matt_calabrese_at_[hidden]
Date: 2007-06-30 16:17:07


Author: matt_calabrese
Date: 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
New Revision: 7327
URL: http://svn.boost.org/trac/boost/changeset/7327

Log:

Added:
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/
   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/brief_description.html
   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/interlocked/
   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/interlocked_concepts/
   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/interlocked_arithmetic_type.html
   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_integer_type.html
   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/introduction.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html
Text files modified:
   sandbox/SOC/2006/concurrency/trunk/libs/act/doc/interlocked/concepts/interlocked_natural_type.qbk | 76 ++++++++++++++++++++++++++++++++++++++++
   1 files changed, 76 insertions(+), 0 deletions(-)

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/HTML.manifest 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,12 @@
+index.html
+boost_act/beta_warning.html
+boost_act/brief_description.html
+boost_act/introduction.html
+boost_act/compiler_setup.html
+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_arithmetic_type.html
+boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html
+boost_act/rationale.html

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/beta_warning.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/beta_warning.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,178 @@
+<?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="../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,
+ 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="../index.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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="brief_description.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>
+ <h2 class="title"><a id="boost_act.beta_warning"></a>Beta Warning</h2>
+ </div>
+ </div>
+ </div>
+ <div class="caution">
+ <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="caution-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Caution</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ <code class="literal">Boost.Act</code> is still in beta and is not yet up for formal
+ review. The documentation that follows details both features which are
+ fully implemented and those which are partially. Because of this, <code class="literal">Boost.Act</code>
+ is currently only recommended for testing and experimentation. Current
+ compilers used during testing are Visual C++ 8.0, GCC 4.2, and Intel 10,
+ all targeting x86.
+ </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>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="../index.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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="brief_description.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/brief_description.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/brief_description.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,150 @@
+<?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="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,
+ 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="beta_warning.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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="introduction.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>
+ <h2 class="title"><a id="boost_act.brief_description"></a>Brief Description</h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ Boost.Act is a C++ library which introduces STL-style algorithms that may be
+ toggled to run in parallel or serially, and which provides tools for creating
+ and working with parallelable algorithms, asynchronous function calls, active
+ objects, and atomic objects, all with implementations adjustable via policies.
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="beta_warning.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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="introduction.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/compiler_setup.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,392 @@
+<?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>Compiler Setup</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="introduction.html" title="Introduction" /><link rel="next" href="interlocked.html" title="Interlocked" /><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="introduction.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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.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>
+ <h2 class="title"><a id="boost_act.compiler_setup"></a>Compiler Setup</h2>
+ </div>
+ </div>
+ </div>
+ <a id="boost_act.compiler_setup.activating_openmp_support_in_visual_c___2005"></a>
+ <h4><a id="id390172"></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>
+ <p>
+ With the current implementation, in order to take advantage of the parallel
+ algorithms provided by Boost.Act you must have a compiler that supports OpenMP 1.0 extensions or higher.
+ </p>
+ <div class="important">
+ <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="important-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Important</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ If your compiler does not support the OpenMP extensions or if they are
+ not enabled, <code class="literal">polymorphic algorithms</code> will execute serially
+ regardless of whether or not you are using the <code class="literal">parallel_algo_model</code>
+ policy.
+ </p>
+ <p>
+ </p>
+ <p>
+ The following table is intended to be a quick reference for some of the
+ more commonly used compilers. If your compiler is not listed it does not
+ mean that OpenMP is not supported, but rather, it means that you should
+ check your compiler's documentation to determine if you will be able to
+ enable the OpenMP extensions in order to take advantage of parallel algorithms
+ through Boost.Act.
+ </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="id390240"></a>
+ <p class="title">
+ <b>Table 1. OpenMP Extension Support</b>
+ </p>
+ <div class="table-contents">
+ <table class="table" summary="OpenMP Extension Support">
+ <colgroup>
+ <col />
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>
+ <p>
+ Compiler
+ </p>
+ </th>
+ <th>
+ <p>
+ OpenMP Support
+ </p>
+ </th>
+ <th>
+ <p>
+ Compiler Switch
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>Borland C++ Builder</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ No
+ </p>
+ </td>
+ <td>
+ <p>
+ N/A
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>G++</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="bold"><strong>GCC 4.2 and up:</strong></span> OpenMP 2.5
+ </p>
+ </td>
+ <td>
+ <p>
+ -fopenmp
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>IBM XLC</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ OpenMP 2.5
+ </p>
+ </td>
+ <td>
+ <p>
+ -qsmp=omp
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>Intel C++</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="bold"><strong>9.0 and up:</strong></span> OpenMP 2.5
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="bold"><strong>Windows:</strong></span> /Qopenmp
+ </p>
+ <p>
+ <span class="bold"><strong>Linux:</strong></span> -openmp
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>PG++</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="bold"><strong>Linux only:</strong></span> OpenMP 2.5
+ </p>
+ </td>
+ <td>
+ <p>
+ -mp
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>Sun Studio Compilers</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ OpenMP 2.5
+ </p>
+ </td>
+ <td>
+ <p>
+ -xopenmp
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <span class="bold"><strong>Visual C++</strong></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="bold"><strong>2005 Professional and up:</strong></span> OpenMP 2.0
+ </p>
+ </td>
+ <td>
+ <p>
+ /openmp Through IDE
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <a id="vc_openmp"></a>
+ <p>
+ </p>
+ <a id="boost_act.compiler_setup.activating_openmp_support_in_visual_c___2005"></a>
+ <h4><a id="id388485"></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>
+ <p>
+ In Visual Studio 2005 Professional Edition and higher, you may enable and disable
+ OpenMP support by opening up the properties for your project, selecting <code class="literal">Configuration
+ Properties -&gt; C/C++ -&gt; Language</code>, and setting <code class="literal">OpenMP
+ Support</code> to <code class="literal">Yes</code>. Note that Visual Studio 2005 Express
+ Edition and Standard Edition do <span class="bold"><strong>not</strong></span> support
+ OpenMP despite the option being there, so if you attempt to enable it you will
+ get a linker error upon build.
+ </p>
+ <a id="boost_act.compiler_setup.linking_with_boost_threads"></a>
+ <h4><a id="id388545"></a>
+ <a href="compiler_setup.html#boost_act.compiler_setup.linking_with_boost_threads">Linking
+ with Boost.Threads</a>
+ </h4>
+ <p>
+ In order to compile programs which use <code class="literal">Boost.Act</code>, you must
+ build and link to <code class="literal">Boost.Threads</code>. For details on building
+ Boost, see <a href="http://boost.org/more/getting_started.html#Build_Install">Build
+ and Install</a>.
+ </p>
+ <a id="boost_act.compiler_setup.compiling_the_library"></a>
+ <h4><a id="id388598"></a>
+ <a href="compiler_setup.html#boost_act.compiler_setup.compiling_the_library">Compiling the
+ Library</a>
+ </h4>
+ <p>
+ For simplicity during testing, <code class="literal">Boost.Act</code> is currently contained
+ entirely in header files. Therefore, you do not need to explicitly build or
+ link to <code class="literal">Boost.Act</code> in order to use it.
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="introduction.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,192 @@
+<?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</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="compiler_setup.html" title="Compiler Setup" /><link rel="next" href="interlocked/interlocked_concepts.html" title="Interlocked Concepts" /><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="compiler_setup.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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/interlocked_concepts.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>
+ <h2 class="title"><a id="boost_act.interlocked"></a>Interlocked</h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <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">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="interlocked/interlocked_concepts.html">Interlocked
+ Concepts</a>
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="interlocked/interlocked_concepts/interlocked_operation.html">Interlocked
+ Operation</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked/interlocked_concepts/interlocked_basic_type.html">Interlocked
+ Basic Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked/interlocked_concepts/interlocked_arithmetic_type.html">Interlocked
+ Arithmetic Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked/interlocked_concepts/interlocked_integer_type.html">Interlocked
+ Integer Type</a>
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="compiler_setup.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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/interlocked_concepts.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,183 @@
+<?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 Concepts</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.html" title="Interlocked" /><link rel="prev" href="../interlocked.html" title="Interlocked" /><link rel="next" href="interlocked_concepts/interlocked_operation.html" title="Interlocked Operation" /><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.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../interlocked.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_concepts/interlocked_operation.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>
+ <h3 class="title"><a id="boost_act.interlocked.interlocked_concepts"></a><a href="interlocked_concepts.html" title="Interlocked Concepts">Interlocked
+ Concepts</a></h3>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <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">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="interlocked_concepts/interlocked_operation.html">Interlocked
+ Operation</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked_concepts/interlocked_basic_type.html">Interlocked
+ Basic Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked_concepts/interlocked_arithmetic_type.html">Interlocked
+ Arithmetic Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="interlocked_concepts/interlocked_integer_type.html">Interlocked
+ Integer Type</a>
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="../interlocked.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../interlocked.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_concepts/interlocked_operation.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,440 @@
+<?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>
+ <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_basic_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_integer_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_arithmetic_type"></a><a href="interlocked_arithmetic_type.html" title="Interlocked Arithmetic Type">Interlocked
+ Arithmetic Type</a></h4>
+ </div>
+ </div>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.description"></a>
+ <h6><a id="id457688"></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>
+ <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">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&amp;</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">&amp;</span></code>.
+ </dd>
+ </dl>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.refinement_of"></a>
+ <h6><a id="id457898"></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>
+ </p>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_arithmetic_type.expression_requirements"></a>
+ <h6><a id="id457946"></a>
+ <a href="interlocked_arithmetic_type.html#boost_act.interlocked.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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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="id458158"></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">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>
+ <span class="identifier">c1</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">decrement</span><span class="special">(</span>
+ <span class="identifier">i</span> <span class="special">)</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ <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">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>
+ <span class="identifier">c1</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <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>
+ </p>
+ </td>
+ <td>
+ <p>
+ <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">multiply_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">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>
+ <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_arithmetic_type.headers"></a>
+ <h6><a id="id458673"></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="id458694">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id458694',
+ '../../../../../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">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// Only forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// increment headers.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_acquire</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_release</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_unordered</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+
+<span class="comment">// Forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">increment</span><span class="special">/</span><span class="identifier">increment_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// decrement headers.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">decrement</span><span class="special">/</span><span class="identifier">decrement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</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>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked_basic_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_integer_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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html 2007-06-30 16:17:05 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 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">&amp;</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">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&amp;</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">&amp;</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">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// Only forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// load headers.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load_acquire</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load_unordered</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// Forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">load</span><span class="special">/</span><span class="identifier">load_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// store headers.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">store</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">store</span><span class="special">/</span><span class="identifier">store</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,458 @@
+<?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 Integer 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_arithmetic_type.html" title="Interlocked Arithmetic Type" /><link rel="next" href="../../rationale.html" title="Rationale" /><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_arithmetic_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="../../rationale.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_integer_type"></a><a href="interlocked_integer_type.html" title="Interlocked Integer Type">Interlocked
+ Integer Type</a></h4>
+ </div>
+ </div>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.description"></a>
+ <h6><a id="id459597"></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>
+ <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 Integer 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">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&amp;</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">&amp;</span></code>.
+ </dd>
+ </dl>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.refinement_of"></a>
+ <h6><a id="id459808"></a>
+ <a href="interlocked_integer_type.html#boost_act.interlocked.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.interlocked.interlocked_concepts.interlocked_integer_type.expression_requirements"></a>
+ <h6><a id="id459856"></a>
+ <a href="interlocked_integer_type.html#boost_act.interlocked.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">&lt;</span><span class="identifier">IV</span><span class="special">&gt;::</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="id460065"></a>
+ <p class="title">
+ <b>Table 6. Interlocked Integer Type Requirements</b>
+ </p>
+ <div class="table-contents">
+ <table class="table" summary="Interlocked Integer 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">bitand_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">&amp;=</span>
+ <span class="identifier">c1</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bitor_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">compl_assign</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="special">~</span><span class="identifier">i</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lshift_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">&lt;&lt;=</span>
+ <span class="identifier">c1</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mod_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">rshift_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">&gt;&gt;=</span>
+ <span class="identifier">c1</span><span class="special">;</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">xor_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>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_integer_type.headers"></a>
+ <h6><a id="id460702"></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="id460724">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id460724',
+ '../../../../../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">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// Only forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// bitand_assign headers.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+
+
+<span class="comment">// Forward declarations.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitand_assign_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</span>
+<span class="comment">/* etc. */</span>
+
+
+<span class="comment">// bitor_assign headers.
+</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">bitor_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">act</span><span class="special">/</span><span class="identifier">interlocked</span><span class="special">/</span><span class="identifier">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">&gt;</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>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked_arithmetic_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="../../rationale.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_operation.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/interlocked/interlocked_concepts/interlocked_operation.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,407 @@
+<?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>
+ <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_concepts.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_basic_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_operation"></a><a href="interlocked_operation.html" title="Interlocked Operation">Interlocked
+ Operation</a></h4>
+ </div>
+ </div>
+ </div>
+ <p>
+ An <code class="literal">Interlocked Operation</code> is a function which provides
+ guarantees concerning order and visibility of read and write operations
+ with respect to multiple threads, often with semantics which may be specified
+ by users at the call site.
+ </p>
+ <p>
+ In order to be considered a valid <code class="literal">Interlocked Operation</code>,
+ given the variable definitions below, the following expressions must be
+ well-formed and have the indicated effects.
+ </p>
+ <div class="variablelist">
+ <p class="title">
+ <b>Notation</b>
+ </p>
+ <dl>
+ <dt>
+ <span class="term">
+ <em class="replaceable"><code>
+ name
+ </code></em>
+ </span>
+ </dt>
+ <dd>
+ An <code class="literal">Interlocked Operation</code>.
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="computeroutput">
+ <span class="identifier">S</span>
+ </code>
+ </span>
+ </dt>
+ <dd>
+ A <a href="interlocked_operation.html#boost_act.interlocked.interlocked_concepts.interlocked_operation.semantic_type">
+ <code class="literal">Semantic Type</code></a>.
+ </dd>
+ <dt>
+ <span class="term">
+ <em class="replaceable"><code>
+ args
+ </code></em>
+ </span>
+ </dt>
+ <dd>
+ The argument list (if any) for the <code class="literal">Interlocked Operation</code>.
+ </dd>
+ </dl>
+ </div>
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_operation.expression_requirements"></a>
+ <h6><a id="id455580"></a>
+ <a href="interlocked_operation.html#boost_act.interlocked.interlocked_concepts.interlocked_operation.expression_requirements">Expression
+ Requirements</a>
+ </h6>
+ <div class="table">
+ <a id="id455599"></a>
+ <p class="title">
+ <b>Table 2. Interlocked Operation Requirements</b>
+ </p>
+ <div class="table-contents">
+ <table class="table" summary="Interlocked Operation Requirements">
+ <colgroup>
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>
+ <p>
+ Expression
+ </p>
+ </th>
+ <th>
+ <p>
+ Pre/Post-Condition
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput">name(args) </code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Performs the operation with the default semantics as specified for
+ that operation.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput">name&lt;S&gt;(args)</code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Performs the operation with the specified semantics. <span class="emphasis"><em>Note:
+ Not all <code class="literal">Interlocked Operations</code> support every
+ <a href="interlocked_operation.html#boost_act.interlocked.interlocked_concepts.interlocked_operation.semantic_type">
+ <code class="literal">Semantic Type</code></a>. Refer to documentation for
+ the corresponding operation for exactly which semantics are supported
+ for that operation. All <code class="literal">Interlocked Operations</code>
+ must support the <code class="computeroutput"><span class="identifier">default_</span></code>
+ <a href="interlocked_operation.html#boost_act.interlocked.interlocked_concepts.interlocked_operation.semantic_type">
+ <code class="literal">Semantic Type</code></a>. --end note</em></span>
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <a id="boost_act.interlocked.interlocked_concepts.interlocked_operation.semantic_type"></a>
+ <h6><a id="id455767"></a>
+ <a href="interlocked_operation.html#boost_act.interlocked.interlocked_concepts.interlocked_operation.semantic_type">Semantic
+ Type</a>
+ </h6>
+ <p>
+ While all <code class="literal">Interlocked Operations</code> specify certain guarantees
+ by default, these may often be toggled to make an operation's ordering
+ more or less constrained by passing a <code class="literal">Semantic Type</code>
+ as an explicit template argument to the corresponding template. Not all
+ <code class="literal">Interlocked Operations</code> support all <code class="literal">Semantic
+ Types</code>.
+ </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>
+ If you are unsure as to which semantics you should use for a given
+ situation, it is generally safest to use the default semantics of the
+ corresponding <code class="literal">Interlocked Operation</code>. If efficiency
+ is important for your application, you should prefer to use the least-restrictive
+ semantics that you can without breaking allowable ordering of visibility
+ between threads.
+ </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="id455834"></a>
+ <p class="title">
+ <b>Table 3. Semantic Types</b>
+ </p>
+ <div class="table-contents">
+ <table class="table" summary="Semantic Types">
+ <colgroup>
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>
+ <p>
+ Type
+ </p>
+ </th>
+ <th>
+ <p>
+ Ordering Guarantee
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unordered</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ No ordering guarantee.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">acquire</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ The operation is made visible before all subsequent instructions.
+ <code class="computeroutput"><span class="identifier">acquire</span></code> semantics
+ are generally used for read or read-write operations.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">release</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ The operation is made visible after all prior instructions. <code class="computeroutput"><span class="identifier">release</span></code> semantics are generally
+ used for write or read-write operations.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">acq_rel</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Combines the ordering guarantees of both <code class="computeroutput"><span class="identifier">acquire</span></code>
+ and <code class="computeroutput"><span class="identifier">release</span></code>. <code class="computeroutput"><span class="identifier">acq_rel</span></code> semantics are generally
+ used for read-write operations only.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">default_</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Uses the default ordering guarantees as specified by the corresponding
+ <code class="literal">Interlocked Operation</code>.
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="../interlocked_concepts.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_basic_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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/introduction.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,249 @@
+<?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="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,
+ 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="brief_description.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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="compiler_setup.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>
+ <h2 class="title"><a id="boost_act.introduction"></a>Introduction</h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ With the advent of multi-core processors reaching the mainstream user along
+ with the gradual tapering of the increase of individual core speeds, there
+ is a growing need for high-level tools to simplify the creation of multi-threaded
+ applications in order to allow for scalability of software over the years to
+ come. Preferably, a solution should also allow existing code-bases to be easily
+ and incrementally updated to take advantage of modern day processors, and as
+ well, code which may be targetting both multi-core and single-core processors
+ should not have to suffer by strictly using one model of execution. Rather,
+ behavior should be toggleable on a variety of levels such that alterations
+ in a small number of locations in code could change the technique used for
+ execution over a large portion of a given project.
+ </p>
+ <p>
+ Boost.Act attempts to supply a solution to this problem in the form of a portable
+ library which provides STL-style algorithms that can be toggled via template
+ policies to execute either synchronously or in parallel, and by providing templates
+ and macros to allow the creation of asynchronous functions, active objects,
+ and atomic objects. In addition, Boost.Act also allows the decoupling of signaling
+ function calls from their actual invocations in such a way that one may switch
+ 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.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 <a href="../"> <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>
+ <a id="boost_act.introduction.polymorphic_algorithms"></a>
+ <h4><a id="id388786"></a>
+ Polymorphic Algorithms
+ </h4>
+ <p>
+ For the scope of this library, a polymorphic algorithm is considered to be
+ an algorithm whose model of execution may vary depending on policies passed
+ prior to invocation. For example, a polymorphic algorithm may run serially
+ with one policy and may internally run in parallel and rejoin with a different
+ policy. Regardless of which policies are used, the same logical operation is
+ performed, allowing users to switch between different execution models with
+ minimal changes to code.
+ </p>
+ <p>
+ One of the fundamental components of Boost.Act is its collection of STL-style
+ polymorphic algorithms. Those familiar with the STL will find themselves right
+ at home, as the majority of the algorithms correspond directly with those in
+ the STL and are callable in a similar manner, with the additional ability to
+ toggle the execution model of the algorithm. Along with the standard algorithms
+ provided by the STL, other templates are also included for the sole purpose
+ of the creation of user-defined polymorphic algorithms.
+ </p>
+ <a id="boost_act.introduction.algorithm_models"></a>
+ <h4><a id="id388833"></a>
+ Algorithm Models
+ </h4>
+ <p>
+ By default, Boost.Act algorithms are performed in parallel whenever possible.
+ Algorithm models are types which are used as policies to alter this behavior
+ when required on both a global and call-by-call level. In addition to the parallel
+ algorithm model, a serial algorithm model is provided which forces calls to
+ be made in a single thread. Users may also create their own algorithm models
+ if the desired behavior is not provided by either of those included with the
+ library.
+ </p>
+ <a id="boost_act.introduction.actions"></a>
+ <h4><a id="id388858"></a>
+ Actions
+ </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>, 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 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="id390126"></a>
+ Active Objects
+ </h4>
+ <p>
+ Much like we have a way of decoupling the signaling of a function from the
+ 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 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>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="brief_description.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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="compiler_setup.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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/boost_act/rationale.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,203 @@
+<?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>Rationale</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="interlocked/interlocked_concepts/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,
+ 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/interlocked_concepts/interlocked_integer_type.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title"><a id="boost_act.rationale"></a>Rationale</h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ Boost.Act is a fairly large library and makes some controversial design decisions.
+ This section is provided to briefly describe the rationale behind some of these
+ decisions.
+ </p>
+ <a id="boost_act.rationale.policy_based_design"></a>
+ <h4><a id="id461627"></a>
+ Policy-Based Design
+ </h4>
+ <p>
+ Boost.Act offers programmers customizability through two kinds of policies
+ which control algorithm execution and active qualification implementation.
+ These policies allow one to adjust whether algorithms run in parallel when
+ possible or always serially, and allow one to adjust whether active types create
+ their own thread or operate in the master thread. Default policies used can
+ be overriden at a global level or individually at points of instantiation.
+ The reason this may be considered controversial is that some may argue that
+ the use of policies here adds needless complexity at little gain. <span class="emphasis"><em>In
+ short, why not just use the STL in cases where algorithms need to be run serially
+ and why not just not use active objects in places where you do not need your
+ object to exist in its own thread?</em></span>
+ </p>
+ <p>
+ The reasons for choosing policies stem mostly from the fact that they provide
+ an easy way to switch execution models for arbitrary amounts of code with very
+ few changes to the code using the library. Reasons one may wish to switch policies
+ at the call-site range from reasons of optimization to reasons of debugging.
+ In terms of optimization, using active objects and parallel algorithms may
+ have a negative impact on performance in single-core systems, therefore the
+ ability to toggle the execution model by merely changing the default policy
+ used allows a programmer to target both single-core and multicore processors
+ by simply rebuilding after changing the policy being used. In theory, using
+ policies which target single-core sytems can be optimized to the same code
+ as a project which avoided the abstraction entirely.
+ </p>
+ <p>
+ As an example of switching policies for debugging, single-threaded algorithms
+ can often be more simple to debug than multi-threaded algorithms. If a bug
+ is narrowed down to a single algorithm which runs in parallel, one may easily
+ switch execution for that call to be serial, making it much easier to step
+ through in order to find the problem. This also helps in figuring out if certain
+ unwanted behavior is being caused by multi-threading issues or if there is
+ a more simple logical problem which exists at a higher-level in the algorithm's
+ design.
+ </p>
+ <a id="boost_act.rationale.actions_vs__futures"></a>
+ <h4><a id="id461720"></a>
+ Actions vs. Futures
+ </h4>
+ <p>
+ Another fairly controversial design decision is the absence of futures, or
+ at least futures as they are commonly known. Rather than returning futures
+ from asynchronous function calls and function calls queued on active objects,
+ <code class="literal">actions</code> are yielded which represent the running function
+ and provide an indirect interface to an instance of the active qualified form
+ of the return type. This choice was made for a variety of reasons. First and
+ foremost, this allows a programmer to work with the results of such function
+ calls without losing concurrency by default, as functions upon them are queued
+ rather than performed immediately after implicitly or explicitly forcing the
+ function to complete. The traditional blocking form of futures, while can potentially
+ be implemented in such a way that is [slightly] more optimized for single-core
+ processors, implies an unnecessary loss of concurrency and becomes less efficient
+ if multiple cores are available. Still, the traditional behavior of futures
+ can be forced through actions by simply copying the active result to an active-unqualified
+ form of the result type using <code class="literal">inactive_value</code>, forcing a
+ wait for the function to complete. This gives actions of Boost.Act a superset
+ of the functionality provided by futures meaning that those who wish to use
+ actions in a future-like manner may do so.
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="interlocked/interlocked_concepts/interlocked_integer_type.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.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>
+ <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>

Added: sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/doc/html/index.html 2007-06-30 16:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,218 @@
+<?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/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,
+ 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="n" href="boost_act/beta_warning.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="article">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title"><a id="act"></a>Boost.Act</h2>
+ </div>
+ <div>
+ <div class="authorgroup">
+ <div class="author">
+ <h3 class="author"><span class="firstname">Matthew</span> <span class="surname">Calabrese</span></h3>
+ </div>
+ </div>
+ </div>
+ <div>
+ <p class="copyright">Copyright © 2006 , 2007 Matthew Calabrese</p>
+ </div>
+ <div>
+ <div class="legalnotice">
+ <a id="id388330"></a>
+ <p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="titlepage_separator"></div>
+ </div>
+ <div class="toc">
+ <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">
+ <p>
+ <b>Table of Contents</b>
+ </p>
+ <dl>
+ <dt>
+ <span class="section">
+ Beta Warning
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Brief Description
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Introduction
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Compiler Setup
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Interlocked
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="boost_act/interlocked/interlocked_concepts.html">Interlocked
+ Concepts</a>
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="boost_act/interlocked/interlocked_concepts/interlocked_operation.html">Interlocked
+ Operation</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="boost_act/interlocked/interlocked_concepts/interlocked_basic_type.html">Interlocked
+ Basic Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="boost_act/interlocked/interlocked_concepts/interlocked_arithmetic_type.html">Interlocked
+ Arithmetic Type</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="boost_act/interlocked/interlocked_concepts/interlocked_integer_type.html">Interlocked
+ Integer Type</a>
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ Rationale
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <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 20:04:55 GMT</div>
+ <div id="copyright"></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/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:17:05 EDT (Sat, 30 Jun 2007)
@@ -0,0 +1,76 @@
+[section Interlocked Natural 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 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__.
+
+[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 Arithmetic Type Requirements
+[[Expression] [Operation (Returns Old Value)] ]
+[[`assign( i, c1 )`] [`i = c1;`] ]
+[[`assign_if_was( i, c1, c2 )`] [`if( i == c2 ) 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/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>
+
+
+ // 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]


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