$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r57569 - in sandbox/stm/branches/vbe/libs/stm/doc: . html html/toward_boost_stm html/toward_boost_stm/appendices html/toward_boost_stm/reference reference reference/contention_managers
From: vicente.botet_at_[hidden]
Date: 2009-11-11 11:01:30
Author: viboes
Date: 2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
New Revision: 57569
URL: http://svn.boost.org/trac/boost/changeset/57569
Log:
TBoost.STM vbe: doc reorganization
Added:
   sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_managers/concept.qbk   (contents, props changed)
Text files modified: 
   sandbox/stm/branches/vbe/libs/stm/doc/html/index.html                                                |    16                                         
   sandbox/stm/branches/vbe/libs/stm/doc/html/standalone_HTML.manifest                                  |     7                                         
   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                     |    32                                         
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/examples.html                            |     8                                         
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference.html                           |    87 +-                                      
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/contention_managers.html       |   301 ++++++----                              
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_transactional_objects.html |   195 +++---                                  
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/stm_hpp.html                   |     6                                         
   sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_objects.html     |  1071 ++++++++++++++++++++------------------- 
   sandbox/stm/branches/vbe/libs/stm/doc/reference.qbk                                                  |    61 +                                       
   sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_manager.qbk                               |    10                                         
   14 files changed, 1017 insertions(+), 857 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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -53,13 +53,15 @@
 <dt><span class="section">Reference</span></dt>
 <dd><dl>
 <dt><span class="section"> Header <boost/stm.hpp></span></dt>
-<dt><span class="section">Basics</span></dt>
-<dt><span class="section"><a href="toward_boost_stm/reference/contention_managers.html">Contention
-      managers</a></span></dt>
-<dt><span class="section"><a href="toward_boost_stm/reference/transactional_objects.html">Transactional
-      objects</a></span></dt>
+<dt><span class="section">Core</span></dt>
+<dt><span class="section"><a href="toward_boost_stm/reference/mixins_transactional_objects.html">Mixins
+      Transactional Objects</a></span></dt>
+<dt><span class="section"><a href="toward_boost_stm/reference/warppers_transactional_objects.html">Warppers
+      Transactional Objects</a></span></dt>
 <dt><span class="section"><a href="toward_boost_stm/reference/non_transactional_objects.html">Non
-      transactional objects</a></span></dt>
+      Transactional Objects</a></span></dt>
+<dt><span class="section"><a href="toward_boost_stm/reference/contention_managers.html">Contention
+      Managers</a></span></dt>
 </dl></dd>
 <dt><span class="section">Examples</span></dt>
 <dt><span class="section">Appendices</span></dt>
@@ -96,7 +98,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: October 21, 2009 at 07:38:07 GMT</small></p></td>
+<td align="left"><p><small>Last revised: October 24, 2009 at 19:31:01 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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -8,10 +8,11 @@
 toward_boost_stm/users_guide/glosary.html
 toward_boost_stm/reference.html
 toward_boost_stm/reference/stm_hpp.html
-toward_boost_stm/reference/basics.html
-toward_boost_stm/reference/contention_managers.html
-toward_boost_stm/reference/transactional_objects.html
+toward_boost_stm/reference/core.html
+toward_boost_stm/reference/mixins_transactional_objects.html
+toward_boost_stm/reference/warppers_transactional_objects.html
 toward_boost_stm/reference/non_transactional_objects.html
+toward_boost_stm/reference/contention_managers.html
 toward_boost_stm/examples.html
 toward_boost_stm/appendices.html
 toward_boost_stm/appendices/changes.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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -27,7 +27,7 @@
 <a name="toward_boost_stm.appendices.changes"></a> Appendix A: History
 </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><h4>
-<a name="id4864698"></a>
+<a name="id4865133"></a>
         <a 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>
       </h4>
@@ -47,7 +47,7 @@
         </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.changes._emphasis_role__bold__tickets___emphasis_"></a><h4>
-<a name="id4864771"></a>
+<a name="id4865206"></a>
         <a href="changes.html#toward_boost_stm.appendices.changes._emphasis_role__bold__tickets___emphasis_"><span class="bold"><strong>Tickets:</strong></span></a>
       </h4>
 <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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -56,7 +56,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><h5>
-<a name="id4880396"></a>
+<a name="id4885320"></a>
           <a href="implementation.html#toward_boost_stm.appendices.implementation.language_like_macro_blocks.locking_macros">Locking
           Macros</a>
         </h5>
@@ -79,7 +79,7 @@
           are executed once and only once.
         </p>
 <a name="toward_boost_stm.appendices.implementation.language_like_macro_blocks.transaction_macros"></a><h5>
-<a name="id4880459"></a>
+<a name="id4885371"></a>
           <a href="implementation.html#toward_boost_stm.appendices.implementation.language_like_macro_blocks.transaction_macros">Transaction
           Macros</a>
         </h5>
@@ -128,7 +128,7 @@
           transaction is aborted.
         </p>
 <a name="toward_boost_stm.appendices.implementation.language_like_macro_blocks.correcting_non_compliant_compilers"></a><h5>
-<a name="id4880566"></a>
+<a name="id4885459"></a>
           <a href="implementation.html#toward_boost_stm.appendices.implementation.language_like_macro_blocks.correcting_non_compliant_compilers">Correcting
           Non-Compliant Compilers</a>
         </h5>
@@ -161,11 +161,11 @@
 <a name="toward_boost_stm.appendices.implementation.cache"></a>Cache
 </h4></div></div></div>
 <a name="toward_boost_stm.appendices.implementation.cache.dispersed"></a><h5>
-<a name="id4884961"></a>
+<a name="id4885587"></a>
           <a href="implementation.html#toward_boost_stm.appendices.implementation.cache.dispersed">Dispersed</a>
         </h5>
 <a name="toward_boost_stm.appendices.implementation.cache.compact"></a><h5>
-<a name="id4884983"></a>
+<a name="id4885609"></a>
           <a href="implementation.html#toward_boost_stm.appendices.implementation.cache.compact">Compact</a>
         </h5>
 </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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -267,7 +267,7 @@
             read).
           </p>
 <div class="table">
-<a name="id4865301"></a><p class="title"><b>Table 1.1. Comparaison with other STM systems</b></p>
+<a name="id4865740"></a><p class="title"><b>Table 1.1. Comparaison with other STM systems</b></p>
 <table class="table" summary="Comparaison with other STM systems">
 <colgroup>
 <col>
@@ -472,7 +472,7 @@
             handle each specific problem with the most appropriate configuration.
           </p>
 <div class="table">
-<a name="id4865694"></a><p class="title"><b>Table 1.2. Consistency versus Updating policies composition</b></p>
+<a name="id4866122"></a><p class="title"><b>Table 1.2. Consistency versus Updating policies composition</b></p>
 <table class="table" summary="Consistency versus Updating policies composition">
 <colgroup>
 <col>
@@ -627,7 +627,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="id4866026"></a>
+<a name="id4866453"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.priority_based_tasks">Priority-Based
             Tasks</a>
           </h6>
@@ -642,7 +642,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="id4866064"></a>
+<a name="id4866491"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.approach">Approach</a>
           </h6>
 <p>
@@ -658,7 +658,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="id4866103"></a>
+<a name="id4866530"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.contention_management.attacking__amp__victim_transactions">Attacking
             & Victim Transactions</a>
           </h6>
@@ -678,7 +678,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="id4866151"></a>
+<a name="id4866577"></a>
             <a 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>
@@ -699,7 +699,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="id4866201"></a>
+<a name="id4866627"></a>
             <a 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>
@@ -794,7 +794,7 @@
             of experimental benchmarks on .
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.introduction"></a><h6>
-<a name="id4866942"></a>
+<a name="id4867336"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.introduction">Introduction</a>
           </h6>
 <p>
@@ -847,7 +847,7 @@
             </li>
 </ol></div>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.background"></a><h6>
-<a name="id4867041"></a>
+<a name="id4867436"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.background">Background</a>
           </h6>
 <p>
@@ -958,7 +958,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="id4867606"></a>
+<a name="id4868031"></a>
             <a 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>
@@ -1009,7 +1009,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="id4868748"></a>
+<a name="id4869196"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_full_lock_protection">LoT
             Full Lock Protection</a>
           </h6>
@@ -1039,7 +1039,7 @@
             stalling.
           </p>
 <a name="toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tm_lock_protection"></a><h6>
-<a name="id4868828"></a>
+<a name="id4869257"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tm_lock_protection">LoT
             TM-Lock Protection</a>
           </h6>
@@ -1082,7 +1082,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="id4869000"></a>
+<a name="id4869429"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lot_tx_lock_protection">LoT
             TX-Lock Protection</a>
           </h6>
@@ -1125,7 +1125,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="id4869524"></a>
+<a name="id4765375"></a>
             <a 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>
@@ -1239,7 +1239,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="id4870582"></a>
+<a name="id4871284"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_full_lock_protection">LiT
             Full-Lock Protection</a>
           </h6>
@@ -1269,7 +1269,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="id4870644"></a>
+<a name="id4871345"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_tm_lock_protection">LiT
             TM-Lock Protection</a>
           </h6>
@@ -1299,7 +1299,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="id4870705"></a>
+<a name="id4871418"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_tx_lock_protection">LiT
             TX-Lock Protection</a>
           </h6>
@@ -1339,7 +1339,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="id4870801"></a>
+<a name="id4871494"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lock_composition">Lock
             Composition</a>
           </h6>
@@ -1423,7 +1423,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="id4871522"></a>
+<a name="id4872216"></a>
             <a 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>
@@ -1474,7 +1474,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="id4872132"></a>
+<a name="id4872827"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.understanding_lit_lock_composition">Understanding
             LiT Lock Composition</a>
           </h6>
@@ -1563,7 +1563,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="id4873210"></a>
+<a name="id4873921"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.tm_specific_concepts.lock_aware_transaction.lit_lock_identification">LiT
             Lock Identification</a>
           </h6>
@@ -1873,7 +1873,7 @@
             The following table is a compilation of the preceding analysis:
           </p>
 <div class="table">
-<a name="id4873769"></a><p class="title"><b>Table 1.3. Comparaison with other STM systems</b></p>
+<a name="id4874464"></a><p class="title"><b>Table 1.3. Comparaison with other STM systems</b></p>
 <table class="table" summary="Comparaison with other STM systems">
 <colgroup><col></colgroup>
 <thead><tr>
@@ -2159,7 +2159,7 @@
             support in the near future [4].
           </p>
 <div class="table">
-<a name="id4874918"></a><p class="title"><b>Table 1.4. Comparaison with other STM systems</b></p>
+<a name="id4875591"></a><p class="title"><b>Table 1.4. Comparaison with other STM systems</b></p>
 <table class="table" summary="Comparaison with other STM systems">
 <colgroup>
 <col>
@@ -2257,7 +2257,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="id4875126"></a>
+<a name="id4875799"></a>
             <a 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>
@@ -2305,7 +2305,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="id4875524"></a>
+<a name="id4876197"></a>
             <a 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>
@@ -2378,7 +2378,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="id4875959"></a>
+<a name="id4880899"></a>
             <a 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>
@@ -2432,7 +2432,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="id4876346"></a>
+<a name="id4881271"></a>
             <a 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>
@@ -2527,7 +2527,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="id4877345"></a>
+<a name="id4882270"></a>
             <a 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>
@@ -2564,7 +2564,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="id4877438"></a>
+<a name="id4882347"></a>
             <a 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>
@@ -2600,7 +2600,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="id4877940"></a>
+<a name="id4882850"></a>
             <a 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>
@@ -2687,7 +2687,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="id4879198"></a>
+<a name="id4884110"></a>
             <a 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>
@@ -2765,7 +2765,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="id4879855"></a>
+<a name="id4884771"></a>
             <a href="rationale.html#toward_boost_stm.appendices.rationale.c___and_library_specific_concepts.language_like_macro_blocks.transaction_nesting">Transaction
             Nesting</a>
           </h6>
@@ -2826,7 +2826,7 @@
         with other STM systems</a>
 </h4></div></div></div>
 <div class="table">
-<a name="id4879974"></a><p class="title"><b>Table 1.5. Comparaison
+<a name="id4884898"></a><p class="title"><b>Table 1.5. Comparaison
         with other STM systems</b></p>
 <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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -44,7 +44,7 @@
         to do before review</a>
 </h4></div></div></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.interface"></a><h5>
-<a name="id4887291"></a>
+<a name="id4887920"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.interface">Interface</a>
         </h5>
 <p>
@@ -192,7 +192,7 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.adding_some_components_to_boost_to_preparing_boostification_of_stm"></a><h5>
-<a name="id4887618"></a>
+<a name="id4888247"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.adding_some_components_to_boost_to_preparing_boostification_of_stm">Adding
           some components to Boost to preparing Boostification of STM</a>
         </h5>
@@ -232,7 +232,7 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.boostifying_stm"></a><h5>
-<a name="id4887721"></a>
+<a name="id4888351"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.boostifying_stm">Boostifying
           STM</a>
         </h5>
@@ -308,7 +308,7 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.implementation"></a><h5>
-<a name="id4887897"></a>
+<a name="id4888527"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.implementation">Implementation</a>
         </h5>
 <p>
@@ -335,28 +335,28 @@
           </li>
 </ul></div>
 <a name="toward_boost_stm.appendices.todo.tasks_to_do_before_review.tests"></a><h5>
-<a name="id4887967"></a>
+<a name="id4888598"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.tests">Tests</a>
         </h5>
 <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.examples"></a><h5>
-<a name="id4887998"></a>
+<a name="id4888628"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.examples">Examples</a>
         </h5>
 <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><h5>
-<a name="id4888028"></a>
+<a name="id4888658"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.benchmarks">Benchmarks</a>
         </h5>
 <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><h5>
-<a name="id4888059"></a>
+<a name="id4888689"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.tasks_to_do_before_review.documentation">Documentation</a>
         </h5>
 <div class="itemizedlist"><ul type="disc">
@@ -464,12 +464,12 @@
           could be done after acceptation.
         </p>
 <a name="toward_boost_stm.appendices.todo.for_later_releases.integrate_with_stm_test_benchmarks_as_stamp_or_stmbench7"></a><h5>
-<a name="id4888301"></a>
+<a name="id4888932"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.for_later_releases.integrate_with_stm_test_benchmarks_as_stamp_or_stmbench7">Integrate
           with STM test benchmarks as STAMP or STMBench7</a>
         </h5>
 <a name="toward_boost_stm.appendices.todo.for_later_releases.providing_closed_nested_transaction_that_are_not_flat"></a><h5>
-<a name="id4888328"></a>
+<a name="id4888958"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.for_later_releases.providing_closed_nested_transaction_that_are_not_flat">Providing
           Closed Nested transaction that are not flat</a>
         </h5>
@@ -479,12 +479,12 @@
           the thread.
         </p>
 <a name="toward_boost_stm.appendices.todo.for_later_releases.allows_configuration_at_compile_time_and_run_time"></a><h5>
-<a name="id4888361"></a>
+<a name="id4888992"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.for_later_releases.allows_configuration_at_compile_time_and_run_time">Allows
           configuration at compile-time and run-time</a>
         </h5>
 <a name="toward_boost_stm.appendices.todo.for_later_releases.add_explicit_outer_transaction"></a><h5>
-<a name="id4888386"></a>
+<a name="id4889016"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.for_later_releases.add_explicit_outer_transaction">Add
           explicit outer transaction</a>
         </h5>
@@ -504,22 +504,22 @@
           that need a deep research.
         </p>
 <a name="toward_boost_stm.appendices.todo.more_recherch_needed.transactional_condition_variables"></a><h5>
-<a name="id4888441"></a>
+<a name="id4889070"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.more_recherch_needed.transactional_condition_variables">Transactional
           condition variables</a>
         </h5>
 <a name="toward_boost_stm.appendices.todo.more_recherch_needed.mixing_stm_updating_policies"></a><h5>
-<a name="id4888466"></a>
+<a name="id4889094"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.more_recherch_needed.mixing_stm_updating_policies">Mixing
           STM updating policies</a>
         </h5>
 <a name="toward_boost_stm.appendices.todo.more_recherch_needed.mixing_stm_consistency_checking"></a><h5>
-<a name="id4888491"></a>
+<a name="id4889119"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.more_recherch_needed.mixing_stm_consistency_checking">Mixing
           STM consistency checking</a>
         </h5>
 <a name="toward_boost_stm.appendices.todo.more_recherch_needed.suspend_resume_transactions"></a><h5>
-<a name="id4888516"></a>
+<a name="id4889144"></a>
           <a href="todo.html#toward_boost_stm.appendices.todo.more_recherch_needed.suspend_resume_transactions">Suspend/resume
           transactions</a>
         </h5>
Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/examples.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/examples.html	(original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/examples.html	2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
 <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="reference/non_transactional_objects.html" title="Non
-      transactional objects">
+<link rel="prev" href="reference/contention_managers.html" title="Contention
+      Managers">
 <link rel="next" href="appendices.html" title="Appendices">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +21,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference/non_transactional_objects.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="appendices.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/contention_managers.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="appendices.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">
@@ -41,7 +41,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference/non_transactional_objects.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="appendices.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/contention_managers.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="appendices.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.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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -28,63 +28,78 @@
 </h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"> Header <boost/stm.hpp></span></dt>
-<dt><span class="section">Basics</span></dt>
+<dt><span class="section">Core</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.base_transaction_object_hpp">
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.base_transaction_object_hpp">
         Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.cache_fct_hpp"> Header
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.cache_fct_hpp"> Header
         <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.datatypes_hpp"> Header
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.datatypes_hpp"> Header
         <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">datatypes</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.exceptions_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">exceptions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.language_like_hpp">
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.exceptions_hpp"> Header
+        <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">exceptions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.language_like_hpp">
         Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.select_contention_manager_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">select_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.transaction_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/basics.html#toward_boost_stm.reference.basics.transaction_bookkeeping_hpp">
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.transaction_hpp"> Header
+        <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/core.html#toward_boost_stm.reference.core.transaction_bookkeeping_hpp">
         Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="reference/contention_managers.html">Contention
-      managers</a></span></dt>
-<dd><dl><dt><span class="section"><a href="reference/contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt></dl></dd>
-<dt><span class="section"><a href="reference/transactional_objects.html">Transactional
-      objects</a></span></dt>
+<dt><span class="section"><a href="reference/mixins_transactional_objects.html">Mixins
+      Transactional Objects</a></span></dt>
 <dd><dl>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">shallow_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_object_hpp">
+<dt><span class="section"><a href="reference/mixins_transactional_objects.html#toward_boost_stm.reference.mixins_transactional_objects.deep_copy">Deep
+        Copy</a></span></dt>
+<dt><span class="section"><a href="reference/mixins_transactional_objects.html#toward_boost_stm.reference.mixins_transactional_objects.shallow_copy">Shallow
+        Copy</a></span></dt>
+<dt><span class="section"><a href="reference/mixins_transactional_objects.html#toward_boost_stm.reference.mixins_transactional_objects.smart_pointers">Smart
+        pointers</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/warppers_transactional_objects.html">Warppers
+      Transactional Objects</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/warppers_transactional_objects.html#toward_boost_stm.reference.warppers_transactional_objects.transactional_object_hpp">
         Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_numeric_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/warppers_transactional_objects.html#toward_boost_stm.reference.warppers_transactional_objects.smart_pointers">Smart
+        pointers</a></span></dt>
 </dl></dd>
 <dt><span class="section"><a href="reference/non_transactional_objects.html">Non
-      transactional objects</a></span></dt>
+      Transactional Objects</a></span></dt>
 <dd><dl>
 <dt><span class="section"><a href="reference/non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_numeric_hpp">
         Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">non_tx</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
 <dt><span class="section"><a href="reference/non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_pointer_hpp">
         Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">non_tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="reference/non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers">Smart
+        pointers</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="reference/contention_managers.html">Contention
+      Managers</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="reference/contention_managers.html#toward_boost_stm.reference.contention_managers.concept__contentionmanager_">Concept
+        <code class="computeroutput"><span class="identifier">ContentionManager</span></code></a></span></dt>
+<dt><span class="section"><a href="reference/contention_managers.html#toward_boost_stm.reference.contention_managers.select_contention_manager_hpp">
+        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">select_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="reference/contention_managers.html#toward_boost_stm.reference.contention_managers.static_contention_managers">Static
+        Contention Managers</a></span></dt>
+<dt><span class="section"><a href="reference/contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers">Dynamic
+        Contention Managers</a></span></dt>
 </dl></dd>
 </dl></div>
 <p>
       This section presents the interface of TBoost.STM.
     </p>
+<p>
+      There are two kind of transactional objets:
+    </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+        Mixins
+      </li>
+<li>
+        Wrappers
+      </li>
+</ul></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
Modified: sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/contention_managers.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/contention_managers.html	(original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/contention_managers.html	2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -2,14 +2,14 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Contention
-      managers</title>
+      Managers</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="basics.html" title="Basics">
-<link rel="next" href="transactional_objects.html" title="Transactional
-      objects">
+<link rel="prev" href="non_transactional_objects.html" title="Non
+      Transactional Objects">
+<link rel="next" href="../examples.html" title="Examples">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -22,61 +22,119 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basics.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_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="non_transactional_objects.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">
 <a name="toward_boost_stm.reference.contention_managers"></a><a href="contention_managers.html" title="Contention
-      managers">Contention
-      managers</a>
+      Managers">Contention
+      Managers</a>
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dd><dl><dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.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="contention_managers.html#toward_boost_stm.reference.contention_managers.concept__contentionmanager_">Concept
+        <code class="computeroutput"><span class="identifier">ContentionManager</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.select_contention_manager_hpp">
+        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">select_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.static_contention_managers">Static
+        Contention Managers</a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers">Dynamic
+        Contention Managers</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.contention_manager_default_hpp">
+          Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">contention_managers</span><span class="special">/</span><span class="keyword">default</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+</dl></dd>
 </dl></div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.contention_managers.concept__contentionmanager_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.concept__contentionmanager_" title="Concept
+        ContentionManager">Concept
+        <code class="computeroutput"><span class="identifier">ContentionManager</span></code></a>
+</h4></div></div></div></div>
+<p>
+        __TBoost<span class="underline">STM</span>_ allows the user to choose
+        between static and dynamic polimorphic contention manager.
+      </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="toward_boost_stm.reference.contention_managers.select_contention_manager_hpp"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.select_contention_manager_hpp" title="
+        Header <boost/stm/select_contention_manager.hpp>">
+        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">select_contention_manager</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h4></div></div></div>
+<p>
+          This file defines the contention manager depending on the compile directives:
+        </p>
+<p>
+          Define BOOST_STM_CM_STATIC_CONF when you want a staticacly configured CM.
+          For example
+        </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_STM_CM_STATIC_CONF</span> <span class="special">\</span>
+    <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">contention_managers</span><span class="special">/</span><span class="identifier">except_and_back_off_on_abort_notice_cm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
+<p>
+          When not defined the type of the contention manager will be dynmic_polymorphic.
+        </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="char">'compilation_dependent_type'</span> <span class="identifier">contention_manager_type</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.contention_managers.static_contention_managers"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.static_contention_managers" title="Static
+        Contention Managers">Static
+        Contention Managers</a>
+</h4></div></div></div></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp" title="
-        Header <boost/stm/base_contention_manager.hpp>">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers" title="Dynamic
+        Contention Managers">Dynamic
+        Contention Managers</a>
 </h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.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></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.contention_manager_default_hpp">
+          Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">contention_managers</span><span class="special">/</span><span class="keyword">default</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp" title="
+          Header <boost/stm/base_contention_manager.hpp>">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.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></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_contention_manager</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.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_" title="Abstract
-          Class base_contention_manager">Abstract
-          Class <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a>
-</h5></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_" title="Abstract
+            Class base_contention_manager">Abstract
+            Class <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a>
+</h6></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_destructor__base_contention_manager_">Virtual
-            destructor <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_new_">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_new</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_delete_">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_delete</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_read_">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_read</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_write_">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_write</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_before_commit_">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_before_commit</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__permission_to_abort_">Virtual
-            function <code class="computeroutput"><span class="identifier">permission_to_abort</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__allow_lock_to_abort_tx_">Virtual
-            function <code class="computeroutput"><span class="identifier">allow_lock_to_abort_tx</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__lock_sleep_time_">Virtual
-            function <code class="computeroutput"><span class="identifier">lock_sleep_time</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_isolated_tx_wait_priority_promotion_">Virtual
-            function <code class="computeroutput"><span class="identifier">perform_isolated_tx_wait_priority_promotion</span></code></a></span></dt>
-<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_irrevocable_tx_wait_priority_promotion_">Virtual
-            function <code class="computeroutput"><span class="identifier">perform_irrevocable_tx_wait_priority_promotion</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_destructor__base_contention_manager_">Virtual
+              destructor <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_new_">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_new</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_delete_">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_delete</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_read_">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_read</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_write_">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_write</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_before_commit_">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_before_commit</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__permission_to_abort_">Virtual
+              function <code class="computeroutput"><span class="identifier">permission_to_abort</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__allow_lock_to_abort_tx_">Virtual
+              function <code class="computeroutput"><span class="identifier">allow_lock_to_abort_tx</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__lock_sleep_time_">Virtual
+              function <code class="computeroutput"><span class="identifier">lock_sleep_time</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_isolated_tx_wait_priority_promotion_">Virtual
+              function <code class="computeroutput"><span class="identifier">perform_isolated_tx_wait_priority_promotion</span></code></a></span></dt>
+<dt><span class="section"><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_irrevocable_tx_wait_priority_promotion_">Virtual
+              function <code class="computeroutput"><span class="identifier">perform_irrevocable_tx_wait_priority_promotion</span></code></a></span></dt>
 </dl></div>
 <pre class="programlisting"><span class="keyword">class</span> <span class="identifier">base_contention_manager</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -109,124 +167,125 @@
 </pre>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_destructor__base_contention_manager_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_destructor__base_contention_manager_" title="Virtual
-            destructor base_contention_manager">Virtual
-            destructor <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_destructor__base_contention_manager_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_destructor__base_contention_manager_" title="Virtual
+              destructor base_contention_manager">Virtual
+              destructor <code class="computeroutput"><span class="identifier">base_contention_manager</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">base_contention_manager</span><span class="special">();</span>
 </pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_new_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_new_" title="Virtual
-            function abort_on_new">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_new</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_new_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_new_" title="Virtual
+              function abort_on_new">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_new</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">abort_on_new</span><span class="special">(</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="keyword">const</span> <span class="special">&</span><span class="identifier">t</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 </pre>
 <p>
-              Supplies the behavior for transactional aborts when identified as doomed
-              from within a <code class="computeroutput"><span class="identifier">new_memory</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">new_memory_copy</span><span class="special">()</span></code> operation. The input parameter is
-              the doomed transaction. Throwing <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code>
-              are the usual mechanism for aborting.
-            </p>
+                Supplies the behavior for transactional aborts when identified as
+                doomed from within a <code class="computeroutput"><span class="identifier">new_memory</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">new_memory_copy</span><span class="special">()</span></code> operation. The input parameter
+                is the doomed transaction. Throwing <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code>
+                are the usual mechanism for aborting.
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_delete_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_delete_" title="Virtual
-            function abort_on_delete">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_delete</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_delete_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_delete_" title="Virtual
+              function abort_on_delete">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_delete</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">abort_on_delete</span><span class="special">(</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="keyword">const</span> <span class="special">&</span><span class="identifier">t</span><span class="special">,</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="keyword">const</span> <span class="special">&</span><span class="identifier">in</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 </pre>
 <p>
-              Supplies the behavior for transactional aborts when identified as doomed
-              from within a <code class="computeroutput"><span class="identifier">delete_memory</span><span class="special">()</span></code> operation. The input parameters are
-              the doomed transaction and the object being deleted. Throwing <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code> are
-              the usual mechanism for aborting.
-            </p>
+                Supplies the behavior for transactional aborts when identified as
+                doomed from within a <code class="computeroutput"><span class="identifier">delete_memory</span><span class="special">()</span></code> operation. The input parameters
+                are the doomed transaction and the object being deleted. Throwing
+                <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code>
+                are the usual mechanism for aborting.
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_read_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_read_" title="Virtual
-            function abort_on_read">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_read</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_read_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_read_" title="Virtual
+              function abort_on_read">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_read</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">abort_on_read</span><span class="special">(</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="keyword">const</span> <span class="special">&</span><span class="identifier">t</span><span class="special">,</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="keyword">const</span> <span class="special">&</span><span class="identifier">in</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 </pre>
 <p>
-              Supplies the behavior for transactional aborts when identified as doomed
-              from within a <code class="computeroutput"><span class="identifier">read</span><span class="special">()</span></code> operation. The input parameters are
-              the doomed transaction and the object being read. Throwing <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code> are
-              the usual mechanism for aborting.
-            </p>
+                Supplies the behavior for transactional aborts when identified as
+                doomed from within a <code class="computeroutput"><span class="identifier">read</span><span class="special">()</span></code> operation. The input parameters
+                are the doomed transaction and the object being read. Throwing <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code>
+                are the usual mechanism for aborting.
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_write_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_write_" title="Virtual
-            function abort_on_write">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_on_write</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_write_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_on_write_" title="Virtual
+              function abort_on_write">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_on_write</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">abort_on_write</span><span class="special">(</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">t</span><span class="special">,</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="keyword">const</span> <span class="special">&</span><span class="identifier">in</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 </pre>
 <p>
-              Supplies the behavior for transactional aborts when identified as doomed
-              from within a <code class="computeroutput"><span class="identifier">write</span><span class="special">()</span></code> operation. The input parameters are
-              the doomed transaction and the object being written. Throwing <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code> are
-              the usual mechanism for aborting.
-            </p>
+                Supplies the behavior for transactional aborts when identified as
+                doomed from within a <code class="computeroutput"><span class="identifier">write</span><span class="special">()</span></code> operation. The input parameters
+                are the doomed transaction and the object being written. Throwing
+                <code class="computeroutput"><span class="identifier">aborted_transaction_exceptions</span></code>
+                are the usual mechanism for aborting.
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_before_commit_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_before_commit_" title="Virtual
-            function abort_before_commit">Virtual
-            function <code class="computeroutput"><span class="identifier">abort_before_commit</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_before_commit_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__abort_before_commit_" title="Virtual
+              function abort_before_commit">Virtual
+              function <code class="computeroutput"><span class="identifier">abort_before_commit</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">bool</span> <span class="identifier">abort_before_commit</span><span class="special">(</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="keyword">const</span> <span class="special">&</span><span class="identifier">t</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
 </pre>
 <p>
-              This method is called prior to a transaction performing its commit
-              operation. The parameter passed in is the transaction preparing to
-              commit. The client code should return <code class="computeroutput"><span class="keyword">true</span></code>
-              if the transaction should abort before committing. Otherwise, client
-              implementation should return <code class="computeroutput"><span class="keyword">false</span></code>.
-            </p>
+                This method is called prior to a transaction performing its commit
+                operation. The parameter passed in is the transaction preparing to
+                commit. The client code should return <code class="computeroutput"><span class="keyword">true</span></code>
+                if the transaction should abort before committing. Otherwise, client
+                implementation should return <code class="computeroutput"><span class="keyword">false</span></code>.
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__permission_to_abort_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__permission_to_abort_" title="Virtual
-            function permission_to_abort">Virtual
-            function <code class="computeroutput"><span class="identifier">permission_to_abort</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__permission_to_abort_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__permission_to_abort_" title="Virtual
+              function permission_to_abort">Virtual
+              function <code class="computeroutput"><span class="identifier">permission_to_abort</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">bool</span> <span class="identifier">permission_to_abort</span><span class="special">(</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="keyword">const</span> <span class="special">&</span><span class="identifier">lhs</span><span class="special">,</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="keyword">const</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>
-              This method is invoked when a transaction is requesting permission
-              to abort another transaction due to a memory inconsistency. Client
-              code should return <code class="computeroutput"><span class="keyword">true</span></code>
-              if the transaction should abort before committing. Otherwise, client
-              implementation should return <code class="computeroutput"><span class="keyword">false</span></code>.
-              The <code class="computeroutput"><span class="identifier">lhs</span></code> input parameter
-              is the transaction requesting to abort <code class="computeroutput"><span class="identifier">rhs</span></code>,
-              the <code class="computeroutput"><span class="identifier">rhs</span></code> input parameter
-              is the transaction which will be aborted if return <code class="computeroutput"><span class="keyword">true</span></code>.
-              Otherwise, if the method returns <code class="computeroutput"><span class="keyword">false</span></code>,
-              <code class="computeroutput"><span class="identifier">lhs</span></code> will be aborted.
-            </p>
+                This method is invoked when a transaction is requesting permission
+                to abort another transaction due to a memory inconsistency. Client
+                code should return <code class="computeroutput"><span class="keyword">true</span></code>
+                if the transaction should abort before committing. Otherwise, client
+                implementation should return <code class="computeroutput"><span class="keyword">false</span></code>.
+                The <code class="computeroutput"><span class="identifier">lhs</span></code> input parameter
+                is the transaction requesting to abort <code class="computeroutput"><span class="identifier">rhs</span></code>,
+                the <code class="computeroutput"><span class="identifier">rhs</span></code> input parameter
+                is the transaction which will be aborted if return <code class="computeroutput"><span class="keyword">true</span></code>. Otherwise, if the method returns
+                <code class="computeroutput"><span class="keyword">false</span></code>, <code class="computeroutput"><span class="identifier">lhs</span></code> will be aborted.
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__allow_lock_to_abort_tx_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__allow_lock_to_abort_tx_" title="Virtual
-            function allow_lock_to_abort_tx">Virtual
-            function <code class="computeroutput"><span class="identifier">allow_lock_to_abort_tx</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__allow_lock_to_abort_tx_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__allow_lock_to_abort_tx_" title="Virtual
+              function allow_lock_to_abort_tx">Virtual
+              function <code class="computeroutput"><span class="identifier">allow_lock_to_abort_tx</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">bool</span> <span class="identifier">allow_lock_to_abort_tx</span><span class="special">(</span>
             <span class="keyword">int</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">lockWaitTime</span><span class="special">,</span> 
@@ -237,32 +296,32 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__lock_sleep_time_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__lock_sleep_time_" title="Virtual
-            function lock_sleep_time">Virtual
-            function <code class="computeroutput"><span class="identifier">lock_sleep_time</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__lock_sleep_time_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__lock_sleep_time_" title="Virtual
+              function lock_sleep_time">Virtual
+              function <code class="computeroutput"><span class="identifier">lock_sleep_time</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">int</span> <span class="identifier">lock_sleep_time</span><span class="special">();</span>
 </pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_isolated_tx_wait_priority_promotion_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_isolated_tx_wait_priority_promotion_" title="Virtual
-            function perform_isolated_tx_wait_priority_promotion">Virtual
-            function <code class="computeroutput"><span class="identifier">perform_isolated_tx_wait_priority_promotion</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_isolated_tx_wait_priority_promotion_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_isolated_tx_wait_priority_promotion_" title="Virtual
+              function perform_isolated_tx_wait_priority_promotion">Virtual
+              function <code class="computeroutput"><span class="identifier">perform_isolated_tx_wait_priority_promotion</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">perform_isolated_tx_wait_priority_promotion</span><span class="special">(</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="special">=</span> <span class="number">0</span><span class="special">;</span>
 </pre>
 <p>
-              virtual void perform_isolated_tx_wait_priority_promotion( boost::stm::transaction
-              &) = 0;
-            </p>
+                virtual void perform_isolated_tx_wait_priority_promotion( boost::stm::transaction
+                &) = 0;
+              </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_irrevocable_tx_wait_priority_promotion_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_irrevocable_tx_wait_priority_promotion_" title="Virtual
-            function perform_irrevocable_tx_wait_priority_promotion">Virtual
-            function <code class="computeroutput"><span class="identifier">perform_irrevocable_tx_wait_priority_promotion</span></code></a>
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_irrevocable_tx_wait_priority_promotion_"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.base_contention_manager_hpp.abstract_class__base_contention_manager_.virtual_function__perform_irrevocable_tx_wait_priority_promotion_" title="Virtual
+              function perform_irrevocable_tx_wait_priority_promotion">Virtual
+              function <code class="computeroutput"><span class="identifier">perform_irrevocable_tx_wait_priority_promotion</span></code></a>
 </h6></div></div></div>
 <pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">perform_irrevocable_tx_wait_priority_promotion</span><span class="special">(</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="special">=</span> <span class="number">0</span><span class="special">;</span>
@@ -270,6 +329,12 @@
 </div>
 </div>
 </div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.contention_managers.dynamic_contention_managers.contention_manager_default_hpp"></a><a href="contention_managers.html#toward_boost_stm.reference.contention_managers.dynamic_contention_managers.contention_manager_default_hpp" title="
+          Header <boost/stm/contention_managers/default.hpp>">
+          Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">contention_managers</span><span class="special">/</span><span class="keyword">default</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h5></div></div></div></div>
+</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -281,7 +346,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basics.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_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="non_transactional_objects.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/non_transactional_objects.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_transactional_objects.html	(original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/non_transactional_objects.html	2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -2,14 +2,15 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Non
-      transactional objects</title>
+      Transactional Objects</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="transactional_objects.html" title="Transactional
-      objects">
-<link rel="next" href="../examples.html" title="Examples">
+<link rel="prev" href="warppers_transactional_objects.html" title="Warppers
+      Transactional Objects">
+<link rel="next" href="contention_managers.html" title="Contention
+      Managers">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -22,13 +23,13 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="transactional_objects.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="warppers_transactional_objects.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="contention_managers.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.non_transactional_objects"></a><a href="non_transactional_objects.html" title="Non
-      transactional objects">Non
-      transactional objects</a>
+      Transactional Objects">Non
+      Transactional Objects</a>
 </h3></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_numeric_hpp">
@@ -37,16 +38,10 @@
           Class <code class="computeroutput"><span class="identifier">non_tx</span><span class="special">::</span><span class="identifier">numeric</span><span class="special"><></span></code></a></span></dt></dl></dd>
 <dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_pointer_hpp">
         Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">non_tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__rd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__wr_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a></span></dt>
-</dl></dd>
+<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers">Smart
+        pointers</a></span></dt>
+<dd><dl><dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt></dl></dd>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
@@ -107,17 +102,25 @@
 </h4></div></div></div></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp" title="
-        Header <boost/stm/non_tx_smart_ptr.hpp>">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+<a name="toward_boost_stm.reference.non_transactional_objects.smart_pointers"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers" title="Smart
+        pointers">Smart
+        pointers</a>
 </h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp" title="
+          Header <boost/stm/non_tx_smart_ptr.hpp>">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+</h5></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__rd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__wr_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__rd_ptr___">Template
+            Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___">Template
+            Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__wr_ptr___">Template
+            Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></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">namespace</span> <span class="identifier">non_tx</span> <span class="special">{</span>
     <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">rd_ptr</span><span class="special">;</span>
@@ -135,38 +138,38 @@
 <span class="special">}}}</span>
 </pre>
 <p>
-          These smart pointers points to an unspecified cache type which inherits
-          from base_transactional object. This cache is obtained from an internal
-          thread safe cache map.
-        </p>
-<p>
-          As the the non_tx smart pointers need to lookup on a cache they must be
-          used only when you need to access to a non transactional variable on the
-          context of a transaction. Otherwise, please use tx_ptr<> or the mixin
-          transaction_object<>.
-        </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__rd_ptr___"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__rd_ptr___" title="Template
-          Class rd_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<p>
-            A rd_ptr<T> ("read pointer") points to an cache that
-            the current transaction has opened for read only access. You can only
-            call a const method through a read pointer.
+            These smart pointers points to an unspecified cache type which inherits
+            from base_transactional object. This cache is obtained from an internal
+            thread safe cache map.
           </p>
 <p>
-            A rd_ptr<T> is constructed from an T pointer or reference. Once
-            a rd_ptr<T> has been constructed, the associated cache is opened
-            for reading.
-          </p>
-<p>
-            It is not safe to derreference a rd_ptr<T> after having assigned
-            the same T to a wr_ptr<T>. If this is the case the readen value
-            do not match the writen one. If it is possible to write on the same transaction
-            use upgrd_ptr instead which is safe.
+            As the the non_tx smart pointers need to lookup on a cache they must
+            be used only when you need to access to a non transactional variable
+            on the context of a transaction. Otherwise, please use tx_ptr<>
+            or the mixin transaction_object<>.
           </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__rd_ptr___"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__rd_ptr___" title="Template
+            Class rd_ptr<>">Template
+            Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+              A rd_ptr<T> ("read pointer") points to an cache that
+              the current transaction has opened for read only access. You can only
+              call a const method through a read pointer.
+            </p>
+<p>
+              A rd_ptr<T> is constructed from an T pointer or reference. Once
+              a rd_ptr<T> has been constructed, the associated cache is opened
+              for reading.
+            </p>
+<p>
+              It is not safe to derreference a rd_ptr<T> after having assigned
+              the same T to a wr_ptr<T>. If this is the case the readen value
+              do not match the writen one. If it is possible to write on the same
+              transaction use upgrd_ptr instead which is safe.
+            </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">rd_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -190,28 +193,31 @@
 </pre>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___" title="Template
-          Class upgrd_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<p>
-            A upgrd_ptr<T> ("upgradable pointer") points to an cache
-            that the current transaction has opened for read only access. You can
-            only call const method of the wrapped type through a upgradable pointer.
-          </p>
-<p>
-            A upgrd_ptr<T> is constructed from an T pointer or reference through
-            a constructor having also the transaction as parameter. Once a upgrd_ptr<T>
-            has been constructed, an a cache of T can is opened for reading.
-          </p>
-<p>
-            It is safe to derreference a upgrd_ptr<T> after having assigned
-            the same T to a wr_ptr<T>.
-          </p>
-<p>
-            A upgrd_ptr<T> can be upgraded to a wr_ptr<T> through a constructor.
-          </p>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__upgrd_ptr___" title="Template
+            Class upgrd_ptr<>">Template
+            Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+              A upgrd_ptr<T> ("upgradable pointer") points to an
+              cache that the current transaction has opened for read only access.
+              You can only call const method of the wrapped type through a upgradable
+              pointer.
+            </p>
+<p>
+              A upgrd_ptr<T> is constructed from an T pointer or reference
+              through a constructor having also the transaction as parameter. Once
+              a upgrd_ptr<T> has been constructed, an a cache of T can is opened
+              for reading.
+            </p>
+<p>
+              It is safe to derreference a upgrd_ptr<T> after having assigned
+              the same T to a wr_ptr<T>.
+            </p>
+<p>
+              A upgrd_ptr<T> can be upgraded to a wr_ptr<T> through a
+              constructor.
+            </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">upgrd_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -234,22 +240,22 @@
 </pre>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__wr_ptr___"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.non_tx_smart_ptr_hpp.template_class__wr_ptr___" title="Template
-          Class wr_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<p>
-            A wr_ptr<T> ("write pointer") points to a cache that
-            the current transaction has opened for writing.
-          </p>
-<p>
-            A wr_ptr<T> is initialized explicitly from an T pointer or reference.
-          </p>
-<p>
-            A wr_ptr<T> can also be explicitly constructed from a upgrd_ptr<T>
-            as an upgrade-to-writable operation.
-          </p>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__wr_ptr___"></a><a href="non_transactional_objects.html#toward_boost_stm.reference.non_transactional_objects.smart_pointers.non_tx_smart_ptr_hpp.template_class__wr_ptr___" title="Template
+            Class wr_ptr<>">Template
+            Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+              A wr_ptr<T> ("write pointer") points to a cache that
+              the current transaction has opened for writing.
+            </p>
+<p>
+              A wr_ptr<T> is initialized explicitly from an T pointer or reference.
+            </p>
+<p>
+              A wr_ptr<T> can also be explicitly constructed from a upgrd_ptr<T>
+              as an upgrade-to-writable operation.
+            </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">wr_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -266,6 +272,7 @@
 </div>
 </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>
@@ -276,7 +283,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="transactional_objects.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="warppers_transactional_objects.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="contention_managers.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/stm_hpp.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/stm_hpp.html	(original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/stm_hpp.html	2009-11-11 11:01:26 EST (Wed, 11 Nov 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="../reference.html" title="Reference">
-<link rel="next" href="basics.html" title="Basics">
+<link rel="next" href="core.html" title="Core">
 </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="../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="basics.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="core.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">
@@ -64,7 +64,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="basics.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="core.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_objects.html
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_objects.html	(original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/html/toward_boost_stm/reference/transactional_objects.html	2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -2,15 +2,14 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Transactional
-      objects</title>
+      Objects</title>
 <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
 <link rel="start" href="../../index.html" title="Chapter 1. Toward.Boost.STM">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="contention_managers.html" title="Contention
-      managers">
+<link rel="prev" href="core.html" title="Core">
 <link rel="next" href="non_transactional_objects.html" title="Non
-      transactional objects">
+      Transactional Objects">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -23,327 +22,510 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="contention_managers.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="non_transactional_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="core.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="non_transactional_objects.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.transactional_objects"></a><a href="transactional_objects.html" title="Transactional
-      objects">Transactional
-      objects</a>
+      Objects">Transactional
+      Objects</a>
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">shallow_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dd><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___">Template
-          Class <code class="computeroutput"><span class="identifier">shallow_transaction_object</span><span class="special"><></span></code></a></span></dt></dl></dd>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section">Mixins</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___">Template
-          Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__native_trans___">Template
-          Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy">Deep
+          Copy</a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy">Shallow
+          Copy</a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers">Smart
+          pointers</a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_object_hpp">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
-<dd><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___">Template
-          Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><></span></code></a></span></dt></dl></dd>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section">Warppers</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp.template_class__read_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">read_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp.template_class__write_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">write_ptr</span><span class="special"><></span></code></a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_numeric_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dd><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_numeric_hpp.template_class__tx__numeric___">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">numeric</span><span class="special"><></span></code></a></span></dt></dl></dd>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp.template_class__tx__pointer___">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp.template_class__tx__pointer_to_member___">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer_to_member</span><span class="special"><></span></code></a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_obj___">Template
-          Class <code class="computeroutput"><span class="identifier">tx_obj</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">tx_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__rd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__upgrd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__wr_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers">Smart
+          pointers</a></span></dt>
 </dl></dd>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp" title="
-        Header <boost/stm/shallow_transaction_object.hpp>">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">shallow_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+<a name="toward_boost_stm.reference.transactional_objects.mixins"></a>Mixins
 </h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___">Template
-          Class <code class="computeroutput"><span class="identifier">shallow_transaction_object</span><span class="special"><></span></code></a></span></dt></dl></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy">Deep
+          Copy</a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy">Shallow
+          Copy</a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers">Smart
+          pointers</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy" title="Deep
+          Copy">Deep
+          Copy</a>
+</h5></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp">
+            Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_ptr_hpp">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_numeric_hpp">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp" title="
+            Header <boost/stm/transaction_object.hpp>">
+            Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+</h6></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___">Template
+              Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__native_trans___">Template
+              Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special"><></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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_transaction_object</span><span class="special">></span>
-    <span class="keyword">class</span> <span class="identifier">shallow_transaction_object</span><span class="special">;</span> 
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">transaction_object</span><span class="special">;</span>
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___" title="Template
-          Class shallow_transaction_object<>">Template
-          Class <code class="computeroutput"><span class="identifier">shallow_transaction_object</span><span class="special"><></span></code></a>
-</h5></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___" title="Template
+              Class transaction_object<>">Template
+              Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special"><></span></code></a>
+</h6></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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 <code class="computeroutput"><span class="identifier">shallow_transaction_object</span></code>,
-            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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_transaction_object</span><span class="special">></span>
-<span class="keyword">class</span> <span class="identifier">shallow_transaction_object</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">base_transaction_object</span> <span class="special">{</span>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></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="identifier">transaction</span><span class="special">*</span> <span class="identifier">t</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">cache_deallocate</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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__clone___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___.virtual_function__clone___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.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>
 </h6></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="identifier">transaction</span><span class="special">*</span> <span class="identifier">t</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>
+                  The clone() creates a new Derived instace using the copy constructor.
+                </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__copy_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___.virtual_function__copy_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.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>
 </h6></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>
+                  The copy_state() assigns the rhs to this instace using the copy-assignement
+                  operator.
+                </p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__move_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___.virtual_function__move_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_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>
 </h6></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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__cache_deallocate___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.shallow_transaction_object_hpp.template_class__shallow_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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.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>
 </h6></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>
+                  The cache_deallocate() delete this instace using the delete operator.
+                </p>
+</div>
 </div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__native_trans___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_hpp.template_class__native_trans___" title="Template
+              Class native_trans<>">Template
+              Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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"><</span> <span class="identifier">native_trans</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></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">&</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">&</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">&&</span><span class="identifier">rhs</span><span class="special">);</span>
+   <span class="identifier">native_trans</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">native_trans</span> <span class="special">&&</span><span class="identifier">rhs</span><span class="special">);</span>
+
+   <span class="identifier">native_trans</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">);</span>
+
+   <span class="identifier">native_trans</span><span class="special">&</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">&</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">&</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</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">&</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">&</span> <span class="identifier">value</span><span class="special">();</span>
+   <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</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>
+<div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_ptr_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.transaction_object_ptr_hpp" title="
+            Header <boost/stm/transaction_object_ptr.hpp>">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h6></div></div></div></div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp" title="
-        Header <boost/stm/transaction_object.hpp>">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
-</h4></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_numeric_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_numeric_hpp" title="
+            Header <boost/stm/tx/numeric.hpp>">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h6></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_numeric_hpp.template_class__tx__numeric___">Template
+              Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">numeric</span><span class="special"><></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">namespace</span> <span class="identifier">tx</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">numeric</span><span class="special">;</span>
+
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">boolean</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">char_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">uchar_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">short</span><span class="special">></span> <span class="identifier">short_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">></span> <span class="identifier">ushort_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">int_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">uint_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="identifier">long_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">></span> <span class="identifier">ulong_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">float_t</span><span class="special">;</span>
+    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">double_t</span><span class="special">;</span>
+
+<span class="special">}}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_numeric_hpp.template_class__tx__numeric___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_numeric_hpp.template_class__tx__numeric___" title="Template
+              Class tx::numeric<>">Template
+              Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">numeric</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">class</span> <span class="identifier">numeric</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">transaction_object</span><span class="special"><</span> <span class="identifier">numeric</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span>
+<span class="special">{</span>
+<span class="keyword">protected</span><span class="special">:</span>
+    <span class="identifier">T</span> <span class="identifier">val_</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+    <span class="identifier">numeric</span><span class="special">();</span>
+    <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">numeric</span><span class="special">(</span><span class="identifier">numeric</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">u</span><span class="special">);</span>
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">numeric</span><span class="special">(</span><span class="identifier">U</span> <span class="identifier">v</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="keyword">operator</span> <span class="identifier">T</span><span class="special">&();</span>
+
+    <span class="identifier">T</span><span class="special">&</span> <span class="identifier">ref</span><span class="special">();</span>
+    <span class="identifier">T</span> <span class="identifier">value</span><span class="special">();</span>
+
+<span class="special">};</span>
+</pre>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp" title="
+            Header <boost/stm/tx/pointer.hpp>">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h6></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___">Template
-          Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__native_trans___">Template
-          Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp.template_class__tx__pointer___">Template
+              Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp.template_class__tx__pointer_to_member___">Template
+              Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer_to_member</span><span class="special"><></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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">transaction_object</span><span class="special">;</span>
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">native_trans</span><span class="special">;</span>
-<span class="special">}}</span>
+<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">namespace</span> <span class="identifier">tx</span> <span class="special">{</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">pointer</span><span class="special">;</span>
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">pointer_to_member</span><span class="special">;</span>
+
+<span class="special">}}}</span>
 </pre>
 <div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp.template_class__tx__pointer___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp.template_class__tx__pointer___" title="Template
+              Class tx::pointer<>">Template
+              Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
+<span class="keyword">class</span> <span class="identifier">pointer</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">transaction_object</span><span class="special"><</span> <span class="identifier">pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span>
+<span class="special">{</span>
+<span class="keyword">protected</span><span class="special">:</span>
+    <span class="identifier">T</span><span class="special">*</span> <span class="identifier">val_</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+    <span class="identifier">pointer</span><span class="special">();</span>
+    <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">pointer</span><span class="special">(</span><span class="identifier">pointer</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">r</span><span class="special">);</span>
+
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">pointer</span><span class="special">(</span><span class="identifier">U</span><span class="special">*</span> <span class="identifier">v</span><span class="special">);</span>
+    <span class="identifier">pointer</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">v</span><span class="special">);</span>
+    <span class="special">~</span><span class="identifier">pointer</span><span class="special">()</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="keyword">operator</span> <span class="identifier">T</span><span class="special">*&();</span>
+
+    <span class="identifier">T</span><span class="special">*&</span> <span class="identifier">get</span><span class="special">();</span>
+    <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span>
+    <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
+
+    <span class="identifier">T</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">->();</span>
+    <span class="identifier">T</span> <span class="special">&</span> <span class="keyword">operator</span><span class="special">*();</span>
+<span class="special">};</span>
+</pre>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp.template_class__tx__pointer_to_member___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.deep_copy.tx_pointer_hpp.template_class__tx__pointer_to_member___" title="Template
+              Class tx::pointer_to_member<>">Template
+              Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer_to_member</span><span class="special"><></span></code></a>
+</h6></div></div></div></div>
+</div>
+</div>
+<div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___" title="Template
-          Class transaction_object<>">Template
-          Class <code class="computeroutput"><span class="identifier">transaction_object</span><span class="special"><></span></code></a>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy" title="Shallow
+          Copy">Shallow
+          Copy</a>
 </h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">shallow_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp" title="
+            Header <boost/stm/shallow_transaction_object.hpp>">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">shallow_transaction_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h6></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___">Template
+              Class <code class="computeroutput"><span class="identifier">shallow_transaction_object</span><span class="special"><></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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_transaction_object</span><span class="special">></span>
+    <span class="keyword">class</span> <span class="identifier">shallow_transaction_object</span><span class="special">;</span> 
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___" title="Template
+              Class shallow_transaction_object<>">Template
+              Class <code class="computeroutput"><span class="identifier">shallow_transaction_object</span><span class="special"><></span></code></a>
+</h6></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></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>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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 <code class="computeroutput"><span class="identifier">shallow_transaction_object</span></code>,
+                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"><</span><span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_transaction_object</span><span class="special">></span>
+<span class="keyword">class</span> <span class="identifier">shallow_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="identifier">transaction</span><span class="special">*</span> <span class="identifier">t</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">cache_deallocate</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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___.virtual_function__clone___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__clone___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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>
 </h6></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="identifier">transaction</span><span class="special">*</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
 </pre>
 <p>
-              The clone() creates a new Derived instace using the copy constructor.
-            </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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___.virtual_function__copy_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__copy_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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>
 </h6></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() assigns the rhs to this instace using the copy-assignement
-              operator.
-            </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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___.virtual_function__move_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__move_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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>
 </h6></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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__transaction_object___.virtual_function__cache_deallocate___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.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>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_transaction_object___.virtual_function__cache_deallocate___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.shallow_copy.shallow_transaction_object_hpp.template_class__shallow_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>
 </h6></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() delete this instace using the delete operator.
-            </p>
+                  The cache_deallocate() method call to the free function cache_deallocate
+                  which do a memcpy by default.
+                </p>
+</div>
+</div>
 </div>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__native_trans___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_hpp.template_class__native_trans___" title="Template
-          Class native_trans<>">Template
-          Class <code class="computeroutput"><span class="identifier">native_trans</span><span class="special"><></span></code></a>
+<a name="toward_boost_stm.reference.transactional_objects.mixins.smart_pointers"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers" title="Smart
+          pointers">Smart
+          pointers</a>
 </h5></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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"><</span> <span class="identifier">native_trans</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="special">{</span>
+<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt></dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp" title="
+            Header <boost/stm/tx_ptr.hpp>">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h6></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp.template_class__read_ptr___">Template
+              Class <code class="computeroutput"><span class="identifier">read_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp.template_class__write_ptr___">Template
+              Class <code class="computeroutput"><span class="identifier">write_ptr</span><span class="special"><></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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">read_ptr</span><span class="special">;</span>
+    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">write_ptr</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp.template_class__read_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp.template_class__read_ptr___" title="Template
+              Class read_ptr<>">Template
+              Class <code class="computeroutput"><span class="identifier">read_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">read_ptr</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">&</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">&</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">&&</span><span class="identifier">rhs</span><span class="special">);</span>
-   <span class="identifier">native_trans</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">native_trans</span> <span class="special">&&</span><span class="identifier">rhs</span><span class="special">);</span>
-
-   <span class="identifier">native_trans</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">=(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="identifier">rhs</span><span class="special">);</span>
-
-   <span class="identifier">native_trans</span><span class="special">&</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">&</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">&</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</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">&</span><span class="identifier">rhs</span><span class="special">);</span>
+   <span class="keyword">inline</span> <span class="identifier">read_ptr</span><span class="special">(</span><span class="identifier">transaction</span> <span class="special">&</span><span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="identifier">tx_obj</span><span class="special">);</span>
+   <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+   <span class="keyword">inline</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
+   <span class="keyword">inline</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</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">&</span> <span class="identifier">value</span><span class="special">();</span>
-   <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+   <span class="keyword">inline</span> <span class="identifier">transaction</span> <span class="special">&</span><span class="identifier">trans</span><span class="special">();</span>
+   <span class="identifier">T</span><span class="special">*</span> <span class="identifier">write_ptr</span><span class="special">();</span>
 <span class="special">};</span>
 </pre>
 </div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp.template_class__write_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.mixins.smart_pointers.txs_ptr_hpp.template_class__write_ptr___" title="Template
+              Class write_ptr<>">Template
+              Class <code class="computeroutput"><span class="identifier">write_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">write_ptr</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+   <span class="keyword">inline</span> <span class="identifier">write_ptr</span><span class="special">(</span><span class="identifier">transaction</span> <span class="special">&</span><span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&</span> <span class="identifier">tx_obj</span><span class="special">);</span>
+
+   <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+   <span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">*();</span>
+   <span class="keyword">inline</span> <span class="identifier">T</span><span class="special">*</span> <span class="keyword">operator</span><span class="special">->();</span>
+</pre>
+</div>
+</div>
+</div>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transaction_object_ptr_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transaction_object_ptr_hpp" title="
-        Header <boost/stm/transaction_object_ptr.hpp>">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">transaction_object_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
-</h4></div></div></div></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transactional_object_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_object_hpp" title="
-        Header <boost/stm/transactional_object.hpp>">
-        Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+<a name="toward_boost_stm.reference.transactional_objects.warppers"></a>Warppers
 </h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___">Template
-          Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><></span></code></a></span></dt></dl></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers">Smart
+          pointers</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp" title="
+          Header <boost/stm/transactional_object.hpp>">
+          Header <code class="computeroutput"><span class="special"><</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">></span></code></a>
+</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp.template_class__transactional_object___">Template
+            Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><></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"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">transactional_object</span><span class="special">;</span>
 
@@ -358,51 +540,51 @@
 <span class="special">}}</span>
 </pre>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___" title="Template
-          Class transactional_object<>">Template
-          Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><></span></code></a>
-</h5></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp.template_class__transactional_object___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp.template_class__transactional_object___" title="Template
+            Class transactional_object<>">Template
+            Class <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><></span></code></a>
+</h6></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_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>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_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="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_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"><</span><span class="identifier">T</span><span class="special">></span></code> is a base_transaction_object wrapping
-            an instance of type T. Provides the definition of the virtual functions
-          </p>
+              Transactional object wrapper. A <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><</span><span class="identifier">T</span><span class="special">></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>
+                forward constructors to the wrapped type
+              </li>
 <li>
 <code class="computeroutput"><span class="identifier">copy_state</span></code>: relaying
-              on the cache_copy<T> generic function
-            </li>
+                on the cache_copy<T> generic function
+              </li>
 <li>
 <code class="computeroutput"><span class="identifier">move_state</span></code> and
-            </li>
+              </li>
 <li>
-<code class="computeroutput"><span class="identifier">cache_deallocate</span></code>: relaying
-              on the cache_copy<T> generic function
-            </li>
+<code class="computeroutput"><span class="identifier">cache_deallocate</span></code>:
+                relaying on the cache_copy<T> 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"><</span><span class="identifier">D</span><span class="special">></span></code> dont inherits from <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><</span><span class="identifier">B</span><span class="special">></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>
+              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"><</span><span class="identifier">D</span><span class="special">></span></code> dont inherits from <code class="computeroutput"><span class="identifier">transactional_object</span><span class="special"><</span><span class="identifier">B</span><span class="special">></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"><</span><span class="identifier">D</span><span class="special">>*</span> <span class="identifier">d</span><span class="special">=...;</span>
 <span class="identifier">transactional_object</span><span class="special"><</span><span class="identifier">B</span><span class="special">>*</span> <span class="identifier">b</span><span class="special">=</span><span class="identifier">tx_static_cast</span><span class="special"><</span><span class="identifier">B</span><span class="special">>(</span><span class="identifier">d</span><span class="special">);</span>
 
@@ -410,8 +592,8 @@
 <span class="identifier">transactional_object</span><span class="special"><</span><span class="identifier">D</span><span class="special">>*</span> <span class="identifier">d</span><span class="special">=</span><span class="identifier">tx_dynamic_cast</span><span class="special"><</span><span class="identifier">B</span><span class="special">>(</span><span class="identifier">b</span><span class="special">);</span>
 </pre>
 <p>
-            Synopsis
-          </p>
+              Synopsis
+            </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></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>
@@ -443,27 +625,27 @@
 </pre>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___.virtual_function__copy_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_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>
+<a name="toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp.template_class__transactional_object___.virtual_function__copy_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_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>
 </h6></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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___.virtual_function__move_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_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>
+<a name="toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp.template_class__transactional_object___.virtual_function__move_state___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_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>
 </h6></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><h6 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.transactional_object_hpp.template_class__transactional_object___.virtual_function__cache_deallocate___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.transactional_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>
+<a name="toward_boost_stm.reference.transactional_objects.warppers.transactional_object_hpp.template_class__transactional_object___.virtual_function__cache_deallocate___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.transactional_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>
 </h6></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>
@@ -471,183 +653,30 @@
 </div>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.txs_ptr_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp" title="
-        Header <boost/stm/tx_ptr.hpp>">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp.template_class__read_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">read_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp.template_class__write_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">write_ptr</span><span class="special"><></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"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">read_ptr</span><span class="special">;</span>
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">write_ptr</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.transactional_objects.txs_ptr_hpp.template_class__read_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp.template_class__read_ptr___" title="Template
-          Class read_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">read_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">read_ptr</span> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-   <span class="keyword">inline</span> <span class="identifier">read_ptr</span><span class="special">(</span><span class="identifier">transaction</span> <span class="special">&</span><span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="identifier">tx_obj</span><span class="special">);</span>
-   <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-   <span class="keyword">inline</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
-   <span class="keyword">inline</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span>
-
-   <span class="keyword">inline</span> <span class="identifier">transaction</span> <span class="special">&</span><span class="identifier">trans</span><span class="special">();</span>
-   <span class="identifier">T</span><span class="special">*</span> <span class="identifier">write_ptr</span><span class="special">();</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.transactional_objects.txs_ptr_hpp.template_class__write_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.txs_ptr_hpp.template_class__write_ptr___" title="Template
-          Class write_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">write_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">write_ptr</span> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-   <span class="keyword">inline</span> <span class="identifier">write_ptr</span><span class="special">(</span><span class="identifier">transaction</span> <span class="special">&</span><span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&</span> <span class="identifier">tx_obj</span><span class="special">);</span>
-
-   <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-   <span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">*();</span>
-   <span class="keyword">inline</span> <span class="identifier">T</span><span class="special">*</span> <span class="keyword">operator</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.transactional_objects.tx_numeric_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_numeric_hpp" title="
-        Header <boost/stm/tx/numeric.hpp>">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_numeric_hpp.template_class__tx__numeric___">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">numeric</span><span class="special"><></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">namespace</span> <span class="identifier">tx</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">numeric</span><span class="special">;</span>
-
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">bool</span><span class="special">></span> <span class="identifier">boolean</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span> <span class="identifier">char_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">></span> <span class="identifier">uchar_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">short</span><span class="special">></span> <span class="identifier">short_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">short</span><span class="special">></span> <span class="identifier">ushort_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">int_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">uint_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">long</span><span class="special">></span> <span class="identifier">long_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">long</span><span class="special">></span> <span class="identifier">ulong_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="identifier">float_t</span><span class="special">;</span>
-    <span class="keyword">typedef</span> <span class="identifier">numeric</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">double_t</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.transactional_objects.tx_numeric_hpp.template_class__tx__numeric___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_numeric_hpp.template_class__tx__numeric___" title="Template
-          Class tx::numeric<>">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">numeric</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">class</span> <span class="identifier">numeric</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">transaction_object</span><span class="special"><</span> <span class="identifier">numeric</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span>
-<span class="special">{</span>
-<span class="keyword">protected</span><span class="special">:</span>
-    <span class="identifier">T</span> <span class="identifier">val_</span><span class="special">;</span>
-<span class="keyword">public</span><span class="special">:</span>
-    <span class="identifier">numeric</span><span class="special">();</span>
-    <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">numeric</span><span class="special">(</span><span class="identifier">numeric</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">u</span><span class="special">);</span>
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">numeric</span><span class="special">(</span><span class="identifier">U</span> <span class="identifier">v</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="keyword">operator</span> <span class="identifier">T</span><span class="special">&();</span>
-
-    <span class="identifier">T</span><span class="special">&</span> <span class="identifier">ref</span><span class="special">();</span>
-    <span class="identifier">T</span> <span class="identifier">value</span><span class="special">();</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.transactional_objects.tx_pointer_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp" title="
-        Header <boost/stm/tx/pointer.hpp>">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp.template_class__tx__pointer___">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp.template_class__tx__pointer_to_member___">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer_to_member</span><span class="special"><></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">namespace</span> <span class="identifier">tx</span> <span class="special">{</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">pointer</span><span class="special">;</span>
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">R</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">pointer_to_member</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.transactional_objects.tx_pointer_hpp.template_class__tx__pointer___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp.template_class__tx__pointer___" title="Template
-          Class tx::pointer<>">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer</span><span class="special"><></span></code></a>
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers" title="Smart
+          pointers">Smart
+          pointers</a>
 </h5></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
-<span class="keyword">class</span> <span class="identifier">pointer</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">transaction_object</span><span class="special"><</span> <span class="identifier">pointer</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span>
-<span class="special">{</span>
-<span class="keyword">protected</span><span class="special">:</span>
-    <span class="identifier">T</span><span class="special">*</span> <span class="identifier">val_</span><span class="special">;</span>
-<span class="keyword">public</span><span class="special">:</span>
-    <span class="identifier">pointer</span><span class="special">();</span>
-    <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">pointer</span><span class="special">(</span><span class="identifier">pointer</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">r</span><span class="special">);</span>
-
-    <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">pointer</span><span class="special">(</span><span class="identifier">U</span><span class="special">*</span> <span class="identifier">v</span><span class="special">);</span>
-    <span class="identifier">pointer</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">v</span><span class="special">);</span>
-    <span class="special">~</span><span class="identifier">pointer</span><span class="special">()</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="keyword">operator</span> <span class="identifier">T</span><span class="special">*&();</span>
-
-    <span class="identifier">T</span><span class="special">*&</span> <span class="identifier">get</span><span class="special">();</span>
-    <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
-    <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">->()</span> <span class="keyword">const</span><span class="special">;</span>
-    <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span> <span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
-
-    <span class="identifier">T</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">->();</span>
-    <span class="identifier">T</span> <span class="special">&</span> <span class="keyword">operator</span><span class="special">*();</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.transactional_objects.tx_pointer_hpp.template_class__tx__pointer_to_member___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_pointer_hpp.template_class__tx__pointer_to_member___" title="Template
-          Class tx::pointer_to_member<>">Template
-          Class <code class="computeroutput"><span class="identifier">tx</span><span class="special">::</span><span class="identifier">pointer_to_member</span><span class="special"><></span></code></a>
-</h5></div></div></div></div>
-</div>
+<div class="toc"><dl><dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a></span></dt></dl></div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp" title="
-        Header <boost/stm/tx/smart_ptr.hpp>">
-        Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
-</h4></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp" title="
+            Header <boost/stm/tx/smart_ptr.hpp>">
+            Header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">stm</span><span class="special">/</span><span class="identifier">tx</span><span class="special">/</span><span class="identifier">smart_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
+</h6></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_obj___">Template
-          Class <code class="computeroutput"><span class="identifier">tx_obj</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">tx_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__rd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__upgrd_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a></span></dt>
-<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__wr_ptr___">Template
-          Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__tx_obj___">Template
+              Class <code class="computeroutput"><span class="identifier">tx_obj</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__tx_ptr___">Template
+              Class <code class="computeroutput"><span class="identifier">tx_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__rd_ptr___">Template
+              Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__upgrd_ptr___">Template
+              Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a></span></dt>
+<dt><span class="section"><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__wr_ptr___">Template
+              Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></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>
 
@@ -714,15 +743,15 @@
 <span class="special">}}</span>
 </pre>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_obj___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_obj___" title="Template
-          Class tx_obj<>">Template
-          Class <code class="computeroutput"><span class="identifier">tx_obj</span><span class="special"><></span></code></a>
-</h5></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__tx_obj___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__tx_obj___" title="Template
+              Class tx_obj<>">Template
+              Class <code class="computeroutput"><span class="identifier">tx_obj</span><span class="special"><></span></code></a>
+</h6></div></div></div>
 <p>
-            tx_obj is a kind of smart pointer to a wrapped transactional_object T
-            providing builting operators
-          </p>
+                tx_obj is a kind of smart pointer to a wrapped transactional_object
+                T providing builting operators
+              </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">class</span> <span class="identifier">tx_obj</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
     <span class="identifier">tx_obj</span><span class="special">();</span>
@@ -751,22 +780,23 @@
 </pre>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__tx_ptr___" title="Template
-          Class tx_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">tx_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<p>
-            a tx_ptr<T> is an smart pointer to a transactional_object<T>
-            (which contains an instance of T). Reference fields in linked structures
-            should always be tx_ptrs. The result of derreferencing it will be the
-            pointer to the T instance When this pointer is derreference on a transaction
-            the transactional_object<T> is set a written and the transaction
-            specific storage will be used. Otherwise the shared storage is used.
-          </p>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__tx_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__tx_ptr___" title="Template
+              Class tx_ptr<>">Template
+              Class <code class="computeroutput"><span class="identifier">tx_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+                a tx_ptr<T> is an smart pointer to a transactional_object<T>
+                (which contains an instance of T). Reference fields in linked structures
+                should always be tx_ptrs. The result of derreferencing it will be
+                the pointer to the T instance When this pointer is derreference on
+                a transaction the transactional_object<T> is set a written
+                and the transaction specific storage will be used. Otherwise the
+                shared storage is used.
+              </p>
 <p>
-            Used to initialize a rd_ptr<T>, wr_ptr<T>, or upgrd_ptr<T>.
-          </p>
+                Used to initialize a rd_ptr<T>, wr_ptr<T>, or upgrd_ptr<T>.
+              </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">tx_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -797,28 +827,28 @@
 </pre>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__rd_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__rd_ptr___" title="Template
-          Class rd_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<p>
-            A rd_ptr<T> ("read pointer") points to an object that
-            the current transaction has opened for read only access. You can only
-            call a const method through a read pointer.
-          </p>
-<p>
-            A rd_ptr<T> is constructed from an tx_ptr<T> through an explicit
-            constructor. Once a rd_ptr<T> has been constructed, an tx_ptr<T>
-            can be opened for reading simply by assignment (operator=()) into the
-            constructed rd_ptr<T>.
-          </p>
-<p>
-            It is not safe to derreference a rd_ptr<T> after having assigned
-            the same tx_ptr<T> to a wr_ptr<T>. If this is the case the
-            readen value do not match the writen one. If it is possible to write
-            on the same transaction use upgrd_ptr instead which is safe.
-          </p>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__rd_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__rd_ptr___" title="Template
+              Class rd_ptr<>">Template
+              Class <code class="computeroutput"><span class="identifier">rd_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+                A rd_ptr<T> ("read pointer") points to an object
+                that the current transaction has opened for read only access. You
+                can only call a const method through a read pointer.
+              </p>
+<p>
+                A rd_ptr<T> is constructed from an tx_ptr<T> through
+                an explicit constructor. Once a rd_ptr<T> has been constructed,
+                an tx_ptr<T> can be opened for reading simply by assignment
+                (operator=()) into the constructed rd_ptr<T>.
+              </p>
+<p>
+                It is not safe to derreference a rd_ptr<T> after having assigned
+                the same tx_ptr<T> to a wr_ptr<T>. If this is the case
+                the readen value do not match the writen one. If it is possible to
+                write on the same transaction use upgrd_ptr instead which is safe.
+              </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">rd_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -840,32 +870,33 @@
 </pre>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__upgrd_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__upgrd_ptr___" title="Template
-          Class upgrd_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
-<p>
-            A upgrd_ptr<T> ("upgradable pointer") points to an object
-            that the current transaction has opened for read only access.
-          </p>
-<p>
-            You can only call const method of the wrapped type through a upgradable
-            pointer.
-          </p>
-<p>
-            A upgrd_ptr<T> is constructed from an tx_ptr<T> through a
-            constructor having also the transaction as parameter. Once a rd_ptr<T>
-            has been constructed, an tx_ptr<T> can be opened for reading simply
-            by assignment (operator=()) into the constructed rd_ptr<T>.
-          </p>
-<p>
-            It is safe to derreference a rd_ptr<T> after having assigned the
-            same tx_ptr<T> to a wr_ptr<T>.
-          </p>
-<p>
-            A upgrd_ptr<T> can be upgraded to a wr_ptr<T> through a constructor.
-          </p>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__upgrd_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__upgrd_ptr___" title="Template
+              Class upgrd_ptr<>">Template
+              Class <code class="computeroutput"><span class="identifier">upgrd_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+                A upgrd_ptr<T> ("upgradable pointer") points to an
+                object that the current transaction has opened for read only access.
+              </p>
+<p>
+                You can only call const method of the wrapped type through a upgradable
+                pointer.
+              </p>
+<p>
+                A upgrd_ptr<T> is constructed from an tx_ptr<T> through
+                a constructor having also the transaction as parameter. Once a rd_ptr<T>
+                has been constructed, an tx_ptr<T> can be opened for reading
+                simply by assignment (operator=()) into the constructed rd_ptr<T>.
+              </p>
+<p>
+                It is safe to derreference a rd_ptr<T> after having assigned
+                the same tx_ptr<T> to a wr_ptr<T>.
+              </p>
+<p>
+                A upgrd_ptr<T> can be upgraded to a wr_ptr<T> through
+                a constructor.
+              </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">upgrd_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -888,22 +919,22 @@
 </pre>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__wr_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.tx_smart_ptr_hpp.template_class__wr_ptr___" title="Template
-          Class wr_ptr<>">Template
-          Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a>
-</h5></div></div></div>
+<div class="titlepage"><div><div><h6 class="title">
+<a name="toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__wr_ptr___"></a><a href="transactional_objects.html#toward_boost_stm.reference.transactional_objects.warppers.smart_pointers.tx_smart_ptr_hpp.template_class__wr_ptr___" title="Template
+              Class wr_ptr<>">Template
+              Class <code class="computeroutput"><span class="identifier">wr_ptr</span><span class="special"><></span></code></a>
+</h6></div></div></div>
+<p>
+                A wr_ptr<T> ("write pointer") points to a shared
+                object that the current transaction has opened for writing.
+              </p>
 <p>
-            A wr_ptr<T> ("write pointer") points to a shared object
-            that the current transaction has opened for writing.
-          </p>
-<p>
-            A wr_ptr<T> is initialized explicitly from an tx_ptr<T>.
-          </p>
-<p>
-            A wr_ptr<T> can also be explicitly constructed from a upgrd_ptr<T>
-            as an upgrade-to-writable operation.
-          </p>
+                A wr_ptr<T> is initialized explicitly from an tx_ptr<T>.
+              </p>
+<p>
+                A wr_ptr<T> can also be explicitly constructed from a upgrd_ptr<T>
+                as an upgrade-to-writable operation.
+              </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
 <span class="keyword">class</span> <span class="identifier">wr_ptr</span> <span class="special">{</span>
 <span class="keyword">public</span><span class="special">:</span>
@@ -922,6 +953,8 @@
 </div>
 </div>
 </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>
@@ -932,7 +965,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="contention_managers.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="non_transactional_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="core.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="non_transactional_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
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-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -12,7 +12,7 @@
 
 [include reference/stm.qbk]
 
-[section Basics]
+[section Core]
 
 [/include reference/rt_configuration.qbk]
 [include reference/base_transaction_object.qbk]
@@ -20,35 +20,70 @@
 [include reference/data_types.qbk]
 [include reference/exceptions.qbk]
 [include reference/language_like.qbk]
-[include reference/contention_manager.qbk]
 [include reference/transaction.qbk]
 [include reference/transaction_bookkeeping.qbk]
 [endsect]
 
-[section Contention managers]
-[include reference/base_contention_manager.qbk]
-[/include reference/contention_managers/default.qbk]
-[/include reference/contention_managers/NoExceptionOnAbortNoticeOnReadWrites.qbk]
-[/include reference/contention_managers/ExceptAndBackOffOnAbortNotice.qbk]
-[endsect]
+There are two kind of transactional objets:
 
-[section Transactional objects]
-[include reference/shallow_transaction_object.qbk]
+* Mixins
+* Wrappers
+
+[section Mixins Transactional Objects]
+
+Mixing transactional objects can be deep or shallow copied. 
+
+Both schemas can be used by the same smart pointers.
+
+[section Deep Copy]
 [include reference/transaction_object.qbk]
 [include reference/transaction_object_ptr.qbk]
-[include reference/transactional_object.qbk]
-[include reference/smart_pointers.qbk]
 [include reference/tx/numeric.qbk]
 [include reference/tx/pointer.qbk]
+[endsect]
+
+[section Shallow Copy]
+[include reference/shallow_transaction_object.qbk]
+[endsect]
+
+[section Smart pointers]
+[include reference/smart_pointers.qbk]
+[endsect]
+
+[endsect]
+
+[section Warppers Transactional Objects]
+
+[include reference/transactional_object.qbk]
+[section Smart pointers]
 [include reference/tx/smart_ptr.qbk]
 [endsect]
+[endsect]
 
-[section Non transactional objects]
+[section Non Transactional Objects]
 [include reference/non_tx/numeric.qbk]
 [include reference/non_tx/pointer.qbk]
+[section Smart pointers]
 [include reference/non_tx/smart_ptr.qbk]
 [endsect]
+[endsect]
+
+[section Contention Managers]
+[include reference/contention_managers/concept.qbk]
 
+__TBoost_STM__ allows the user to choose between static and dynamic polimorphic contention manager.
+
+[include reference/contention_manager.qbk]
+
+[section Static Contention Managers]
+[endsect]
+[section Dynamic Contention Managers]
+[include reference/base_contention_manager.qbk]
+[include reference/contention_managers/default.qbk]
+[/include reference/contention_managers/NoExceptionOnAbortNoticeOnReadWrites.qbk]
+[/include reference/contention_managers/ExceptAndBackOffOnAbortNotice.qbk]
+[endsect]
+[endsect]
 
 [endsect]
 
Modified: sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_manager.qbk
==============================================================================
--- sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_manager.qbk	(original)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_manager.qbk	2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -13,11 +13,13 @@
 
 This file defines the contention manager depending on the compile directives:
 
-* BOOST_STM_CM_STATIC_CONF when you want a staticacly configured CM
-    * BOOST_STM_CM_STATIC_CONF_except_and_back_off_on_abort_notice_cm when configuration manager is except_and_back_off_on_abort_notice_cm
-    
-* BOOST_STM_CM_DYNAMIC_CONF when you want a polymorphic CM configured at run time
+Define BOOST_STM_CM_STATIC_CONF when you want a staticacly configured CM.
+For example
 
+    #define BOOST_STM_CM_STATIC_CONF \
+        <boost/stm/contention_managers/except_and_back_off_on_abort_notice_cm.hpp>
+
+When not defined the type of the contention manager will be dynmic_polymorphic.
 
     typedef 'compilation_dependent_type' contention_manager_type;
 
Added: sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_managers/concept.qbk
==============================================================================
--- (empty file)
+++ sandbox/stm/branches/vbe/libs/stm/doc/reference/contention_managers/concept.qbk	2009-11-11 11:01:26 EST (Wed, 11 Nov 2009)
@@ -0,0 +1,16 @@
+[/
+  (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 Concept `ContentionManager`]
+[/==========================================================================================]
+
+
+[endsect]
+