Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56357 - in sandbox/stm/branches/vbe/libs/stm/doc: . html html/toward_boost_stm html/toward_boost_stm/appendices html/toward_boost_stm/reference html/toward_boost_stm/users_guide reference
From: vicente.botet_at_[hidden]
Date: 2009-09-22 14:14:17


Author: viboes
Date: 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
New Revision: 56357
URL: http://svn.boost.org/trac/boost/changeset/56357

Log:
TBoost.Stm vbe
* DRAFT documentation ongoing

Added:
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_object_hpp.html (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/cache_fct_hpp.html (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/doc/reference/base_transaction_object.qbk (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/doc/reference/cache_fct.qbk (contents, props changed)
   sandbox/stm/branches/vbe/libs/stm/doc/stm.pdf (contents, props changed)
Text files modified:
   sandbox/stm/branches/vbe/libs/stm/doc/html/index.html | 17
   sandbox/stm/branches/vbe/libs/stm/doc/html/standalone_HTML.manifest | 8
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/changes.html | 4
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/implementation.html | 10
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/rationale.html | 66 +++---
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/todo.html | 12
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference.html | 83 ++++---
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_contention_manager_hpp.html | 8
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_hpp.html | 393 -------------------------------------
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/data_types_hpp.html | 40 +++
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/exceptions_hpp.html | 6
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/language_like_hpp.html | 8
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_tx_smart_ptr_hpp.html | 6
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_bookkeeping_hpp.html | 6
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_hpp.html | 8
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_object_hpp.html | 413 +++------------------------------------
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_object_hpp.html | 6
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/users_guide/tutorial.html | 14
   sandbox/stm/branches/vbe/libs/stm/doc/reference.qbk | 13
   sandbox/stm/branches/vbe/libs/stm/doc/reference/data_types.qbk | 18 +
   sandbox/stm/branches/vbe/libs/stm/doc/reference/transaction_object.qbk | 198 -------------------
   sandbox/stm/branches/vbe/libs/stm/doc/tutorial.qbk | 4
   22 files changed, 230 insertions(+), 1111 deletions(-)

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/index.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/index.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/index.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -52,12 +52,19 @@
 </dl></dd>
 <dt><span class="section">Reference</span></dt>
 <dd><dl>
+<dt><span class="section"><a href="toward_boost_stm/reference/base_contention_manager_hpp.html">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="toward_boost_stm/reference/base_transaction_object_hpp.html">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"> Header <boost/stm/cache_fct.hpp></span></dt>
 <dt><span class="section"> Header <boost/stm/data_types.hpp></span></dt>
 <dt><span class="section"> Header <boost/stm/exceptions.hpp></span></dt>
+<dt><span class="section"><a href="toward_boost_stm/reference/language_like_hpp.html"> Header
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">language_like</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="toward_boost_stm/reference/transaction_hpp.html"> Header
       <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="toward_boost_stm/reference/base_transaction_hpp.html"> Header
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_transaction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="toward_boost_stm/reference/transaction_object_hpp.html"> Header
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="toward_boost_stm/reference/transactional_object_hpp.html">
       Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transactional_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"> Header <boost/stm/tx_ptr.hpp></span></dt>
@@ -65,10 +72,6 @@
       <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx_smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="toward_boost_stm/reference/non_tx_smart_ptr_hpp.html"> Header
       <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">non_tx_smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="toward_boost_stm/reference/base_contention_manager_hpp.html">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="toward_boost_stm/reference/language_like_hpp.html"> Header
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">language_like</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dt><span class="section"><a href="toward_boost_stm/reference/transaction_bookkeeping_hpp.html">
       Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_bookkeeping</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 </dl></dd>
@@ -107,7 +110,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: September 20, 2009 at 23:08:52 GMT</small></p></td>
+<td align="left"><p><small>Last revised: September 22, 2009 at 16:33:31 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/standalone_HTML.manifest (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/standalone_HTML.manifest 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -7,16 +7,18 @@
 toward_boost_stm/users_guide/ext_references.html
 toward_boost_stm/users_guide/glosary.html
 toward_boost_stm/reference.html
+toward_boost_stm/reference/base_contention_manager_hpp.html
+toward_boost_stm/reference/base_transaction_object_hpp.html
+toward_boost_stm/reference/cache_fct_hpp.html
 toward_boost_stm/reference/data_types_hpp.html
 toward_boost_stm/reference/exceptions_hpp.html
+toward_boost_stm/reference/language_like_hpp.html
 toward_boost_stm/reference/transaction_hpp.html
-toward_boost_stm/reference/base_transaction_hpp.html
+toward_boost_stm/reference/transaction_object_hpp.html
 toward_boost_stm/reference/transactional_object_hpp.html
 toward_boost_stm/reference/tx_ptr_hpp.html
 toward_boost_stm/reference/tx_smart_ptr_hpp.html
 toward_boost_stm/reference/non_tx_smart_ptr_hpp.html
-toward_boost_stm/reference/base_contention_manager_hpp.html
-toward_boost_stm/reference/language_like_hpp.html
 toward_boost_stm/reference/transaction_bookkeeping_hpp.html
 toward_boost_stm/examples.html
 toward_boost_stm/appendices.html

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/changes.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/changes.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/changes.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -27,7 +27,7 @@
 <a name="toward_boost_stm.appendices.changes"></a><a class="link" href="changes.html" title="Appendix A: History"> Appendix A: History</a>
 </h3></div></div></div>
 <a name="toward_boost_stm.appendices.changes._emphasis_role__bold__version_0_1__xx_yy__2009__emphasis___emphasis_announcement_of_stm__emphasis_"></a><h5>
-<a name="id4897896"></a>
+<a name="id4898225"></a>
         <a class="link" href="changes.html#toward_boost_stm.appendices.changes._emphasis_role__bold__version_0_1__xx_yy__2009__emphasis___emphasis_announcement_of_stm__emphasis_"><span class="bold"><strong>Version 0.1, XX YY, 2009</strong></span> <span class="emphasis"><em>Announcement of
         STM</em></span></a>
       </h5>
@@ -47,7 +47,7 @@
         </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.changes._emphasis_role__bold__tickets___emphasis_"></a><h5>
-<a name="id4897968"></a>
+<a name="id4898297"></a>
         <a class="link" href="changes.html#toward_boost_stm.appendices.changes._emphasis_role__bold__tickets___emphasis_"><span class="bold"><strong>Tickets:</strong></span></a>
       </h5>
 <p>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/implementation.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/implementation.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/implementation.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -49,7 +49,7 @@
           constructs are shown in Figures 6 and 8, respectively.
         </p>
 <a name="toward_boost_stm.appendices.implementation.language_like_macro_blocks.locking_macros"></a><h6>
-<a name="id4913501"></a>
+<a name="id4913883"></a>
           <a class="link" href="implementation.html#toward_boost_stm.appendices.implementation.language_like_macro_blocks.locking_macros">Locking
           Macros</a>
         </h6>
@@ -72,7 +72,7 @@
           are executed once and only once.
         </p>
 <a name="toward_boost_stm.appendices.implementation.language_like_macro_blocks.transaction_macros"></a><h6>
-<a name="id4913550"></a>
+<a name="id4913947"></a>
           <a class="link" href="implementation.html#toward_boost_stm.appendices.implementation.language_like_macro_blocks.transaction_macros">Transaction
           Macros</a>
         </h6>
@@ -121,7 +121,7 @@
           transaction is aborted.
         </p>
 <a name="toward_boost_stm.appendices.implementation.language_like_macro_blocks.correcting_non_compliant_compilers"></a><h6>
-<a name="id4913656"></a>
+<a name="id4914053"></a>
           <a class="link" href="implementation.html#toward_boost_stm.appendices.implementation.language_like_macro_blocks.correcting_non_compliant_compilers">Correcting
           Non-Compliant Compilers</a>
         </h6>
@@ -154,11 +154,11 @@
 <a name="toward_boost_stm.appendices.implementation.cache"></a><a class="link" href="implementation.html#toward_boost_stm.appendices.implementation.cache" title="Cache">Cache</a>
 </h4></div></div></div>
 <a name="toward_boost_stm.appendices.implementation.cache.dispersed"></a><h6>
-<a name="id4913785"></a>
+<a name="id4914181"></a>
           <a class="link" href="implementation.html#toward_boost_stm.appendices.implementation.cache.dispersed">Dispersed</a>
         </h6>
 <a name="toward_boost_stm.appendices.implementation.cache.compact"></a><h6>
-<a name="id4913806"></a>
+<a name="id4914202"></a>
           <a class="link" href="implementation.html#toward_boost_stm.appendices.implementation.cache.compact">Compact</a>
         </h6>
 </div>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/rationale.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/rationale.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/rationale.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -260,7 +260,7 @@
             read).
           </p>
 <div class="table">
-<a name="id4898495"></a><p class="title"><b>Table 1.1. Comparaison with other STM systems</b></p>
+<a name="id4898826"></a><p class="title"><b>Table 1.1. Comparaison with other STM systems</b></p>
 <div class="table-contents"><table class="table" summary="Comparaison with other STM systems">
 <colgroup>
 <col>
@@ -463,7 +463,7 @@
             handle each specific problem with the most appropriate configuration.
           </p>
 <div class="table">
-<a name="id4898890"></a><p class="title"><b>Table 1.2. Consistency versus Updating policies composition</b></p>
+<a name="id4899202"></a><p class="title"><b>Table 1.2. Consistency versus Updating policies composition</b></p>
 <div class="table-contents"><table class="table" summary="Consistency versus Updating policies composition">
 <colgroup>
 <col>
@@ -615,7 +615,7 @@
           management</a>
 </h5></div></div></div>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.priority_based_tasks"></a><h6>
-<a name="id4899210"></a>
+<a name="id4899534"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.priority_based_tasks">Priority-Based
             Tasks</a>
           </h6>
@@ -630,7 +630,7 @@
             cases, user-defined priority-based transactions are necessary.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.approach"></a><h6>
-<a name="id4899248"></a>
+<a name="id4899573"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.approach">Approach</a>
           </h6>
 <p>
@@ -646,7 +646,7 @@
             checking models. Last, we present our experimental results.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.attacking__amp__victim_transactions"></a><h6>
-<a name="id4899301"></a>
+<a name="id4899611"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.attacking__amp__victim_transactions">Attacking
             &amp; Victim Transactions</a>
           </h6>
@@ -666,7 +666,7 @@
             transaction since Ta may abort it.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.user_defined_priority_based_transactions"></a><h6>
-<a name="id4899349"></a>
+<a name="id4899660"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.user_defined_priority_based_transactions">User-Defined
             Priority-Based Transactions</a>
           </h6>
@@ -687,7 +687,7 @@
             priority-based transactional environments.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.extensible_polymorphic_contention_management_interface"></a><h6>
-<a name="id4899399"></a>
+<a name="id4899709"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.extensible_polymorphic_contention_management_interface">Extensible
             Polymorphic Contention Management Interface</a>
           </h6>
@@ -781,7 +781,7 @@
             of experimental benchmarks on .
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.introduction"></a><h6>
-<a name="id4900106"></a>
+<a name="id4900448"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.introduction">Introduction</a>
           </h6>
 <p>
@@ -834,7 +834,7 @@
             </li>
 </ol></div>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.background"></a><h6>
-<a name="id4900206"></a>
+<a name="id4900549"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.background">Background</a>
           </h6>
 <p>
@@ -945,7 +945,7 @@
             later sections.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.locks_outside_of_transactions__lot_"></a><h6>
-<a name="id4900772"></a>
+<a name="id4901115"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.locks_outside_of_transactions__lot_">Locks
             Outside of Transactions (LoT)</a>
           </h6>
@@ -996,7 +996,7 @@
 <span class="number">27</span> <span class="keyword">int</span> <span class="identifier">lock3</span><span class="special">()</span> <span class="special">{</span> <span class="comment">/* no conflict */</span> <span class="special">}</span>
 </pre>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_full_lock_protection"></a><h6>
-<a name="id4901914"></a>
+<a name="id4902256"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_full_lock_protection">LoT
             Full Lock Protection</a>
           </h6>
@@ -1026,7 +1026,7 @@
             stalling.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tm_lock_protection"></a><h6>
-<a name="id4901994"></a>
+<a name="id4902337"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tm_lock_protection">LoT
             TM-Lock Protection</a>
           </h6>
@@ -1069,7 +1069,7 @@
             the third lock protection policy.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tx_lock_protection"></a><h6>
-<a name="id4902177"></a>
+<a name="id4902510"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tx_lock_protection">LoT
             TX-Lock Protection</a>
           </h6>
@@ -1112,7 +1112,7 @@
             cooperative performance while still adhering to the rule.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.locks_inside_of_transactions__lit_"></a><h6>
-<a name="id4902702"></a>
+<a name="id4903035"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.locks_inside_of_transactions__lit_">Locks
             Inside of Transactions (LiT)</a>
           </h6>
@@ -1226,7 +1226,7 @@
             for the completeness of the example.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_full_lock_protection"></a><h6>
-<a name="id4903745"></a>
+<a name="id4904093"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_full_lock_protection">LiT
             Full-Lock Protection</a>
           </h6>
@@ -1256,7 +1256,7 @@
             are all allowed to resume.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_tm_lock_protection"></a><h6>
-<a name="id4903818"></a>
+<a name="id4904154"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_tm_lock_protection">LiT
             TM-Lock Protection</a>
           </h6>
@@ -1286,7 +1286,7 @@
             LiT protection policy, LiT TX-lock protection.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_tx_lock_protection"></a><h6>
-<a name="id4903880"></a>
+<a name="id4904216"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_tx_lock_protection">LiT
             TX-Lock Protection</a>
           </h6>
@@ -1326,7 +1326,7 @@
             passed. When lockL3 completes tx3 begins and runs through to completion.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lock_composition"></a><h6>
-<a name="id4903970"></a>
+<a name="id4904312"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lock_composition">Lock
             Composition</a>
           </h6>
@@ -1410,7 +1410,7 @@
             lock until the transaction commits.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.criticality_of_lit_lock_composition"></a><h6>
-<a name="id4904675"></a>
+<a name="id4905032"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.criticality_of_lit_lock_composition">Criticality
             of LiT Lock Composition</a>
           </h6>
@@ -1461,7 +1461,7 @@
             cumulative affects of the move() operation.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.understanding_lit_lock_composition"></a><h6>
-<a name="id4905286"></a>
+<a name="id4905643"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.understanding_lit_lock_composition">Understanding
             LiT Lock Composition</a>
           </h6>
@@ -1550,7 +1550,7 @@
             shared memory x2.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_lock_identification"></a><h6>
-<a name="id4906362"></a>
+<a name="id4906719"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_lock_identification">LiT
             Lock Identification</a>
           </h6>
@@ -1855,7 +1855,7 @@
             The following table is a compilation of the preceding analysis:
           </p>
 <div class="table">
-<a name="id4906890"></a><p class="title"><b>Table 1.3. Comparaison with other STM systems</b></p>
+<a name="id4907272"></a><p class="title"><b>Table 1.3. Comparaison with other STM systems</b></p>
 <div class="table-contents"><table class="table" summary="Comparaison with other STM systems">
 <colgroup><col></colgroup>
 <thead><tr>
@@ -2136,7 +2136,7 @@
             support in the near future [4].
           </p>
 <div class="table">
-<a name="id4908020"></a><p class="title"><b>Table 1.4. Comparaison with other STM systems</b></p>
+<a name="id4908420"></a><p class="title"><b>Table 1.4. Comparaison with other STM systems</b></p>
 <div class="table-contents"><table class="table" summary="Comparaison with other STM systems">
 <colgroup>
 <col>
@@ -2234,7 +2234,7 @@
             Table 1. TBoost.STM Mutual Exclusion Locking Parallel Constructs.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.library_based_lock_implementations"></a><h6>
-<a name="id4908228"></a>
+<a name="id4908628"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.library_based_lock_implementations">Library-based
             Lock Implementations</a>
           </h6>
@@ -2282,7 +2282,7 @@
             scoping and programmer error.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.pitfalls_in_scoping_of_automatic_object_locks"></a><h6>
-<a name="id4908625"></a>
+<a name="id4909025"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.pitfalls_in_scoping_of_automatic_object_locks">Pitfalls
             in Scoping of Automatic Object Locks</a>
           </h6>
@@ -2355,7 +2355,7 @@
             of locks results in unoptimized performance.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.library_based_transaction_implementations"></a><h6>
-<a name="id4909080"></a>
+<a name="id4909460"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.library_based_transaction_implementations">Library-based
             Transaction Implementations</a>
           </h6>
@@ -2409,7 +2409,7 @@
             behaviors.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.pitfalls_in_transactional_execution_of_automatic_objects"></a><h6>
-<a name="id4909452"></a>
+<a name="id4909847"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.pitfalls_in_transactional_execution_of_automatic_objects">Pitfalls
             in Transactional Execution of Automatic Objects</a>
           </h6>
@@ -2504,7 +2504,7 @@
             of direct language integration of TM instead of API-only approaches.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.disadvantages_of_language_based_transactional_integration"></a><h6>
-<a name="id4910450"></a>
+<a name="id4910845"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.disadvantages_of_language_based_transactional_integration">Disadvantages
             of Language Based Transactional Integration</a>
           </h6>
@@ -2541,7 +2541,7 @@
             objects nor language-based parallel abstractions alone can provide.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.parallel_constructs_for_mutually_exclusive_locks"></a><h6>
-<a name="id4910527"></a>
+<a name="id4910938"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.parallel_constructs_for_mutually_exclusive_locks">Parallel
             Constructs for Mutually Exclusive Locks</a>
           </h6>
@@ -2577,7 +2577,7 @@
             in client code.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.exception_based_timed_locks"></a><h6>
-<a name="id4911030"></a>
+<a name="id4911441"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.exception_based_timed_locks">Exception-based
             Timed Locks</a>
           </h6>
@@ -2664,7 +2664,7 @@
 <span class="identifier">Figure</span> <span class="number">12.</span> <span class="identifier">Optimized</span> <span class="identifier">Timed</span> <span class="identifier">Locking</span> <span class="identifier">with</span> TBoost.STM<span class="special">.</span>
 </pre>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.parallel_constructs_for_transactional_memory"></a><h6>
-<a name="id4912318"></a>
+<a name="id4912700"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.parallel_constructs_for_transactional_memory">Parallel
             Constructs for Transactional Memory</a>
           </h6>
@@ -2742,7 +2742,7 @@
             correct behavior and then throwing an exception upward.
           </p>
 <a name="toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.transaction_nesting"></a><h6>
-<a name="id4912962"></a>
+<a name="id4913345"></a>
             <a class="link" href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.transaction_nesting">Transaction
             Nesting</a>
           </h6>
@@ -2802,7 +2802,7 @@
         with other STM systems</a>
 </h4></div></div></div>
 <div class="table">
-<a name="id4913083"></a><p class="title"><b>Table 1.5. Comparaison
+<a name="id4913465"></a><p class="title"><b>Table 1.5. Comparaison
         with other STM systems</b></p>
 <div class="table-contents"><table class="table" summary="Comparaison
         with other STM systems">

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/todo.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/todo.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/appendices/todo.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -40,7 +40,7 @@
         to do before review</a>
 </h4></div></div></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.interface"></a><h6>
-<a name="id4914141"></a>
+<a name="id4914537"></a>
           <a class="link" href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.interface">Interface</a>
         </h6>
 <div class="itemizedlist"><ul type="disc">
@@ -59,7 +59,7 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.boostifying_stm"></a><h6>
-<a name="id4914196"></a>
+<a name="id4914598"></a>
           <a class="link" href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.boostifying_stm">Boostifying
           STM</a>
         </h6>
@@ -135,7 +135,7 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.implementation"></a><h6>
-<a name="id4914374"></a>
+<a name="id4914776"></a>
           <a class="link" href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.implementation">Implementation</a>
         </h6>
 <div class="itemizedlist"><ul type="disc">
@@ -157,21 +157,21 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.tests"></a><h6>
-<a name="id4914433"></a>
+<a name="id4914835"></a>
           <a class="link" href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.tests">Tests</a>
         </h6>
 <div class="itemizedlist"><ul type="disc"><li>
             Add unit tests
           </li></ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.benchmarks"></a><h6>
-<a name="id4914464"></a>
+<a name="id4914866"></a>
           <a class="link" href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.benchmarks">Benchmarks</a>
         </h6>
 <div class="itemizedlist"><ul type="disc"><li>
             Add some specific benchmarks.
           </li></ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.documentation"></a><h6>
-<a name="id4914495"></a>
+<a name="id4914897"></a>
           <a class="link" href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.documentation">Documentation</a>
         </h6>
 <div class="itemizedlist"><ul type="disc">

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -7,7 +7,7 @@
 <link rel="start" href="../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="prev" href="users_guide/glosary.html" title="Glossary">
-<link rel="next" href="reference/data_types_hpp.html" title="Header &lt;boost/stm/data_types.hpp&gt;">
+<link rel="next" href="reference/base_contention_manager_hpp.html" title="Header &lt;boost/stm/base_contention_manager.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,34 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="users_guide/glosary.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/data_types_hpp.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="users_guide/glosary.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/base_contention_manager_hpp.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="toward_boost_stm.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
 </h2></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section"><a href="reference/base_contention_manager_hpp.html">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dd><dl><dt><span class="section"><a href="reference/base_contention_manager_hpp.html#toward_boost_stm.reference.base_contention_manager_hpp.abstract_class__base_contention_manager_">Abstract
+ Class <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a></span></dt></dl></dd>
+<dt><span class="section"><a href="reference/base_transaction_object_hpp.html">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dd><dl><dt><span class="section"><a href="reference/base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_">Abstract
+ Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a></span></dt></dl></dd>
+<dt><span class="section"> Header <boost/stm/cache_fct.hpp></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_clone_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_clone</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_copy_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_copy</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.function__cache_release_____">Function
+ <code class="computeroutput"><span class="identifier">cache_release</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_allocate_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_allocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_deallocate_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+</dl></dd>
 <dt><span class="section"> Header <boost/stm/data_types.hpp></span></dt>
 <dd><dl>
 <dt><span class="section"><a href="reference/data_types_hpp.html#toward_boost_stm.reference.data_types_hpp.enum__transaction_type_">Enum
@@ -41,6 +62,22 @@
 <dt><span class="section"> Header <boost/stm/exceptions.hpp></span></dt>
 <dd><dl><dt><span class="section"><a href="reference/exceptions_hpp.html#toward_boost_stm.reference.exceptions_hpp.class__aborted_transaction_exception_">Class
         <code class="computeroutput"><span class="identifier">aborted_transaction_exception</span></code></a></span></dt></dl></dd>
+<dt><span class="section"><a href="reference/language_like_hpp.html"> Header
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">language_like</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__atomic_">Macro
+ <code class="computeroutput"><span class="identifier">atomic</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__try_atomic_">Macro
+ <code class="computeroutput"><span class="identifier">try_atomic</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__use_atomic_">Macro
+ <code class="computeroutput"><span class="identifier">use_atomic</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__catch_before_retry_">Macro
+ <code class="computeroutput"><span class="identifier">catch_before_retry</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__before_retry_">Macro
+ <code class="computeroutput"><span class="identifier">before_retry</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__end_atom_">Macro
+ <code class="computeroutput"><span class="identifier">end_atom</span></code></a></span></dt>
+</dl></dd>
 <dt><span class="section"><a href="reference/transaction_hpp.html"> Header
       <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dd><dl>
@@ -49,24 +86,12 @@
 <dt><span class="section"><a href="reference/transaction_hpp.html#toward_boost_stm.reference.transaction_hpp.struct__thread_initializer_">Struct
         <code class="computeroutput"><span class="identifier">thread_initializer</span></code></a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html"> Header
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_transaction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/transaction_object_hpp.html"> Header
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dd><dl>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_">Abstract
- Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_clone_____">Template
- Function <code class="computeroutput"><span class="identifier">cache_clone</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_copy_____">Template
- Function <code class="computeroutput"><span class="identifier">cache_copy</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.function__cache_release_____">Function
- <code class="computeroutput"><span class="identifier">cache_release</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_allocate_____">Template
- Function <code class="computeroutput"><span class="identifier">cache_allocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_deallocate_____">Template
- Function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___">Template
+<dt><span class="section"><a href="reference/transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___">Template
         Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special">&lt;&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__native_trans___">Template
+<dt><span class="section"><a href="reference/transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__native_trans___">Template
         Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 </dl></dd>
 <dt><span class="section"><a href="reference/transactional_object_hpp.html">
@@ -104,26 +129,6 @@
 <dt><span class="section"><a href="reference/non_tx_smart_ptr_hpp.html#toward_boost_stm.reference.non_tx_smart_ptr_hpp.template_class__wr_ptr___">Template
         Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="reference/base_contention_manager_hpp.html">
- Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dd><dl><dt><span class="section"><a href="reference/base_contention_manager_hpp.html#toward_boost_stm.reference.base_contention_manager_hpp.abstract_class__base_contention_manager_">Abstract
- Class <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a></span></dt></dl></dd>
-<dt><span class="section"><a href="reference/language_like_hpp.html"> Header
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">language_like</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__atomic_">Macro
- <code class="computeroutput"><span class="identifier">atomic</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__try_atomic_">Macro
- <code class="computeroutput"><span class="identifier">try_atomic</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__use_atomic_">Macro
- <code class="computeroutput"><span class="identifier">use_atomic</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__catch_before_retry_">Macro
- <code class="computeroutput"><span class="identifier">catch_before_retry</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__before_retry_">Macro
- <code class="computeroutput"><span class="identifier">before_retry</span></code></a></span></dt>
-<dt><span class="section"><a href="reference/language_like_hpp.html#toward_boost_stm.reference.language_like_hpp.macro__end_atom_">Macro
- <code class="computeroutput"><span class="identifier">end_atom</span></code></a></span></dt>
-</dl></dd>
 <dt><span class="section"><a href="reference/transaction_bookkeeping_hpp.html">
       Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_bookkeeping</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a></span></dt>
 <dd><dl><dt><span class="section"><a href="reference/transaction_bookkeeping_hpp.html#toward_boost_stm.reference.transaction_bookkeeping_hpp.class__transaction_bookkeeping_">Class
@@ -145,7 +150,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="users_guide/glosary.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/data_types_hpp.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="users_guide/glosary.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/base_contention_manager_hpp.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_contention_manager_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_contention_manager_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_contention_manager_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="non_tx_smart_ptr_hpp.html" title="Header &lt;boost/stm/non_tx_smart_ptr.hpp&gt;">
-<link rel="next" href="language_like_hpp.html" title="Header &lt;boost/stm/language_like.hpp&gt;">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="base_transaction_object_hpp.html" title="Header &lt;boost/stm/base_transaction_object.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="non_tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="base_transaction_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -281,7 +281,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="non_tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="base_transaction_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="transaction_hpp.html" title="Header &lt;boost/stm/transaction.hpp&gt;">
-<link rel="next" href="transactional_object_hpp.html" title="Header &lt;boost/stm/transactional_object.hpp&gt;">
+<link rel="prev" href="base_transaction_object_hpp.html" title="Header &lt;boost/stm/base_transaction_object.hpp&gt;">
+<link rel="next" href="data_types_hpp.html" title="Header &lt;boost/stm/data_types.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transactional_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="base_transaction_object_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -28,26 +28,6 @@
       <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_transaction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_">Abstract
- Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___">Constructor
- <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___">Virtual
- Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___">Static
- function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__return_mem___">Static
- function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___">Static
- function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></dd>
 <dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_clone_____">Template
         Function <code class="computeroutput"><span class="identifier">cache_clone</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
 <dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_copy_____">Template
@@ -58,24 +38,8 @@
         Function <code class="computeroutput"><span class="identifier">cache_allocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
 <dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_deallocate_____">Template
         Function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___">Template
- Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special">&lt;&gt;</span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__clone___">Virtual
- function <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__native_trans___">Template
- Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 </dl></div>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">stm</span> <span class="special">{</span>
- <span class="keyword">class</span> <span class="identifier">base_transaction_object</span><span class="special">;</span>
-
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">cache_clone</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">cache_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span> <span class="identifier">ori</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">target</span><span class="special">);</span>
     <span class="keyword">void</span> <span class="identifier">cache_release</span><span class="special">(</span><span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">);</span>
@@ -83,243 +47,10 @@
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">cache_allocate</span><span class="special">();</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">(</span><span class="identifier">T</span><span class="special">*);</span>
 
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">transaction_object</span><span class="special">;</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">native_trans</span><span class="special">;</span>
 <span class="special">}}</span>
 </pre>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_" title="Abstract Class base_transaction_object">Abstract
- Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___">Constructor
- <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___">Virtual
- Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___">Static
- function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__return_mem___">Static
- function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___">Static
- function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></div>
-<p>
- This is the base class of all the transactional objects. It tracks:
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
-<code class="computeroutput"><span class="identifier">transactionThread_</span></code>: the
- thread identifier holding the write acces to this transactional object
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">transaction_</span></code>: the pointer
- to the transaction
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">version_</span></code>: the version
- when performing validation
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">newMemory_</span></code>: states whether
- this object is a new object
- </li>
-</ul></div>
-<p>
- Transactional objets must specialize the pure virtual functions
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li><code class="computeroutput"><span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span>
- <span class="special">*</span> <span class="keyword">const</span>
- <span class="identifier">rhs</span><span class="special">)</span></code></li>
-<li>
-<code class="computeroutput"><span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span>
- <span class="identifier">rhs</span><span class="special">)</span></code>
- if <code class="computeroutput"><span class="identifier">BUILD_MOVE_SEMANTICS</span></code>
-</li>
-<li>
-<code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code>
- if <code class="computeroutput"><span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span></code>
-</li>
-</ul></div>
-<p>
- <code class="computeroutput"><span class="identifier">copy_state</span></code> is used to copy
- the backup/working copy to the shared transactional object when the roolback/commit
- is done direct/defered policy is used.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">move_state</span></code> is used to move
- the backup/working copy to the shared transactional object when the roolback/commit
- is done direct/defered policy is used.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cache_deallocate</span></code> is used
- to release the backup/working copy when the transaction ends if direct/defered
- policy is used.
- </p>
-<p>
- When USE_STM_MEMORY_MANAGER is defined this class provides two functions
- (<code class="computeroutput"><span class="identifier">retrieve_mem</span></code> and <code class="computeroutput"><span class="identifier">return_mem</span></code>) and to manage a pool of memory.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">base_transaction_object</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-
- <span class="identifier">base_transaction_object</span><span class="special">();</span>
- <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span> <span class="special">{};</span>
-
- <span class="keyword">virtual</span> <span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-
- <span class="keyword">void</span> <span class="identifier">transaction_thread</span><span class="special">(</span><span class="identifier">thread_id</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">thread_id</span> <span class="identifier">transaction_thread</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="keyword">void</span> <span class="identifier">new_memory</span><span class="special">(</span><span class="keyword">bool</span> <span class="identifier">rhs</span><span class="special">)</span>
- <span class="keyword">bool</span> <span class="identifier">new_memory</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-<span class="preprocessor">#if</span> <span class="identifier">BOOST_STM_PERFORMING_VALIDATION</span>
- <span class="keyword">void</span> <span class="identifier">version</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">version</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="preprocessor">#endif</span>
-
-<span class="preprocessor">#if</span> <span class="identifier">BOOST_STM_USE_MEMORY_MANAGER</span>
- <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">return_mem</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="identifier">mem</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="keyword">static</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">retrieve_mem</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">alloc_size</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-<span class="preprocessor">#endif</span>
-
-<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
-<span class="preprocessor">#endif</span>
-
-<span class="special">};</span>
-</pre>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___" title="Constructor base_transaction_object()">Constructor
- <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="identifier">base_transaction_object</span><span class="special">();</span>
-</pre>
-<p>
- Default constructor (ctor) with no parameters allows derived base_transaction_objects
- to implicitly construct the base_transaction_object base class for easier
- integration.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___" title="Virtual Destructor ~base_transaction_object()">Virtual
- Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span> <span class="special">{};</span>
-</pre>
-<p>
- Virtual destructor (dtor) ensures correct destructors are called in the
- inheritance hierarchy for delete operations invoked on base_transaction_object
- pointers, which occur in numerous places throughout the internal transaction
- code.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___" title="Virtual function copy_state()">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code>
- method is called each time global memory is updated, for either direct
- or deferred updating policies. With this in mind, it is vital that the
- this object be set to the exact state of the input parameter.
- </p>
-<p>
- Derived classes usually simply override this method and perform an <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>
- function call for the specific derived type.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___" title="Virtual function move_state()">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-</pre>
-<p>
- The move_state() method is internally called at deferred updating commit
- time and at direct updating abort time and invokes the user-defined derived
- transaction class's move assignment (e.g. operator=(type &amp;&amp;)).
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___" title="Static function retrieve_mem()">Static
- function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">retrieve_mem</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- Static interface into TBoost.STM's memory management system for retrieving
- memory. The supplied parameter is the requested block size, the return
- parameter is a void* to the allocated block. Usually access to this interface
- is done by overloading operator new in the derived base_transaction_object
- class. Void pointers are the natural and preferred manner to handle memory
- allocations and deallocations and are therefore safe in this context.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__return_mem___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__return_mem___" title="Static function return_mem()">Static
- function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">return_mem</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="identifier">mem</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- Static interface into TBoost.STM's memory management system for returning
- memory. The first parameter points to the memory block being returned,
- the second parameter specifies its size. Usually access to this interface
- is done by overloading operator delete in the derived transaction object
- class. Void pointers are the natural and preferred manner to handle memory
- allocations and deallocations and are therefore safe in this context.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___" title="Static function alloc_size()">Static
- function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">alloc_size</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- Static interface into TBoost.STM's memory management system which allows
- the user to specify the allocation chunk size for the memory manager.
- The input parameter specifies the number of transactional objects that
- should be allocated at startup and with each subsequent buffer increase.
- If no size is specified, the allocation chunk size uses TBoost.STM's
- default value, currently 8192. The alloc_size() interface can be reconfigured
- at runtime and is used upon the next buffer increase.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___" title="Virtual function cache_deallocate()">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
 <a name="toward_boost_stm.reference.base_transaction_hpp.template_function__cache_clone_____"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_function__cache_clone_____" title="Template Function cache_clone&lt;&gt;()">Template
         Function <code class="computeroutput"><span class="identifier">cache_clone</span><span class="special">&lt;&gt;()</span></code></a>
 </h4></div></div></div>
@@ -409,122 +140,6 @@
           or the no-op.
         </p>
 </div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___" title="Template Class transaction_object&lt;&gt;">Template
- Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special">&lt;&gt;</span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__clone___">Virtual
- function <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></div>
-<p>
- To further simplify the usage of TBoost.STM, an intermediate template class
- was built which is meant to sit between the base_transaction_object and
- the user-defined transaction objects. The purpose of this intermediate
- class is to reduce the code overhead needed for user-defined transaction
- objects. To do this, the curiously recurring template pattern developed
- by James Coplien was used.
- </p>
-<p>
- With the templatized transaction_object, client-side transaction objects
- need only to derive from it and pass their class type as its template parameter.
- At compile-time the transaction_object generates the necessary code to
- override copy_state() and implement operator new and operator delete using
- TBoost.STM's memory manager for all user-defined types derived from it.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">transaction_object</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">base_transaction_object</span> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-
- <span class="keyword">virtual</span> <span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__clone___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__clone___" title="Virtual function clone()">Virtual
- function <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- The clone() method calls to the free function cache_new_copy which allocates
- enough memory for the new object and then do a memcpy by default.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__copy_state___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__copy_state___" title="Virtual function copy_state()">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- The copy_state() method call to the free function cache_copy which do
- a memcpy by default.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__move_state___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__move_state___" title="Virtual function move_state()">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- The move_state() method call to the free function cache_copy which do
- a memcpy by default.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___" title="Virtual function cache_deallocate()">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">();</span>
-</pre>
-<p>
- The cache_deallocate() method call to the free function cache_deallocate
- which do a memcpy by default.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.base_transaction_hpp.template_class__native_trans___"></a><a class="link" href="base_transaction_hpp.html#toward_boost_stm.reference.base_transaction_hpp.template_class__native_trans___" title="Template Class native_trans&lt;&gt;">Template
- Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special">&lt;&gt;</span></code></a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">native_trans</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">transaction_object</span><span class="special">&lt;</span> <span class="identifier">native_trans</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">native_trans</span><span class="special">(){}</span>
- <span class="identifier">native_trans</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">native_trans</span><span class="special">(</span><span class="identifier">native_trans</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">native_trans</span><span class="special">(</span><span class="identifier">native_trans</span> <span class="special">&amp;&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">native_trans</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">native_trans</span> <span class="special">&amp;&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">native_trans</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">native_trans</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">--();</span>
- <span class="identifier">native_trans</span> <span class="keyword">operator</span><span class="special">--(</span><span class="keyword">int</span><span class="special">);</span>
- <span class="identifier">native_trans</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
- <span class="identifier">native_trans</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">);</span>
- <span class="identifier">native_trans</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">native_trans</span> <span class="keyword">operator</span><span class="special">+(</span><span class="identifier">native_trans</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">();</span>
- <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -536,7 +151,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transactional_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="base_transaction_object_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_object_hpp.html
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/base_transaction_object_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -0,0 +1,300 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Header &lt;boost/stm/base_transaction_object.hpp&gt;</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="base_contention_manager_hpp.html" title="Header &lt;boost/stm/base_contention_manager.hpp&gt;">
+<link rel="next" href="cache_fct_hpp.html" title="Header &lt;boost/stm/cache_fct.hpp&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="TowardBoostSTM" width="277" height="86" src="../../../image/Toward_Boost_STM.jpg"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_contention_manager_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="cache_fct_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp"></a><a class="link" href="base_transaction_object_hpp.html" title="Header &lt;boost/stm/base_transaction_object.hpp&gt;">
+ Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">base_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_">Abstract
+ Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___">Constructor
+ <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___">Virtual
+ Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___">Virtual
+ function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___">Virtual
+ function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___">Static
+ function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___">Static
+ function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___">Static
+ function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___">Virtual
+ function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
+</dl></dd>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">stm</span> <span class="special">{</span>
+ <span class="keyword">class</span> <span class="identifier">base_transaction_object</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_" title="Abstract Class base_transaction_object">Abstract
+ Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___">Constructor
+ <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___">Virtual
+ Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___">Virtual
+ function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___">Virtual
+ function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___">Static
+ function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___">Static
+ function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___">Static
+ function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a></span></dt>
+<dt><span class="section"><a href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___">Virtual
+ function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
+</dl></div>
+<p>
+ This is the base class of all the transactional objects. It tracks:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput"><span class="identifier">transactionThread_</span></code>: the
+ thread identifier holding the write acces to this transactional object
+ </li>
+<li>
+<code class="computeroutput"><span class="identifier">transaction_</span></code>: the pointer
+ to the transaction
+ </li>
+<li>
+<code class="computeroutput"><span class="identifier">version_</span></code>: the version
+ when performing validation
+ </li>
+<li>
+<code class="computeroutput"><span class="identifier">newMemory_</span></code>: states whether
+ this object is a new object
+ </li>
+</ul></div>
+<p>
+ Transactional objets must specialize the pure virtual functions
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li><code class="computeroutput"><span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span>
+ <span class="special">*</span> <span class="keyword">const</span>
+ <span class="identifier">rhs</span><span class="special">)</span></code></li>
+<li>
+<code class="computeroutput"><span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span>
+ <span class="identifier">rhs</span><span class="special">)</span></code>
+ if <code class="computeroutput"><span class="identifier">BUILD_MOVE_SEMANTICS</span></code>
+</li>
+<li>
+<code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code>
+ if <code class="computeroutput"><span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span></code>
+</li>
+</ul></div>
+<p>
+ <code class="computeroutput"><span class="identifier">copy_state</span></code> is used to copy
+ the backup/working copy to the shared transactional object when the roolback/commit
+ is done direct/defered policy is used.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">move_state</span></code> is used to move
+ the backup/working copy to the shared transactional object when the roolback/commit
+ is done direct/defered policy is used.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cache_deallocate</span></code> is used
+ to release the backup/working copy when the transaction ends if direct/defered
+ policy is used.
+ </p>
+<p>
+ When USE_STM_MEMORY_MANAGER is defined this class provides two functions
+ (<code class="computeroutput"><span class="identifier">retrieve_mem</span></code> and <code class="computeroutput"><span class="identifier">return_mem</span></code>) and to manage a pool of memory.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">base_transaction_object</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+
+ <span class="identifier">base_transaction_object</span><span class="special">();</span>
+ <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span> <span class="special">{};</span>
+
+ <span class="keyword">virtual</span> <span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+
+ <span class="keyword">void</span> <span class="identifier">transaction_thread</span><span class="special">(</span><span class="identifier">thread_id</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">thread_id</span> <span class="identifier">transaction_thread</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">void</span> <span class="identifier">new_memory</span><span class="special">(</span><span class="keyword">bool</span> <span class="identifier">rhs</span><span class="special">)</span>
+ <span class="keyword">bool</span> <span class="identifier">new_memory</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">BOOST_STM_PERFORMING_VALIDATION</span>
+ <span class="keyword">void</span> <span class="identifier">version</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">version</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">BOOST_STM_USE_MEMORY_MANAGER</span>
+ <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">return_mem</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="identifier">mem</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="keyword">static</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">retrieve_mem</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">alloc_size</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+<span class="preprocessor">#endif</span>
+
+<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+
+<span class="special">};</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___" title="Constructor base_transaction_object()">Constructor
+ <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="identifier">base_transaction_object</span><span class="special">();</span>
+</pre>
+<p>
+ Default constructor (ctor) with no parameters allows derived base_transaction_objects
+ to implicitly construct the base_transaction_object base class for easier
+ integration.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___" title="Virtual Destructor ~base_transaction_object()">Virtual
+ Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span> <span class="special">{};</span>
+</pre>
+<p>
+ Virtual destructor (dtor) ensures correct destructors are called in the
+ inheritance hierarchy for delete operations invoked on base_transaction_object
+ pointers, which occur in numerous places throughout the internal transaction
+ code.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___" title="Virtual function copy_state()">Virtual
+ function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code>
+ method is called each time global memory is updated, for either direct
+ or deferred updating policies. With this in mind, it is vital that the
+ this object be set to the exact state of the input parameter.
+ </p>
+<p>
+ Derived classes usually simply override this method and perform an <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>
+ function call for the specific derived type.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___" title="Virtual function move_state()">Virtual
+ function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+</pre>
+<p>
+ The move_state() method is internally called at deferred updating commit
+ time and at direct updating abort time and invokes the user-defined derived
+ transaction class's move assignment (e.g. operator=(type &amp;&amp;)).
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___" title="Static function retrieve_mem()">Static
+ function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">retrieve_mem</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+<p>
+ Static interface into TBoost.STM's memory management system for retrieving
+ memory. The supplied parameter is the requested block size, the return
+ parameter is a void* to the allocated block. Usually access to this interface
+ is done by overloading operator new in the derived base_transaction_object
+ class. Void pointers are the natural and preferred manner to handle memory
+ allocations and deallocations and are therefore safe in this context.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___" title="Static function return_mem()">Static
+ function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">return_mem</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="identifier">mem</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+<p>
+ Static interface into TBoost.STM's memory management system for returning
+ memory. The first parameter points to the memory block being returned,
+ the second parameter specifies its size. Usually access to this interface
+ is done by overloading operator delete in the derived transaction object
+ class. Void pointers are the natural and preferred manner to handle memory
+ allocations and deallocations and are therefore safe in this context.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___" title="Static function alloc_size()">Static
+ function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">alloc_size</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+<p>
+ Static interface into TBoost.STM's memory management system which allows
+ the user to specify the allocation chunk size for the memory manager.
+ The input parameter specifies the number of transactional objects that
+ should be allocated at startup and with each subsequent buffer increase.
+ If no size is specified, the allocation chunk size uses TBoost.STM's
+ default value, currently 8192. The alloc_size() interface can be reconfigured
+ at runtime and is used upon the next buffer increase.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___"></a><a class="link" href="base_transaction_object_hpp.html#toward_boost_stm.reference.base_transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___" title="Virtual function cache_deallocate()">Virtual
+ function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
+</pre>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Justin E. Gottchlich<br>Copyright © 2009 Vicente J. Botet Escriba<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></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_contention_manager_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="cache_fct_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/cache_fct_hpp.html
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/cache_fct_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -0,0 +1,156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Header &lt;boost/stm/cache_fct.hpp&gt;</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="base_transaction_object_hpp.html" title="Header &lt;boost/stm/base_transaction_object.hpp&gt;">
+<link rel="next" href="data_types_hpp.html" title="Header &lt;boost/stm/data_types.hpp&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="TowardBoostSTM" width="277" height="86" src="../../../image/Toward_Boost_STM.jpg"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_transaction_object_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="toward_boost_stm.reference.cache_fct_hpp"></a><a class="link" href="cache_fct_hpp.html" title="Header &lt;boost/stm/cache_fct.hpp&gt;"> Header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">cache_fct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_clone_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_clone</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_copy_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_copy</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.function__cache_release_____">Function
+ <code class="computeroutput"><span class="identifier">cache_release</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_allocate_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_allocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+<dt><span class="section"><a href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_deallocate_____">Template
+ Function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">&lt;&gt;()</span></code></a></span></dt>
+</dl></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">stm</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">cache_clone</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">cache_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span> <span class="identifier">ori</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">target</span><span class="special">);</span>
+ <span class="keyword">void</span> <span class="identifier">cache_release</span><span class="special">(</span><span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">cache_allocate</span><span class="special">();</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">(</span><span class="identifier">T</span><span class="special">*);</span>
+
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.cache_fct_hpp.template_function__cache_clone_____"></a><a class="link" href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_clone_____" title="Template Function cache_clone&lt;&gt;()">Template
+ Function <code class="computeroutput"><span class="identifier">cache_clone</span><span class="special">&lt;&gt;()</span></code></a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span><span class="special">*</span> <span class="identifier">cache_clone</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ Makes a new copy of the parameter. Allocates an object of type T using
+ the <code class="computeroutput"><span class="identifier">cache_allocate</span></code> function
+ and copy from the given parameter <code class="computeroutput"><span class="identifier">val</span></code>
+ using the free function <code class="computeroutput"><span class="identifier">cache_copy</span></code>.
+ </p>
+<p>
+ The user can overload this function, as TBoost.STM uses ADL to access it.
+ </p>
+<p>
+ When <code class="computeroutput"><span class="identifier">BOOST_STM_NO_PARTIAL_SPECIALIZATION</span></code>
+ is defined, i.e. on compilers not supporting partial template specialization,
+ the function calls to <code class="computeroutput"><span class="identifier">partial_specialization_workaround</span><span class="special">::</span><span class="identifier">cache_clone</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">apply</span><span class="special">(</span><span class="identifier">val</span><span class="special">)</span></code>. So the user will need to overload the
+ class <code class="computeroutput"><span class="identifier">partial_specialization_workaround</span><span class="special">::</span><span class="identifier">cache_clone</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> defining the function
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">apply</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.cache_fct_hpp.template_function__cache_copy_____"></a><a class="link" href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_copy_____" title="Template Function cache_copy&lt;&gt;()">Template
+ Function <code class="computeroutput"><span class="identifier">cache_copy</span><span class="special">&lt;&gt;()</span></code></a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">cache_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">target</span><span class="special">);</span>
+</pre>
+<p>
+ Copy from souce to target using memcpy by default.
+ </p>
+<p>
+ The user can overload this function, as TBoost.STM uses ADL to access it.
+ </p>
+<p>
+ When <code class="computeroutput"><span class="identifier">BOOST_STM_NO_PARTIAL_SPECIALIZATION</span></code>
+ is defined, i.e. on compilers not supporting partial template specialization,
+ the function calls to <code class="computeroutput"><span class="identifier">partial_specialization_workaround</span><span class="special">::</span><span class="identifier">cache_copy</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">apply</span><span class="special">(</span><span class="identifier">source</span><span class="special">,</span> <span class="identifier">target</span><span class="special">)</span></code>. So the user will need to overload the
+ class <code class="computeroutput"><span class="identifier">partial_specialization_workaround</span><span class="special">::</span><span class="identifier">cache_copy</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> defining the function
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">apply</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="keyword">const</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">target</span><span class="special">);</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.cache_fct_hpp.function__cache_release_____"></a><a class="link" href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.function__cache_release_____" title="Function cache_release&lt;&gt;()">Function
+ <code class="computeroutput"><span class="identifier">cache_release</span><span class="special">&lt;&gt;()</span></code></a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cache_release</span><span class="special">(</span><span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">)</span> <span class="special">{</span>
+</pre>
+<p>
+ Release the given base_transaction_object by calling to the virtual function
+ <code class="computeroutput"><span class="identifier">cache_dealocate</span></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.cache_fct_hpp.template_function__cache_allocate_____"></a><a class="link" href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_allocate_____" title="Template Function cache_allocate&lt;&gt;()">Template
+ Function <code class="computeroutput"><span class="identifier">cache_allocate</span><span class="special">&lt;&gt;()</span></code></a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span><span class="special">*</span> <span class="identifier">cache_allocate</span><span class="special">();</span>
+</pre>
+<p>
+ Allocates an instance of calls T. Depending on whether BOOST_STM_CACHE_USE_MEMORY_MANAGER,
+ BOOST_STM_CACHE_USE_MALLOC or BOOST_STM_CACHE_USE_TSS_MONOTONIC_MEMORY_MANAGER
+ are defined this function will use the static pool of the class T, malloc
+ or the thread specific monotonic allocator.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.cache_fct_hpp.template_function__cache_deallocate_____"></a><a class="link" href="cache_fct_hpp.html#toward_boost_stm.reference.cache_fct_hpp.template_function__cache_deallocate_____" title="Template Function cache_deallocate&lt;&gt;()">Template
+ Function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">&lt;&gt;()</span></code></a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span><span class="identifier">ptr</span><span class="special">)</span> <span class="special">{</span>
+</pre>
+<p>
+ Deallocates an instance of calls T. Depending on whether BOOST_STM_CACHE_USE_MEMORY_MANAGER,
+ BOOST_STM_CACHE_USE_MALLOC or BOOST_STM_CACHE_USE_TSS_MONOTONIC_MEMORY_MANAGER
+ are defined this function will use the static pool of the class T, free
+ or the no-op.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Justin E. Gottchlich<br>Copyright © 2009 Vicente J. Botet Escriba<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></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="base_transaction_object_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/data_types_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/data_types_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/data_types_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="../reference.html" title="Reference">
+<link rel="prev" href="cache_fct_hpp.html" title="Header &lt;boost/stm/cache_fct.hpp&gt;">
 <link rel="next" href="exceptions_hpp.html" title="Header &lt;boost/stm/exceptions.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="cache_fct_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -43,14 +43,32 @@
     <span class="keyword">typedef</span> <span class="identifier">thread_id_t</span><span class="special">;</span>
 <span class="special">}}</span>
 </pre>
-<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="toward_boost_stm.reference.data_types_hpp.enum__transaction_type_"></a><a class="link" href="data_types_hpp.html#toward_boost_stm.reference.data_types_hpp.enum__transaction_type_" title="Enum transaction_type">Enum
         <code class="computeroutput"><span class="identifier">transaction_type</span></code></a>
-</h4></div></div></div></div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+</h4></div></div></div>
+<pre class="programlisting"> <span class="keyword">enum</span> <span class="identifier">transaction_type</span>
+ <span class="special">{</span>
+ <span class="identifier">eNormalTx</span><span class="special">,</span>
+ <span class="identifier">eIrrevocableTx</span><span class="special">,</span>
+ <span class="identifier">eIrrevocableAndIsolatedTx</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="toward_boost_stm.reference.data_types_hpp.enum__latm_type_"></a><a class="link" href="data_types_hpp.html#toward_boost_stm.reference.data_types_hpp.enum__latm_type_" title="Enum latm_type">Enum
         <code class="computeroutput"><span class="identifier">latm_type</span></code></a>
-</h4></div></div></div></div>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">latm_type</span>
+<span class="special">{</span>
+ <span class="identifier">eFullLatmProtection</span><span class="special">,</span>
+ <span class="identifier">eTmConflictingLockLatmProtection</span><span class="special">,</span>
+ <span class="identifier">eTxConflictingLockLatmProtection</span>
+<span class="special">};</span>
+</pre>
+</div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="toward_boost_stm.reference.data_types_hpp.enum__transaction_state_"></a><a class="link" href="data_types_hpp.html#toward_boost_stm.reference.data_types_hpp.enum__transaction_state_" title="Enum transaction_state">Enum
@@ -66,10 +84,14 @@
 <span class="special">};</span>
 </pre>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
 <a name="toward_boost_stm.reference.data_types_hpp.typedef__thread_id_t_"></a><a class="link" href="data_types_hpp.html#toward_boost_stm.reference.data_types_hpp.typedef__thread_id_t_" title="Typedef thread_id_t">Typedef
         <code class="computeroutput"><span class="identifier">thread_id_t</span></code></a>
-</h4></div></div></div></div>
+</h4></div></div></div>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">platform_specific</span> <span class="identifier">thread_id_t</span><span class="special">;</span>
+</pre>
+</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -81,7 +103,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="cache_fct_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/exceptions_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/exceptions_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/exceptions_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="data_types_hpp.html" title="Header &lt;boost/stm/data_types.hpp&gt;">
-<link rel="next" href="transaction_hpp.html" title="Header &lt;boost/stm/transaction.hpp&gt;">
+<link rel="next" href="language_like_hpp.html" title="Header &lt;boost/stm/language_like.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -47,7 +47,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="data_types_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/language_like_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/language_like_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/language_like_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="base_contention_manager_hpp.html" title="Header &lt;boost/stm/base_contention_manager.hpp&gt;">
-<link rel="next" href="transaction_bookkeeping_hpp.html" title="Header &lt;boost/stm/transaction_bookkeeping.hpp&gt;">
+<link rel="prev" href="exceptions_hpp.html" title="Header &lt;boost/stm/exceptions.hpp&gt;">
+<link rel="next" href="transaction_hpp.html" title="Header &lt;boost/stm/transaction.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="base_contention_manager_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_bookkeeping_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -208,7 +208,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="base_contention_manager_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_bookkeeping_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_tx_smart_ptr_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_tx_smart_ptr_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_tx_smart_ptr_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="tx_smart_ptr_hpp.html" title="Header &lt;boost/stm/tx_smart_ptr.hpp&gt;">
-<link rel="next" href="base_contention_manager_hpp.html" title="Header &lt;boost/stm/base_contention_manager.hpp&gt;">
+<link rel="next" href="transaction_bookkeeping_hpp.html" title="Header &lt;boost/stm/transaction_bookkeeping.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="base_contention_manager_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_bookkeeping_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -187,7 +187,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="base_contention_manager_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_bookkeeping_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_bookkeeping_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_bookkeeping_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_bookkeeping_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="language_like_hpp.html" title="Header &lt;boost/stm/language_like.hpp&gt;">
+<link rel="prev" href="non_tx_smart_ptr_hpp.html" title="Header &lt;boost/stm/non_tx_smart_ptr.hpp&gt;">
 <link rel="next" href="../examples.html" title="Examples">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../examples.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="non_tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../examples.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -114,7 +114,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../examples.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="non_tx_smart_ptr_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../examples.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="exceptions_hpp.html" title="Header &lt;boost/stm/exceptions.hpp&gt;">
-<link rel="next" href="base_transaction_hpp.html" title="Header &lt;boost/stm/base_transaction.hpp&gt;">
+<link rel="prev" href="language_like_hpp.html" title="Header &lt;boost/stm/language_like.hpp&gt;">
+<link rel="next" href="transaction_object_hpp.html" title="Header &lt;boost/stm/transaction_object.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="base_transaction_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -1080,7 +1080,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="exceptions_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="base_transaction_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="language_like_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_object_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_object_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transaction_object_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -7,7 +7,7 @@
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="transaction_hpp.html" title="Header &lt;boost/stm/transaction.hpp&gt;">
-<link rel="next" href="tx_ptr_hpp.html" title="Header &lt;boost/stm/tx_ptr.hpp&gt;">
+<link rel="next" href="transactional_object_hpp.html" title="Header &lt;boost/stm/transactional_object.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tx_ptr_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transactional_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -28,29 +28,11 @@
       <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_">Abstract
- Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___">Constructor
- <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___">Virtual
- Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___">Static
- function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___">Static
- function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___">Static
- function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></dd>
 <dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___">Template
         Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special">&lt;&gt;</span></code></a></span></dt>
 <dd><dl>
+<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__clone___">Virtual
+ function <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__copy_state___">Virtual
           function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__move_state___">Virtual
@@ -60,262 +42,20 @@
 </dl></dd>
 <dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__native_trans___">Template
         Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special">&lt;&gt;</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___">Template
- Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special">&lt;&gt;</span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></dd>
 </dl></div>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">stm</span> <span class="special">{</span>
- <span class="keyword">class</span> <span class="identifier">base_transaction_object</span><span class="special">;</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">transaction_object</span><span class="special">;</span>
     <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">native_trans</span><span class="special">;</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">transactional_object</span><span class="special">;</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="keyword">static</span> <span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;*</span> <span class="identifier">tx_up_cast</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="keyword">static</span> <span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;*</span> <span class="identifier">tx_static_cast</span><span class="special">(</span><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;*</span> <span class="identifier">ptr</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="keyword">static</span> <span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;*</span> <span class="identifier">tx_dynamic_cast</span><span class="special">(</span><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;*</span> <span class="identifier">ptr</span><span class="special">);</span>
 <span class="special">}}</span>
 </pre>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_" title="Abstract Class base_transaction_object">Abstract
- Class <code class="computeroutput"><span class="identifier">base_transaction_object</span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___">Constructor
- <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___">Virtual
- Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___">Static
- function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___">Static
- function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___">Static
- function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></div>
-<p>
- This is the base class of all the transactional objects. It tracks:
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
-<code class="computeroutput"><span class="identifier">transactionThread_</span></code>: the
- thread identifier holding the write acces to this transactional object
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">transaction_</span></code>: the pointer
- to the transaction
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">version_</span></code>: the version
- when performing validation
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">newMemory_</span></code>: states whether
- this object is a new object
- </li>
-</ul></div>
-<p>
- Transactional objets must specialize the pure virtual functions * <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span>
- <span class="special">*</span> <span class="keyword">const</span>
- <span class="identifier">rhs</span><span class="special">)</span></code>
- * <code class="computeroutput"><span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span>
- <span class="identifier">rhs</span><span class="special">)</span></code>
- if <code class="computeroutput"><span class="identifier">BUILD_MOVE_SEMANTICS</span></code>
- * <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code>
- if <code class="computeroutput"><span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span></code>
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">copy_state</span></code> is used to copy
- the backup/working copy to the shared transactional object when the roolback/commit
- is done direct/defered policy is used.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">move_state</span></code> is used to move
- the backup/working copy to the shared transactional object when the roolback/commit
- is done direct/defered policy is used.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cache_deallocate</span></code> is used
- to release the backup/working copy when the transaction ends if direct/defered
- policy is used.
- </p>
-<p>
- When USE_STM_MEMORY_MANAGER is defined this class provides two functions
- (<code class="computeroutput"><span class="identifier">retrieve_mem</span></code> and <code class="computeroutput"><span class="identifier">return_mem</span></code>) and to manage a pool of memory.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">base_transaction_object</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-
- <span class="identifier">base_transaction_object</span><span class="special">();</span>
- <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span> <span class="special">{};</span>
-
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-
- <span class="keyword">void</span> <span class="identifier">transaction_thread</span><span class="special">(</span><span class="identifier">thread_id</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">thread_id</span> <span class="identifier">transaction_thread</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="keyword">void</span> <span class="identifier">new_memory</span><span class="special">(</span><span class="keyword">bool</span> <span class="identifier">rhs</span><span class="special">)</span>
- <span class="keyword">bool</span> <span class="identifier">new_memory</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-<span class="preprocessor">#if</span> <span class="identifier">BOOST_STM_PERFORMING_VALIDATION</span>
- <span class="keyword">void</span> <span class="identifier">version</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">version</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="preprocessor">#endif</span>
-
-<span class="preprocessor">#if</span> <span class="identifier">BOOST_STM_USE_MEMORY_MANAGER</span>
- <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">return_mem</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="identifier">mem</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="keyword">static</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">retrieve_mem</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">alloc_size</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-<span class="preprocessor">#endif</span>
-
-<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
-<span class="preprocessor">#endif</span>
-</pre>
-<p>
- };
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.constructor__base_transaction_object___" title="Constructor base_transaction_object()">Constructor
- <code class="computeroutput"><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="identifier">base_transaction_object</span><span class="special">();</span>
-</pre>
-<p>
- Default constructor (ctor) with no parameters allows derived base_transaction_objects
- to implicitly construct the base_transaction_object base class for easier
- integration.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_destructor___base_transaction_object___" title="Virtual Destructor ~base_transaction_object()">Virtual
- Destructor <code class="computeroutput"><span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_transaction_object</span><span class="special">()</span> <span class="special">{};</span>
-</pre>
-<p>
- Virtual destructor (dtor) ensures correct destructors are called in the
- inheritance hierarchy for delete operations invoked on base_transaction_object
- pointers, which occur in numerous places throughout the internal transaction
- code.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__copy_state___" title="Virtual function copy_state()">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code>
- method is called each time global memory is updated, for either direct
- or deferred updating policies. With this in mind, it is vital that the
- this object be set to the exact state of the input parameter.
- </p>
-<p>
- Derived classes usually simply override this method and perform an <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>
- function call for the specific derived type.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__move_state___" title="Virtual function move_state()">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-</pre>
-<p>
- The move_state() method is internally called at deferred updating commit
- time and at direct updating abort time and invokes the user-defined derived
- transaction class's move assignment (e.g. operator=(type &amp;&amp;)).
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__retrieve_mem___" title="Static function retrieve_mem()">Static
- function <code class="computeroutput"><span class="identifier">retrieve_mem</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">retrieve_mem</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- Static interface into TBoost.STM's memory management system for retrieving
- memory. The supplied parameter is the requested block size, the return
- parameter is a void* to the allocated block. Usually access to this interface
- is done by overloading operator new in the derived base_transaction_object
- class. Void pointers are the natural and preferred manner to handle memory
- allocations and deallocations and are therefore safe in this context.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__return_mem___" title="Static function return_mem()">Static
- function <code class="computeroutput"><span class="identifier">return_mem</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">return_mem</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="identifier">mem</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- Static interface into TBoost.STM's memory management system for returning
- memory. The first parameter points to the memory block being returned,
- the second parameter specifies its size. Usually access to this interface
- is done by overloading operator delete in the derived transaction object
- class. Void pointers are the natural and preferred manner to handle memory
- allocations and deallocations and are therefore safe in this context.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.static_function__alloc_size___" title="Static function alloc_size()">Static
- function <code class="computeroutput"><span class="identifier">alloc_size</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">alloc_size</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- Static interface into TBoost.STM's memory management system which allows
- the user to specify the allocation chunk size for the memory manager.
- The input parameter specifies the number of transactional objects that
- should be allocated at startup and with each subsequent buffer increase.
- If no size is specified, the allocation chunk size uses TBoost.STM's
- default value, currently 8192. The alloc_size() interface can be reconfigured
- at runtime and is used upon the next buffer increase.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.abstract_class__base_transaction_object_.virtual_function__cache_deallocate___" title="Virtual function cache_deallocate()">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
 <a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___" title="Template Class transaction_object&lt;&gt;">Template
         Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special">&lt;&gt;</span></code></a>
 </h4></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__clone___">Virtual
+ function <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__copy_state___">Virtual
           function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
 <dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__move_state___">Virtual
@@ -342,20 +82,33 @@
 <span class="keyword">class</span> <span class="identifier">transaction_object</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">base_transaction_object</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
 
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">virtual</span> <span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
 <span class="special">};</span>
 </pre>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__clone___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__clone___" title="Virtual function clone()">Virtual
+ function <code class="computeroutput"><span class="identifier">clone</span><span class="special">()</span></code></a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="identifier">base_transaction_object</span><span class="special">*</span> <span class="identifier">clone</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ The clone() method calls to the free function cache_new_copy which allocates
+ enough memory for the new object and then do a memcpy by default.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
 <a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__copy_state___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__copy_state___" title="Virtual function copy_state()">Virtual
           function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a>
 </h5></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
- The copy_state() method call to the free function cache_restore which
- do a unitialized_copy by default.
+ The copy_state() method call to the free function cache_copy which do
+ a memcpy by default.
           </p>
 </div>
 <div class="section" lang="en">
@@ -366,8 +119,8 @@
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
 </pre>
 <p>
- The move_state() method call to the free function cache_restore which
- do a unitialized_copy by default.
+ The move_state() method call to the free function cache_copy which do
+ a memcpy by default.
           </p>
 </div>
 <div class="section" lang="en">
@@ -375,8 +128,12 @@
 <a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___" title="Virtual function cache_deallocate()">Virtual
           function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a>
 </h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">();</span>
 </pre>
+<p>
+ The cache_deallocate() method call to the free function cache_deallocate
+ which do a memcpy by default.
+ </p>
 </div>
 </div>
 <div class="section" lang="en">
@@ -407,114 +164,6 @@
 <span class="special">};</span>
 </pre>
 </div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___" title="Template Class transactional_object&lt;&gt;">Template
- Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special">&lt;&gt;</span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__copy_state___">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__move_state___">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a></span></dt>
-<dt><span class="section"><a href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__cache_deallocate___">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a></span></dt>
-</dl></div>
-<p>
- Transactional object wrapper. A <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> is a base_transaction_object wrapping
- an instance of type T. Provides the definition of the virtual functions
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- forward constructors to the wrapped type
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">copy_state</span></code>: relaying
- on the cache_restore&lt;T&gt; generic function
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">move_state</span></code> and
- </li>
-<li>
-<code class="computeroutput"><span class="identifier">cache_deallocate</span></code>: relaying
- on the cache_restore&lt;T&gt; generic function
- </li>
-</ul></div>
-<p>
- Defines in addition the functions <code class="computeroutput"><span class="keyword">new</span></code>
- and <code class="computeroutput"><span class="keyword">delete</span></code> when <code class="computeroutput"><span class="identifier">BOOST_STM_USE_MEMORY_MANAGER</span></code> is defined
- </p>
-<p>
- If a class D inherits from B we have that <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">&gt;</span></code> dont inherits from <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>, but we can static/dynamic cast them
- robustly.
- </p>
-<p>
- Evidently the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="keyword">static_cast</span></code>/<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="keyword">dynamic_cast</span></code>
- do not works. We need to define the specific cast
- </p>
-<pre class="programlisting"><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">&gt;*</span> <span class="identifier">d</span><span class="special">=...;</span>
-<span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;*</span> <span class="identifier">b</span><span class="special">=</span><span class="identifier">tx_static_cast</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;(</span><span class="identifier">d</span><span class="special">);</span>
-
-<span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;*</span> <span class="identifier">b</span><span class="special">=...;</span>
-<span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">&gt;*</span> <span class="identifier">d</span><span class="special">=</span><span class="identifier">tx_dynamic_cast</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- Synopsis
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">transactional_object</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">base_transaction_object</span> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">T</span> <span class="identifier">value</span><span class="special">;</span>
-
- <span class="identifier">transactional_object</span><span class="special">();</span>
- <span class="identifier">transactional_object</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span><span class="identifier">ptr</span><span class="special">);</span>
- <span class="identifier">transactional_object</span><span class="special">(</span><span class="identifier">transactional_object</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
- <span class="identifier">transactional_object</span><span class="special">(</span><span class="identifier">T1</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">p1</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">&gt;</span>
- <span class="identifier">transactional_object</span><span class="special">(</span><span class="identifier">T1</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">p1</span><span class="special">,</span> <span class="identifier">T2</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">p2</span><span class="special">);</span>
-
- <span class="identifier">transactional_object</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">transactional_object</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">);</span>
-
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_STM_USE_UNASIGNED_COPY</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">();</span>
-<span class="preprocessor">#endif</span>
-
-<span class="preprocessor">#if</span> <span class="identifier">BOST_STM_USE_MEMORY_MANAGER</span>
- <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span> <span class="keyword">throw</span> <span class="special">();</span>
- <span class="keyword">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">mem</span><span class="special">);</span>
-<span class="preprocessor">#endif</span>
-
-<span class="special">};</span>
-</pre>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__copy_state___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__copy_state___" title="Virtual function copy_state()">Virtual
- function <code class="computeroutput"><span class="identifier">copy_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">copy_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">const</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__move_state___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__move_state___" title="Virtual function move_state()">Virtual
- function <code class="computeroutput"><span class="identifier">move_state</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">move_state</span><span class="special">(</span><span class="identifier">base_transaction_object</span> <span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__cache_deallocate___"></a><a class="link" href="transaction_object_hpp.html#toward_boost_stm.reference.transaction_object_hpp.template_class__transactional_object___.virtual_function__cache_deallocate___" title="Virtual function cache_deallocate()">Virtual
- function <code class="computeroutput"><span class="identifier">cache_deallocate</span><span class="special">()</span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">cache_deallocate</span><span class="special">()=</span><span class="number">0</span><span class="special">;</span>
-</pre>
-</div>
-</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -526,7 +175,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tx_ptr_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transactional_object_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_object_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_object_hpp.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_object_hpp.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="base_transaction_hpp.html" title="Header &lt;boost/stm/base_transaction.hpp&gt;">
+<link rel="prev" href="transaction_object_hpp.html" title="Header &lt;boost/stm/transaction_object.hpp&gt;">
 <link rel="next" href="tx_ptr_hpp.html" title="Header &lt;boost/stm/tx_ptr.hpp&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="base_transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tx_ptr_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="transaction_object_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tx_ptr_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -171,7 +171,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="base_transaction_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tx_ptr_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="transaction_object_hpp.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="tx_ptr_hpp.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/users_guide/tutorial.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/users_guide/tutorial.html (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/users_guide/tutorial.html 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -816,10 +816,10 @@
           How the user can defien a transactional class D inheriting from a transactional
           class B
         </p>
-<a name="toward_boost_stm.users_guide.tutorial.polymorphic.using_the_mixin_transaction_object_lt__gt_"></a><h6>
+<a name="toward_boost_stm.users_guide.tutorial.polymorphic._mixin_using_the_mixin_transaction_object_lt__gt_"></a><h6>
 <a name="id4868388"></a>
- <a class="link" href="tutorial.html#toward_boost_stm.users_guide.tutorial.polymorphic.using_the_mixin_transaction_object_lt__gt_">Using
- the mixin transaction_object&lt;&gt;</a>
+ <a class="link" href="tutorial.html#toward_boost_stm.users_guide.tutorial.polymorphic._mixin_using_the_mixin_transaction_object_lt__gt_">:mixin
+ Using the mixin transaction_object&lt;&gt;</a>
         </h6>
 <p>
           Let B the base class
@@ -848,10 +848,10 @@
 <pre class="programlisting"><span class="identifier">write_ptr</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">*&gt;</span> <span class="identifier">tx_ptr_b_ptr</span><span class="special">(</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">ptr_b</span><span class="special">);</span>
 <span class="special">*</span><span class="identifier">ptr_b</span> <span class="special">=</span> <span class="identifier">BOOST_STM_NEW</span><span class="special">(</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">D</span><span class="special">())</span>
 </pre>
-<a name="toward_boost_stm.users_guide.tutorial.polymorphic.using_the_mixin_transaction_object_lt__gt_"></a><h6>
-<a name="id4868706"></a>
- <a class="link" href="tutorial.html#toward_boost_stm.users_guide.tutorial.polymorphic.using_the_mixin_transaction_object_lt__gt_">Using
- the mixin transaction_object&lt;&gt;</a>
+<a name="toward_boost_stm.users_guide.tutorial.polymorphic.__wrapper_using_the_wrapper_transactional_object_lt__gt_"></a><h6>
+<a name="id4868709"></a>
+ <a class="link" href="tutorial.html#toward_boost_stm.users_guide.tutorial.polymorphic.__wrapper_using_the_wrapper_transactional_object_lt__gt_">::wrapper
+ Using the wrapper transactional_object&lt;&gt;</a>
         </h6>
 </div>
 <div class="section" lang="en">

Modified: sandbox/stm/branches/vbe/libs/stm/doc/reference.qbk
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/reference.qbk (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference.qbk 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -12,17 +12,20 @@
 
 [/include reference/stm.qbk]
 [/include reference/rt_configuration.qbk]
+[include reference/base_contention_manager.qbk]
+[include reference/base_transaction_object.qbk]
+[include reference/cache_fct.qbk]
+[/include reference/contention_manager/default_contention_manager.qbk]
+[/include reference/contention_manager/NoExceptionOnAbortNoticeOnReadWritesCM.qbk]
+[/include reference/contention_manager/ExceptAndBackOffOnAbortNoticeCM.qbk]
 [include reference/data_types.qbk]
 [include reference/exceptions.qbk]
+[include reference/language_like.qbk]
 [/include reference/synchro.qbk]
 [include reference/transaction.qbk]
 [include reference/transaction_object.qbk]
+[/include reference/transaction_object_ptr.qbk]
 [include reference/smart_pointers.qbk]
-[include reference/base_contention_manager.qbk]
-[include reference/language_like.qbk]
-[/include reference/contention_manager/default_contention_manager.qbk]
-[/include reference/contention_manager/NoExceptionOnAbortNoticeOnReadWritesCM.qbk]
-[/include reference/contention_manager/ExceptAndBackOffOnAbortNoticeCM.qbk]
 [include reference/transaction_bookkeeping.qbk]
 
 [endsect]

Added: sandbox/stm/branches/vbe/libs/stm/doc/reference/base_transaction_object.qbk
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference/base_transaction_object.qbk 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -0,0 +1,149 @@
+[/
+ (C) Copyright 2009 Justin E. Gottchlich.
+ (C) Copyright 2009 Vicente J. Botet Escriba
+ /
+ / 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)
+ /]
+
+
+[/==========================================================================================]
+[section:base_transaction_object_hpp Header `<boost/stm/base_transaction_object.hpp>`]
+[/==========================================================================================]
+
+ namespace boost { namespace stm {
+ class base_transaction_object;
+ }}
+
+[section Abstract Class `base_transaction_object`]
+
+This is the base class of all the transactional objects. It tracks:
+
+* `transactionThread_`: the thread identifier holding the write acces to this transactional object
+* `transaction_`: the pointer to the transaction
+* `version_`: the version when performing validation
+* `newMemory_`: states whether this object is a new object
+
+Transactional objets must specialize the pure virtual functions
+
+* `copy_state(base_transaction_object const * const rhs)`
+* `move_state(base_transaction_object * rhs)` if `BUILD_MOVE_SEMANTICS`
+* `cache_deallocate()` if `BOOST_STM_USE_UNASIGNED_COPY`
+
+`copy_state` is used to copy the backup/working copy to the shared transactional object when the roolback/commit is done direct/defered policy is used.
+
+`move_state` is used to move the backup/working copy to the shared transactional object when the roolback/commit is done direct/defered policy is used.
+
+`cache_deallocate` is used to release the backup/working copy when the transaction ends if direct/defered policy is used.
+
+When USE_STM_MEMORY_MANAGER is defined this class provides two functions (`retrieve_mem` and `return_mem`) and to manage a pool of memory.
+
+
+ class base_transaction_object
+ {
+ public:
+
+ base_transaction_object();
+ virtual ~base_transaction_object() {};
+
+ virtual base_transaction_object* clone() const = 0;
+ virtual void copy_state(base_transaction_object const * const rhs) = 0;
+ virtual void move_state(base_transaction_object * rhs) = 0;
+
+ void transaction_thread(thread_id rhs) const;
+ thread_id transaction_thread() const;
+
+ void new_memory(bool rhs)
+ bool new_memory() const;
+
+ #if BOOST_STM_PERFORMING_VALIDATION
+ void version(std::size_t rhs);
+ std::size_t version() const;
+ #endif
+
+ #if BOOST_STM_USE_MEMORY_MANAGER
+ static void return_mem(void *mem, size_t size);
+ static void* retrieve_mem(size_t size);
+ static void alloc_size(size_t size);
+ #endif
+
+ #ifdef BOOST_STM_USE_UNASIGNED_COPY
+ virtual void cache_deallocate()=0;
+ #endif
+
+ };
+
+[section Constructor `base_transaction_object()`]
+
+ base_transaction_object();
+
+Default constructor (ctor) with no parameters allows derived base_transaction_objects to implicitly construct the base_transaction_object base class for easier integration.
+
+[endsect]
+
+[section Virtual Destructor `~base_transaction_object()`]
+
+ virtual ~base_transaction_object() {};
+
+Virtual destructor (dtor) ensures correct destructors are called in the inheritance hierarchy for delete operations invoked on base_transaction_object pointers, which occur in numerous places throughout the internal transaction code.
+
+[endsect]
+
+[section Virtual function `copy_state()`]
+
+ virtual void copy_state(base_transaction_object const * const rhs) = 0;
+
+
+The `copy_state()` method is called each time global memory is updated, for either direct or deferred updating policies. With this in mind, it is vital that the this object be set to the exact state of the input parameter.
+
+Derived classes usually simply override this method and perform an `operator=()` function call for the specific derived type.
+
+[endsect]
+
+
+[section Virtual function `move_state()`]
+
+ virtual void move_state(base_transaction_object * rhs) = 0;
+
+The move_state() method is internally called at deferred updating commit time and at direct updating abort time and invokes the user-defined derived transaction class's move assignment (e.g. operator=(type &&)).
+
+[endsect]
+
+[section Static function `retrieve_mem()`]
+
+ static void* retrieve_mem(size_t size);
+
+Static interface into __Boost_STM_s__ memory management system for retrieving memory. The supplied parameter is the requested block size, the return parameter is a void* to the allocated block. Usually access to this interface is done by overloading operator new in the derived base_transaction_object class. Void pointers are the natural and preferred manner to handle memory allocations and deallocations and are therefore safe in this context.
+
+[endsect]
+
+
+[section Static function `return_mem()`]
+
+ static void return_mem(void *mem, size_t size);
+
+Static interface into __Boost_STM_s__ memory management system for returning memory. The first parameter points to the memory block being returned, the second parameter specifies its size. Usually access to this interface is done by overloading operator delete in the derived transaction object class. Void pointers are the natural and preferred manner to handle memory allocations and deallocations and are therefore safe in this context.
+
+[endsect]
+
+[section Static function `alloc_size()`]
+
+ static void alloc_size(size_t size);
+
+Static interface into __Boost_STM_s__ memory management system which allows the user to specify the allocation chunk size for the memory manager. The input parameter specifies the number of transactional objects that should be allocated at startup and with each subsequent buffer increase. If no size is specified, the allocation chunk size uses __Boost_STM_s__ default value, currently 8192. The alloc_size() interface can be reconfigured at runtime and is used upon the next buffer increase.
+
+[endsect]
+
+[section Virtual function `cache_deallocate()`]
+
+ virtual void cache_deallocate()=0;
+
+[endsect]
+
+
+[endsect]
+
+
+[endsect]
+
+

Added: sandbox/stm/branches/vbe/libs/stm/doc/reference/cache_fct.qbk
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference/cache_fct.qbk 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -0,0 +1,86 @@
+[/
+ (C) Copyright 2009 Justin E. Gottchlich.
+ (C) Copyright 2009 Vicente J. Botet Escriba
+ /
+ / 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)
+ /]
+
+
+[/==========================================================================================]
+[section:cache_fct_hpp Header `<boost/stm/cache_fct.hpp>`]
+[/==========================================================================================]
+
+ namespace boost { namespace stm {
+ template <class T> T* cache_clone(const T& val);
+ template <class T> void cache_copy(const T* const ori, T* target);
+ void cache_release(base_transaction_object* ptr);
+
+ template <class T> T* cache_allocate();
+ template <class T> void cache_deallocate(T*);
+
+ }}
+
+
+[section Template Function `cache_clone<>()`]
+
+ template <class T>
+ T* cache_clone(const T& val);
+
+Makes a new copy of the parameter. Allocates an object of type T using the `cache_allocate` function and copy from the given parameter `val` using the free function `cache_copy`.
+
+The user can overload this function, as __Boost_STM__ uses ADL to access it.
+
+When `BOOST_STM_NO_PARTIAL_SPECIALIZATION` is defined, i.e. on compilers not supporting partial template specialization, the function calls to `partial_specialization_workaround::cache_clone<T>::apply(val)`. So the user will need to overload the class `partial_specialization_workaround::cache_clone<T>` defining the function
+
+ static T* apply(const T& val);
+
+[endsect]
+
+
+[section Template Function `cache_copy<>()`]
+
+ template <class T>
+ void cache_copy(const T* const source, T* target);
+
+Copy from souce to target using memcpy by default.
+
+The user can overload this function, as __Boost_STM__ uses ADL to access it.
+
+When `BOOST_STM_NO_PARTIAL_SPECIALIZATION` is defined, i.e. on compilers not supporting partial template specialization, the function calls to `partial_specialization_workaround::cache_copy<T>::apply(source, target)`. So the user will need to overload the class `partial_specialization_workaround::cache_copy<T>` defining the function
+
+ static T* apply(const T* const source, T* target);
+
+[endsect]
+
+[section Function `cache_release<>()`]
+
+ void cache_release(base_transaction_object* ptr) {
+
+Release the given base_transaction_object by calling to the virtual function `cache_dealocate`.
+
+[endsect]
+
+
+[section Template Function `cache_allocate<>()`]
+
+ template <class T>
+ T* cache_allocate();
+
+Allocates an instance of calls T. Depending on whether BOOST_STM_CACHE_USE_MEMORY_MANAGER, BOOST_STM_CACHE_USE_MALLOC or BOOST_STM_CACHE_USE_TSS_MONOTONIC_MEMORY_MANAGER are defined this function will use the static pool of the class T, malloc or the thread specific monotonic allocator.
+
+[endsect]
+
+[section Template Function `cache_deallocate<>()`]
+
+ template <class T>
+ void cache_deallocate(T*ptr) {
+
+Deallocates an instance of calls T. Depending on whether BOOST_STM_CACHE_USE_MEMORY_MANAGER, BOOST_STM_CACHE_USE_MALLOC or BOOST_STM_CACHE_USE_TSS_MONOTONIC_MEMORY_MANAGER are defined this function will use the static pool of the class T, free or the no-op.
+
+[endsect]
+
+
+[endsect]
+
+

Modified: sandbox/stm/branches/vbe/libs/stm/doc/reference/data_types.qbk
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/reference/data_types.qbk (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference/data_types.qbk 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -1,5 +1,5 @@
 [/
- (C) Copyright 2009 Justin E. Gottchlich.
+ (C) Copyright 2009 Justin E. Gottchlich.
   (C) Copyright 2009 Vicente J. Botet Escriba
  /
  / Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -20,9 +20,23 @@
 
 [section Enum `transaction_type`]
 
+ enum transaction_type
+ {
+ eNormalTx,
+ eIrrevocableTx,
+ eIrrevocableAndIsolatedTx
+ };
+
 [endsect]
 [section Enum `latm_type`]
 
+ enum latm_type
+ {
+ eFullLatmProtection,
+ eTmConflictingLockLatmProtection,
+ eTxConflictingLockLatmProtection
+ };
+
 [endsect]
 [section Enum `transaction_state`]
 
@@ -38,6 +52,8 @@
 [endsect]
 [section Typedef `thread_id_t`]
 
+ typedef platform_specific thread_id_t;
+
 [endsect]
 [endsect]
 

Modified: sandbox/stm/branches/vbe/libs/stm/doc/reference/transaction_object.qbk
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/reference/transaction_object.qbk (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference/transaction_object.qbk 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -8,210 +8,14 @@
 
 
 [/==========================================================================================]
-[section:base_transaction_hpp Header `<boost/stm/base_transaction.hpp>`]
+[section:transaction_object_hpp Header `<boost/stm/transaction_object.hpp>`]
 [/==========================================================================================]
 
     namespace boost { namespace stm {
- class base_transaction_object;
-
- template <class T> T* cache_clone(const T& val);
- template <class T> void cache_copy(const T* const ori, T* target);
- void cache_release(base_transaction_object* ptr);
-
- template <class T> T* cache_allocate();
- template <class T> void cache_deallocate(T*);
-
-
         template <class Derived> class transaction_object;
         template <typename T> class native_trans;
     }}
 
-[section Abstract Class `base_transaction_object`]
-
-This is the base class of all the transactional objects. It tracks:
-
-* `transactionThread_`: the thread identifier holding the write acces to this transactional object
-* `transaction_`: the pointer to the transaction
-* `version_`: the version when performing validation
-* `newMemory_`: states whether this object is a new object
-
-Transactional objets must specialize the pure virtual functions
-
-* `copy_state(base_transaction_object const * const rhs)`
-* `move_state(base_transaction_object * rhs)` if `BUILD_MOVE_SEMANTICS`
-* `cache_deallocate()` if `BOOST_STM_USE_UNASIGNED_COPY`
-
-`copy_state` is used to copy the backup/working copy to the shared transactional object when the roolback/commit is done direct/defered policy is used.
-
-`move_state` is used to move the backup/working copy to the shared transactional object when the roolback/commit is done direct/defered policy is used.
-
-`cache_deallocate` is used to release the backup/working copy when the transaction ends if direct/defered policy is used.
-
-When USE_STM_MEMORY_MANAGER is defined this class provides two functions (`retrieve_mem` and `return_mem`) and to manage a pool of memory.
-
-
- class base_transaction_object
- {
- public:
-
- base_transaction_object();
- virtual ~base_transaction_object() {};
-
- virtual base_transaction_object* clone() const = 0;
- virtual void copy_state(base_transaction_object const * const rhs) = 0;
- virtual void move_state(base_transaction_object * rhs) = 0;
-
- void transaction_thread(thread_id rhs) const;
- thread_id transaction_thread() const;
-
- void new_memory(bool rhs)
- bool new_memory() const;
-
- #if BOOST_STM_PERFORMING_VALIDATION
- void version(std::size_t rhs);
- std::size_t version() const;
- #endif
-
- #if BOOST_STM_USE_MEMORY_MANAGER
- static void return_mem(void *mem, size_t size);
- static void* retrieve_mem(size_t size);
- static void alloc_size(size_t size);
- #endif
-
- #ifdef BOOST_STM_USE_UNASIGNED_COPY
- virtual void cache_deallocate()=0;
- #endif
-
- };
-
-[section Constructor `base_transaction_object()`]
-
- base_transaction_object();
-
-Default constructor (ctor) with no parameters allows derived base_transaction_objects to implicitly construct the base_transaction_object base class for easier integration.
-
-[endsect]
-
-[section Virtual Destructor `~base_transaction_object()`]
-
- virtual ~base_transaction_object() {};
-
-Virtual destructor (dtor) ensures correct destructors are called in the inheritance hierarchy for delete operations invoked on base_transaction_object pointers, which occur in numerous places throughout the internal transaction code.
-
-[endsect]
-
-[section Virtual function `copy_state()`]
-
- virtual void copy_state(base_transaction_object const * const rhs) = 0;
-
-
-The `copy_state()` method is called each time global memory is updated, for either direct or deferred updating policies. With this in mind, it is vital that the this object be set to the exact state of the input parameter.
-
-Derived classes usually simply override this method and perform an `operator=()` function call for the specific derived type.
-
-[endsect]
-
-
-[section Virtual function `move_state()`]
-
- virtual void move_state(base_transaction_object * rhs) = 0;
-
-The move_state() method is internally called at deferred updating commit time and at direct updating abort time and invokes the user-defined derived transaction class's move assignment (e.g. operator=(type &&)).
-
-[endsect]
-
-[section Static function `retrieve_mem()`]
-
- static void* retrieve_mem(size_t size);
-
-Static interface into __Boost_STM_s__ memory management system for retrieving memory. The supplied parameter is the requested block size, the return parameter is a void* to the allocated block. Usually access to this interface is done by overloading operator new in the derived base_transaction_object class. Void pointers are the natural and preferred manner to handle memory allocations and deallocations and are therefore safe in this context.
-
-[endsect]
-
-
-[section Static function `return_mem()`]
-
- static void return_mem(void *mem, size_t size);
-
-Static interface into __Boost_STM_s__ memory management system for returning memory. The first parameter points to the memory block being returned, the second parameter specifies its size. Usually access to this interface is done by overloading operator delete in the derived transaction object class. Void pointers are the natural and preferred manner to handle memory allocations and deallocations and are therefore safe in this context.
-
-[endsect]
-
-[section Static function `alloc_size()`]
-
- static void alloc_size(size_t size);
-
-Static interface into __Boost_STM_s__ memory management system which allows the user to specify the allocation chunk size for the memory manager. The input parameter specifies the number of transactional objects that should be allocated at startup and with each subsequent buffer increase. If no size is specified, the allocation chunk size uses __Boost_STM_s__ default value, currently 8192. The alloc_size() interface can be reconfigured at runtime and is used upon the next buffer increase.
-
-[endsect]
-
-[section Virtual function `cache_deallocate()`]
-
- virtual void cache_deallocate()=0;
-
-[endsect]
-
-
-[endsect]
-
-[section Template Function `cache_clone<>()`]
-
- template <class T>
- T* cache_clone(const T& val);
-
-Makes a new copy of the parameter. Allocates an object of type T using the `cache_allocate` function and copy from the given parameter `val` using the free function `cache_copy`.
-
-The user can overload this function, as __Boost_STM__ uses ADL to access it.
-
-When `BOOST_STM_NO_PARTIAL_SPECIALIZATION` is defined, i.e. on compilers not supporting partial template specialization, the function calls to `partial_specialization_workaround::cache_clone<T>::apply(val)`. So the user will need to overload the class `partial_specialization_workaround::cache_clone<T>` defining the function
-
- static T* apply(const T& val);
-
-[endsect]
-
-
-[section Template Function `cache_copy<>()`]
-
- template <class T>
- void cache_copy(const T* const source, T* target);
-
-Copy from souce to target using memcpy by default.
-
-The user can overload this function, as __Boost_STM__ uses ADL to access it.
-
-When `BOOST_STM_NO_PARTIAL_SPECIALIZATION` is defined, i.e. on compilers not supporting partial template specialization, the function calls to `partial_specialization_workaround::cache_copy<T>::apply(source, target)`. So the user will need to overload the class `partial_specialization_workaround::cache_copy<T>` defining the function
-
- static T* apply(const T* const source, T* target);
-
-[endsect]
-
-[section Function `cache_release<>()`]
-
- void cache_release(base_transaction_object* ptr) {
-
-Release the given base_transaction_object by calling to the virtual function `cache_dealocate`.
-
-[endsect]
-
-
-[section Template Function `cache_allocate<>()`]
-
- template <class T>
- T* cache_allocate();
-
-Allocates an instance of calls T. Depending on whether BOOST_STM_CACHE_USE_MEMORY_MANAGER, BOOST_STM_CACHE_USE_MALLOC or BOOST_STM_CACHE_USE_TSS_MONOTONIC_MEMORY_MANAGER are defined this function will use the static pool of the class T, malloc or the thread specific monotonic allocator.
-
-[endsect]
-
-[section Template Function `cache_deallocate<>()`]
-
- template <class T>
- void cache_deallocate(T*ptr) {
-
-Deallocates an instance of calls T. Depending on whether BOOST_STM_CACHE_USE_MEMORY_MANAGER, BOOST_STM_CACHE_USE_MALLOC or BOOST_STM_CACHE_USE_TSS_MONOTONIC_MEMORY_MANAGER are defined this function will use the static pool of the class T, free or the no-op.
-
-[endsect]
-
 [section Template Class `transaction_object<>`]
 
 To further simplify the usage of __Boost_STM__, an intermediate template class was built which is meant to sit between the base_transaction_object and the user-defined transaction objects. The purpose of this intermediate class is to reduce the code overhead needed for user-defined transaction objects. To do this, the curiously recurring template pattern developed by James Coplien was used.

Added: sandbox/stm/branches/vbe/libs/stm/doc/stm.pdf
==============================================================================
Binary file. No diff available.

Modified: sandbox/stm/branches/vbe/libs/stm/doc/tutorial.qbk
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/tutorial.qbk (original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/tutorial.qbk 2009-09-22 14:14:13 EDT (Tue, 22 Sep 2009)
@@ -433,7 +433,7 @@
 
 How the user can defien a transactional class D inheriting from a transactional class B
 
-[heading Using the mixin transaction_object<>]
+[heading:mixin Using the mixin transaction_object<>]
 
 Let B the base class
 
@@ -457,7 +457,7 @@
     write_ptr<B*> tx_ptr_b_ptr(_,ptr_b);
     *ptr_b = BOOST_STM_NEW(_, D())
 
-[heading Using the mixin transaction_object<>]
+[heading::wrapper Using the wrapper transactional_object<>]
 
 [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