Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58530 - in sandbox/persistent: doc libs/persistent/doc/html libs/persistent/doc/html/boost/persistent libs/persistent/doc/html/boost/persistent/StorageEngine libs/persistent/doc/html/boost/persistent/TransactionManager libs/persistent/doc/html/boost/persistent/basic_clist libs/persistent/doc/html/boost/persistent/basic_transaction_manager libs/persistent/doc/html/boost/persistent/block_storage libs/persistent/doc/html/boost/persistent/intrusive libs/persistent/doc/html/boost/persistent/redo_storage libs/persistent/doc/html/persistent
From: strasser_at_[hidden]
Date: 2009-12-26 13:36:59


Author: stefans
Date: 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
New Revision: 58530
URL: http://svn.boost.org/trac/boost/changeset/58530

Log:
finished documentation
Added:
   sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_CONFIGURATION.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/AtomicStorageEngine.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/DataBlock.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/ObjectPinningService.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/ObjectStorageService.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/ResourceManager.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/SharedObjectStorageService.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine/
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine/save_instance_commit_data.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager/
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager/default_resource.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_pinned_loc.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_shared_loc.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/default_resource.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage/
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage/save_instance_commit_data.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/interior_ptr.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_list.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_list_hook.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_multiset.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_set.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_set_hook.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_slist.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_slist_hook.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_list.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_list_hook.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_multiset.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_set.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_set_hook.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_slist.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_slist_hook.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/mapped_file_block.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2563531.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2897971.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2543091.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2877531.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/null_atomic_storage.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_tag.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_storage_tag.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/pinned_loc.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/save_on_shutdown.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/savepoints_session.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_object_storage_tag.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/streambuf_block.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/transactional_session.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/configuration.jpg (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/container_iso.jpg (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/container_time.jpg (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/docutils.css (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/minimal.css (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/persistent/access.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/persistent/ackn.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/persistent/advanced.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/persistent/future.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/persistent/transactions.html (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/reference.css (contents, props changed)
   sandbox/persistent/libs/persistent/doc/html/transaction_manager.jpg (contents, props changed)
Removed:
   sandbox/persistent/doc/
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_clist/
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_clist.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmap.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmultimap.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmultiset.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cset.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/resource_type.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/transaction.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/caching_policy.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/clist.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmap.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmultimap.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmultiset.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/cset.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/distributed_transactions.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_clist.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_clist_hook.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cmultiset.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cset.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cset_hook.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cslist.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cslist_hook.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2411606.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2657480.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2410962.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2656836.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_database.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_multiver_id2412121.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_multiver_id2657995.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_resource_tag.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/redo_storage/
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects_multiver_id2412152.html
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects_multiver_id2658026.html
   sandbox/persistent/libs/persistent/doc/html/persistent/introduction.html
   sandbox/persistent/libs/persistent/doc/html/persistent/tutorials.html
   sandbox/persistent/libs/persistent/doc/html/persistent/using.html
Text files modified:
   sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_ATOMIC.html | 10
   sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_ATOMIC.html | 18
   sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_RETRY.html | 4
   sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_RETRY.html | 10
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/bad_weak_loc.html | 8
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_loc.html | 544 +++++++++++++++++++++++++--------------
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_scoped_loc.html | 202 ++++++++++----
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction.html | 89 ++---
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager.html | 144 ++++++---
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_weak_loc.html | 108 +++----
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/deep_tag.html | 10
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/default_tag.html | 8
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/exception.html | 2
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/finalize_error.html | 4
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/io_failure.html | 2
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/is_locator.html | 12
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/isolation_exception.html | 20
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/loc.html | 45 --
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction.html | 8
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/recovery_failure.html | 2
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/redo_storage.html | 179 +++++++-----
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/scoped_loc.html | 37 -
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_loc.html | 50 --
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/unsupported_exception.html | 8
   sandbox/persistent/libs/persistent/doc/html/boost/persistent/weak_loc.html | 42 --
   sandbox/persistent/libs/persistent/doc/html/index.html | 248 ++++++++++++++---
   sandbox/persistent/libs/persistent/doc/html/persistent/configuring.html | 262 ++++++++++++++++++
   sandbox/persistent/libs/persistent/doc/html/persistent/extending.html | 255 ++++++++++++++++++
   sandbox/persistent/libs/persistent/doc/html/persistent/license_notices.html | 4
   sandbox/persistent/libs/persistent/doc/html/persistent/reference.html | 464 ++++++++++++++++++++++-----------
   sandbox/persistent/libs/persistent/doc/html/standalone_HTML.manifest | 92 +++---
   31 files changed, 1942 insertions(+), 949 deletions(-)

Modified: sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_ATOMIC.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_ATOMIC.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_ATOMIC.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Macro BOOST_PERSISTENT_ATOMIC</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="persistent/reference.html#header.boost.persistent.transaction_hpp" title="Header &lt;boost/persistent/transaction.hpp&gt;">
-<link rel="prev" href="boost/persistent/shared_loc.html" title="Class template shared_loc">
+<link rel="prev" href="boost/persistent/streambuf_block.html" title="Class streambuf_block">
 <link rel="next" href="BOOST_PERSISTENT_RETRY.html" title="Macro BOOST_PERSISTENT_RETRY">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,13 +20,13 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="boost/persistent/shared_loc.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="BOOST_PERSISTENT_RETRY.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="boost/persistent/streambuf_block.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="BOOST_PERSISTENT_RETRY.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="BOOST_PERSISTENT_ATOMIC"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_PERSISTENT_ATOMIC</span></h2>
-<p>BOOST_PERSISTENT_ATOMIC</p>
+<p>BOOST_PERSISTENT_ATOMIC &#8212; An alias of BOOST_PERSISTENT_BASIC_ATOMIC using the default transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="persistent/reference.html#header.boost.persistent.transaction_hpp" title="Header &lt;boost/persistent/transaction.hpp&gt;">boost/persistent/transaction.hpp</a>&gt;
@@ -43,7 +43,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="boost/persistent/shared_loc.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="BOOST_PERSISTENT_RETRY.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="boost/persistent/streambuf_block.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="BOOST_PERSISTENT_RETRY.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_ATOMIC.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_ATOMIC.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_ATOMIC.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,7 +4,7 @@
 <title>Macro BOOST_PERSISTENT_BASIC_ATOMIC</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="persistent/reference.html#header.boost.persistent.basic_transaction_hpp" title="Header &lt;boost/persistent/basic_transaction.hpp&gt;">
 <link rel="prev" href="boost/persistent/basic_transaction.html" title="Class template basic_transaction">
 <link rel="next" href="BOOST_PERSISTENT_BASIC_RETRY.html" title="Macro BOOST_PERSISTENT_BASIC_RETRY">
@@ -26,19 +26,19 @@
 <a name="BOOST_PERSISTENT_BASIC_ATOMIC"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_PERSISTENT_BASIC_ATOMIC</span></h2>
-<p>BOOST_PERSISTENT_BASIC_ATOMIC</p>
+<p>BOOST_PERSISTENT_BASIC_ATOMIC &#8212; Begins a new transaction scope. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="persistent/reference.html#header.boost.persistent.basic_transaction_hpp" title="Header &lt;boost/persistent/basic_transaction.hpp&gt;">boost/persistent/basic_transaction.hpp</a>&gt;
 
 </em></span>BOOST_PERSISTENT_BASIC_ATOMIC(TXMGR)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3023104"></a><h2>Description</h2>
-<p>Begins a new transaction scope. The macros BOOST_PERSISTENT_ATOMIC and BOOST_PERSISTENT_RETRY when used together expand to a transaction scope that gets repeatedly executed until the transaction is successfully committed without conflicting with another transaction.</p>
-<p>atomic and retry provide a simple syntax for concurrent transactions.</p>
+<a name="id2834601"></a><h2>Description</h2>
+<p>BOOST_PERSISTENT_BASIC_ATOMIC and BOOST_PERSISTENT_BASIC_RETRY provide a simple syntax for concurrent transactions.</p>
+<p>When used together the macros expand to a transaction scope that gets repeatedly executed until the transaction is successfully committed without conflicting with another transaction.</p>
 <p>Example: </p>
-<pre class="programlisting"> #define BOOST_PERSISTENT__ATOMIC atomic FIXDOC
- #define BOOST_PERSISTENT_RETRY retry
+<pre class="programlisting"> #define atomic BOOST_PERSISTENT_ATOMIC
+ #define retry BOOST_PERSISTENT_RETRY
 
  atomic{
      ...
@@ -47,11 +47,11 @@
 <p> expands to code that is equivalent to </p>
 <pre class="programlisting"> do{
      try{
- transaction tx; FIXDOC
+ transaction tx;
          ...
          tx.commit();
      }catch(isolation_exception &amp;i){
- i.unwind();
+ i.unwind&lt;transaction_manager&gt;();
          continue;
      }
  }while(false);

Modified: sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_RETRY.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_RETRY.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_BASIC_RETRY.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,7 +4,7 @@
 <title>Macro BOOST_PERSISTENT_BASIC_RETRY</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="persistent/reference.html#header.boost.persistent.basic_transaction_hpp" title="Header &lt;boost/persistent/basic_transaction.hpp&gt;">
 <link rel="prev" href="BOOST_PERSISTENT_BASIC_ATOMIC.html" title="Macro BOOST_PERSISTENT_BASIC_ATOMIC">
 <link rel="next" href="boost/persistent/basic_transaction_manager.html" title="Class template basic_transaction_manager">
@@ -33,7 +33,7 @@
 
 </em></span>BOOST_PERSISTENT_BASIC_RETRY(TXMGR)</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3023174"></a><h2>Description</h2>
+<a name="id2834670"></a><h2>Description</h2>
 <p>Ends a transaction scope. See BOOST_PERSISTENT_BASIC_ATOMIC for a detailed description. </p>
 </div>
 </div>

Added: sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_CONFIGURATION.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_CONFIGURATION.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Macro BOOST_PERSISTENT_CONFIGURATION</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="persistent/reference.html#header.boost.persistent.transaction_manager_hpp" title="Header &lt;boost/persistent/transaction_manager.hpp&gt;">
+<link rel="prev" href="BOOST_PERSISTENT_RETRY.html" title="Macro BOOST_PERSISTENT_RETRY">
+<link rel="next" href="boost/persistent/transactional_session.html" title="Class transactional_session">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_PERSISTENT_RETRY.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_manager_hpp"><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="boost/persistent/transactional_session.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="BOOST_PERSISTENT_CONFIGURATION"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Macro BOOST_PERSISTENT_CONFIGURATION</span></h2>
+<p>BOOST_PERSISTENT_CONFIGURATION &#8212; Defines the default configuration, using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="persistent/reference.html#header.boost.persistent.transaction_manager_hpp" title="Header &lt;boost/persistent/transaction_manager.hpp&gt;">boost/persistent/transaction_manager.hpp</a>&gt;
+
+</em></span>BOOST_PERSISTENT_CONFIGURATION</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2890120"></a><h2>Description</h2>
+<p>Is only defined if BOOST_PERSISTENT_CONFIGURATION is not yet defined.</p>
+<p>Default configuration: </p>
+<pre class="programlisting"> boost::persistent::basic_transaction_manager&lt;
+ boost::persistent::multiversion_object_resource&lt;
+ boost::persistent::redo_storage&lt;
+ boost::persistent::block_storage&lt;
+ boost::persistent::mapped_file_block
+ &gt;
+ &gt;
+ &gt;
+ &gt;
+</pre>
+<p> </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BOOST_PERSISTENT_RETRY.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_manager_hpp"><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="boost/persistent/transactional_session.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_RETRY.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_RETRY.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/BOOST_PERSISTENT_RETRY.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Macro BOOST_PERSISTENT_RETRY</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="persistent/reference.html#header.boost.persistent.transaction_hpp" title="Header &lt;boost/persistent/transaction.hpp&gt;">
 <link rel="prev" href="BOOST_PERSISTENT_ATOMIC.html" title="Macro BOOST_PERSISTENT_ATOMIC">
-<link rel="next" href="boost/persistent/weak_loc.html" title="Class template weak_loc">
+<link rel="next" href="BOOST_PERSISTENT_CONFIGURATION.html" title="Macro BOOST_PERSISTENT_CONFIGURATION">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,13 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="boost/persistent/weak_loc.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="BOOST_PERSISTENT_CONFIGURATION.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="BOOST_PERSISTENT_RETRY"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_PERSISTENT_RETRY</span></h2>
-<p>BOOST_PERSISTENT_RETRY</p>
+<p>BOOST_PERSISTENT_RETRY &#8212; An alias of BOOST_PERSISTENT_BASIC_RETRY using the default transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="persistent/reference.html#header.boost.persistent.transaction_hpp" title="Header &lt;boost/persistent/transaction.hpp&gt;">boost/persistent/transaction.hpp</a>&gt;
@@ -43,7 +43,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="boost/persistent/weak_loc.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="persistent/reference.html#header.boost.persistent.transaction_hpp"><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="BOOST_PERSISTENT_CONFIGURATION.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/AtomicStorageEngine.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/AtomicStorageEngine.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,576 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct AtomicStorageEngine</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.AtomicStorageEngine_hpp" title="Header &lt;boost/persistent/concept/AtomicStorageEngine.hpp&gt;">
+<link rel="prev" href="../../persistent/reference.html" title="Reference">
+<link rel="next" href="DataBlock.html" title="Struct DataBlock">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../persistent/reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.AtomicStorageEngine_hpp"><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="DataBlock.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.AtomicStorageEngine"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct AtomicStorageEngine</span></h2>
+<p>boost::persistent::AtomicStorageEngine</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.AtomicStorageEngine_hpp" title="Header &lt;boost/persistent/concept/AtomicStorageEngine.hpp&gt;">boost/persistent/concept/AtomicStorageEngine.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="AtomicStorageEngine.html" title="Struct AtomicStorageEngine">AtomicStorageEngine</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.AtomicStorageEngine.transaction_id"></a>transaction_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.AtomicStorageEngine.object_id"></a>object_id; <span class="emphasis"><em>// Must be POD. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.AtomicStorageEngine.instance_id"></a>instance_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.AtomicStorageEngine.object_count"></a>object_count; <span class="emphasis"><em>// Must be an integral type. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.AtomicStorageEngine.transaction"></a>transaction;
+
+ <span class="emphasis"><em>// <a class="link" href="AtomicStorageEngine.html#id2427240-bb">public member functions</a></em></span>
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="AtomicStorageEngine.html#id2427244-bb">begin_transaction</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427274-bb">commit_transaction</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427307-bb">apply_transaction</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427342-bb">rollback_transaction</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a class="link" href="AtomicStorageEngine.html#id2427368-bb">load_instance</a>(object_id, instance_id) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">instance_id</span> <a class="link" href="AtomicStorageEngine.html#id2427440-bb">save_instance</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id, T <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427529-bb">free_instance</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427573-bb">apply_free_instance</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427618-bb">free_local_instance</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427663-bb">load_object</a>(object_id, transaction_id &amp;, instance_id &amp;, object_count &amp;,
+ object_count &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2427741-bb">update_object_state</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id, transaction_id,
+ instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2533180-bb">apply_object_state</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id, transaction_id,
+ instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2533244-bb">update_object_count</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id, object_count,
+ object_count) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2533307-bb">apply_object_count</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id, object_count,
+ object_count) ;
+ <span class="type">object_id</span> <a class="link" href="AtomicStorageEngine.html#id2533371-bb">allocate_object</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2533409-bb">free_object</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2533453-bb">apply_free_object</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="AtomicStorageEngine.html#id2533497-bb">free_local_object</a>(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp;, object_id) ;
+ <span class="type">transaction_id</span> <a class="link" href="AtomicStorageEngine.html#id2533543-bb">allocate_transaction_id</a>() ;
+ <span class="type">object_id</span> <a class="link" href="AtomicStorageEngine.html#id2533569-bb">root_object_id</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2812309"></a><h2>Description</h2>
+<p>AtomicStorageEngines don't record changes but need to be called twice with the same information, once before and once after a transaction commit.</p>
+<p>For example:</p>
+<p>tx=begin_transaction(...)</p>
+<p>update_object_state(tx,...)</p>
+<p>commit_transaction(tx,...)</p>
+<p>apply_object_state(tx,...) //same arguments as above</p>
+<p>apply_transaction(tx,...) </p>
+<div class="refsect2" lang="en">
+<a name="id2812334"></a><h3>
+<a name="id2427240-bb"></a><code class="computeroutput">AtomicStorageEngine</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2427244-bb"></a>begin_transaction() ;</pre>Begin a storage transaction. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that is convertible to <code class="computeroutput">transaction</code> </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427274-bb"></a>commit_transaction(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx) ;</pre>Commits a storage transactions. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427307-bb"></a>apply_transaction(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx) ;</pre>Applies a previously committed transaction. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427342-bb"></a>rollback_transaction(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx) ;</pre>Rolls back a storage transaction. <p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a name="id2427368-bb"></a>load_instance(object_id oid, instance_id iid) ;</pre>Loads an instance from the storage device. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type or a base class of the instance </p></li>
+<li><p><code class="computeroutput">ResourceTag</code> The tag of the resource this instance is saved in</p></li>
+</ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by user-supplied functions loading persistent types
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The instance id </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object this instance belongs to </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">instance_id</span> <a name="id2427440-bb"></a>save_instance(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid, T <span class="bold"><strong>const</strong></span> &amp; inst) ;</pre>Saves an instance to the storage device. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type or a base class of the instance </p></li>
+<li><p><code class="computeroutput">ResourceTag</code> The tag of the resource this instance is saved in</p></li>
+</ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by user-supplied functions saving persistent types
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">inst</code></span></p></td>
+<td><p>The instance to save </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object this instance belongs to </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction that is used to save the instance </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The instance id of the saved instance </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427529-bb"></a>free_instance(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, instance_id iid) ;</pre>Deallocates a previously saved instance. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The id of the instance </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction the deallocation takes place in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427573-bb"></a>apply_free_instance(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, instance_id iid) ;</pre>Applies the deallocation of a freed instance once the storage transaction is committed. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The id of the instance </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The committed storage transaction </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427618-bb"></a>free_local_instance(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, instance_id iid) ;</pre>Deallocates an instance that was saved in this storage transaction and applies the deallocation. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The id of the instance </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction the instance was saved and should be deallocated in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427663-bb"></a>load_object(object_id oid, transaction_id &amp; tid, instance_id &amp; iid,
+ object_count &amp; strong, object_count &amp; weak) ;</pre>Loads an object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>A reference that is used to store the loaded instance id </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">strong</code></span></p></td>
+<td><p>A reference that is used to store the <code class="computeroutput">strong</code> reference count </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tid</code></span></p></td>
+<td><p>A reference that is used to store the loaded transaction id </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">weak</code></span></p></td>
+<td><p>A reference that is used to store the <code class="computeroutput">weak</code> reference count </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2427741-bb"></a>update_object_state(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid, transaction_id tid,
+ instance_id iid) ;</pre>Updates the state of a previously allocated object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The new instance id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tid</code></span></p></td>
+<td><p>The new transaction id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction the state is updated in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533180-bb"></a>apply_object_state(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid, transaction_id tid,
+ instance_id iid) ;</pre>Applies an updated object state once the storage transaction has been committed. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The new instance id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tid</code></span></p></td>
+<td><p>The new transaction id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The committed storage transaction </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533244-bb"></a>update_object_count(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid, object_count strong,
+ object_count weak) ;</pre>Updates the reference counts of a previously allocated object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">strong</code></span></p></td>
+<td><p>The new <code class="computeroutput">strong</code> reference count of the objcet </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction the counts are updated in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533307-bb"></a>apply_object_count(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid, object_count strong,
+ object_count weak) ;</pre>Applies the updated reference counts once the storage transaction has been committed. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">strong</code></span></p></td>
+<td><p>The new <code class="computeroutput">strong</code> reference count of the objcet </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The committed storage transaction. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">object_id</span> <a name="id2533371-bb"></a>allocate_object(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx) ;</pre>Allocates an object id. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The new object id </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533409-bb"></a>free_object(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid) ;</pre>Deallocates a previously allocated object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction the deallocation takes place in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533453-bb"></a>apply_free_object(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid) ;</pre>Applies the deallocation of a freed object once the storage transaction is committed. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The committed storage transaction </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533497-bb"></a>free_local_object(<a class="link" href="AtomicStorageEngine.html#boost.persistent.AtomicStorageEngine.transaction">transaction</a> &amp; tx, object_id oid) ;</pre>Deallocates an object that was allocated in this storage transaction and applies the deallocation. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The storage transaction the object was allocated and should be deallocated in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">transaction_id</span> <a name="id2533543-bb"></a>allocate_transaction_id() ;</pre>Allocates a new transaction id. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The new transaction id </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">object_id</span> <a name="id2533569-bb"></a>root_object_id() ;</pre>
+<p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The object id of the first object created, if any </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../persistent/reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.AtomicStorageEngine_hpp"><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="DataBlock.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/DataBlock.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/DataBlock.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct DataBlock</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.DataBlock_hpp" title="Header &lt;boost/persistent/concept/DataBlock.hpp&gt;">
+<link rel="prev" href="AtomicStorageEngine.html" title="Struct AtomicStorageEngine">
+<link rel="next" href="ObjectPinningService.html" title="Struct ObjectPinningService">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AtomicStorageEngine.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.DataBlock_hpp"><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="ObjectPinningService.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.DataBlock"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct DataBlock</span></h2>
+<p>boost::persistent::DataBlock &#8212; Concept that provides random access to a block of data. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.DataBlock_hpp" title="Header &lt;boost/persistent/concept/DataBlock.hpp&gt;">boost/persistent/concept/DataBlock.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="DataBlock.html" title="Struct DataBlock">DataBlock</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.DataBlock.size_type"></a>size_type; <span class="emphasis"><em>// Integral type representing the size of the block or an offset. </em></span>
+
+ <span class="emphasis"><em>// <a class="link" href="DataBlock.html#id2533619-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="DataBlock.html#id2533623-bb">write</a>(size_type, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> *, <span class="emphasis"><em>unspecified</em></span>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="DataBlock.html#id2533687-bb">read</a>(size_type, <span class="bold"><strong>void</strong></span> *, <span class="emphasis"><em>unspecified</em></span>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="DataBlock.html#id2533750-bb">flush</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="DataBlock.html#id2533768-bb">sync</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2814277"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2814281"></a><h3>
+<a name="id2533619-bb"></a><code class="computeroutput">DataBlock</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533623-bb"></a>write(size_type offset, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> * data, <span class="emphasis"><em>unspecified</em></span> size) ;</pre>writes <code class="computeroutput">size</code> bytes of data found at <code class="computeroutput">data</code> to offset <code class="computeroutput">offset</code><p>Throws: <code class="computeroutput">io_failure</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">data</code></span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">offset</code></span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">size</code></span></p></td>
+<td><p>The number of bytes to write. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>the type of <code class="computeroutput">size</code> is not specified, so MPL integral constants can be passed </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533687-bb"></a>read(size_type offset, <span class="bold"><strong>void</strong></span> * data, <span class="emphasis"><em>unspecified</em></span> size) ;</pre>reads <code class="computeroutput">size</code> bytes of data found at offset <code class="computeroutput">offset</code> to <code class="computeroutput">data</code><p>Throws: <code class="computeroutput">io_failure</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">data</code></span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">offset</code></span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">size</code></span></p></td>
+<td><p>The number of bytes to read. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>the type of <code class="computeroutput">size</code> is not specified, so MPL integral constants can be passed </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533750-bb"></a>flush() ;</pre>Flushes internal buffers. <p>Throws: <code class="computeroutput">io_failure</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533768-bb"></a>sync() ;</pre>Writes all flushed data to the physical storage device. <p>May be called concurrently. Blocks until the data has reached the storage device.</p>
+<p>Does not flush internal buffers.</p>
+<p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">unsupported_exception</code> </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AtomicStorageEngine.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.DataBlock_hpp"><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="ObjectPinningService.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/ObjectPinningService.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/ObjectPinningService.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct ObjectPinningService</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectPinningService_hpp" title="Header &lt;boost/persistent/concept/ObjectPinningService.hpp&gt;">
+<link rel="prev" href="DataBlock.html" title="Struct DataBlock">
+<link rel="next" href="ObjectStorageService.html" title="Struct ObjectStorageService">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="DataBlock.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectPinningService_hpp"><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="ObjectStorageService.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.ObjectPinningService"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct ObjectPinningService</span></h2>
+<p>boost::persistent::ObjectPinningService</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectPinningService_hpp" title="Header &lt;boost/persistent/concept/ObjectPinningService.hpp&gt;">boost/persistent/concept/ObjectPinningService.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="ObjectPinningService.html" title="Struct ObjectPinningService">ObjectPinningService</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectPinningService.services"></a>services; <span class="emphasis"><em>// A MPL Sequence that contains <code class="computeroutput">object_pinning_tag</code>. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectPinningService.transaction"></a>transaction;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectPinningService.object"></a>object;
+
+ <span class="emphasis"><em>// <a class="link" href="ObjectPinningService.html#id2533838-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="ObjectPinningService.html#id2533842-bb">pin_object</a>(<a class="link" href="ObjectPinningService.html#boost.persistent.ObjectPinningService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="ObjectPinningService.html#id2533920-bb">unpin_object</a>(<a class="link" href="ObjectPinningService.html#boost.persistent.ObjectPinningService.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type">object</span> <a class="link" href="ObjectPinningService.html#id2533988-bb">get_pinned_object</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type">object</span> <a class="link" href="ObjectPinningService.html#id2534045-bb">get_pinned_object</a>(<a class="link" href="ObjectPinningService.html#boost.persistent.ObjectPinningService.transaction">transaction</a> &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2814921"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2814924"></a><h3>
+<a name="id2533838-bb"></a><code class="computeroutput">ObjectPinningService</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533842-bb"></a>pin_object(<a class="link" href="ObjectPinningService.html#boost.persistent.ObjectPinningService.transaction">transaction</a> &amp; tx, object obj) ;</pre>Associates an object with <code class="computeroutput">Tag</code>. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Tag</code> The type the object is associated with</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction the pin is created in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2533920-bb"></a>unpin_object(<a class="link" href="ObjectPinningService.html#boost.persistent.ObjectPinningService.transaction">transaction</a> &amp; tx) ;</pre>Deassociates the object associated with <code class="computeroutput">Tag</code>, if any. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Tag</code> The type the object is associated with</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction the pin should be removed in. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type">object</span> <a name="id2533988-bb"></a>get_pinned_object() ;</pre>Returns the object associated with <code class="computeroutput">Tag</code>, if any. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type or a base class of the object </p></li>
+<li><p><code class="computeroutput">Tag</code> The type the object is associated with</p></li>
+</ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type">object</span> <a name="id2534045-bb"></a>get_pinned_object(<a class="link" href="ObjectPinningService.html#boost.persistent.ObjectPinningService.transaction">transaction</a> &amp; tx) ;</pre>Returns the object associated with <code class="computeroutput">Tag</code>, if any. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type or a base class of the object </p></li>
+<li><p><code class="computeroutput">Tag</code> The type the object is associated with</p></li>
+</ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="DataBlock.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectPinningService_hpp"><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="ObjectStorageService.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/ObjectStorageService.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/ObjectStorageService.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,334 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct ObjectStorageService</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectStorageService_hpp" title="Header &lt;boost/persistent/concept/ObjectStorageService.hpp&gt;">
+<link rel="prev" href="ObjectPinningService.html" title="Struct ObjectPinningService">
+<link rel="next" href="ResourceManager.html" title="Struct ResourceManager">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ObjectPinningService.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectStorageService_hpp"><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="ResourceManager.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.ObjectStorageService"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct ObjectStorageService</span></h2>
+<p>boost::persistent::ObjectStorageService</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectStorageService_hpp" title="Header &lt;boost/persistent/concept/ObjectStorageService.hpp&gt;">boost/persistent/concept/ObjectStorageService.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="ObjectStorageService.html" title="Struct ObjectStorageService">ObjectStorageService</a> {
+ <span class="emphasis"><em>// <a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageServicetypes">types</a></em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectStorageService.services"></a>services; <span class="emphasis"><em>// A MPL Sequence that contains <code class="computeroutput">object_storage_tag</code>. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectStorageService.transaction"></a>transaction;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectStorageService.object"></a>object;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.object_id">object_id</a>;
+
+ <span class="emphasis"><em>// <a class="link" href="ObjectStorageService.html#id2534175-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="ObjectStorageService.html#id2534179-bb">get_read_instance</a>(object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="ObjectStorageService.html#id2534239-bb">get_read_instance</a>(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="ObjectStorageService.html#id2534315-bb">get_write_instance</a>(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="ObjectStorageService.html#id2534402-bb">get_autodetect_instance</a>(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="ObjectStorageService.html#id2534486-bb">get_object</a>(object_id) ;
+ <span class="type">object_id</span> <a class="link" href="ObjectStorageService.html#id2534557-bb">get_object_id</a>(object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="ObjectStorageService.html#id2534601-bb">new_object</a>(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp;, T *) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="ObjectStorageService.html#id2534666-bb">remove_object</a>(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp;, object) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2815818"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2815822"></a><h3>
+<a name="boost.persistent.ObjectStorageServicetypes"></a><code class="computeroutput">ObjectStorageService</code>
+ public
+ types</h3>
+<div class="orderedlist"><ol type="1"><li>
+<p>
+<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ObjectStorageService.object_id"></a>object_id;</p>
+<p>A type that is used by other <code class="computeroutput">ResourceManagers</code> to store references. Must be POD. </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2815870"></a><h3>
+<a name="id2534175-bb"></a><code class="computeroutput">ObjectStorageService</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2534179-bb"></a>get_read_instance(object obj) ;</pre>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code> <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A read-only instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2534239-bb"></a>get_read_instance(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A read-only instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2534315-bb"></a>get_write_instance(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>
+<p>This function indicates write access. The <code class="computeroutput">ResourceManager</code> can assume that the object will be modified by user code.</p>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2534402-bb"></a>get_autodetect_instance(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>
+<p>This function does not indicate write access. The returned object may or may not be modified by user code.</p>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2534486-bb"></a>get_object(object_id id) ;</pre>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">id</code></span></p></td>
+<td><p>An object id </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The <code class="computeroutput">object</code> associated with <code class="computeroutput">id</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function can be used by other resource managers to turn a stored <code class="computeroutput">object_id</code> intos an <code class="computeroutput">object</code> </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">object_id</span> <a name="id2534557-bb"></a>get_object_id(object obj) ;</pre>
+<p>Throws: <code class="computeroutput">thread_resource_error</code>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The <code class="computeroutput">object_id</code> associated with <code class="computeroutput">obj</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function can be used by other resource managers to get an <code class="computeroutput">object_id</code> to store a reference to an object. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2534601-bb"></a>new_object(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp; tx, T * userobj) ;</pre>Creates a new object. <p>Takes ownership of <code class="computeroutput">userobj</code>.</p>
+<p>Throws: <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction the object is created in </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">userobj</code></span></p></td>
+<td><p>A pointer to the user object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2534666-bb"></a>remove_object(<a class="link" href="ObjectStorageService.html#boost.persistent.ObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>Removes an object. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">no_active_transaction</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction the object is removed in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ObjectPinningService.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.ObjectStorageService_hpp"><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="ResourceManager.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/ResourceManager.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/ResourceManager.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,139 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct ResourceManager</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.ResourceManager_hpp" title="Header &lt;boost/persistent/concept/ResourceManager.hpp&gt;">
+<link rel="prev" href="ObjectStorageService.html" title="Struct ObjectStorageService">
+<link rel="next" href="SharedObjectStorageService.html" title="Struct SharedObjectStorageService">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ObjectStorageService.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.ResourceManager_hpp"><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="SharedObjectStorageService.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.ResourceManager"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct ResourceManager</span></h2>
+<p>boost::persistent::ResourceManager</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.ResourceManager_hpp" title="Header &lt;boost/persistent/concept/ResourceManager.hpp&gt;">boost/persistent/concept/ResourceManager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="ResourceManager.html" title="Struct ResourceManager">ResourceManager</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ResourceManager.services"></a>services; <span class="emphasis"><em>// A MPL Sequence of tags of all Service concepts implemented by this <code class="computeroutput">ResourceManager</code>. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ResourceManager.tag"></a>tag; <span class="emphasis"><em>// The tag that identifies this <code class="computeroutput">ResourceManager</code>. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.ResourceManager.transaction"></a>transaction;
+
+ <span class="emphasis"><em>// <a class="link" href="ResourceManager.html#id2534762-bb">public member functions</a></em></span>
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="ResourceManager.html#id2534765-bb">begin_root_transaction</a>() ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="ResourceManager.html#id2534800-bb">begin_nested_transaction</a>(<a class="link" href="ResourceManager.html#boost.persistent.ResourceManager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="ResourceManager.html#id2534852-bb">commit_transaction</a>(<a class="link" href="ResourceManager.html#boost.persistent.ResourceManager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="ResourceManager.html#id2534891-bb">rollback_transaction</a>(<a class="link" href="ResourceManager.html#boost.persistent.ResourceManager.transaction">transaction</a> &amp;) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2817076"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2817080"></a><h3>
+<a name="id2534762-bb"></a><code class="computeroutput">ResourceManager</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2534765-bb"></a>begin_root_transaction() ;</pre>Begins a new local transaction. <p>Throws: <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that is convertible to <code class="computeroutput">transaction</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2534800-bb"></a>begin_nested_transaction(<a class="link" href="ResourceManager.html#boost.persistent.ResourceManager.transaction">transaction</a> &amp; parent) ;</pre>Begins a new nested transaction. <p>Throws: <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">parent</code></span></p></td>
+<td><p>The transaction the new transaction is nested in </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that is convertible to <code class="computeroutput">transaction</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2534852-bb"></a>commit_transaction(<a class="link" href="ResourceManager.html#boost.persistent.ResourceManager.transaction">transaction</a> &amp; tx) ;</pre>Commits a local transaction. <p>Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by user-supplied functions accessing persistent types
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2534891-bb"></a>rollback_transaction(<a class="link" href="ResourceManager.html#boost.persistent.ResourceManager.transaction">transaction</a> &amp; tx) ;</pre>Rolls back a local transaction. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ObjectStorageService.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.ResourceManager_hpp"><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="SharedObjectStorageService.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/SharedObjectStorageService.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/SharedObjectStorageService.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,425 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct SharedObjectStorageService</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.SharedObjectStorageService_hpp" title="Header &lt;boost/persistent/concept/SharedObjectStorageService.hpp&gt;">
+<link rel="prev" href="ResourceManager.html" title="Struct ResourceManager">
+<link rel="next" href="StorageEngine.html" title="Struct StorageEngine">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ResourceManager.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.SharedObjectStorageService_hpp"><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="StorageEngine.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.SharedObjectStorageService"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct SharedObjectStorageService</span></h2>
+<p>boost::persistent::SharedObjectStorageService</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.SharedObjectStorageService_hpp" title="Header &lt;boost/persistent/concept/SharedObjectStorageService.hpp&gt;">boost/persistent/concept/SharedObjectStorageService.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="SharedObjectStorageService.html" title="Struct SharedObjectStorageService">SharedObjectStorageService</a> {
+ <span class="emphasis"><em>// <a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageServicetypes">types</a></em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.SharedObjectStorageService.services"></a>services; <span class="emphasis"><em>// A MPL Sequence that contains <code class="computeroutput">shared_object_storage_tag</code>;. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.SharedObjectStorageService.transaction"></a>transaction;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.SharedObjectStorageService.object"></a>object;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.object_id">object_id</a>;
+
+ <span class="emphasis"><em>// <a class="link" href="SharedObjectStorageService.html#id2534988-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="SharedObjectStorageService.html#id2534991-bb">get_read_instance</a>(object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="SharedObjectStorageService.html#id2535051-bb">get_read_instance</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="SharedObjectStorageService.html#id2535127-bb">get_write_instance</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="SharedObjectStorageService.html#id2535215-bb">get_autodetect_instance</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="SharedObjectStorageService.html#id2535299-bb">get_object</a>(object_id) ;
+ <span class="type">object_id</span> <a class="link" href="SharedObjectStorageService.html#id2535369-bb">get_object_id</a>(object) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="SharedObjectStorageService.html#id2535414-bb">new_shared_object</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, T *) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="SharedObjectStorageService.html#id2535479-bb">make_object_shared</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="SharedObjectStorageService.html#id2535530-bb">object_expired</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="SharedObjectStorageService.html#id2535567-bb">object_expired</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="SharedObjectStorageService.html#id2535620-bb">reference_object</a>(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp;, object, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2817928"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2817932"></a><h3>
+<a name="boost.persistent.SharedObjectStorageServicetypes"></a><code class="computeroutput">SharedObjectStorageService</code>
+ public
+ types</h3>
+<div class="orderedlist"><ol type="1"><li>
+<p>
+<span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.SharedObjectStorageService.object_id"></a>object_id;</p>
+<p>Must be POD. </p>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2817974"></a><h3>
+<a name="id2534988-bb"></a><code class="computeroutput">SharedObjectStorageService</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2534991-bb"></a>get_read_instance(object obj) ;</pre>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code> <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A read-only instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2535051-bb"></a>get_read_instance(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A read-only instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2535127-bb"></a>get_write_instance(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>
+<p>This function indicates write access. The <code class="computeroutput">ResourceManager</code> can assume that the object will be modified by user code.</p>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2535215-bb"></a>get_autodetect_instance(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, object obj) ;</pre>
+<p>This function does not indicate write access. The returned object may or may not be modified by user code.</p>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by functions that load the object
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this access should be registered in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A instance of object <code class="computeroutput">obj</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2535299-bb"></a>get_object(object_id id) ;</pre>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">T</code> The type or a base class of the object</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">id</code></span></p></td>
+<td><p>An object id </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The <code class="computeroutput">object</code> associated with <code class="computeroutput">id</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function can be used by other resource managers to turn a stored <code class="computeroutput">object_id</code> intos an <code class="computeroutput">object</code> </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">object_id</span> <a name="id2535369-bb"></a>get_object_id(object obj) ;</pre>
+<p>Throws: <code class="computeroutput">thread_resource_error</code>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The <code class="computeroutput">object_id</code> associated with <code class="computeroutput">obj</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function can be used by other resource managers to get an <code class="computeroutput">object_id</code> to store a reference to an object. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2535414-bb"></a>new_shared_object(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, T * userobj) ;</pre>Creates a new shared object. <p>Takes ownership of <code class="computeroutput">userobj</code>.</p>
+<p>Throws: <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction the object is created in </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">userobj</code></span></p></td>
+<td><p>A pointer to the user object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2535479-bb"></a>make_object_shared(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, object <span class="bold"><strong>const</strong></span> &amp; obj) ;</pre>Makes a previously unshared object shared. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">no_active_transaction</code>,
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction this object should be shared in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2535530-bb"></a>object_expired(object <span class="bold"><strong>const</strong></span> &amp; obj) ;</pre>
+<p>Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the object is no longer reachable in the global state </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2535567-bb"></a>object_expired(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, object <span class="bold"><strong>const</strong></span> &amp; obj) ;</pre>
+<p>Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the object is no longer reachable in the state of the transaction </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2535620-bb"></a>reference_object(<a class="link" href="SharedObjectStorageService.html#boost.persistent.SharedObjectStorageService.transaction">transaction</a> &amp; tx, object obj, <span class="bold"><strong>int</strong></span> strong, <span class="bold"><strong>int</strong></span> weak) ;</pre>Informs the ResourceManager about changes in references in other resources. <p>If other resources hold references to shared objects, the ResourceManager can be informed using this function.</p>
+<p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">obj</code></span></p></td>
+<td><p>The referenced object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">strong</code></span></p></td>
+<td><p>The change in references that keep the object alive </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The transaction the change takes place in </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">weak</code></span></p></td>
+<td><p>The change in reference that don't keep the object alive </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ResourceManager.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.SharedObjectStorageService_hpp"><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="StorageEngine.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,504 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct StorageEngine</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.StorageEngine_hpp" title="Header &lt;boost/persistent/concept/StorageEngine.hpp&gt;">
+<link rel="prev" href="SharedObjectStorageService.html" title="Struct SharedObjectStorageService">
+<link rel="next" href="StorageEngine/save_instance_commit_data.html" title="Struct save_instance_commit_data">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SharedObjectStorageService.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.StorageEngine_hpp"><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="StorageEngine/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.StorageEngine"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct StorageEngine</span></h2>
+<p>boost::persistent::StorageEngine</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.StorageEngine_hpp" title="Header &lt;boost/persistent/concept/StorageEngine.hpp&gt;">boost/persistent/concept/StorageEngine.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="StorageEngine.html" title="Struct StorageEngine">StorageEngine</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.StorageEngine.object_id"></a>object_id; <span class="emphasis"><em>// Must be POD. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.StorageEngine.instance_id"></a>instance_id; <span class="emphasis"><em>// Must be POD. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.StorageEngine.transaction_id"></a>transaction_id; <span class="emphasis"><em>// Must be POD. </em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.StorageEngine.object_count"></a>object_count; <span class="emphasis"><em>// Must be an integral type. </em></span>
+
+ <span class="emphasis"><em>// member classes/structs/unions</em></span>
+
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="StorageEngine/save_instance_commit_data.html" title="Struct save_instance_commit_data">save_instance_commit_data</a> {
+
+ <span class="emphasis"><em>// <a class="link" href="StorageEngine/save_instance_commit_data.html#id2535706-bb">public member functions</a></em></span>
+ <span class="type">std::size_t</span> <a class="link" href="StorageEngine/save_instance_commit_data.html#id2535710-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+ };
+
+ <span class="emphasis"><em>// <a class="link" href="StorageEngine.html#id2535759-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a class="link" href="StorageEngine.html#id2535763-bb">load_instance</a>(object_id, instance_id) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2535837-bb">save_instance_prepare</a>(object_id, T <span class="bold"><strong>const</strong></span> &amp;,
+ save_instance_commit_data &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type">instance_id</span> <a class="link" href="StorageEngine.html#id2535924-bb">allocate_instance</a>(Archive &amp;, std::size_t) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2535994-bb">save_instance_commit</a>(instance_id, save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536045-bb">free_instance</a>(Archive &amp;, instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536109-bb">load_object</a>(object_id, transaction_id &amp;, instance_id &amp;, object_count &amp;,
+ object_count &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536188-bb">save_object_state</a>(object_id, transaction_id, instance_id) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536240-bb">save_object_count</a>(object_id, object_count, object_count) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type">object_id</span> <a class="link" href="StorageEngine.html#id2536298-bb">allocate_object</a>(Archive &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536356-bb">free_object</a>(Archive &amp;, object_id) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536420-bb">save_commit_data</a>(Archive &amp;, save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536482-bb">recover_commit_data</a>(Archive &amp;, save_instance_commit_data &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536547-bb">save_state</a>(Archive &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536592-bb">recover_state</a>(Archive &amp;) ;
+ <span class="type">object_id</span> <a class="link" href="StorageEngine.html#id2536638-bb">root_object_id</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536662-bb">flush</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="StorageEngine.html#id2536684-bb">sync</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2819901"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2819905"></a><h3>
+<a name="id2535759-bb"></a><code class="computeroutput">StorageEngine</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a name="id2535763-bb"></a>load_instance(object_id oid, instance_id iid) ;</pre>Loads an instance from the storage device. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type or a base class of the instance </p></li>
+<li><p><code class="computeroutput">ResourceTag</code> The tag of the resource this instance is saved in</p></li>
+</ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by user-supplied functions loading persistent types
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The instance id </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object this instance belongs to </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2535837-bb"></a>save_instance_prepare(object_id oid, T <span class="bold"><strong>const</strong></span> &amp; inst,
+ save_instance_commit_data &amp; data) ;</pre>Makes preparations to save an instance and stores the result in <code class="computeroutput">data</code>. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type or a base class of the instance </p></li>
+<li><p><code class="computeroutput">ResourceTag</code> The tag of the resource this instance is saved in</p></li>
+</ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, Any exception thrown by user-supplied functions saving persistent types
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">data</code></span></p></td>
+<td><p>A default-constructed save_instance_commit_data </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">inst</code></span></p></td>
+<td><p>The instance </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type">instance_id</span> <a name="id2535924-bb"></a>allocate_instance(Archive &amp; ar, std::size_t size) ;</pre>Allocates a instance id to store an instance of the specified size. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>An output archive in case this is the first attemt to allocate the instance. An input archive in case the application was aborted and the allocation ought to be repeated. Can be used to store information about allocations if they are internally not repeatable. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">size</code></span></p></td>
+<td><p>The size of the instance, typically save_instance_commit_data::size() </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The id of the allocated instance </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2535994-bb"></a>save_instance_commit(instance_id iid,
+ save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp; data) ;</pre>Saves an instance prepared for saving by <code class="computeroutput">save_instance_prepare</code>. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">data</code></span></p></td>
+<td><p>An save_instance_commit_data filled by <code class="computeroutput">save_instance_prepare</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The instance id the instance should be stored at. Must be large enough to hold the instance. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536045-bb"></a>free_instance(Archive &amp; ar, instance_id iid) ;</pre>Deallocates a previously allocated instance. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>An output archive in case this is the first attemt to deallocate the instance. An input archive in case the application was aborted and the deallocation ought to be repeated. Can be used to store information about allocations if they are internally not repeatable. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The instance id </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536109-bb"></a>load_object(object_id oid, transaction_id &amp; tid, instance_id &amp; iid,
+ object_count &amp; strong, object_count &amp; weak) ;</pre>Loads an object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>A reference that is used to store the loaded instance id </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">strong</code></span></p></td>
+<td><p>A reference that is used to store the <code class="computeroutput">strong</code> reference count </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tid</code></span></p></td>
+<td><p>A reference that is used to store the loaded transaction id </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">weak</code></span></p></td>
+<td><p>A reference that is used to store the <code class="computeroutput">weak</code> reference count </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536188-bb"></a>save_object_state(object_id oid, transaction_id tid, instance_id iid) ;</pre>Saves the state of an object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">iid</code></span></p></td>
+<td><p>The new instance id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tid</code></span></p></td>
+<td><p>The new transaction id of the object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536240-bb"></a>save_object_count(object_id oid, object_count strong, object_count weak) ;</pre>Saves the reference counts of an object. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The id of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">strong</code></span></p></td>
+<td><p>The new <code class="computeroutput">strong</code> reference count of the object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">weak</code></span></p></td>
+<td><p>The new <code class="computeroutput">weak</code> reference count of the object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type">object_id</span> <a name="id2536298-bb"></a>allocate_object(Archive &amp; ar) ;</pre>Allocates a new object. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>An output archive in case this is the first attemt to allocate the object. An input archive in case the application was aborted and the allocation ought to be repeated. Can be used to store information about allocations if they are internally not repeatable. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The new object id </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536356-bb"></a>free_object(Archive &amp; ar, object_id oid) ;</pre>Deallocates a previously allocated object. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>An output archive in case this is the first attemt to deallocate the object. An input archive in case the application was aborted and the deallocation ought to be repeated. Can be used to store information about allocations if they are internally not repeatable. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">oid</code></span></p></td>
+<td><p>The object id </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536420-bb"></a>save_commit_data(Archive &amp; ar, save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp; data) <span class="bold"><strong>const</strong></span>;</pre>Stores the passed <code class="computeroutput">save_instance_commit_data</code> in a serialization archive. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization output archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">data</code></span></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536482-bb"></a>recover_commit_data(Archive &amp; ar, save_instance_commit_data &amp; data) <span class="bold"><strong>const</strong></span>;</pre>Recovers a save_instance_commit_data from <code class="computeroutput">ar</code> and stores it in <code class="computeroutput">data</code>. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization input archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">data</code></span></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536547-bb"></a>save_state(Archive &amp; ar) ;</pre>Saves the internal state of the storage engine. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization output archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p></p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536592-bb"></a>recover_state(Archive &amp; ar) ;</pre>Recovers the previously saved internal state of the storage engine. <p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">Archive</code> A serialization input archive that can only serialize primitives</p></li></ul></div>
+<p>
+Throws: <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p></p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">object_id</span> <a name="id2536638-bb"></a>root_object_id() ;</pre>
+<p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The object id of the first object created, if any </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536662-bb"></a>flush() ;</pre>Flushes internal buffers, passing all saved data to the operating system. <p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536684-bb"></a>sync() ;</pre>Synchronizes all flushed data with the physical storage device. <p>Does not flush internal buffers.</p>
+<p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code> </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SharedObjectStorageService.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.StorageEngine_hpp"><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="StorageEngine/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine/save_instance_commit_data.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/StorageEngine/save_instance_commit_data.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct save_instance_commit_data</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../StorageEngine.html#id2819901" title="Description">
+<link rel="prev" href="../SharedObjectStorageService.html" title="Struct SharedObjectStorageService">
+<link rel="next" href="../TransactionManager.html" title="Struct TransactionManager">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../SharedObjectStorageService.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../StorageEngine.html#id2819901"><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="../TransactionManager.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.StorageEngine.save_instance_commit_data"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct save_instance_commit_data</span></h2>
+<p>boost::persistent::StorageEngine::save_instance_commit_data</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.concept.StorageEngine_hpp" title="Header &lt;boost/persistent/concept/StorageEngine.hpp&gt;">boost/persistent/concept/StorageEngine.hpp</a>&gt;
+
+</em></span>
+
+<span class="bold"><strong>struct</strong></span> <a class="link" href="save_instance_commit_data.html" title="Struct save_instance_commit_data">save_instance_commit_data</a> {
+
+ <span class="emphasis"><em>// <a class="link" href="save_instance_commit_data.html#id2535706-bb">public member functions</a></em></span>
+ <span class="type">std::size_t</span> <a class="link" href="save_instance_commit_data.html#id2535710-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2821573"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2821576"></a><h3>
+<a name="id2535706-bb"></a><code class="computeroutput">save_instance_commit_data</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><span class="type">std::size_t</span> <a name="id2535710-bb"></a>size() <span class="bold"><strong>const</strong></span>;</pre>Returns the size of instance that is saved, in bytes. </li></ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../SharedObjectStorageService.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../StorageEngine.html#id2819901"><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="../TransactionManager.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,280 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct TransactionManager</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.concept.TransactionManager_hpp" title="Header &lt;boost/persistent/concept/TransactionManager.hpp&gt;">
+<link rel="prev" href="StorageEngine/save_instance_commit_data.html" title="Struct save_instance_commit_data">
+<link rel="next" href="TransactionManager/default_resource.html" title="Struct template default_resource">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="StorageEngine/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.TransactionManager_hpp"><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="TransactionManager/default_resource.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.TransactionManager"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct TransactionManager</span></h2>
+<p>boost::persistent::TransactionManager</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.concept.TransactionManager_hpp" title="Header &lt;boost/persistent/concept/TransactionManager.hpp&gt;">boost/persistent/concept/TransactionManager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="TransactionManager.html" title="Struct TransactionManager">TransactionManager</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.TransactionManager.transaction"></a>transaction;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.TransactionManager.resource_types"></a>resource_types; <span class="emphasis"><em>// A MPL Sequence representing the resource manager types used by this transaction manager. </em></span>
+
+ <span class="emphasis"><em>// member classes/structs/unions</em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ServiceTag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="TransactionManager/default_resource.html" title="Struct template default_resource">default_resource</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="TransactionManager/default_resource.html#boost.persistent.TransactionManager.default_resource.type">type</a>;
+ };
+
+ <span class="emphasis"><em>// <a class="link" href="TransactionManager.html#id2536777-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="TransactionManager.html#id2536781-bb">resource</a>(Tag = Tag()) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="TransactionManager.html#id2536820-bb">resource_transaction</a>(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp;, Tag = Tag()) ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="TransactionManager.html#id2536896-bb">begin_transaction</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="TransactionManager.html#id2536933-bb">commit_transaction</a>(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="TransactionManager.html#id2536984-bb">rollback_transaction</a>(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="TransactionManager.html#id2537026-bb">bind_transaction</a>(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="TransactionManager.html#id2537056-bb">unbind_transaction</a>() ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="TransactionManager.html#id2537075-bb">has_active_transaction</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp;</span> <a class="link" href="TransactionManager.html#id2537097-bb">active_transaction</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="TransactionManager.html#id2537123-bb">bind</a>() ;
+
+ <span class="emphasis"><em>// <a class="link" href="TransactionManager.html#id2537142-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a class="link" href="TransactionManager.html#id2537145-bb">has_active</a>() ;
+ <span class="type"><span class="bold"><strong>static</strong></span> TransactionManager &amp;</span> <a class="link" href="TransactionManager.html#id2537164-bb">active</a>() ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>void</strong></span></span> <a class="link" href="TransactionManager.html#id2537187-bb">unbind</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2822114"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2822118"></a><h3>
+<a name="id2536777-bb"></a><code class="computeroutput">TransactionManager</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2536781-bb"></a>resource(Tag tag = Tag()) ;</pre>
+<p>Throws: Nothing
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>The resource manager tag </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The resource manager with tag <code class="computeroutput">Tag</code> </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2536820-bb"></a>resource_transaction(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp; tx, Tag tag = Tag()) ;</pre>
+<p>If there already is a resource transaction for this resource manager associated with <code class="computeroutput">tx</code>, returns it. If there is not, calls the resource manager to begin a new one.</p>
+<p>Throws: <code class="computeroutput">finalize_error</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>The resource manager tag </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The global transaction </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The resource transaction of the resource manager with tag <code class="computeroutput">Tag</code> that belongs to global transaction <code class="computeroutput">tx</code> </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2536896-bb"></a>begin_transaction() ;</pre>Begins a new global transaction. <p>Throws: Nothing
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that is convertible to <code class="computeroutput">transaction</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The return type can be <code class="computeroutput">transaction</code> itself if it is CopyConstructible, a rvalue reference if it is MoveConstructible, or any other type that is convertible to <code class="computeroutput">transaction</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536933-bb"></a>commit_transaction(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp; tx) ;</pre>Commits a global transaction. <p>Commits all resource transactions that are associated with the global transaction <code class="computeroutput">tx</code>. If there is more than one resource transaction, performs a two-phase commit.</p>
+<p>Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by user-supplied functions accessed persistent types
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The global transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2536984-bb"></a>rollback_transaction(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp; tx) ;</pre>Rolls back a global transaction. <p>Rolls back all resource transaction that are associated with the global transaction <code class="computeroutput">tx</code>.</p>
+<p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The global transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537026-bb"></a>bind_transaction(<a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp; tx) ;</pre>Binds the current thread to a global transaction. <p>Throws: <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tx</code></span></p></td>
+<td><p>The global transaction </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537056-bb"></a>unbind_transaction() ;</pre>Resets the active transaction. <p>Throws: <code class="computeroutput">thread_resource_error</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2537075-bb"></a>has_active_transaction() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">true</code> if there is an active transaction bound to this thread </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="TransactionManager.html#boost.persistent.TransactionManager.transaction">transaction</a> &amp;</span> <a name="id2537097-bb"></a>active_transaction() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">no_active_transaction</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The active transaction bound to this thread </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537123-bb"></a>bind() ;</pre>Sets the active transaction manager of type <code class="computeroutput">TransactionManager</code> to this. <p>Throws: Nothing </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2822809"></a><h3>
+<a name="id2537142-bb"></a><code class="computeroutput">TransactionManager</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2537145-bb"></a>has_active() ;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">true</code> if there is an active transaction manager of this type </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> TransactionManager &amp;</span> <a name="id2537164-bb"></a>active() ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The active transaction manager of type <code class="computeroutput">TransactionManager</code> </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2537187-bb"></a>unbind() ;</pre>Sets the active transaction manager of type <code class="computeroutput">TransactionManager</code> to none. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="StorageEngine/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.concept.TransactionManager_hpp"><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="TransactionManager/default_resource.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager/default_resource.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/TransactionManager/default_resource.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template default_resource</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../TransactionManager.html#id2822114" title="Description">
+<link rel="prev" href="../StorageEngine/save_instance_commit_data.html" title="Struct save_instance_commit_data">
+<link rel="next" href="../deep_tag.html" title="Struct deep_tag">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../StorageEngine/save_instance_commit_data.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../TransactionManager.html#id2822114"><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="../deep_tag.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.TransactionManager.default_resource"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template default_resource</span></h2>
+<p>boost::persistent::TransactionManager::default_resource</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.concept.TransactionManager_hpp" title="Header &lt;boost/persistent/concept/TransactionManager.hpp&gt;">boost/persistent/concept/TransactionManager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ServiceTag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="default_resource.html" title="Struct template default_resource">default_resource</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.TransactionManager.default_resource.type"></a>type;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2823042"></a><h2>Description</h2>
+<p>A metafunction returning the tag of the default resource manager that offers</p>
+<p>Template parameter: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">ServiceTag</code> The tag of the service </p></li></ul></div>
+<p>
+</p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../StorageEngine/save_instance_commit_data.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../TransactionManager.html#id2822114"><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="../deep_tag.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/bad_weak_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/bad_weak_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/bad_weak_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Struct bad_weak_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp" title="Header &lt;boost/persistent/basic_weak_loc.hpp&gt;">
 <link rel="prev" href="basic_weak_loc.html" title="Class template basic_weak_loc">
-<link rel="next" href="caching_policy.html" title="Struct caching_policy">
+<link rel="next" href="block_storage.html" title="Class template block_storage">
 </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="basic_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="caching_policy.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="block_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.bad_weak_loc"></a><div class="titlepage"></div>
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="caching_policy.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="block_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_clist.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_clist.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,156 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_clist</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp" title="Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;">
-<link rel="prev" href="intrusive/basic_clist.html" title="Class template basic_clist">
-<link rel="next" href="basic_clist/remove_pred.html" title="Struct remove_pred">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intrusive/basic_clist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp"><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="basic_clist/remove_pred.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_clist"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_clist</span></h2>
-<p>boost::persistent::basic_clist</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp" title="Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;">boost/persistent/intrusive/basic_clist.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_clist.html" title="Class template basic_clist">basic_clist</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> base::size_type <a name="boost.persistent.basic_clist.size_type"></a>size_type;
- <span class="bold"><strong>typedef</strong></span> base::const_reference <a name="boost.persistent.basic_clist.const_reference"></a>const_reference;
- <span class="bold"><strong>typedef</strong></span> base::value_type <a name="boost.persistent.basic_clist.value_type"></a>value_type;
- <span class="bold"><strong>typedef</strong></span> base::iterator <a name="boost.persistent.basic_clist.iterator"></a>iterator;
-
- <span class="emphasis"><em>// member classes/structs/unions</em></span>
-
- <span class="bold"><strong>struct</strong></span> <a class="link" href="basic_clist/remove_pred.html" title="Struct remove_pred">remove_pred</a> {
- <span class="emphasis"><em>// <a class="link" href="basic_clist/remove_pred.html#boost.persistent.basic_clist.remove_predconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_clist/remove_pred.html#id2651164-bb">remove_pred</a>(const_reference);
-
- <span class="emphasis"><em>// <a class="link" href="basic_clist/remove_pred.html#id2651149-bb">public member functions</a></em></span>
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_clist/remove_pred.html#id2651152-bb"><span class="bold"><strong>operator</strong></span>()</a>(const_reference) <span class="bold"><strong>const</strong></span>;
- <span class="type">value_type</span> value;
- };
-
- <span class="emphasis"><em>// <a class="link" href="basic_clist.html#boost.persistent.basic_clistconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_clist.html#id2651604-bb">basic_clist</a>();
- <a class="link" href="basic_clist.html#id2651605-bb">basic_clist</a>(size_type, const_reference = T());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <a class="link" href="basic_clist.html#id2651618-bb">basic_clist</a>(InputIterator, InputIterator);
- <a class="link" href="basic_clist.html#id2651636-bb">basic_clist</a>(basic_clist <span class="bold"><strong>const</strong></span> &amp;);
- basic_clist&amp; <a class="link" href="basic_clist.html#id2651642-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_clist <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_clist.html#id2651192-bb">public member functions</a></em></span>
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651195-bb">resize</a>(size_type, const_reference = T()) ;
- <span class="type">value_type</span> <a class="link" href="basic_clist.html#id2651214-bb">front</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">value_type</span> <a class="link" href="basic_clist.html#id2651222-bb">back</a>() <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651229-bb">assign</a>(InputIterator, InputIterator) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651253-bb">assign</a>(size_type, const_reference) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651270-bb">push_front</a>(const_reference) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651283-bb">pop_front</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651290-bb">push_back</a>(const_reference) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651302-bb">pop_back</a>() ;
- <span class="type">iterator</span> <a class="link" href="basic_clist.html#id2651309-bb">insert</a>(iterator, const_reference) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651327-bb">insert</a>(iterator, size_type, const_reference) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651350-bb">insert</a>(iterator, InputIterator, InputIterator) ;
- <span class="type">iterator</span> <a class="link" href="basic_clist.html#id2651379-bb">erase</a>(iterator) ;
- <span class="type">iterator</span> <a class="link" href="basic_clist.html#id2651391-bb">erase</a>(iterator, iterator) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651409-bb">splice</a>(iterator, basic_clist &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651426-bb">splice</a>(iterator, basic_clist &amp;, iterator) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651449-bb">splice</a>(iterator, basic_clist &amp;, iterator, iterator) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651477-bb">remove</a>(const_reference) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651490-bb">remove_if</a>(Predicate) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651508-bb">unique</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651516-bb">unique</a>(BinaryPredicate) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651534-bb">merge</a>(basic_clist &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Compare&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651547-bb">merge</a>(basic_clist &amp;, Compare) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651570-bb">reverse</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651578-bb">sort</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Compare&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651585-bb">sort</a>(Compare) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3012038"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3012042"></a><h3>
-<a name="boost.persistent.basic_clistconstruct-copy-destruct"></a><code class="computeroutput">basic_clist</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2651604-bb"></a>basic_clist();</pre></li>
-<li><pre class="literallayout"><a name="id2651605-bb"></a>basic_clist(size_type n, const_reference value = T());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2651618-bb"></a>basic_clist(InputIterator begin, InputIterator end);</pre></li>
-<li><pre class="literallayout"><a name="id2651636-bb"></a>basic_clist(basic_clist <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout">basic_clist&amp; <a name="id2651642-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_clist <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3012167"></a><h3>
-<a name="id2651192-bb"></a><code class="computeroutput">basic_clist</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651195-bb"></a>resize(size_type s, const_reference value = T()) ;</pre></li>
-<li><pre class="literallayout"><span class="type">value_type</span> <a name="id2651214-bb"></a>front() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type">value_type</span> <a name="id2651222-bb"></a>back() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651229-bb"></a>assign(InputIterator it, InputIterator end) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651253-bb"></a>assign(size_type s, const_reference value) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651270-bb"></a>push_front(const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651283-bb"></a>pop_front() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651290-bb"></a>push_back(const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651302-bb"></a>pop_back() ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2651309-bb"></a>insert(iterator position, const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651327-bb"></a>insert(iterator position, size_type n, const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651350-bb"></a>insert(iterator position, InputIterator it, InputIterator end) ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2651379-bb"></a>erase(iterator position) ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2651391-bb"></a>erase(iterator first, iterator last) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651409-bb"></a>splice(iterator position, basic_clist &amp; x) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651426-bb"></a>splice(iterator position, basic_clist &amp; x, iterator i) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651449-bb"></a>splice(iterator position, basic_clist &amp; x, iterator begin, iterator end) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651477-bb"></a>remove(const_reference value) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651490-bb"></a>remove_if(Predicate pred) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651508-bb"></a>unique() ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651516-bb"></a>unique(BinaryPredicate pred) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651534-bb"></a>merge(basic_clist &amp; o) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Compare&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651547-bb"></a>merge(basic_clist &amp; p, Compare comp) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651570-bb"></a>reverse() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651578-bb"></a>sort() ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Compare&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651585-bb"></a>sort(Compare comp) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intrusive/basic_clist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp"><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="basic_clist/remove_pred.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmap.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmap.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,96 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cmap</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp" title="Header &lt;boost/persistent/basic_cmap.hpp&gt;">
-<link rel="prev" href="basic_clist/remove_pred.html" title="Struct remove_pred">
-<link rel="next" href="basic_cmultimap.html" title="Class template basic_cmultimap">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_clist/remove_pred.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp"><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="basic_cmultimap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_cmap"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cmap</span></h2>
-<p>boost::persistent::basic_cmap</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp" title="Header &lt;boost/persistent/basic_cmap.hpp&gt;">boost/persistent/basic_cmap.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
- <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;Key&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cmap.html" title="Class template basic_cmap">basic_cmap</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> base::iterator <a name="boost.persistent.basic_cmap.iterator"></a>iterator;
- <span class="bold"><strong>typedef</strong></span> base::const_reference <a name="boost.persistent.basic_cmap.const_reference"></a>const_reference;
-
- <span class="emphasis"><em>// <a class="link" href="basic_cmap.html#boost.persistent.basic_cmapconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cmap.html#id2652165-bb">basic_cmap</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="basic_cmap.html#id2652173-bb">basic_cmap</a>(basic_cmap <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="basic_cmap.html#id2652179-bb">basic_cmap</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- basic_cmap&amp; <a class="link" href="basic_cmap.html#id2652204-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_cmap <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cmap.html#id2652108-bb">public member functions</a></em></span>
- <span class="type">std::pair&lt; iterator, <span class="bold"><strong>bool</strong></span> &gt;</span> <a class="link" href="basic_cmap.html#id2652111-bb">insert</a>(const_reference) ;
- <span class="type">iterator</span> <a class="link" href="basic_cmap.html#id2652123-bb">insert</a>(iterator, const_reference) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cmap.html#id2652141-bb">insert</a>(InputIterator, InputIterator) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3013441"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3013445"></a><h3>
-<a name="boost.persistent.basic_cmapconstruct-copy-destruct"></a><code class="computeroutput">basic_cmap</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2652165-bb"></a>basic_cmap(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2652173-bb"></a>basic_cmap(basic_cmap <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2652179-bb"></a>basic_cmap(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout">basic_cmap&amp; <a name="id2652204-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_cmap <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3013566"></a><h3>
-<a name="id2652108-bb"></a><code class="computeroutput">basic_cmap</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">std::pair&lt; iterator, <span class="bold"><strong>bool</strong></span> &gt;</span> <a name="id2652111-bb"></a>insert(const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2652123-bb"></a>insert(iterator hint, const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2652141-bb"></a>insert(InputIterator it, InputIterator end) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_clist/remove_pred.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp"><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="basic_cmultimap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmultimap.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmultimap.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,96 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cmultimap</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp" title="Header &lt;boost/persistent/basic_cmap.hpp&gt;">
-<link rel="prev" href="basic_cmap.html" title="Class template basic_cmap">
-<link rel="next" href="basic_cset.html" title="Class template basic_cset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cmap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp"><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="basic_cset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_cmultimap"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cmultimap</span></h2>
-<p>boost::persistent::basic_cmultimap</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp" title="Header &lt;boost/persistent/basic_cmap.hpp&gt;">boost/persistent/basic_cmap.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
- <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;Key&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cmultimap.html" title="Class template basic_cmultimap">basic_cmultimap</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> base::iterator <a name="boost.persistent.basic_cmultimap.iterator"></a>iterator;
- <span class="bold"><strong>typedef</strong></span> base::const_reference <a name="boost.persistent.basic_cmultimap.const_reference"></a>const_reference;
-
- <span class="emphasis"><em>// <a class="link" href="basic_cmultimap.html#boost.persistent.basic_cmultimapconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cmultimap.html#id2652317-bb">basic_cmultimap</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="basic_cmultimap.html#id2652325-bb">basic_cmultimap</a>(basic_cmultimap <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="basic_cmultimap.html#id2652331-bb">basic_cmultimap</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- basic_cmultimap&amp; <a class="link" href="basic_cmultimap.html#id2652356-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_cmultimap <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cmultimap.html#id2652260-bb">public member functions</a></em></span>
- <span class="type">iterator</span> <a class="link" href="basic_cmultimap.html#id2652263-bb">insert</a>(const_reference) ;
- <span class="type">iterator</span> <a class="link" href="basic_cmultimap.html#id2652275-bb">insert</a>(iterator, const_reference) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cmultimap.html#id2652293-bb">insert</a>(InputIterator, InputIterator) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3013946"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3013950"></a><h3>
-<a name="boost.persistent.basic_cmultimapconstruct-copy-destruct"></a><code class="computeroutput">basic_cmultimap</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2652317-bb"></a>basic_cmultimap(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2652325-bb"></a>basic_cmultimap(basic_cmultimap <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2652331-bb"></a>basic_cmultimap(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout">basic_cmultimap&amp; <a name="id2652356-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_cmultimap <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3014072"></a><h3>
-<a name="id2652260-bb"></a><code class="computeroutput">basic_cmultimap</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2652263-bb"></a>insert(const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2652275-bb"></a>insert(iterator hint, const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2652293-bb"></a>insert(InputIterator it, InputIterator end) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cmap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_cmap_hpp"><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="basic_cset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmultiset.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cmultiset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,96 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cmultiset</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">
-<link rel="prev" href="basic_cset.html" title="Class template basic_cset">
-<link rel="next" href="is_locator.html" title="Struct template is_locator">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="is_locator.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_cmultiset"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cmultiset</span></h2>
-<p>boost::persistent::basic_cmultiset</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">boost/persistent/intrusive/basic_cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cmultiset.html" title="Class template basic_cmultiset">basic_cmultiset</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> base::iterator <a name="boost.persistent.basic_cmultiset.iterator"></a>iterator;
- <span class="bold"><strong>typedef</strong></span> base::const_reference <a name="boost.persistent.basic_cmultiset.const_reference"></a>const_reference;
-
- <span class="emphasis"><em>// <a class="link" href="basic_cmultiset.html#boost.persistent.basic_cmultisetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cmultiset.html#id2652969-bb">basic_cmultiset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="basic_cmultiset.html#id2652978-bb">basic_cmultiset</a>(basic_cmultiset <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="basic_cmultiset.html#id2652985-bb">basic_cmultiset</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- basic_cmultiset&amp; <a class="link" href="basic_cmultiset.html#id2653014-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_cmultiset <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cmultiset.html#id2652905-bb">public member functions</a></em></span>
- <span class="type">iterator</span> <a class="link" href="basic_cmultiset.html#id2652908-bb">insert</a>(const_reference) ;
- <span class="type">iterator</span> <a class="link" href="basic_cmultiset.html#id2652922-bb">insert</a>(iterator, const_reference) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cmultiset.html#id2652942-bb">insert</a>(InputIterator, InputIterator) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3018466"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3018469"></a><h3>
-<a name="boost.persistent.basic_cmultisetconstruct-copy-destruct"></a><code class="computeroutput">basic_cmultiset</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2652969-bb"></a>basic_cmultiset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2652978-bb"></a>basic_cmultiset(basic_cmultiset <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2652985-bb"></a>basic_cmultiset(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout">basic_cmultiset&amp; <a name="id2653014-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_cmultiset <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3018588"></a><h3>
-<a name="id2652905-bb"></a><code class="computeroutput">basic_cmultiset</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2652908-bb"></a>insert(const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2652922-bb"></a>insert(iterator hint, const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2652942-bb"></a>insert(InputIterator it, InputIterator end) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="is_locator.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cset.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_cset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,96 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cset</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">
-<link rel="prev" href="intrusive/basic_cmultiset.html" title="Class template basic_cmultiset">
-<link rel="next" href="basic_cmultiset.html" title="Class template basic_cmultiset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intrusive/basic_cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="basic_cmultiset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_cset"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cset</span></h2>
-<p>boost::persistent::basic_cset</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">boost/persistent/intrusive/basic_cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cset.html" title="Class template basic_cset">basic_cset</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> base::iterator <a name="boost.persistent.basic_cset.iterator"></a>iterator;
- <span class="bold"><strong>typedef</strong></span> base::const_reference <a name="boost.persistent.basic_cset.const_reference"></a>const_reference;
-
- <span class="emphasis"><em>// <a class="link" href="basic_cset.html#boost.persistent.basic_csetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cset.html#id2652802-bb">basic_cset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="basic_cset.html#id2652811-bb">basic_cset</a>(basic_cset <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="basic_cset.html#id2652818-bb">basic_cset</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- basic_cset&amp; <a class="link" href="basic_cset.html#id2652847-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_cset <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cset.html#id2652738-bb">public member functions</a></em></span>
- <span class="type">std::pair&lt; iterator, <span class="bold"><strong>bool</strong></span> &gt;</span> <a class="link" href="basic_cset.html#id2652741-bb">insert</a>(const_reference) ;
- <span class="type">iterator</span> <a class="link" href="basic_cset.html#id2652756-bb">insert</a>(iterator, const_reference) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset.html#id2652775-bb">insert</a>(InputIterator, InputIterator) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3017968"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3017972"></a><h3>
-<a name="boost.persistent.basic_csetconstruct-copy-destruct"></a><code class="computeroutput">basic_cset</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2652802-bb"></a>basic_cset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2652811-bb"></a>basic_cset(basic_cset <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2652818-bb"></a>basic_cset(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout">basic_cset&amp; <a name="id2652847-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_cset <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3018097"></a><h3>
-<a name="id2652738-bb"></a><code class="computeroutput">basic_cset</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">std::pair&lt; iterator, <span class="bold"><strong>bool</strong></span> &gt;</span> <a name="id2652741-bb"></a>insert(const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="type">iterator</span> <a name="id2652756-bb"></a>insert(iterator hint, const_reference x) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2652775-bb"></a>insert(InputIterator it, InputIterator end) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intrusive/basic_cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="basic_cmultiset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Class template basic_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp" title="Header &lt;boost/persistent/basic_loc.hpp&gt;">
 <link rel="prev" href="is_locator.html" title="Struct template is_locator">
-<link rel="next" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">
+<link rel="next" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,13 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="is_locator.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="is_locator.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_pinned_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.basic_loc"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template basic_loc</span></h2>
-<p>boost::persistent::basic_loc</p>
+<p>boost::persistent::basic_loc &#8212; A locator to a persistent object. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp" title="Header &lt;boost/persistent/basic_loc.hpp&gt;">boost/persistent/basic_loc.hpp</a>&gt;
@@ -38,80 +38,100 @@
   <span class="bold"><strong>typedef</strong></span> T <a name="boost.persistent.basic_loc.element_type"></a>element_type;
 
   <span class="emphasis"><em>// <a class="link" href="basic_loc.html#boost.persistent.basic_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_loc.html#id2654399-bb">basic_loc</a>();
- <a class="link" href="basic_loc.html#id2654407-bb">basic_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_loc.html#id2654422-bb">basic_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <a class="link" href="basic_loc.html#id2654446-bb">basic_loc</a>(T *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="basic_loc.html#id2654505-bb">basic_loc</a>(T *, Tag);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_loc.html#id2654527-bb">basic_loc</a>(Y *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="basic_loc.html#id2654593-bb">basic_loc</a>(Y *, Tag);
- basic_loc&amp; <a class="link" href="basic_loc.html#id2654620-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; basic_loc&amp; <a class="link" href="basic_loc.html#id2654632-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_loc.html#id2653681-bb">public member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_loc.html#id2653685-bb">cast_static</a>() <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_loc.html#id2653709-bb">cast_const</a>() <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_loc.html#id2653733-bb">cast_dynamic</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_loc.html#id2653806-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_loc.html#id2653879-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="basic_loc.html#id2653952-bb">read</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_loc.html#id2654017-bb">write</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654096-bb">pin</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654107-bb">pin</a>(Tag = Tag()) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654130-bb">unpin</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654138-bb">unpin</a>(Tag = Tag()) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654161-bb">swap</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654184-bb">reset</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654195-bb">reset</a>(Y *) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2654219-bb">remove</a>() <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc.html#id2654293-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc.html#id2654327-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc.html#id2654358-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
- <a class="link" href="basic_loc.html#id2654384-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
-
- <span class="emphasis"><em>// <a class="link" href="basic_loc.html#id2654652-bb">public static functions</a></em></span>
- <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a class="link" href="basic_loc.html#id2654655-bb">pinned</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a class="link" href="basic_loc.html#id2654669-bb">pinned</a>(PinTag = PinTag()) ;
+ <a class="link" href="basic_loc.html#id2538269-bb">basic_loc</a>();
+ <a class="link" href="basic_loc.html#id2538280-bb">basic_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_loc.html#id2538303-bb">basic_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="basic_loc.html#id2538342-bb">basic_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="basic_loc.html#id2538397-bb">basic_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, Tag);
+ basic_loc&amp; <a class="link" href="basic_loc.html#id2538469-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; basic_loc&amp; <a class="link" href="basic_loc.html#id2538485-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc.html#id2537330-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_loc.html#id2537334-bb">cast_static</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_loc.html#id2537361-bb">cast_const</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_loc.html#id2537389-bb">cast_dynamic</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_loc.html#id2537452-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_loc.html#id2537526-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="basic_loc.html#id2537599-bb">read</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_loc.html#id2537662-bb">write</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2537743-bb">pin</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2537799-bb">pin</a>(Tag = Tag()) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2537875-bb">unpin</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2537924-bb">unpin</a>(Tag = Tag()) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2537996-bb">swap</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2538022-bb">reset</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2538037-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2538058-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, Tag = Tag()) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc.html#id2538094-bb">remove</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc.html#id2538153-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc.html#id2538191-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc.html#id2538222-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <a class="link" href="basic_loc.html#id2538252-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc.html#id2538508-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a class="link" href="basic_loc.html#id2538511-bb">pinned</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a class="link" href="basic_loc.html#id2538562-bb">pinned</a>(PinTag = PinTag()) ;
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
- <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a class="link" href="basic_loc.html#id2654695-bb">pinned</a>(PinTag = PinTag(), ResourceTag = ResourceTag()) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a class="link" href="basic_loc.html#id2538632-bb">pinned</a>(PinTag = PinTag(), ResourceTag = ResourceTag()) ;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3019782"></a><h2>Description</h2>
-<p>A locator of a database object FIXDOC loc does not implement any ownership management, it is the equivalent locator to a raw pointer. It comes with all the problems of raw pointers but extends these problems to the persistent space. It is recommended to use shared_loc, weak_loc, or scoped_loc instead whenever possible. </p>
+<a name="id2824572"></a><h2>Description</h2>
+<p><code class="computeroutput">basic_loc</code> is the equivalent locator to a C++ raw pointer. It does not implement any ownership management, persistent objects no longer in use need to removed using <code class="computeroutput">basic_loc::remove()</code>.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type of the object this locator can refer to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager used for accessing the object </p></li>
+</ul></div>
+<p>
+</p>
 <div class="refsect2" lang="en">
-<a name="id3019793"></a><h3>
+<a name="id2824615"></a><h3>
 <a name="boost.persistent.basic_locconstruct-copy-destruct"></a><code class="computeroutput">basic_loc</code>
         public
        construct/copy/destruct</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><a name="id2654399-bb"></a>basic_loc();</pre>
-<p>Constructs an empty basic_loc</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><a name="id2538269-bb"></a>basic_loc();</pre>Constructs an empty <code class="computeroutput">basic_loc</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><a name="id2654407-bb"></a>basic_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp; o);</pre>
-<p>Constructs a copy of another basic_loc</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><a name="id2538280-bb"></a>basic_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp; o);</pre>Constructs a copy of another <code class="computeroutput">basic_loc</code>. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>Source locator </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2654422-bb"></a>basic_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre>
-<p>Constructs a copy of another basic_loc. Y * must be convertible to T *.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2538303-bb"></a>basic_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre>Constructs a copy of another <code class="computeroutput">basic_loc</code>. <p><code class="computeroutput">Y</code> * must be convertible to <code class="computeroutput">T</code> *.</p>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>Source locator </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><a name="id2654446-bb"></a>basic_loc(T * p);</pre>
-<p>Constructs a basic_loc to a new database object. Takes ownership of p. If an exception is thrown, delete p is called.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">no_active_transaction</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code>
-</p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><a name="id2538342-bb"></a>basic_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p);</pre>Constructs a <code class="computeroutput">basic_loc</code> to a new persistent object. <p>Takes ownership of <code class="computeroutput">p</code>. If an exception is thrown, <code class="computeroutput">delete</code> <code class="computeroutput">p</code> is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -128,20 +148,9 @@
 </table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2654505-bb"></a>basic_loc(T * p, Tag);</pre>TODO. </li>
-<li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2654527-bb"></a>basic_loc(Y * p);</pre>
-<p>Constructs a basic_loc to a new database object. Takes ownership of p. If an exception is thrown, delete p is called.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">no_active_transaction</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code>
-</p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <a name="id2538397-bb"></a>basic_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, Tag tag);</pre>Constructs a <code class="computeroutput">basic_loc</code> to a new persistent object. <p>Takes ownership of <code class="computeroutput">p</code>. If an exception is thrown, <code class="computeroutput">delete</code> <code class="computeroutput">p</code> is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -149,151 +158,214 @@
 <td><p><span class="term">Parameters:</span></p></td>
 <td><div class="variablelist"><table border="0">
 <col align="left" valign="top">
-<tbody><tr>
+<tbody>
+<tr>
 <td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
-<td><p>Pointer to the new object. Y * must be convertible to T *. </p></td>
-</tr></tbody>
+<td><p>Pointer to the new object. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>Tag of the resource manager the new object should be stored in. </p></td>
+</tr>
+</tbody>
 </table></div></td>
 </tr></tbody>
 </table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2654593-bb"></a>basic_loc(Y * p, Tag);</pre>TODO. </li>
-<li>
-<pre class="literallayout">basic_loc&amp; <a name="id2654620-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to basic_loc(r).swap(*this). </li>
+<pre class="literallayout">basic_loc&amp; <a name="id2538469-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">basic_loc(r).swap(*this)</code>. </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; basic_loc&amp; <a name="id2654632-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to basic_loc(r).swap(*this). </li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; basic_loc&amp; <a name="id2538485-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">basic_loc(r).swap(*this)</code>. </li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3020255"></a><h3>
-<a name="id2653681-bb"></a><code class="computeroutput">basic_loc</code> public member functions</h3>
+<a name="id2825137"></a><h3>
+<a name="id2537330-bb"></a><code class="computeroutput">basic_loc</code> public member functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2653685-bb"></a>cast_static() <span class="bold"><strong>const</strong></span>;</pre>
-<p>performs a static_cast on the locator</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2537334-bb"></a>cast_static() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">static_cast</code> on the locator. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2653709-bb"></a>cast_const() <span class="bold"><strong>const</strong></span>;</pre>
-<p>performs a const_cast on the locator</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2537361-bb"></a>cast_const() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">const_cast</code> on the locator. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2653733-bb"></a>cast_dynamic() <span class="bold"><strong>const</strong></span>;</pre>
-<p>performs a dynamic_cast on the locator</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p><code class="computeroutput">Any</code> exception thrown by the following user-supplied functions: T::T(),serialize(),reconstruct()
-</p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2537389-bb"></a>cast_dynamic() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">dynamic_cast</code> on the locator. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2537452-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A <code class="computeroutput">shared_ptr</code> to the object </p></td>
+</tr>
+</tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2653806-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns a shared_ptr to the object. The basic_loc must not be empty. This function can be used outside of transactions, assuming read access.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p><code class="computeroutput">Any</code> exception thrown by the following user-supplied functions: T::T(),serialize(),reconstruct(),clone() </p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2537526-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A <code class="computeroutput">shared_ptr</code> to the object. </p></td>
+</tr>
+</tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2653879-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns a shared_ptr to the object. The basic_loc must not be empty. This function can be used outside of transactions, assuming read access.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p><code class="computeroutput">Any</code> exception thrown by the following user-supplied functions: T::T(),serialize(),reconstruct(),clone() </p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2537599-bb"></a>read() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A read-only <code class="computeroutput">shared_ptr</code> to the object. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2537662-bb"></a>write() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to unary <code class="computeroutput">operator*</code>, except that the resource manager assumes the object will be modified. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A <code class="computeroutput">shared_ptr</code> to the object. </p></td>
+</tr>
+</tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2653952-bb"></a>read() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns a read-only shared_ptr to the object. The basic_loc must not be empty.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p><code class="computeroutput">Any</code> exception thrown by the following user-supplied functions: T::T(),serialize(),reconstruct() </p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537743-bb"></a>pin() ;</pre>Pins the object to type <code class="computeroutput">default_tag</code>. <p>A locator to the same object can later be created by calling <code class="computeroutput">basic_loc&lt;T&gt;::pinned()</code> </p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2654017-bb"></a>write() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns a shared_ptr to the object, indicating write access. The basic_loc must not be empty.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">no_active_transaction</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p><code class="computeroutput">Any</code> exception thrown by the following user-supplied functions: T::T(),serialize(),reconstruct(),clone() </p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537799-bb"></a>pin(Tag tag = Tag()) ;</pre>Pins the contained object to type <code class="computeroutput">Tag</code>. <p>A locator to the same object can later be created by calling <code class="computeroutput">basic_loc&lt;T&gt;::pinned</code>(Tag())</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>A tag of the type the object should be pinned to. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537875-bb"></a>unpin() ;</pre>If this object is pinned to type <code class="computeroutput">default_tag</code>, removes the pin. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654096-bb"></a>pin() ;</pre>TODO. </li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654107-bb"></a>pin(Tag tag = Tag()) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654130-bb"></a>unpin() ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654138-bb"></a>unpin(Tag tag = Tag()) ;</pre></li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537924-bb"></a>unpin(Tag tag = Tag()) ;</pre>If this object is pinned to type <code class="computeroutput">Tag</code>, removes the pin. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>A tag of the same type that was used to call <code class="computeroutput">pin()</code> </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The <code class="computeroutput">basic_loc</code> must not be empty. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654161-bb"></a>swap(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> &amp; o) ;</pre>
-<p>Exchanges the contents of the two basic_locs.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2537996-bb"></a>swap(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a> &amp; o) ;</pre>Exchanges the contents of the two <code class="computeroutput">basic_locs</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654184-bb"></a>reset() ;</pre>Equivalent to basic_loc().swap(*this). </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2538022-bb"></a>reset() ;</pre>Equivalent to <code class="computeroutput">basic_loc().swap(*this)</code>. </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654195-bb"></a>reset(Y * p) ;</pre>Equivalent to basic_loc(p).swap(*this). </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2538037-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p) ;</pre>Equivalent to <code class="computeroutput">basic_loc(p).swap(*this)</code>. </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654219-bb"></a>remove() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Removes the object referenced by this locator from the database. This is the equivalent of C++ "delete" for locators.</p>
-<p>Using remove() more than once on the same object, or on a locator managed e.g. by a shared_loc is undefined.</p>
-<p>Throws </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">no_active_transaction</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p>Any exception thrown by these following user-supplied functions: T::T(),serialize(),reconstruct() </p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2538058-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, Tag tag = Tag()) ;</pre>Equivalent to <code class="computeroutput">basic_loc(p,tag).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2538094-bb"></a>remove() <span class="bold"><strong>const</strong></span>;</pre>Removes the object referenced by this locator. <p>This is the equivalent of C++ <code class="computeroutput">delete</code> for locators.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>The <code class="computeroutput">basic_loc</code> must not be empty </p>
+<p><code class="computeroutput">remove()</code> must be called only once. </p>
+<p>The <code class="computeroutput">basic_loc</code> must not be managed e.g. by a <code class="computeroutput">shared_loc</code>. </p>
+</td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2654293-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>
-<p>Provides a strict weak ordering of basic_locs</p>
-<p>Throws: Nothing
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2538153-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>Provides a strict weak ordering of <code class="computeroutput">basic_locs</code>. <p>Throws: Nothing
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -304,31 +376,107 @@
 </table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2654327-bb"></a><span class="bold"><strong>operator</strong></span>==(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns true if the objects referenced by a and b are the same.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2538191-bb"></a><span class="bold"><strong>operator</strong></span>==(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the objects referenced by a and b are the same. </p></td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2654358-bb"></a><span class="bold"><strong>operator</strong></span>!=(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to !(a==b). </li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2538222-bb"></a><span class="bold"><strong>operator</strong></span>!=(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">!(a==b)</code>. </li>
 <li>
-<pre class="literallayout"><a name="id2654384-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns an unspecified value that evaluates to "true" if the locator is not empty.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><a name="id2538252-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that evaluates to true if the locator is not empty. </p></td>
+</tr></tbody>
+</table></div>
 </li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3021412"></a><h3>
-<a name="id2654652-bb"></a><code class="computeroutput">basic_loc</code> public static functions</h3>
+<a name="id2826827"></a><h3>
+<a name="id2538508-bb"></a><code class="computeroutput">basic_loc</code> public static functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a name="id2654655-bb"></a>pinned() ;</pre>
-<p>TODO </p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a name="id2538511-bb"></a>pinned() ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">unsupported_exception</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>If <code class="computeroutput">basic_loc::pin()</code> was previously called for type <code class="computeroutput">T</code>, either with no tag passed or with <code class="computeroutput">default_tag</code>, using the default resource manager, a locator to the pinned object is returned. Otherwise, an empty <code class="computeroutput">basic_loc</code>. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a name="id2538562-bb"></a>pinned(PinTag ptag = PinTag()) ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">unsupported_exception</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ptag</code></span></p></td>
+<td><p>A tag of the same type that was used to call <code class="computeroutput">pin()</code> </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A If <code class="computeroutput">basic_loc::pin()</code> with a tag of type <code class="computeroutput">PinTag</code> was previously called using the default resource manager, a locator to the pinned object is returned. Otherwise, an empty <code class="computeroutput">basic_loc</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
 </li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span> <a name="id2654669-bb"></a>pinned(PinTag ptag = PinTag()) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
   <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a></span>
- <a name="id2654695-bb"></a>pinned(PinTag ptag = PinTag(), ResourceTag rtag = ResourceTag()) ;</pre></li>
+ <a name="id2538632-bb"></a>pinned(PinTag ptag = PinTag(), ResourceTag rtag = ResourceTag()) ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">unsupported_exception</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ptag</code></span></p></td>
+<td><p>A tag of the same type that was used to call <code class="computeroutput">pin()</code> </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">rtag</code></span></p></td>
+<td><p>The tag of the resource manager that was used to pin the object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>If <code class="computeroutput">basic_loc::pin()</code> with a tag of type <code class="computeroutput">PinTag</code> and a resource tag of type <code class="computeroutput">ResourceTag</code> was previously called, a locator to the pinned object is returned. Otherwise, an empty <code class="computeroutput">basic_loc</code>. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
 </ol></div>
 </div>
 </div>
@@ -343,7 +491,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="is_locator.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="is_locator.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_pinned_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_pinned_loc.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_pinned_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,285 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_pinned_loc</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_pinned_loc_hpp" title="Header &lt;boost/persistent/basic_pinned_loc.hpp&gt;">
+<link rel="prev" href="basic_loc.html" title="Class template basic_loc">
+<link rel="next" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_pinned_loc_hpp"><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="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.basic_pinned_loc"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_pinned_loc</span></h2>
+<p>boost::persistent::basic_pinned_loc &#8212; A locator to a persistent object that is pinned. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_pinned_loc_hpp" title="Header &lt;boost/persistent/basic_pinned_loc.hpp&gt;">boost/persistent/basic_pinned_loc.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> T <a name="boost.persistent.basic_pinned_loc.element_type"></a>element_type;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_pinned_loc.html#boost.persistent.basic_pinned_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_pinned_loc.html#id2539326-bb">basic_pinned_loc</a>();
+ <a class="link" href="basic_pinned_loc.html#id2539358-bb">basic_pinned_loc</a>(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <a class="link" href="basic_pinned_loc.html#id2539410-bb">basic_pinned_loc</a>(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; Y, TxMgr, Tag &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_pinned_loc.html#id2539452-bb">basic_pinned_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="basic_pinned_loc.html#id2539509-bb">basic_pinned_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <a class="link" href="basic_pinned_loc.html#id2539557-bb">basic_pinned_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, ResourceTag);
+ basic_pinned_loc&amp; <a class="link" href="basic_pinned_loc.html#id2539626-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_pinned_loc.html#id2538975-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; Y, TxMgr, Tag &gt;</span> <a class="link" href="basic_pinned_loc.html#id2538979-bb">cast_const</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_pinned_loc.html#id2539006-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_pinned_loc.html#id2539021-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="basic_pinned_loc.html#id2539035-bb">read</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_pinned_loc.html#id2539050-bb">write</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a class="link" href="basic_pinned_loc.html#id2539064-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_pinned_loc.html#id2539082-bb">reset</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_pinned_loc.html#id2539146-bb">reset</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_pinned_loc.html#id2539169-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_pinned_loc.html#id2539189-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *,
+ ResourceTag = ResourceTag()) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_pinned_loc.html#id2539226-bb">swap</a>(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_pinned_loc.html#id2539252-bb">remove</a>() <span class="bold"><strong>const</strong></span>;
+ <a class="link" href="basic_pinned_loc.html#id2539309-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2828031"></a><h2>Description</h2>
+<p>Constructing a <code class="computeroutput">basic_pinned_loc</code> fills it with a locator to the object of type <code class="computeroutput">T</code> that is pinned to <code class="computeroutput">Tag</code>, if there is any.</p>
+<p><code class="computeroutput">basic_pinned_loc</code> can be used to access the roots of an object graph.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type of the object this locator can refer to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager used for accessing the object </p></li>
+<li><p><code class="computeroutput">Tag</code> The type the object is pinned to </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2828097"></a><h3>
+<a name="boost.persistent.basic_pinned_locconstruct-copy-destruct"></a><code class="computeroutput">basic_pinned_loc</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2539326-bb"></a>basic_pinned_loc();</pre>If an object is pinned to <code class="computeroutput">Tag</code> in the default resource, constructs a <code class="computeroutput">basic_pinned_loc</code> to that object. Otherwise, constructs an empty basic_pinned_loc. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">unsupported_exception</code> </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2539358-bb"></a>basic_pinned_loc(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>If an object is pinned to <code class="computeroutput">Tag</code> in the resource referred to by <code class="computeroutput">ResourceTag</code>, constructs a <code class="computeroutput">basic_pinned_loc</code> to that object. Otherwise, constructs an empty basic_pinned_loc. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">unsupported_exception</code> Throws: Nothing Constructs a copy of another <code class="computeroutput">basic_pinned_loc</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">r</code></span></p></td>
+<td><p>Source locator </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <a name="id2539410-bb"></a>basic_pinned_loc(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; Y, TxMgr, Tag &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre>Constructs a copy of another <code class="computeroutput">basic_pinned_loc</code>. <p>This constructor can only be used to add const-ness to <code class="computeroutput">Y</code>, <code class="computeroutput">basic_pinned_locs</code> are not convertible otherwise.</p>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>Source locator </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2539452-bb"></a>basic_pinned_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre>Constructs a basic_pinned_loc to the passed persistent object. <p>Pins the object to <code class="computeroutput">Tag</code> </p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>A locator to the persistent object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2539509-bb"></a>basic_pinned_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p);</pre>Constructs a basic_pinned_loc to a new persistent object. <p>Pins the object to <code class="computeroutput">Tag</code> </p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>A pointer to the new persistent object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <a name="id2539557-bb"></a>basic_pinned_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, ResourceTag rtag);</pre>Constructs a basic_pinned_loc to a new persistent object and stores it in the resource referred to by <code class="computeroutput">ResourceTag</code>. <p>Pins the object to <code class="computeroutput">Tag</code> </p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>A pointer to the new persistent object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">rtag</code></span></p></td>
+<td><p>A tag referring to the resource the object should be stored in </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout">basic_pinned_loc&amp; <a name="id2539626-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Assigns to passed <code class="computeroutput">basic_pinned_loc</code> to *this. <p>Assumes the passed locator is already pinned.</p>
+<p>Throws: Nothing </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2828754"></a><h3>
+<a name="id2538975-bb"></a><code class="computeroutput">basic_pinned_loc</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; Y, TxMgr, Tag &gt;</span> <a name="id2538979-bb"></a>cast_const() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">const_cast</code> on the locator. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2539006-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">*get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2539021-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().operator-&gt;()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2539035-bb"></a>read() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().read()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2539050-bb"></a>write() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().write()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a name="id2539064-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The stored locator. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539082-bb"></a>reset() ;</pre>Resets the basic_pinned_loc to an empty <code class="computeroutput">basic_pinned_loc</code>. <p>Removes the pin</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">unsupported_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">isolation_exception</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p><code class="computeroutput">reset()</code> is not equivalent to <code class="computeroutput">basic_pinned_loc().swap(*this)</code>, as the <code class="computeroutput">basic_pinned_loc</code> destructor does not unpin the object </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539146-bb"></a>reset(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; o) ;</pre>Equivalent to <code class="computeroutput">basic_pinned_loc(o).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539169-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p) ;</pre>Equivalent to <code class="computeroutput">basic_pinned_loc(p).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539189-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p,
+ ResourceTag rtag = ResourceTag()) ;</pre>Equivalent to <code class="computeroutput">basic_pinned_loc(p,rtag).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539226-bb"></a>swap(<a class="link" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a> &amp; o) ;</pre>Exchanges the contents of the two <code class="computeroutput">basic_pinned_locs</code>. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539252-bb"></a>remove() <span class="bold"><strong>const</strong></span>;</pre>Unpins the object and removes it from the database. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput"><code class="computeroutput">io_failure</code>,</code> <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p><code class="computeroutput">remove()</code> must be called only once. </p>
+<p>The stored <code class="computeroutput">basic_loc</code> must not be managed e.g. by a <code class="computeroutput">shared_loc</code>. </p>
+</td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2539309-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that evaluates to true if the locator is not empty. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_pinned_loc_hpp"><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="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_scoped_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_scoped_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_scoped_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Class template basic_scoped_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_scoped_loc_hpp" title="Header &lt;boost/persistent/basic_scoped_loc.hpp&gt;">
-<link rel="prev" href="basic_loc.html" title="Class template basic_loc">
-<link rel="next" href="basic_transaction.html" title="Class template basic_transaction">
+<link rel="prev" href="basic_pinned_loc.html" title="Class template basic_pinned_loc">
+<link rel="next" href="basic_shared_loc.html" title="Class template basic_shared_loc">
 </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="basic_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_scoped_loc_hpp"><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="basic_transaction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_pinned_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_scoped_loc_hpp"><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="basic_shared_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.basic_scoped_loc"></a><div class="titlepage"></div>
@@ -32,55 +32,54 @@
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_scoped_loc_hpp" title="Header &lt;boost/persistent/basic_scoped_loc.hpp&gt;">boost/persistent/basic_scoped_loc.hpp</a>&gt;
 
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a> : <span class="bold"><strong>private</strong></span> noncopyable {
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a> {
 <span class="bold"><strong>public</strong></span>:
   <span class="emphasis"><em>// types</em></span>
   <span class="bold"><strong>typedef</strong></span> T <a name="boost.persistent.basic_scoped_loc.element_type"></a>element_type;
 
   <span class="emphasis"><em>// <a class="link" href="basic_scoped_loc.html#boost.persistent.basic_scoped_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_scoped_loc.html#id2654918-bb">basic_scoped_loc</a>();
- <a class="link" href="basic_scoped_loc.html#id2654926-bb">basic_scoped_loc</a>(T *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="basic_scoped_loc.html#id2654985-bb">basic_scoped_loc</a>(T *, Tag);
- <a class="link" href="basic_scoped_loc.html#id2655007-bb">basic_scoped_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="basic_scoped_loc.html#id2540131-bb">basic_scoped_loc</a>();
+ <a class="link" href="basic_scoped_loc.html#id2540142-bb">basic_scoped_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <a class="link" href="basic_scoped_loc.html#id2540198-bb">basic_scoped_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, Tag);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_scoped_loc.html#id2540270-bb">basic_scoped_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
 
- <span class="emphasis"><em>// <a class="link" href="basic_scoped_loc.html#id2654772-bb">public member functions</a></em></span>
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_scoped_loc.html#id2654776-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_scoped_loc.html#id2654787-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="basic_scoped_loc.html#id2654798-bb">read</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_scoped_loc.html#id2654809-bb">write</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a class="link" href="basic_scoped_loc.html#id2654820-bb">get</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2654837-bb">reset</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2654848-bb">reset</a>(T *) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2654864-bb">reset</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2654883-bb">swap</a>(<a class="link" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a> &amp;) ;
- <a class="link" href="basic_scoped_loc.html#id2654906-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="emphasis"><em>// <a class="link" href="basic_scoped_loc.html#id2539806-bb">public member functions</a></em></span>
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_scoped_loc.html#id2539809-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_scoped_loc.html#id2539824-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="basic_scoped_loc.html#id2539838-bb">read</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_scoped_loc.html#id2539853-bb">write</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a class="link" href="basic_scoped_loc.html#id2539867-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2539884-bb">reset</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2539921-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2539972-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, Tag = Tag()) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2540043-bb">reset</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_scoped_loc.html#id2540085-bb">swap</a>(<a class="link" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a> &amp;) ;
+ <a class="link" href="basic_scoped_loc.html#id2540111-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3022016"></a><h2>Description</h2>
+<a name="id2830014"></a><h2>Description</h2>
+<p><code class="computeroutput">basic_loc::remove()</code> is called as soon as this <code class="computeroutput">basic_scoped_loc</code> is removed from the database.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type of the object this locator can refer to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager used for accessing the object </p></li>
+</ul></div>
+<p>
+</p>
 <div class="refsect2" lang="en">
-<a name="id3022020"></a><h3>
+<a name="id2830056"></a><h3>
 <a name="boost.persistent.basic_scoped_locconstruct-copy-destruct"></a><code class="computeroutput">basic_scoped_loc</code>
         public
        construct/copy/destruct</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><a name="id2654918-bb"></a>basic_scoped_loc();</pre>
-<p>Constructs an empty basic_scoped_loc</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><a name="id2540131-bb"></a>basic_scoped_loc();</pre>Constructs an empty <code class="computeroutput">basic_scoped_loc</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><a name="id2654926-bb"></a>basic_scoped_loc(T * p);</pre>
-<p>Constructs a basic_scoped_loc to a new database object. Takes ownership of p. If an exception is thrown, delete p is called.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">no_active_transaction</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code>
-</p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><a name="id2540142-bb"></a>basic_scoped_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p);</pre>Constructs a <code class="computeroutput">basic_scoped_loc</code> to a new persistent object. <p>Takes ownership of <code class="computeroutput">p</code>. If an exception is thrown, <code class="computeroutput">delete</code> <code class="computeroutput">p</code> is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
 </p>
 <div class="variablelist"><table border="0">
 <col align="left" valign="top">
@@ -97,40 +96,131 @@
 </table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2654985-bb"></a>basic_scoped_loc(T * p, Tag tag);</pre>TODO. </li>
-<li><pre class="literallayout"><a name="id2655007-bb"></a>basic_scoped_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; p);</pre></li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <a name="id2540198-bb"></a>basic_scoped_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, Tag tag);</pre>Constructs a <code class="computeroutput">basic_scoped_loc</code> to a new persistent object. <p>Takes ownership of <code class="computeroutput">p</code>. If an exception is thrown, <code class="computeroutput">delete</code> <code class="computeroutput">p</code> is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>Pointer to the new object. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>Tag of the resource manager the new object should be stored in. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2540270-bb"></a>basic_scoped_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; l);</pre>Constructs a <code class="computeroutput">basic_scoped_loc</code> using the passed locator. <p>Takes ownership of <code class="computeroutput">l</code>.</p>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">l</code></span></p></td>
+<td><p>A locator to the object that should be managed by this <code class="computeroutput">basic_scoped_loc</code> </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3022210"></a><h3>
-<a name="id2654772-bb"></a><code class="computeroutput">basic_scoped_loc</code> public member functions</h3>
+<a name="id2830429"></a><h3>
+<a name="id2539806-bb"></a><code class="computeroutput">basic_scoped_loc</code> public member functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2654776-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to *get(). </li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2539809-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">*get()</code>. </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2654787-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to get().operator-&gt;(). </li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2539824-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().operator-&gt;()</code>. </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2654798-bb"></a>read() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to get().read(). </li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2539838-bb"></a>read() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().read()</code>. </li>
 <li>
-<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2654809-bb"></a>write() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to get().write(). </li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2539853-bb"></a>write() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().write()</code>. </li>
 <li>
-<pre class="literallayout"><span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a name="id2654820-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns the stored locator.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a name="id2539867-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>Returns the stored locator. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654837-bb"></a>reset() ;</pre>Equivalent to basic_scoped_loc().swap(*this). </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539884-bb"></a>reset() ;</pre>Resets the <code class="computeroutput">basic_scoped_loc</code> to an empty <code class="computeroutput">basic_scoped_loc</code>. <p>Calls basic_loc::remove()</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">thread_resource_error</code> </p>
+</li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654848-bb"></a>reset(T * p) ;</pre>Equivalent to basic_scoped_loc(p).swap(*this). </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539921-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p) ;</pre>Resets the <code class="computeroutput">basic_scoped_loc</code> to a new persistent object. <p>Calls basic_loc::remove(). If an exception is thrown, delete p is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>Pointer to the new object. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2539972-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, Tag tag = Tag()) ;</pre>Resets the <code class="computeroutput">basic_scoped_loc</code> to a new persistent object. <p>Calls basic_loc::remove() If an exception is thrown, delete p is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>Pointer to the new object. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>Tag of the resource manager the new object should be stored in. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654864-bb"></a>reset(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; p) ;</pre>DOCTODO. </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540043-bb"></a>reset(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; l) ;</pre>Resets the <code class="computeroutput">basic_scoped_loc</code> to an existing persistent object, taking ownership. <p>Calls basic_loc::remove()</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">thread_resource_error</code> </p>
+</li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2654883-bb"></a>swap(<a class="link" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a> &amp; o) ;</pre>
-<p>Exchanges the contents of the two basic_scoped_locs.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540085-bb"></a>swap(<a class="link" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a> &amp; o) ;</pre>Exchanges the contents of the two <code class="computeroutput">basic_scoped_locs</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><a name="id2654906-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>Returns an unspecified value that evaluates to "true" if the locator is not empty. </li>
+<pre class="literallayout"><a name="id2540111-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that evaluates to <code class="computeroutput">true</code> if the locator is not empty. </p></td>
+</tr></tbody>
+</table></div>
+</li>
 </ol></div>
 </div>
 </div>
@@ -145,7 +235,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_scoped_loc_hpp"><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="basic_transaction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_pinned_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_scoped_loc_hpp"><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="basic_shared_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_shared_loc.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_shared_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,298 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_shared_loc</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_shared_loc_hpp" title="Header &lt;boost/persistent/basic_shared_loc.hpp&gt;">
+<link rel="prev" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">
+<link rel="next" href="basic_transaction.html" title="Class template basic_transaction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_shared_loc_hpp"><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="basic_transaction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.basic_shared_loc"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_shared_loc</span></h2>
+<p>boost::persistent::basic_shared_loc &#8212; Holds a locator with shared ownership. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_shared_loc_hpp" title="Header &lt;boost/persistent/basic_shared_loc.hpp&gt;">boost/persistent/basic_shared_loc.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> T <a name="boost.persistent.basic_shared_loc.element_type"></a>element_type;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_shared_loc.html#boost.persistent.basic_shared_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_shared_loc.html#id2540857-bb">basic_shared_loc</a>();
+ <a class="link" href="basic_shared_loc.html#id2540868-bb">basic_shared_loc</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_shared_loc.html#id2540899-bb">basic_shared_loc</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="basic_shared_loc.html#id2540946-bb">basic_shared_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <a class="link" href="basic_shared_loc.html#id2541002-bb">basic_shared_loc</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, Tag);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_shared_loc.html#id2541074-bb">basic_shared_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_shared_loc.html#id2541126-bb">basic_shared_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ basic_shared_loc&amp; <a class="link" href="basic_shared_loc.html#id2541210-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ basic_shared_loc&amp; <a class="link" href="basic_shared_loc.html#id2541226-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_shared_loc.html#id2540417-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_shared_loc.html#id2540420-bb">cast_static</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_shared_loc.html#id2540448-bb">cast_const</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span> <a class="link" href="basic_shared_loc.html#id2540476-bb">cast_dynamic</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540543-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540573-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540603-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_shared_loc.html#id2540633-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_shared_loc.html#id2540647-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="basic_shared_loc.html#id2540662-bb">read</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="basic_shared_loc.html#id2540676-bb">write</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a class="link" href="basic_shared_loc.html#id2540691-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540709-bb">reset</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540723-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540744-bb">reset</a>(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type *, Tag = Tag()) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540780-bb">reset</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_shared_loc.html#id2540810-bb">swap</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> &amp;) ;
+ <a class="link" href="basic_shared_loc.html#id2540837-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2832271"></a><h2>Description</h2>
+<p>The object is removed from the database as soon as the last <code class="computeroutput">basic_shared_loc</code> to it is removed.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type of the object this locator can refer to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager used for accessing the object </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2832310"></a><h3>
+<a name="boost.persistent.basic_shared_locconstruct-copy-destruct"></a><code class="computeroutput">basic_shared_loc</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2540857-bb"></a>basic_shared_loc();</pre>Constructs an empty <code class="computeroutput">basic_shared_loc</code>. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2540868-bb"></a>basic_shared_loc(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Constructs a <code class="computeroutput">basic_shared_loc</code> that shares ownership with <code class="computeroutput">r</code> and stores a copy of <code class="computeroutput">r</code>. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">r</code></span></p></td>
+<td><p>Source locator </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2540899-bb"></a>basic_shared_loc(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Constructs a <code class="computeroutput">basic_shared_loc</code> that shares ownership with <code class="computeroutput">r</code> and stores a copy of <code class="computeroutput">r</code>. <p><code class="computeroutput">Y</code> * must be convertible to <code class="computeroutput">T</code> *.</p>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">r</code></span></p></td>
+<td><p>Source locator </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2540946-bb"></a>basic_shared_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p);</pre>Constructs a <code class="computeroutput">basic_shared_loc</code> to a new persistent object. <p>Takes ownership of <code class="computeroutput">p</code>. If an exception is thrown, <code class="computeroutput">delete</code> <code class="computeroutput">p</code> is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>Pointer to the new object. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <a name="id2541002-bb"></a>basic_shared_loc(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, Tag tag);</pre>Constructs a <code class="computeroutput">basic_shared_loc</code> to a new persistent object. <p>Takes ownership of <code class="computeroutput">p</code>. If an exception is thrown, <code class="computeroutput">delete</code> <code class="computeroutput">p</code> is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>Pointer to the new object. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">tag</code></span></p></td>
+<td><p>Tag of the resource manager the new object should be stored in. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2541074-bb"></a>basic_shared_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; p);</pre>Constructs a <code class="computeroutput">basic_shared_loc</code> that stores the passed locator. <p>Takes ownership of <code class="computeroutput">p</code>.</p>
+<p>Throws: <code class="computeroutput">unsupported_exception</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
+<td><p>The locator to store </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2541126-bb"></a>basic_shared_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Constructs a <code class="computeroutput">basic_shared_loc</code> that shares ownership with <code class="computeroutput">r</code> and stores a copy of <code class="computeroutput">r</code>. <p>Throws: <code class="computeroutput">bad_weak_loc</code> if r has expired, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the the following user-supplied functions: <code class="computeroutp
ut">T::T()</code>,<code class="computeroutput">serialize()</code>,<code class="computeroutput">load()</code>,<code class="computeroutput">construct()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">r</code></span></p></td>
+<td><p><code class="computeroutput">Y</code> * must be convertible to <code class="computeroutput">T</code> * </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout">basic_shared_loc&amp; <a name="id2541210-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">basic_shared_loc(r).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ basic_shared_loc&amp; <a name="id2541226-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">basic_shared_loc(r).swap(*this)</code>. </li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2833124"></a><h3>
+<a name="id2540417-bb"></a><code class="computeroutput">basic_shared_loc</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2540420-bb"></a>cast_static() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">static_cast</code> on the locator. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2540448-bb"></a>cast_const() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">const_cast</code> on the locator. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span> <a name="id2540476-bb"></a>cast_dynamic() <span class="bold"><strong>const</strong></span>;</pre>Performs a <code class="computeroutput">dynamic_cast</code> on the locator. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">any</code> exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>,<code class="computeroutput">serialize()</code>,<code class="computeroutput">load()</code>,<code class="compute
routput">construct()</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2540543-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">a.get() &lt; b.get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2540573-bb"></a><span class="bold"><strong>operator</strong></span>==(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">a.get() == b.get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2540603-bb"></a><span class="bold"><strong>operator</strong></span>!=(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">a.get() != b.get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2540633-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">*get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2540647-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().operator-&gt;()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2540662-bb"></a>read() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().read()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">shared_ptr&lt; T &gt;</span> <a name="id2540676-bb"></a>write() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get().write()</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;</span> <a name="id2540691-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The stored locator. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540709-bb"></a>reset() ;</pre>Equivalent to <code class="computeroutput">basic_shared_loc().swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540723-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p) ;</pre>Equivalent to <code class="computeroutput">basic_shared_loc(p).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540744-bb"></a>reset(<span class="bold"><strong>typename</strong></span> remove_const&lt; T &gt;::type * p, Tag tag = Tag()) ;</pre>Equivalent to <code class="computeroutput">basic_shared_loc(p,tag).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540780-bb"></a>reset(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; p) ;</pre>Equivalent to <code class="computeroutput">basic_shared_loc(p).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2540810-bb"></a>swap(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a> &amp; o) ;</pre>Exchanges the contents of the two <code class="computeroutput">basic_shared_locs</code>. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2540837-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that evaluates to <code class="computeroutput">true</code> if the locator is not empty. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_shared_loc_hpp"><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="basic_transaction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Class template basic_transaction</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_hpp" title="Header &lt;boost/persistent/basic_transaction.hpp&gt;">
-<link rel="prev" href="basic_scoped_loc.html" title="Class template basic_scoped_loc">
+<link rel="prev" href="basic_shared_loc.html" title="Class template basic_shared_loc">
 <link rel="next" href="../../BOOST_PERSISTENT_BASIC_ATOMIC.html" title="Macro BOOST_PERSISTENT_BASIC_ATOMIC">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,90 +20,71 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_hpp"><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="../../BOOST_PERSISTENT_BASIC_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_shared_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_hpp"><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="../../BOOST_PERSISTENT_BASIC_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.basic_transaction"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template basic_transaction</span></h2>
-<p>boost::persistent::basic_transaction</p>
+<p>boost::persistent::basic_transaction &#8212; A transaction scope. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_hpp" title="Header &lt;boost/persistent/basic_transaction.hpp&gt;">boost/persistent/basic_transaction.hpp</a>&gt;
 
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> TxMgr&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_transaction.html" title="Class template basic_transaction">basic_transaction</a> : <span class="bold"><strong>private</strong></span> noncopyable {
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_transaction.html" title="Class template basic_transaction">basic_transaction</a> {
 <span class="bold"><strong>public</strong></span>:
   <span class="emphasis"><em>// <a class="link" href="basic_transaction.html#boost.persistent.basic_transactionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_transaction.html#id2655175-bb">basic_transaction</a>();
- <a class="link" href="basic_transaction.html#id2655218-bb">~basic_transaction</a>();
+ <a class="link" href="basic_transaction.html#id2541574-bb">basic_transaction</a>();
+ <a class="link" href="basic_transaction.html#id2541603-bb">~basic_transaction</a>();
 
- <span class="emphasis"><em>// <a class="link" href="basic_transaction.html#id2655046-bb">public member functions</a></em></span>
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2655050-bb">commit</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2655122-bb">rollback</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2655164-bb">bind</a>() ;
+ <span class="emphasis"><em>// <a class="link" href="basic_transaction.html#id2541453-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2541456-bb">commit</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2541518-bb">rollback</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2541545-bb">bind</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction.html#id2541559-bb">unbind</a>() ;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3022771"></a><h2>Description</h2>
+<a name="id2834245"></a><h2>Description</h2>
+<p>Begins a transaction on construction, and rolls it back on destruction if it was not yet committed.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc"><li><p><code class="computeroutput">TxMgr</code> The transaction manager </p></li></ul></div>
+<p>
+</p>
 <div class="refsect2" lang="en">
-<a name="id3022775"></a><h3>
+<a name="id2834268"></a><h3>
 <a name="boost.persistent.basic_transactionconstruct-copy-destruct"></a><code class="computeroutput">basic_transaction</code>
         public
        construct/copy/destruct</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><a name="id2655175-bb"></a>basic_transaction();</pre>
-<p>Constructs a basic_transaction object If there already is an active transaction, the new transaction will be a nested transaction of the active transaction. Sets the active transaction to the new transaction.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">finalize_error</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-</ul></div>
-<p>
-</p>
+<pre class="literallayout"><a name="id2541574-bb"></a>basic_transaction();</pre>Constructs a basic_transaction, beginning a new transaction scope. <p>Binds the new transaction to this thread. If there already is an active transaction, the new transaction will be a nested transaction of the active transaction.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code> </p>
 </li>
 <li>
-<pre class="literallayout"><a name="id2655218-bb"></a>~basic_transaction();</pre>
-<p>Destructs the basic_transaction object The transaction is rolled back if it was not yet committed. </p>
+<pre class="literallayout"><a name="id2541603-bb"></a>~basic_transaction();</pre>Destructs the basic_transaction object. <p>The transaction is rolled back if it was not yet committed.</p>
+<p>Throws: Nothing </p>
 </li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3022876"></a><h3>
-<a name="id2655046-bb"></a><code class="computeroutput">basic_transaction</code> public member functions</h3>
+<a name="id2834356"></a><h3>
+<a name="id2541453-bb"></a><code class="computeroutput">basic_transaction</code> public member functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655050-bb"></a>commit() ;</pre>
-<p>Commits the transaction. If this is a nested transaction, sets the active transaction to the parent transaction. If this is a root transaction, resets the active transaction.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">isolation_exception</code> This transaction conflicted with another transaction. </p></li>
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">no_active_transaction</code> </p></li>
-<li><p><code class="computeroutput">archive_exception</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p>Any exception thrown by the following user-supplied functions: T::T(), serialize(), reconstruct(), equal(), finalize() </p></li>
-</ul></div>
-<p>
-</p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541456-bb"></a>commit() ;</pre>Commits the transaction. <p>If this is a nested transaction, sets the active transaction to the parent transaction. If this is a root transaction, resets the active transaction.</p>
+<p>Throws: <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">save()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">equal()</code>, <code class="computeroutput">finalize()</code> </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655122-bb"></a>rollback() ;</pre>
-<p>Unwinds all changes made during this transaction. If this is a nested transaction, sets the active transaction to the parent transaction. If this is a root transaction, resets the active transaction.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-</ul></div>
-<p>
-</p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541518-bb"></a>rollback() ;</pre>Unwinds all changes made during this transaction. <p>If this is a nested transaction, sets the active transaction to the parent transaction. If this is a root transaction, resets the active transaction.</p>
+<p>Throws: <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code> </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655164-bb"></a>bind() ;</pre>TODO. </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541545-bb"></a>bind() ;</pre>Binds the current thread to this transaction. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541559-bb"></a>unbind() ;</pre>If the current thread is bound to this transaction, unbinds it. <p>Throws: Nothing </p>
+</li>
 </ol></div>
 </div>
 </div>
@@ -118,7 +99,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_hpp"><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="../../BOOST_PERSISTENT_BASIC_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_shared_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_hpp"><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="../../BOOST_PERSISTENT_BASIC_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Class template basic_transaction_manager</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp" title="Header &lt;boost/persistent/basic_transaction_manager.hpp&gt;">
 <link rel="prev" href="../../BOOST_PERSISTENT_BASIC_RETRY.html" title="Macro BOOST_PERSISTENT_BASIC_RETRY">
-<link rel="next" href="basic_transaction_manager/resource_type.html" title="Struct template resource_type">
+<link rel="next" href="basic_transaction_manager/default_resource.html" title="Struct template default_resource">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,87 +20,131 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp"><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="basic_transaction_manager/resource_type.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp"><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="basic_transaction_manager/default_resource.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.basic_transaction_manager"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template basic_transaction_manager</span></h2>
-<p>boost::persistent::basic_transaction_manager</p>
+<p>boost::persistent::basic_transaction_manager &#8212; A transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp" title="Header &lt;boost/persistent/basic_transaction_manager.hpp&gt;">boost/persistent/basic_transaction_manager.hpp</a>&gt;
 
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Resources, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a> : <span class="bold"><strong>private</strong></span> noncopyable {
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Resources, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>bool</strong></span> TThreads = <span class="bold"><strong>true</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a> {
 <span class="bold"><strong>public</strong></span>:
   <span class="emphasis"><em>// types</em></span>
   <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.basic_transaction_manager.resource_types"></a>resource_types;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.basic_transaction_manager.transaction"></a>transaction;
 
   <span class="emphasis"><em>// member classes/structs/unions</em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="basic_transaction_manager/resource_type.html" title="Struct template resource_type">resource_type</a> {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ServiceTag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="basic_transaction_manager/default_resource.html" title="Struct template default_resource">default_resource</a> {
     <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="basic_transaction_manager/resource_type.html#boost.persistent.basic_transaction_manager.resource_type.type">type</a>;
- };
-
- <span class="bold"><strong>class</strong></span> <a class="link" href="basic_transaction_manager/transaction.html" title="Class transaction">transaction</a> : <span class="bold"><strong>private</strong></span> noncopyable {
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a class="link" href="basic_transaction_manager/default_resource.html#boost.persistent.basic_transaction_manager.default_resource.type">type</a>;
   };
 
   <span class="emphasis"><em>// <a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_managerconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <a class="link" href="basic_transaction_manager.html#id2655483-bb">basic_transaction_manager</a>(T &amp;);
+ <a class="link" href="basic_transaction_manager.html#id2541943-bb">basic_transaction_manager</a>(<span class="bold"><strong>typename</strong></span> mpl::front&lt; resource_types &gt;::type &amp;);
+ <a class="link" href="basic_transaction_manager.html#id2541965-bb">basic_transaction_manager</a>(<span class="emphasis"><em>unspecified</em></span>);
 
- <span class="emphasis"><em>// <a class="link" href="basic_transaction_manager.html#id2655342-bb">public member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type">resource_type&lt; Tag &gt;::type &amp;</span> <a class="link" href="basic_transaction_manager.html#id2655345-bb">resource</a>(Tag = Tag()) ;
+ <span class="emphasis"><em>// <a class="link" href="basic_transaction_manager.html#id2541790-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="basic_transaction_manager.html#id2541793-bb">resource</a>(Tag = Tag()) ;
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
- <span class="type">resource_type&lt; Tag &gt;::type::transaction &amp;</span>
- <a class="link" href="basic_transaction_manager.html#id2655369-bb">resource_transaction</a>(transaction &amp;, Tag = Tag()) ;
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="basic_transaction_manager.html#id2655399-bb">begin_transaction</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655408-bb">commit_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655422-bb">rollback_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655436-bb">bind_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655450-bb">unbind_transaction</a>() ;
- <span class="type">transaction &amp;</span> <a class="link" href="basic_transaction_manager.html#id2655458-bb">active_transaction</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655467-bb">has_active_transaction</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655475-bb">bind</a>() ;
-
- <span class="emphasis"><em>// <a class="link" href="basic_transaction_manager.html#id2655497-bb">public static functions</a></em></span>
- <span class="type"><span class="bold"><strong>static</strong></span> basic_transaction_manager &amp;</span> <a class="link" href="basic_transaction_manager.html#id2655500-bb">active</a>() ;
- <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2655509-bb">unbind</a>() ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="basic_transaction_manager.html#id2541817-bb">resource_transaction</a>(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp;, Tag = Tag()) ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="basic_transaction_manager.html#id2541850-bb">begin_transaction</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541859-bb">commit_transaction</a>(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541876-bb">rollback_transaction</a>(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541892-bb">bind_transaction</a>(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541908-bb">unbind_transaction</a>() ;
+ <span class="type"><a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp;</span> <a class="link" href="basic_transaction_manager.html#id2541916-bb">active_transaction</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541927-bb">has_active_transaction</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541935-bb">bind</a>() ;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_transaction_manager.html#id2541986-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2541989-bb">has_active</a>() ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a> &amp;</span> <a class="link" href="basic_transaction_manager.html#id2541997-bb">active</a>() ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_transaction_manager.html#id2542009-bb">unbind</a>() ;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3023713"></a><h2>Description</h2>
+<a name="id2835300"></a><h2>Description</h2>
+<p>Model of TransactionManager. Only members that are not part of that concept are documented here.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">Resources</code> Either the type of the only resource manager used, or a MPL Sequence containing the types of the resource managers used. </p></li>
+<li><p><code class="computeroutput">Threads</code> <code class="computeroutput">true</code> if multiple threads are used to access this transaction manager. </p></li>
+<li><p><code class="computeroutput">TThreads</code> <code class="computeroutput">true</code> if multiple threads are used to access the same transaction. Can be <code class="computeroutput">false</code> if multiple threads are used to access the transaction manager, but not to access the same transaction. </p></li>
+</ul></div>
+<p>
+</p>
 <div class="refsect2" lang="en">
-<a name="id3023717"></a><h3>
+<a name="id2835362"></a><h3>
 <a name="boost.persistent.basic_transaction_managerconstruct-copy-destruct"></a><code class="computeroutput">basic_transaction_manager</code>
         public
        construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <a name="id2655483-bb"></a>basic_transaction_manager(T &amp; t);</pre></li></ol></div>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2541943-bb"></a>basic_transaction_manager(<span class="bold"><strong>typename</strong></span> mpl::front&lt; resource_types &gt;::type &amp; resource);</pre>Constructs a basic_transaction_manager using the passed resource manager. <p>This constructor is only available if this transaction manager uses only one resource manager.</p>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">resource</code></span></p></td>
+<td><p>The resource manager </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2541965-bb"></a>basic_transaction_manager(<span class="emphasis"><em>unspecified</em></span> resources);</pre>Constructs a basic_transaction_manager using the passed resource managers. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">resources</code></span></p></td>
+<td><p>A Boost.Fusion Sequence of non-const references to the resource managers. For example, fusion::vector&lt;res1_type &amp;,res2_type &amp;&gt; </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3023764"></a><h3>
-<a name="id2655342-bb"></a><code class="computeroutput">basic_transaction_manager</code> public member functions</h3>
+<a name="id2835491"></a><h3>
+<a name="id2541790-bb"></a><code class="computeroutput">basic_transaction_manager</code> public member functions</h3>
 <div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type">resource_type&lt; Tag &gt;::type &amp;</span> <a name="id2655345-bb"></a>resource(Tag tag = Tag()) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2541793-bb"></a>resource(Tag tag = Tag()) ;</pre></li>
 <li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
- <span class="type">resource_type&lt; Tag &gt;::type::transaction &amp;</span>
- <a name="id2655369-bb"></a>resource_transaction(transaction &amp; tx, Tag tag = Tag()) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2655399-bb"></a>begin_transaction() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655408-bb"></a>commit_transaction(transaction &amp; tx) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655422-bb"></a>rollback_transaction(transaction &amp; tx) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655436-bb"></a>bind_transaction(transaction &amp; newtx) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655450-bb"></a>unbind_transaction() ;</pre></li>
-<li><pre class="literallayout"><span class="type">transaction &amp;</span> <a name="id2655458-bb"></a>active_transaction() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2655467-bb"></a>has_active_transaction() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655475-bb"></a>bind() ;</pre></li>
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2541817-bb"></a>resource_transaction(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp; tx, Tag tag = Tag()) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2541850-bb"></a>begin_transaction() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541859-bb"></a>commit_transaction(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541876-bb"></a>rollback_transaction(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541892-bb"></a>bind_transaction(<a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541908-bb"></a>unbind_transaction() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><a class="link" href="basic_transaction_manager.html#boost.persistent.basic_transaction_manager.transaction">transaction</a> &amp;</span> <a name="id2541916-bb"></a>active_transaction() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2541927-bb"></a>has_active_transaction() <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2541935-bb"></a>bind() ;</pre></li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3024022"></a><h3>
-<a name="id2655497-bb"></a><code class="computeroutput">basic_transaction_manager</code> public static functions</h3>
+<a name="id2835788"></a><h3>
+<a name="id2541986-bb"></a><code class="computeroutput">basic_transaction_manager</code> public static functions</h3>
 <div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> basic_transaction_manager &amp;</span> <a name="id2655500-bb"></a>active() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2655509-bb"></a>unbind() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>bool</strong></span></span> <a name="id2541989-bb"></a>has_active() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a> &amp;</span> <a name="id2541997-bb"></a>active() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>void</strong></span></span> <a name="id2542009-bb"></a>unbind() ;</pre></li>
 </ol></div>
 </div>
 </div>
@@ -115,7 +159,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp"><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="basic_transaction_manager/resource_type.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp"><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="basic_transaction_manager/default_resource.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/default_resource.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/default_resource.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template default_resource</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../basic_transaction_manager.html#id2835300" title="Description">
+<link rel="prev" href="../../../BOOST_PERSISTENT_BASIC_RETRY.html" title="Macro BOOST_PERSISTENT_BASIC_RETRY">
+<link rel="next" href="../basic_weak_loc.html" title="Class template basic_weak_loc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_transaction_manager.html#id2835300"><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="../basic_weak_loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.basic_transaction_manager.default_resource"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template default_resource</span></h2>
+<p>boost::persistent::basic_transaction_manager::default_resource</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp" title="Header &lt;boost/persistent/basic_transaction_manager.hpp&gt;">boost/persistent/basic_transaction_manager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ServiceTag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="default_resource.html" title="Struct template default_resource">default_resource</a> {
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.basic_transaction_manager.default_resource.type"></a>type;
+};</pre></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_transaction_manager.html#id2835300"><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="../basic_weak_loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/resource_type.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/resource_type.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,54 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template resource_type</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../basic_transaction_manager.html#id3023713" title="Description">
-<link rel="prev" href="../../../BOOST_PERSISTENT_BASIC_RETRY.html" title="Macro BOOST_PERSISTENT_BASIC_RETRY">
-<link rel="next" href="transaction.html" title="Class transaction">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_transaction_manager.html#id3023713"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_transaction_manager.resource_type"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template resource_type</span></h2>
-<p>boost::persistent::basic_transaction_manager::resource_type</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp" title="Header &lt;boost/persistent/basic_transaction_manager.hpp&gt;">boost/persistent/basic_transaction_manager.hpp</a>&gt;
-
-</em></span>
-<span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="resource_type.html" title="Struct template resource_type">resource_type</a> {
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.basic_transaction_manager.resource_type.type"></a>type;
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../../../BOOST_PERSISTENT_BASIC_RETRY.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_transaction_manager.html#id3023713"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transaction.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/transaction.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_transaction_manager/transaction.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,52 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class transaction</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../basic_transaction_manager.html#id3023713" title="Description">
-<link rel="prev" href="resource_type.html" title="Struct template resource_type">
-<link rel="next" href="../basic_weak_loc.html" title="Class template basic_weak_loc">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="resource_type.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_transaction_manager.html#id3023713"><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="../basic_weak_loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.basic_transaction_manager.transaction"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class transaction</span></h2>
-<p>boost::persistent::basic_transaction_manager::transaction</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.basic_transaction_manager_hpp" title="Header &lt;boost/persistent/basic_transaction_manager.hpp&gt;">boost/persistent/basic_transaction_manager.hpp</a>&gt;
-
-</em></span>
-
-<span class="bold"><strong>class</strong></span> <a class="link" href="transaction.html" title="Class transaction">transaction</a> : <span class="bold"><strong>private</strong></span> noncopyable {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="resource_type.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_transaction_manager.html#id3023713"><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="../basic_weak_loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_weak_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_weak_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/basic_weak_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Class template basic_weak_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp" title="Header &lt;boost/persistent/basic_weak_loc.hpp&gt;">
-<link rel="prev" href="basic_transaction_manager/transaction.html" title="Class transaction">
+<link rel="prev" href="basic_transaction_manager/default_resource.html" title="Struct template default_resource">
 <link rel="next" href="bad_weak_loc.html" title="Struct bad_weak_loc">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_transaction_manager/transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="bad_weak_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_transaction_manager/default_resource.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="bad_weak_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.basic_weak_loc"></a><div class="titlepage"></div>
@@ -38,98 +38,94 @@
   <span class="bold"><strong>typedef</strong></span> T <a name="boost.persistent.basic_weak_loc.element_type"></a>element_type;
 
   <span class="emphasis"><em>// <a class="link" href="basic_weak_loc.html#boost.persistent.basic_weak_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_weak_loc.html#id2655734-bb">basic_weak_loc</a>();
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_weak_loc.html#id2655741-bb">basic_weak_loc</a>(basic_shared_loc&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <a class="link" href="basic_weak_loc.html#id2655764-bb">basic_weak_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_weak_loc.html#id2655781-bb">basic_weak_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
- basic_weak_loc&amp; <a class="link" href="basic_weak_loc.html#id2655805-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="basic_weak_loc.html#id2542257-bb">basic_weak_loc</a>();
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_weak_loc.html#id2542268-bb">basic_weak_loc</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="basic_weak_loc.html#id2542311-bb">basic_weak_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="basic_weak_loc.html#id2542339-bb">basic_weak_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ basic_weak_loc&amp; <a class="link" href="basic_weak_loc.html#id2542382-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp;);
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- basic_weak_loc&amp; <a class="link" href="basic_weak_loc.html#id2655817-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ basic_weak_loc&amp; <a class="link" href="basic_weak_loc.html#id2542398-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- basic_weak_loc&amp; <a class="link" href="basic_weak_loc.html#id2655837-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_shared_loc&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ basic_weak_loc&amp; <a class="link" href="basic_weak_loc.html#id2542422-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
 
- <span class="emphasis"><em>// <a class="link" href="basic_weak_loc.html#id2655552-bb">public member functions</a></em></span>
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_weak_loc.html#id2655555-bb">expired</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">basic_shared_loc&lt; T, TxMgr &gt;</span> <a class="link" href="basic_weak_loc.html#id2655626-bb">lock</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_weak_loc.html#id2655638-bb">reset</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_weak_loc.html#id2655649-bb">swap</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_weak_loc.html#id2655672-bb">swap</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp;, <a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp;) ;
+ <span class="emphasis"><em>// <a class="link" href="basic_weak_loc.html#id2542076-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_weak_loc.html#id2542079-bb">expired</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt;</span> <a class="link" href="basic_weak_loc.html#id2542135-bb">lock</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_weak_loc.html#id2542153-bb">reset</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_weak_loc.html#id2542168-bb">swap</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_weak_loc.html#id2542194-bb">swap</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp;, <a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp;) ;
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_weak_loc.html#id2655699-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; U, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_weak_loc.html#id2542225-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; U, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3024770"></a><h2>Description</h2>
+<a name="id2836538"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type of the object this locator can refer to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager that is used to access the object </p></li>
+</ul></div>
+<p>
+</p>
 <div class="refsect2" lang="en">
-<a name="id3024774"></a><h3>
+<a name="id2836567"></a><h3>
 <a name="boost.persistent.basic_weak_locconstruct-copy-destruct"></a><code class="computeroutput">basic_weak_loc</code>
         public
        construct/copy/destruct</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><a name="id2655734-bb"></a>basic_weak_loc();</pre>
-<p>Constructs an empty basic_weak_loc</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><a name="id2542257-bb"></a>basic_weak_loc();</pre>Constructs an empty <code class="computeroutput">basic_weak_loc</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2655741-bb"></a>basic_weak_loc(basic_shared_loc&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>
-<p>Constructs a basic_weak_loc that shares ownership with r and stores a copy of r. Y * must be convertible to T *.</p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2542268-bb"></a>basic_weak_loc(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Constructs a <code class="computeroutput">basic_weak_loc</code> that shares ownership with <code class="computeroutput">r</code> and stores a copy of <code class="computeroutput">r</code>. <p><code class="computeroutput">Y</code> * must be convertible to <code class="computeroutput">T</code> *.</p>
 <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><a name="id2655764-bb"></a>basic_weak_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>
-<p>Constructs a basic_weak_loc that shares ownership with r and stores a copy of r. Y * must be convertible to T *.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><a name="id2542311-bb"></a>basic_weak_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Constructs a <code class="computeroutput">basic_weak_loc</code> that shares ownership with <code class="computeroutput">r</code> and stores a copy of <code class="computeroutput">r</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2655781-bb"></a>basic_weak_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>
-<p>Constructs a basic_weak_loc that shares ownership with r and stores a copy of r. Y * must be convertible to T *.</p>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2542339-bb"></a>basic_weak_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Constructs a <code class="computeroutput">basic_weak_loc</code> that shares ownership with <code class="computeroutput">r</code> and stores a copy of <code class="computeroutput">r</code>. <p><code class="computeroutput">Y</code> * must be convertible to <code class="computeroutput">T</code> *.</p>
 <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout">basic_weak_loc&amp; <a name="id2655805-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to weak_ptr(r).swap(*this). </li>
+<pre class="literallayout">basic_weak_loc&amp; <a name="id2542382-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">weak_ptr(r).swap(*this)</code>. </li>
 <li>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- basic_weak_loc&amp; <a name="id2655817-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to weak_ptr(r).swap(*this). </li>
+ basic_weak_loc&amp; <a name="id2542398-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">weak_ptr(r).swap(*this)</code>. </li>
 <li>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- basic_weak_loc&amp; <a name="id2655837-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_shared_loc&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to weak_ptr(r).swap(*this). </li>
+ basic_weak_loc&amp; <a name="id2542422-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre>Equivalent to <code class="computeroutput">weak_ptr(r).swap(*this)</code>. </li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3025058"></a><h3>
-<a name="id2655552-bb"></a><code class="computeroutput">basic_weak_loc</code> public member functions</h3>
+<a name="id2836958"></a><h3>
+<a name="id2542076-bb"></a><code class="computeroutput">basic_weak_loc</code> public member functions</h3>
 <div class="orderedlist"><ol type="1">
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2655555-bb"></a>expired() <span class="bold"><strong>const</strong></span>;</pre>
-<p>Returns if the stored object is still reachable through this basic_weak_loc. An object is reachable as long as there is at least one basic_shared_loc to the same object stored in the database, or the stored object is a new object created in this transaction.</p>
-<p>Note that this behaviour differs from boost::weak_ptr::expired()'s: If the last basic_shared_loc is removed in the current transaction the object remains reachable through a basic_weak_loc until this transaction is committed.</p>
-<p>Throws: </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">no_active_database</code> </p></li>
-<li><p><code class="computeroutput">isolation_exception</code> </p></li>
-<li><p><code class="computeroutput">archive::archive_exception</code> </p></li>
-<li><p><code class="computeroutput">io_failure</code> </p></li>
-<li><p><code class="computeroutput">thread_resource_error</code> </p></li>
-<li><p>Any exception thrown by the following user-supplied functions: T::T(), serialize(), reconstruct() </p></li>
-</ul></div>
-<p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2542079-bb"></a>expired() <span class="bold"><strong>const</strong></span>;</pre>
+<p>An object is reachable as long as there is at least one <code class="computeroutput">basic_shared_loc</code> to the same object stored in the database, or the stored object is a new object created in this transaction.</p>
+<p>Note that this behaviour differs from boost::weak_ptr::expired()'s: If the last <code class="computeroutput">basic_shared_loc</code> is removed in the current transaction the object may remain reachable through a <code class="computeroutput">basic_weak_loc</code> until this transaction is committed.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code> <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>
 </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p><code class="computeroutput">true</code> if the stored object is still reachable through this basic_weak_loc. </p></td>
+</tr></tbody>
+</table></div>
 </li>
 <li>
-<pre class="literallayout"><span class="type">basic_shared_loc&lt; T, TxMgr &gt;</span> <a name="id2655626-bb"></a>lock() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to expired() ? basic_shared_loc&lt;T,TxMgr&gt;() : basic_shared_loc&lt;T,TxMgr&gt;(*this). </li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt;</span> <a name="id2542135-bb"></a>lock() <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">expired() ? basic_shared_loc&lt;T,TxMgr&gt;() : basic_shared_loc&lt;T,TxMgr&gt;(*this)</code>. </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655638-bb"></a>reset() ;</pre>Equivalent to basic_weak_loc().swap(*this). </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542153-bb"></a>reset() ;</pre>Equivalent to <code class="computeroutput">basic_weak_loc().swap(*this)</code>. </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655649-bb"></a>swap(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp; b) ;</pre>
-<p>Exchanges the contents of the two basic_weak_locs.</p>
-<p>Throws: Nothing </p>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542168-bb"></a>swap(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp; b) ;</pre>Exchanges the contents of the two <code class="computeroutput">basic_weak_locs</code>. <p>Throws: Nothing </p>
 </li>
 <li>
-<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2655672-bb"></a>swap(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp; a, <a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp; b) ;</pre>Equivalent to a.swap(b). </li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542194-bb"></a>swap(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp; a, <a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a> &amp; b) ;</pre>Equivalent to <code class="computeroutput">a.swap(b)</code>. </li>
 <li>
 <pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> U&gt;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2655699-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; U, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>
-<p>Provides a strict weak ordering of basic_weak_locs</p>
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2542225-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; U, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; b) <span class="bold"><strong>const</strong></span>;</pre>
 <p>Throws: Nothing
 </p>
 <div class="variablelist"><table border="0">
@@ -154,7 +150,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_transaction_manager/transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="bad_weak_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="basic_transaction_manager/default_resource.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_weak_loc_hpp"><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="bad_weak_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template block_storage</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.block_storage_hpp" title="Header &lt;boost/persistent/block_storage.hpp&gt;">
+<link rel="prev" href="bad_weak_loc.html" title="Struct bad_weak_loc">
+<link rel="next" href="block_storage/save_instance_commit_data.html" title="Struct save_instance_commit_data">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.block_storage_hpp"><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="block_storage/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.block_storage"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template block_storage</span></h2>
+<p>boost::persistent::block_storage &#8212; Model of <code class="computeroutput">StorageEngine</code> that uses a <code class="computeroutput">DataBlock</code> to store its data. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.block_storage_hpp" title="Header &lt;boost/persistent/block_storage.hpp&gt;">boost/persistent/block_storage.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Block, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="block_storage.html" title="Class template block_storage">block_storage</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.block_storage.object_id"></a>object_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.block_storage.instance_id"></a>instance_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> <a name="boost.persistent.block_storage.transaction_id"></a>transaction_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> <a name="boost.persistent.block_storage.object_count"></a>object_count;
+
+ <span class="emphasis"><em>// member classes/structs/unions</em></span>
+
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="block_storage/save_instance_commit_data.html" title="Struct save_instance_commit_data">save_instance_commit_data</a> {
+
+ <span class="emphasis"><em>// <a class="link" href="block_storage/save_instance_commit_data.html#id2542543-bb">public member functions</a></em></span>
+ <span class="type">std::size_t</span> <a class="link" href="block_storage/save_instance_commit_data.html#id2542546-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+ };
+
+ <span class="emphasis"><em>// <a class="link" href="block_storage.html#boost.persistent.block_storageconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="block_storage.html#id2542983-bb">block_storage</a>(Block &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="block_storage.html#id2542580-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542584-bb">save_state</a>(Archive &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542604-bb">recover_state</a>(Archive &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a class="link" href="block_storage.html#id2542625-bb">load_instance</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542657-bb">save_instance_prepare</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, T <span class="bold"><strong>const</strong></span> &amp;,
+ save_instance_commit_data &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542695-bb">save_instance_commit</a>(instance_id <span class="bold"><strong>const</strong></span> &amp;,
+ save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542715-bb">save_commit_data</a>(Archive &amp;, save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542742-bb">recover_commit_data</a>(Archive &amp;, save_instance_commit_data &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type">instance_id</span> <a class="link" href="block_storage.html#id2542769-bb">allocate_instance</a>(Archive &amp;, std::size_t) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542796-bb">free_instance</a>(Archive &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type">object_id</span> <a class="link" href="block_storage.html#id2542822-bb">allocate_object</a>(Archive &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542843-bb">free_object</a>(Archive &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542870-bb">load_object</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id &amp;, instance_id &amp;,
+ object_count &amp;, object_count &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542907-bb">save_object_state</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id,
+ instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542933-bb">save_object_count</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, object_count, object_count) ;
+ <span class="type">object_id</span> <a class="link" href="block_storage.html#id2542959-bb">root_object_id</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542967-bb">flush</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="block_storage.html#id2542975-bb">sync</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2838173"></a><h2>Description</h2>
+<p>Model of <code class="computeroutput">StorageEngine</code>. Only members not part of this concept are documented here.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">Block</code> A type that models the <code class="computeroutput">BlockStorage</code> concept </p></li>
+<li><p><code class="computeroutput">Threads</code> <code class="computeroutput">true</code> if this <code class="computeroutput">block_storage</code> is accessed by multiple therads concurrently </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2838229"></a><h3>
+<a name="boost.persistent.block_storageconstruct-copy-destruct"></a><code class="computeroutput">block_storage</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2542983-bb"></a>block_storage(Block &amp; block);</pre>Constructs a block_storage using the passed <code class="computeroutput">DataBlock</code>. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">block</code></span></p></td>
+<td><p>The <code class="computeroutput">BlockStorage</code> that is used to store the data </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2838307"></a><h3>
+<a name="id2542580-bb"></a><code class="computeroutput">block_storage</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542584-bb"></a>save_state(Archive &amp; ar) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542604-bb"></a>recover_state(Archive &amp; ar) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a name="id2542625-bb"></a>load_instance(object_id <span class="bold"><strong>const</strong></span> &amp; oid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542657-bb"></a>save_instance_prepare(object_id <span class="bold"><strong>const</strong></span> &amp;, T <span class="bold"><strong>const</strong></span> &amp; o,
+ save_instance_commit_data &amp; data) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542695-bb"></a>save_instance_commit(instance_id <span class="bold"><strong>const</strong></span> &amp; iid,
+ save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp; data) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542715-bb"></a>save_commit_data(Archive &amp; ar, save_instance_commit_data <span class="bold"><strong>const</strong></span> &amp; data) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542742-bb"></a>recover_commit_data(Archive &amp; ar, save_instance_commit_data &amp; data) <span class="bold"><strong>const</strong></span>;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type">instance_id</span> <a name="id2542769-bb"></a>allocate_instance(Archive &amp; ar, std::size_t size) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542796-bb"></a>free_instance(Archive &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type">object_id</span> <a name="id2542822-bb"></a>allocate_object(Archive &amp; ar) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542843-bb"></a>free_object(Archive &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542870-bb"></a>load_object(object_id <span class="bold"><strong>const</strong></span> &amp; oid, transaction_id &amp; tid,
+ instance_id &amp; iid, object_count &amp; strong,
+ object_count &amp; weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542907-bb"></a>save_object_state(object_id <span class="bold"><strong>const</strong></span> &amp; oid, transaction_id tid,
+ instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542933-bb"></a>save_object_count(object_id <span class="bold"><strong>const</strong></span> &amp; oid, object_count strong,
+ object_count weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2542959-bb"></a>root_object_id() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542967-bb"></a>flush() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2542975-bb"></a>sync() ;</pre></li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.block_storage_hpp"><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="block_storage/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage/save_instance_commit_data.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/block_storage/save_instance_commit_data.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct save_instance_commit_data</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../block_storage.html#id2838173" title="Description">
+<link rel="prev" href="../bad_weak_loc.html" title="Struct bad_weak_loc">
+<link rel="next" href="../default_tag.html" title="Struct default_tag">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bad_weak_loc.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../block_storage.html#id2838173"><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="../default_tag.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.block_storage.save_instance_commit_data"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct save_instance_commit_data</span></h2>
+<p>boost::persistent::block_storage::save_instance_commit_data</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.block_storage_hpp" title="Header &lt;boost/persistent/block_storage.hpp&gt;">boost/persistent/block_storage.hpp</a>&gt;
+
+</em></span>
+
+<span class="bold"><strong>struct</strong></span> <a class="link" href="save_instance_commit_data.html" title="Struct save_instance_commit_data">save_instance_commit_data</a> {
+
+ <span class="emphasis"><em>// <a class="link" href="save_instance_commit_data.html#id2542543-bb">public member functions</a></em></span>
+ <span class="type">std::size_t</span> <a class="link" href="save_instance_commit_data.html#id2542546-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2838991"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2838994"></a><h3>
+<a name="id2542543-bb"></a><code class="computeroutput">save_instance_commit_data</code> public member functions</h3>
+<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><span class="type">std::size_t</span> <a name="id2542546-bb"></a>size() <span class="bold"><strong>const</strong></span>;</pre></li></ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bad_weak_loc.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../block_storage.html#id2838173"><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="../default_tag.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/caching_policy.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/caching_policy.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,80 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct caching_policy</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.cache_hpp" title="Header &lt;boost/persistent/cache.hpp&gt;">
-<link rel="prev" href="bad_weak_loc.html" title="Struct bad_weak_loc">
-<link rel="next" href="clist.html" title="Class template clist">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bad_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.cache_hpp"><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="clist.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.caching_policy"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct caching_policy</span></h2>
-<p>boost::persistent::caching_policy</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.cache_hpp" title="Header &lt;boost/persistent/cache.hpp&gt;">boost/persistent/cache.hpp</a>&gt;
-
-</em></span>
-<span class="bold"><strong>struct</strong></span> <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> {
- <span class="emphasis"><em>// <a class="link" href="caching_policy.html#boost.persistent.caching_policyconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="caching_policy.html#id2655958-bb">caching_policy</a>();
- <span class="type">std::size_t</span> maximum_cache_size;
- <span class="type">std::size_t</span> minimum_cache_size;
- <span class="type">std::size_t</span> block_size;
- <span class="type">posix_time::time_duration</span> timer_resolution;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3025563"></a><h2>Description</h2>
-<p>Describes the caching policy of the internal object cache. Objects that are currently not in use are not immediatly removed or saved back to disk but are put in an object cache. When the cache overflows, the objects in the cache that weren't used for the longest time are removed. </p>
-<div class="itemizedlist"><ul type="disc">
-<li><p><code class="computeroutput">maximum_cache_size:</code> Maximum number of objects in the object cache. When maximum_cache_size is reached, the cache size is reduced to minimum_cache_size. Note that there is no way to determine the size of an user object, so these settings are measured in numbers of objects. Set the cache size accordingly if large database objects are used. Default: 1000000. </p></li>
-<li><p><code class="computeroutput">minimum_cache_size:</code> Number of objects the cache contains after maximum_cache_size has been reached. Default: 900000 </p></li>
-<li><p><code class="computeroutput">block_size:</code> The size of a cache block, in number of objects. Default: 10000 </p></li>
-<li><p><code class="computeroutput">timer_resolution:</code> The resolution of the cache timer to be used to determine the time since last access of an object. Default: 1/32 s </p></li>
-</ul></div>
-<p>
-</p>
-<div class="refsect2" lang="en">
-<a name="id3025623"></a><h3>
-<a name="boost.persistent.caching_policyconstruct-copy-destruct"></a><code class="computeroutput">caching_policy</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1"><li>
-<pre class="literallayout"><a name="id2655958-bb"></a>caching_policy();</pre>
-<p>Constructs a caching_policy object with default values</p>
-<p>Throws: Nothing </p>
-</li></ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bad_weak_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.cache_hpp"><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="clist.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/clist.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/clist.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,78 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template clist</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.intrusive.clist_hpp" title="Header &lt;boost/persistent/intrusive/clist.hpp&gt;">
-<link rel="prev" href="clist.html" title="Class template clist">
-<link rel="next" href="cmap.html" title="Class template cmap">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="clist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.clist_hpp"><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="cmap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.clist"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template clist</span></h2>
-<p>boost::persistent::clist</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.intrusive.clist_hpp" title="Header &lt;boost/persistent/intrusive/clist.hpp&gt;">boost/persistent/intrusive/clist.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="clist.html" title="Class template clist">clist</a> : <span class="bold"><strong>private</strong></span> boost::persistent::basic_clist&lt; T, boost::persistent::basic_transaction_manager, ConstantTimeSize, ResourceTag &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> base::size_type <a name="boost.persistent.clist.size_type"></a>size_type;
- <span class="bold"><strong>typedef</strong></span> base::const_reference <a name="boost.persistent.clist.const_reference"></a>const_reference;
-
- <span class="emphasis"><em>// <a class="link" href="clist.html#boost.persistent.clistconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="clist.html#id2656128-bb">clist</a>();
- <a class="link" href="clist.html#id2656130-bb">clist</a>(size_type, const_reference = T());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <a class="link" href="clist.html#id2656145-bb">clist</a>(InputIterator, InputIterator);
- <a class="link" href="clist.html#id2656165-bb">clist</a>(base <span class="bold"><strong>const</strong></span> &amp;);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3026303"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3026306"></a><h3>
-<a name="boost.persistent.clistconstruct-copy-destruct"></a><code class="computeroutput">clist</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2656128-bb"></a>clist();</pre></li>
-<li><pre class="literallayout"><a name="id2656130-bb"></a>clist(size_type n, const_reference value = T());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt; <a name="id2656145-bb"></a>clist(InputIterator begin, InputIterator end);</pre></li>
-<li><pre class="literallayout"><a name="id2656165-bb"></a>clist(base <span class="bold"><strong>const</strong></span> &amp; b);</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="clist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.clist_hpp"><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="cmap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmap.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmap.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,76 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template cmap</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp" title="Header &lt;boost/persistent/cmap.hpp&gt;">
-<link rel="prev" href="clist.html" title="Class template clist">
-<link rel="next" href="cmultimap.html" title="Class template cmultimap">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="clist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp"><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="cmultimap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.cmap"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template cmap</span></h2>
-<p>boost::persistent::cmap</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp" title="Header &lt;boost/persistent/cmap.hpp&gt;">boost/persistent/cmap.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="cmap.html" title="Class template cmap">cmap</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_cmap&lt; Key, T, boost::persistent::basic_transaction_manager&lt; boost::persistent::multiversion_object_resource&lt; boost::persistent::redo_storage&lt; boost::persistent::filesystem_storage&lt;&gt; &gt; &gt; &gt;, ConstantTimeSize, Compare, ResourceTag &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="cmap.html#boost.persistent.cmapconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="cmap.html#id2656237-bb">cmap</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="cmap.html#id2656246-bb">cmap</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="cmap.html#id2656274-bb">cmap</a>(base <span class="bold"><strong>const</strong></span> &amp;);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3026731"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3026735"></a><h3>
-<a name="boost.persistent.cmapconstruct-copy-destruct"></a><code class="computeroutput">cmap</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2656237-bb"></a>cmap(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2656246-bb"></a>cmap(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2656274-bb"></a>cmap(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="clist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp"><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="cmultimap.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmultimap.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmultimap.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,76 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template cmultimap</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp" title="Header &lt;boost/persistent/cmap.hpp&gt;">
-<link rel="prev" href="cmap.html" title="Class template cmap">
-<link rel="next" href="cset.html" title="Class template cset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cmap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp"><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="cset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.cmultimap"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template cmultimap</span></h2>
-<p>boost::persistent::cmultimap</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp" title="Header &lt;boost/persistent/cmap.hpp&gt;">boost/persistent/cmap.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="cmultimap.html" title="Class template cmultimap">cmultimap</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_cmultimap&lt; Key, T, boost::persistent::basic_transaction_manager, ConstantTimeSize, Compare, ResourceTag &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="cmultimap.html#boost.persistent.cmultimapconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="cmultimap.html#id2656331-bb">cmultimap</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="cmultimap.html#id2656340-bb">cmultimap</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="cmultimap.html#id2656368-bb">cmultimap</a>(base <span class="bold"><strong>const</strong></span> &amp;);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3027005"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3027008"></a><h3>
-<a name="boost.persistent.cmultimapconstruct-copy-destruct"></a><code class="computeroutput">cmultimap</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2656331-bb"></a>cmultimap(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2656340-bb"></a>cmultimap(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2656368-bb"></a>cmultimap(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cmap.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.cmap_hpp"><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="cset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmultiset.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/cmultiset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,76 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template cmultiset</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp" title="Header &lt;boost/persistent/intrusive/cset.hpp&gt;">
-<link rel="prev" href="cset.html" title="Class template cset">
-<link rel="next" href="default_tag.html" title="Struct default_tag">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp"><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="default_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.cmultiset"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template cmultiset</span></h2>
-<p>boost::persistent::cmultiset</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp" title="Header &lt;boost/persistent/intrusive/cset.hpp&gt;">boost/persistent/intrusive/cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="cmultiset.html" title="Class template cmultiset">cmultiset</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_cmultiset&lt; T, boost::persistent::basic_transaction_manager, ConstantTimeSize, Compare, ResourceTag &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="cmultiset.html#boost.persistent.cmultisetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="cmultiset.html#id2656708-bb">cmultiset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="cmultiset.html#id2656718-bb">cmultiset</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="cmultiset.html#id2656746-bb">cmultiset</a>(base <span class="bold"><strong>const</strong></span> &amp;);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3028354"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3028357"></a><h3>
-<a name="boost.persistent.cmultisetconstruct-copy-destruct"></a><code class="computeroutput">cmultiset</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2656708-bb"></a>cmultiset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2656718-bb"></a>cmultiset(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2656746-bb"></a>cmultiset(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp"><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="default_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/cset.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/cset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,76 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template cset</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp" title="Header &lt;boost/persistent/intrusive/cset.hpp&gt;">
-<link rel="prev" href="cmultiset.html" title="Class template cmultiset">
-<link rel="next" href="cmultiset.html" title="Class template cmultiset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp"><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="cmultiset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.cset"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template cset</span></h2>
-<p>boost::persistent::cset</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp" title="Header &lt;boost/persistent/intrusive/cset.hpp&gt;">boost/persistent/intrusive/cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="cset.html" title="Class template cset">cset</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_cset&lt; T, boost::persistent::basic_transaction_manager, ConstantTimeSize, Compare, ResourceTag &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="cset.html#boost.persistent.csetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="cset.html#id2656619-bb">cset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a class="link" href="cset.html#id2656628-bb">cset</a>(InputIterator, InputIterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <a class="link" href="cset.html#id2656657-bb">cset</a>(base <span class="bold"><strong>const</strong></span> &amp;);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3028088"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3028091"></a><h3>
-<a name="boost.persistent.csetconstruct-copy-destruct"></a><code class="computeroutput">cset</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2656619-bb"></a>cset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> InputIterator&gt;
- <a name="id2656628-bb"></a>cset(InputIterator begin, InputIterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><a name="id2656657-bb"></a>cset(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.intrusive.cset_hpp"><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="cmultiset.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/deep_tag.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/deep_tag.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/deep_tag.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Struct deep_tag</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.access_hpp" title="Header &lt;boost/persistent/access.hpp&gt;">
-<link rel="prev" href="../../persistent/reference.html" title="Reference">
-<link rel="next" href="basic_clist.html" title="Class template basic_clist">
+<link rel="prev" href="TransactionManager/default_resource.html" title="Struct template default_resource">
+<link rel="next" href="is_locator.html" title="Struct template is_locator">
 </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="../../persistent/reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.access_hpp"><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="basic_clist.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="TransactionManager/default_resource.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.access_hpp"><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="is_locator.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.deep_tag"></a><div class="titlepage"></div>
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../persistent/reference.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.access_hpp"><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="basic_clist.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="TransactionManager/default_resource.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.access_hpp"><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="is_locator.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/default_tag.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/default_tag.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/default_tag.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Struct default_tag</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.default_tag_hpp" title="Header &lt;boost/persistent/default_tag.hpp&gt;">
-<link rel="prev" href="cmultiset.html" title="Class template cmultiset">
+<link rel="prev" href="block_storage/save_instance_commit_data.html" title="Struct save_instance_commit_data">
 <link rel="next" href="exception.html" title="Struct exception">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.default_tag_hpp"><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="exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="block_storage/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.default_tag_hpp"><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="exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.default_tag"></a><div class="titlepage"></div>
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.default_tag_hpp"><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="exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="block_storage/save_instance_commit_data.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.default_tag_hpp"><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="exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/distributed_transactions.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/distributed_transactions.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template distributed_transactions</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
-<link rel="prev" href="shared_objects.html" title="Struct template shared_objects">
-<link rel="next" href="scoped_loc.html" title="Class template scoped_loc">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="shared_objects.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.distributed_transactions"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template distributed_transactions</span></h2>
-<p>boost::persistent::distributed_transactions</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ObjectResourceManager&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="distributed_transactions.html" title="Struct template distributed_transactions">distributed_transactions</a> {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="shared_objects.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/exception.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/exception.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/exception.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,7 +4,7 @@
 <title>Struct exception</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
 <link rel="prev" href="default_tag.html" title="Struct default_tag">
 <link rel="next" href="recovery_failure.html" title="Struct recovery_failure">

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/finalize_error.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/finalize_error.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/finalize_error.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,7 +4,7 @@
 <title>Struct finalize_error</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
 <link rel="prev" href="io_failure.html" title="Struct io_failure">
 <link rel="next" href="no_active_transaction.html" title="Struct no_active_transaction">
@@ -26,7 +26,7 @@
 <a name="boost.persistent.finalize_error"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Struct finalize_error</span></h2>
-<p>boost::persistent::finalize_error &#8212; Indicates that there was an attempt to modify the database from a user-supplied finalize() function. </p>
+<p>boost::persistent::finalize_error &#8212; Indicates that there was an attempt to modify the database from a user-supplied <code class="computeroutput">finalize()</code> function. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">boost/persistent/exception.hpp</a>&gt;

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/interior_ptr.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/interior_ptr.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,303 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template interior_ptr</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.interior_ptr_hpp" title="Header &lt;boost/persistent/interior_ptr.hpp&gt;">
+<link rel="prev" href="isolation_exception.html" title="Struct isolation_exception">
+<link rel="next" href="intrusive/basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="isolation_exception.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.interior_ptr_hpp"><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="intrusive/basic_loc_list_hook.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.interior_ptr"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template interior_ptr</span></h2>
+<p>boost::persistent::interior_ptr &#8212; A pointer to a member of a persistent object. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.interior_ptr_hpp" title="Header &lt;boost/persistent/interior_ptr.hpp&gt;">boost/persistent/interior_ptr.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> T <a name="boost.persistent.interior_ptr.element_type"></a>element_type;
+
+ <span class="emphasis"><em>// <a class="link" href="interior_ptr.html#boost.persistent.interior_ptrconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="interior_ptr.html#id2543540-bb">interior_ptr</a>();
+ <a class="link" href="interior_ptr.html#id2543548-bb">interior_ptr</a>(T *);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PT, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <a class="link" href="interior_ptr.html#id2543576-bb">interior_ptr</a>(T *, <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; PT, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="interior_ptr.html#id2543675-bb">interior_ptr</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="interior_ptr.html#id2543694-bb">interior_ptr</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp;);
+ interior_ptr&amp; <a class="link" href="interior_ptr.html#id2543725-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> <span class="bold"><strong>const</strong></span> &amp;);
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; interior_ptr&amp; <a class="link" href="interior_ptr.html#id2543741-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="interior_ptr.html#id2543196-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="interior_ptr.html#id2543200-bb">reset</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="interior_ptr.html#id2543215-bb">reset</a>(T *) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PT, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="interior_ptr.html#id2543235-bb">reset</a>(T *, <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; PT, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type">T &amp;</span> <a class="link" href="interior_ptr.html#id2543275-bb"><span class="bold"><strong>operator</strong></span>*</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">T *</span> <a class="link" href="interior_ptr.html#id2543295-bb"><span class="bold"><strong>operator</strong></span>-&gt;</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">T *</span> <a class="link" href="interior_ptr.html#id2543314-bb">get</a>() <span class="bold"><strong>const</strong></span>;
+ <a class="link" href="interior_ptr.html#id2543329-bb"><span class="bold"><strong>operator</strong></span> unspecified_bool_type</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="interior_ptr.html#id2543350-bb">swap</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="interior_ptr.html#id2543378-bb"><span class="bold"><strong>operator</strong></span>==</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="interior_ptr.html#id2543408-bb"><span class="bold"><strong>operator</strong></span>!=</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="interior_ptr.html#id2543438-bb"><span class="bold"><strong>operator</strong></span>&lt;</a>(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp;) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a class="link" href="interior_ptr.html#id2543468-bb">cast_const</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a class="link" href="interior_ptr.html#id2543492-bb">cast_static</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a class="link" href="interior_ptr.html#id2543516-bb">cast_dynamic</a>() <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2840986"></a><h2>Description</h2>
+<p>An interior_ptr can contain a normal pointer or a pointer to a member of a persistent object. If it contains a pointer to a member of a persistent object, it keeps the persistent object in memory as long as it exists, to make sure the pointer is not invalidated. </p>
+<div class="refsect2" lang="en">
+<a name="id2840996"></a><h3>
+<a name="boost.persistent.interior_ptrconstruct-copy-destruct"></a><code class="computeroutput">interior_ptr</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2543540-bb"></a>interior_ptr();</pre>Constructs an empty interior_ptr. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2543548-bb"></a>interior_ptr(T * ptr);</pre>Constructs an interior_ptr to <code class="computeroutput">ptr</code>. <p>Throws: Nothing
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ptr</code></span></p></td>
+<td><p></p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This constructor exists so that native pointers are convertible to <code class="computeroutput">interior_ptrs</code>. It can not be used to create an interior_ptr to a member of a persistent object. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PT, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <a name="id2543576-bb"></a>interior_ptr(T * ptr, <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; PT, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; l);</pre>Constructs an interior_ptr to a member of a persistent object. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">l</code></span></p></td>
+<td><p>Locator to the persistent object </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">ptr</code></span></p></td>
+<td><p>Pointer to the member of a persistent object </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p><code class="computeroutput">l</code> must not be empty if <code class="computeroutput">ptr</code> is not 0 </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2543675-bb"></a>interior_ptr(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> <span class="bold"><strong>const</strong></span> &amp; o);</pre>Constructs a copy of another interior_ptr. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>Source </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2543694-bb"></a>interior_ptr(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre>Constructs a copy of another interior_ptr. <p>Throws: Nothing
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>Source </p></td>
+</tr></tbody>
+</table></div></td>
+</tr>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Y * must be convertible to T * </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout">interior_ptr&amp; <a name="id2543725-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> <span class="bold"><strong>const</strong></span> &amp; o);</pre>Equivalent to <code class="computeroutput">interior_ptr(o).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; interior_ptr&amp; <a name="id2543741-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre>Equivalent to <code class="computeroutput">interior_ptr(o).swap(*this)</code>. </li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2841502"></a><h3>
+<a name="id2543196-bb"></a><code class="computeroutput">interior_ptr</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2543200-bb"></a>reset() ;</pre>Equivalent to <code class="computeroutput">interior_ptr().swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2543215-bb"></a>reset(T * p) ;</pre>Equivalent to <code class="computeroutput">interior_ptr(p).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PT, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2543235-bb"></a>reset(T * p, <a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; PT, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; l) ;</pre>Equivalent to <code class="computeroutput">interior_ptr(p,l).swap(*this)</code>. </li>
+<li>
+<pre class="literallayout"><span class="type">T &amp;</span> <a name="id2543275-bb"></a><span class="bold"><strong>operator</strong></span>*() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The interior_ptr must not be empty </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A reference to the object pointed to by this interior_ptr </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T *</span> <a name="id2543295-bb"></a><span class="bold"><strong>operator</strong></span>-&gt;() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>The interior_ptr must not be empty </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The stored pointer </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">T *</span> <a name="id2543314-bb"></a>get() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The stored pointer </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2543329-bb"></a><span class="bold"><strong>operator</strong></span> unspecified_bool_type() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An unspecified value that evaluates to <code class="computeroutput">true</code> if the interior_ptr is not empty </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2543350-bb"></a>swap(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a> &amp; o) ;</pre>Exchanges the contents of the two <code class="computeroutput">interior_ptrs</code>. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p></p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2543378-bb"></a><span class="bold"><strong>operator</strong></span>==(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp; o) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get() == o.get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2543408-bb"></a><span class="bold"><strong>operator</strong></span>!=(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp; o) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">!(*this == o)</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2543438-bb"></a><span class="bold"><strong>operator</strong></span>&lt;(<a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp; o) <span class="bold"><strong>const</strong></span>;</pre>Equivalent to <code class="computeroutput">get() &lt; o.get()</code>. </li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a name="id2543468-bb"></a>cast_const() <span class="bold"><strong>const</strong></span>;</pre>Performs a const_cast on the pointer. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a name="id2543492-bb"></a>cast_static() <span class="bold"><strong>const</strong></span>;</pre>Performs a static_cast on the pointer. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <span class="type"><a class="link" href="interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a name="id2543516-bb"></a>cast_dynamic() <span class="bold"><strong>const</strong></span>;</pre>Performs a dynamic_cast on the pointer. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="isolation_exception.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.interior_ptr_hpp"><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="intrusive/basic_loc_list_hook.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_clist.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_clist.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,83 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_clist</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp" title="Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;">
-<link rel="prev" href="basic_clist_hook.html" title="Struct template basic_clist_hook">
-<link rel="next" href="../basic_clist.html" title="Class template basic_clist">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_clist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp"><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="../basic_clist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_clist"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_clist</span></h2>
-<p>boost::persistent::intrusive::basic_clist</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp" title="Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;">boost/persistent/intrusive/basic_clist.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_clist.html" title="Class template basic_clist">basic_clist</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="basic_clist.html#boost.persistent.intrusive.basic_clistconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_clist.html#id2651956-bb">basic_clist</a>();
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a class="link" href="basic_clist.html#id2651957-bb">basic_clist</a>(Iterator, Iterator);
-
- <span class="emphasis"><em>// <a class="link" href="basic_clist.html#id2651975-bb">private member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2651978-bb">serialize</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2652002-bb">load</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist.html#id2652026-bb">save</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3011033"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3011037"></a><h3>
-<a name="boost.persistent.intrusive.basic_clistconstruct-copy-destruct"></a><code class="computeroutput">basic_clist</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2651956-bb"></a>basic_clist();</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a name="id2651957-bb"></a>basic_clist(Iterator begin, Iterator end);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3011099"></a><h3>
-<a name="id2651975-bb"></a><code class="computeroutput">basic_clist</code> private member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651978-bb"></a>serialize(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> v) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2652002-bb"></a>load(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2652026-bb"></a>save(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_clist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp"><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="../basic_clist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_clist_hook.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_clist_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,113 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template basic_clist_hook</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp" title="Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;">
-<link rel="prev" href="../basic_clist/remove_pred.html" title="Struct remove_pred">
-<link rel="next" href="basic_clist.html" title="Class template basic_clist">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../basic_clist/remove_pred.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp"><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="basic_clist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_clist_hook"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template basic_clist_hook</span></h2>
-<p>boost::persistent::intrusive::basic_clist_hook</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp" title="Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;">boost/persistent/intrusive/basic_clist.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="basic_clist_hook.html" title="Struct template basic_clist_hook">basic_clist_hook</a> {
- <span class="emphasis"><em>// <a class="link" href="basic_clist_hook.html#boost.persistent.intrusive.basic_clist_hookconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_clist_hook.html#id2651674-bb">basic_clist_hook</a>();
- <a class="link" href="basic_clist_hook.html#id2651675-bb">basic_clist_hook</a>(basic_clist_hook <span class="bold"><strong>const</strong></span> &amp;);
- basic_clist_hook&amp; <a class="link" href="basic_clist_hook.html#id2651682-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_clist_hook <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_clist_hook.html#id2651688-bb">private member functions</a></em></span>
- <span class="type">node_ptr</span> <a class="link" href="basic_clist_hook.html#id2651691-bb">get_next</a>(basic_clist_hook *) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651703-bb">set_next</a>(node_ptr <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651716-bb">next_is_header</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">node_ptr</span> <a class="link" href="basic_clist_hook.html#id2651723-bb">get_previous</a>(basic_clist_hook *) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651735-bb">set_previous</a>(node_ptr <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651748-bb">previous_is_header</a>() <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651755-bb">serialize</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651779-bb">load</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651803-bb">save</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
-
- <span class="emphasis"><em>// <a class="link" href="basic_clist_hook.html#id2651827-bb">protected member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651830-bb">load</a>(Archive &amp;, deep_tag) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651854-bb">save</a>(Archive &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651877-bb">equal</a>(basic_clist_hook <span class="bold"><strong>const</strong></span> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651895-bb">copy</a>(basic_clist_hook &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_clist_hook.html#id2651913-bb">finalize</a>(deep_tag) <span class="bold"><strong>const</strong></span>;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3010214"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3010217"></a><h3>
-<a name="boost.persistent.intrusive.basic_clist_hookconstruct-copy-destruct"></a><code class="computeroutput">basic_clist_hook</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2651674-bb"></a>basic_clist_hook();</pre></li>
-<li><pre class="literallayout"><a name="id2651675-bb"></a>basic_clist_hook(basic_clist_hook <span class="bold"><strong>const</strong></span> &amp;);</pre></li>
-<li><pre class="literallayout">basic_clist_hook&amp; <a name="id2651682-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_clist_hook <span class="bold"><strong>const</strong></span> &amp;);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3010299"></a><h3>
-<a name="id2651688-bb"></a><code class="computeroutput">basic_clist_hook</code> private member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">node_ptr</span> <a name="id2651691-bb"></a>get_next(basic_clist_hook * header) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651703-bb"></a>set_next(node_ptr <span class="bold"><strong>const</strong></span> &amp; l) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2651716-bb"></a>next_is_header() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type">node_ptr</span> <a name="id2651723-bb"></a>get_previous(basic_clist_hook * header) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651735-bb"></a>set_previous(node_ptr <span class="bold"><strong>const</strong></span> &amp; l) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2651748-bb"></a>previous_is_header() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651755-bb"></a>serialize(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> v) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651779-bb"></a>load(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651803-bb"></a>save(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3010602"></a><h3>
-<a name="id2651827-bb"></a><code class="computeroutput">basic_clist_hook</code> protected member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651830-bb"></a>load(Archive &amp; ar, deep_tag) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651854-bb"></a>save(Archive &amp; ar, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2651877-bb"></a>equal(basic_clist_hook <span class="bold"><strong>const</strong></span> &amp; o, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651895-bb"></a>copy(basic_clist_hook &amp; dest, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2651913-bb"></a>finalize(deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../basic_clist/remove_pred.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_clist_hpp"><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="basic_clist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cmultiset.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cmultiset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,73 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cmultiset</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">
-<link rel="prev" href="basic_cset.html" title="Class template basic_cset">
-<link rel="next" href="../basic_cset.html" title="Class template basic_cset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="../basic_cset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_cmultiset"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cmultiset</span></h2>
-<p>boost::persistent::intrusive::basic_cmultiset</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">boost/persistent/intrusive/basic_cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cmultiset.html" title="Class template basic_cmultiset">basic_cmultiset</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="basic_cmultiset.html#boost.persistent.intrusive.basic_cmultisetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cmultiset.html#id2653594-bb">basic_cmultiset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
- <a class="link" href="basic_cmultiset.html#id2653603-bb">basic_cmultiset</a>(Iterator, Iterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3017610"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3017614"></a><h3>
-<a name="boost.persistent.intrusive.basic_cmultisetconstruct-copy-destruct"></a><code class="computeroutput">basic_cmultiset</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2653594-bb"></a>basic_cmultiset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
- <a name="id2653603-bb"></a>basic_cmultiset(Iterator begin, Iterator end,
- Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="../basic_cset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cset.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,97 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cset</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">
-<link rel="prev" href="basic_cset_hook.html" title="Struct template basic_cset_hook">
-<link rel="next" href="basic_cmultiset.html" title="Class template basic_cmultiset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cset_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="basic_cmultiset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_cset"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cset</span></h2>
-<p>boost::persistent::intrusive::basic_cset</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">boost/persistent/intrusive/basic_cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cset.html" title="Class template basic_cset">basic_cset</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="basic_cset.html#boost.persistent.intrusive.basic_csetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cset.html#id2653513-bb">basic_cset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
- <a class="link" href="basic_cset.html#id2653523-bb">basic_cset</a>(Iterator, Iterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
-
- <span class="emphasis"><em>// <a class="link" href="basic_cset.html#id2653427-bb">public member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
- <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
- <a class="link" href="basic_cset.html#id2653430-bb">insert_check</a>(KeyType <span class="bold"><strong>const</strong></span> &amp;, KeyValueCompare,
- <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
- <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
- <a class="link" href="basic_cset.html#id2653469-bb">insert_check</a>(<span class="bold"><strong>typename</strong></span> base::const_iterator, KeyType <span class="bold"><strong>const</strong></span> &amp;,
- KeyValueCompare, <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp;) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3017227"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3017230"></a><h3>
-<a name="boost.persistent.intrusive.basic_csetconstruct-copy-destruct"></a><code class="computeroutput">basic_cset</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2653513-bb"></a>basic_cset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
- <a name="id2653523-bb"></a>basic_cset(Iterator begin, Iterator end, Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3017306"></a><h3>
-<a name="id2653427-bb"></a><code class="computeroutput">basic_cset</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
- <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
- <a name="id2653430-bb"></a>insert_check(KeyType <span class="bold"><strong>const</strong></span> &amp; key, KeyValueCompare comp,
- <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp; data) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
- <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
- <a name="id2653469-bb"></a>insert_check(<span class="bold"><strong>typename</strong></span> base::const_iterator hint, KeyType <span class="bold"><strong>const</strong></span> &amp; key,
- KeyValueCompare comp,
- <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp; data) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cset_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="basic_cmultiset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cset_hook.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cset_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,123 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template basic_cset_hook</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">
-<link rel="prev" href="../basic_cmultiset.html" title="Class template basic_cmultiset">
-<link rel="next" href="basic_cset.html" title="Class template basic_cset">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../basic_cmultiset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="basic_cset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_cset_hook"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template basic_cset_hook</span></h2>
-<p>boost::persistent::intrusive::basic_cset_hook</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp" title="Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;">boost/persistent/intrusive/basic_cset.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="basic_cset_hook.html" title="Struct template basic_cset_hook">basic_cset_hook</a> {
- <span class="emphasis"><em>// <a class="link" href="basic_cset_hook.html#boost.persistent.intrusive.basic_cset_hookconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cset_hook.html#id2653050-bb">basic_cset_hook</a>();
- <a class="link" href="basic_cset_hook.html#id2653051-bb">basic_cset_hook</a>(basic_cset_hook <span class="bold"><strong>const</strong></span> &amp;);
- basic_cset_hook&amp; <a class="link" href="basic_cset_hook.html#id2653058-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_cset_hook <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cset_hook.html#id2653065-bb">private member functions</a></em></span>
- <span class="type">node_ptr</span> <a class="link" href="basic_cset_hook.html#id2653069-bb">get_left</a>(basic_cset_hook *) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653083-bb">set_left</a>(node_ptr <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653097-bb">left_is_header</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">node_ptr</span> <a class="link" href="basic_cset_hook.html#id2653105-bb">get_right</a>(basic_cset_hook *) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653119-bb">set_right</a>(node_ptr <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653132-bb">right_is_header</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type">node_ptr</span> <a class="link" href="basic_cset_hook.html#id2653141-bb">get_parent</a>(basic_cset_hook *) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653154-bb">set_parent</a>(node_ptr <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653168-bb">parent_is_header</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653176-bb">color</a>() <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653184-bb">color</a>(<span class="bold"><strong>bool</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653198-bb">serialize</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653225-bb">load</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653251-bb">save</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
-
- <span class="emphasis"><em>// <a class="link" href="basic_cset_hook.html#id2653278-bb">protected member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653282-bb">load</a>(Archive &amp;, deep_tag) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653308-bb">save</a>(Archive &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653335-bb">equal</a>(basic_cset_hook <span class="bold"><strong>const</strong></span> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653354-bb">copy</a>(basic_cset_hook &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cset_hook.html#id2653374-bb">finalize</a>(deep_tag) <span class="bold"><strong>const</strong></span>;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3016246"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3016249"></a><h3>
-<a name="boost.persistent.intrusive.basic_cset_hookconstruct-copy-destruct"></a><code class="computeroutput">basic_cset_hook</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2653050-bb"></a>basic_cset_hook();</pre></li>
-<li><pre class="literallayout"><a name="id2653051-bb"></a>basic_cset_hook(basic_cset_hook <span class="bold"><strong>const</strong></span> &amp;);</pre></li>
-<li><pre class="literallayout">basic_cset_hook&amp; <a name="id2653058-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_cset_hook <span class="bold"><strong>const</strong></span> &amp;);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3016331"></a><h3>
-<a name="id2653065-bb"></a><code class="computeroutput">basic_cset_hook</code> private member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">node_ptr</span> <a name="id2653069-bb"></a>get_left(basic_cset_hook * header) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653083-bb"></a>set_left(node_ptr <span class="bold"><strong>const</strong></span> &amp; l) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2653097-bb"></a>left_is_header() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type">node_ptr</span> <a name="id2653105-bb"></a>get_right(basic_cset_hook * header) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653119-bb"></a>set_right(node_ptr <span class="bold"><strong>const</strong></span> &amp; l) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2653132-bb"></a>right_is_header() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type">node_ptr</span> <a name="id2653141-bb"></a>get_parent(basic_cset_hook * header) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653154-bb"></a>set_parent(node_ptr <span class="bold"><strong>const</strong></span> &amp; l) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2653168-bb"></a>parent_is_header() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2653176-bb"></a>color() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653184-bb"></a>color(<span class="bold"><strong>bool</strong></span> red) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653198-bb"></a>serialize(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> v) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653225-bb"></a>load(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653251-bb"></a>save(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3016764"></a><h3>
-<a name="id2653278-bb"></a><code class="computeroutput">basic_cset_hook</code> protected member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653282-bb"></a>load(Archive &amp; ar, deep_tag) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653308-bb"></a>save(Archive &amp; ar, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2653335-bb"></a>equal(basic_cset_hook <span class="bold"><strong>const</strong></span> &amp; o, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653354-bb"></a>copy(basic_cset_hook &amp; dest, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2653374-bb"></a>finalize(deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../basic_cmultiset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cset_hpp"><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="basic_cset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cslist.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cslist.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,83 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template basic_cslist</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp" title="Header &lt;boost/persistent/intrusive/basic_cslist.hpp&gt;">
-<link rel="prev" href="basic_cslist_hook.html" title="Struct template basic_cslist_hook">
-<link rel="next" href="../loc.html" title="Class template loc">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cslist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp"><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="../loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_cslist"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template basic_cslist</span></h2>
-<p>boost::persistent::intrusive::basic_cslist</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp" title="Header &lt;boost/persistent/intrusive/basic_cslist.hpp&gt;">boost/persistent/intrusive/basic_cslist.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="basic_cslist.html" title="Class template basic_cslist">basic_cslist</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="basic_cslist.html#boost.persistent.intrusive.basic_cslistconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cslist.html#id2657228-bb">basic_cslist</a>();
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a class="link" href="basic_cslist.html#id2657229-bb">basic_cslist</a>(Iterator, Iterator);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cslist.html#id2657248-bb">private member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist.html#id2657252-bb">serialize</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist.html#id2657278-bb">load</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist.html#id2657305-bb">save</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3030604"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3030608"></a><h3>
-<a name="boost.persistent.intrusive.basic_cslistconstruct-copy-destruct"></a><code class="computeroutput">basic_cslist</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2657228-bb"></a>basic_cslist();</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a name="id2657229-bb"></a>basic_cslist(Iterator begin, Iterator end);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3030669"></a><h3>
-<a name="id2657248-bb"></a><code class="computeroutput">basic_cslist</code> private member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657252-bb"></a>serialize(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> v) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657278-bb"></a>load(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657305-bb"></a>save(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="basic_cslist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp"><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="../loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cslist_hook.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_cslist_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,107 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template basic_cslist_hook</title>
-<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp" title="Header &lt;boost/persistent/intrusive/basic_cslist.hpp&gt;">
-<link rel="prev" href="../isolation_exception.html" title="Struct isolation_exception">
-<link rel="next" href="basic_cslist.html" title="Class template basic_cslist">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../isolation_exception.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp"><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="basic_cslist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.intrusive.basic_cslist_hook"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template basic_cslist_hook</span></h2>
-<p>boost::persistent::intrusive::basic_cslist_hook</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp" title="Header &lt;boost/persistent/intrusive/basic_cslist.hpp&gt;">boost/persistent/intrusive/basic_cslist.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="basic_cslist_hook.html" title="Struct template basic_cslist_hook">basic_cslist_hook</a> {
- <span class="emphasis"><em>// <a class="link" href="basic_cslist_hook.html#boost.persistent.intrusive.basic_cslist_hookconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="basic_cslist_hook.html#id2656948-bb">basic_cslist_hook</a>();
- <a class="link" href="basic_cslist_hook.html#id2656949-bb">basic_cslist_hook</a>(basic_cslist_hook <span class="bold"><strong>const</strong></span> &amp;);
- basic_cslist_hook&amp; <a class="link" href="basic_cslist_hook.html#id2656956-bb"><span class="bold"><strong>operator</strong></span>=</a>(basic_cslist_hook <span class="bold"><strong>const</strong></span> &amp;);
-
- <span class="emphasis"><em>// <a class="link" href="basic_cslist_hook.html#id2656963-bb">private member functions</a></em></span>
- <span class="type">node_ptr</span> <a class="link" href="basic_cslist_hook.html#id2656966-bb">get_next</a>(basic_cslist_hook *) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2656980-bb">set_next</a>(node_ptr <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2656994-bb">next_is_header</a>() <span class="bold"><strong>const</strong></span>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657002-bb">serialize</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657029-bb">load</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657056-bb">save</a>(Archive &amp;, <span class="bold"><strong>unsigned</strong></span>) <span class="bold"><strong>const</strong></span>;
-
- <span class="emphasis"><em>// <a class="link" href="basic_cslist_hook.html#id2657082-bb">protected member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657086-bb">load</a>(Archive &amp;, deep_tag) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657112-bb">save</a>(Archive &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657139-bb">equal</a>(basic_cslist_hook <span class="bold"><strong>const</strong></span> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657158-bb">copy</a>(basic_cslist_hook &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_cslist_hook.html#id2657178-bb">finalize</a>(deep_tag) <span class="bold"><strong>const</strong></span>;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3029854"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3029858"></a><h3>
-<a name="boost.persistent.intrusive.basic_cslist_hookconstruct-copy-destruct"></a><code class="computeroutput">basic_cslist_hook</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2656948-bb"></a>basic_cslist_hook();</pre></li>
-<li><pre class="literallayout"><a name="id2656949-bb"></a>basic_cslist_hook(basic_cslist_hook <span class="bold"><strong>const</strong></span> &amp;);</pre></li>
-<li><pre class="literallayout">basic_cslist_hook&amp; <a name="id2656956-bb"></a><span class="bold"><strong>operator</strong></span>=(basic_cslist_hook <span class="bold"><strong>const</strong></span> &amp;);</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3029941"></a><h3>
-<a name="id2656963-bb"></a><code class="computeroutput">basic_cslist_hook</code> private member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type">node_ptr</span> <a name="id2656966-bb"></a>get_next(basic_cslist_hook * header) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2656980-bb"></a>set_next(node_ptr <span class="bold"><strong>const</strong></span> &amp; l) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2656994-bb"></a>next_is_header() <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657002-bb"></a>serialize(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> <span class="bold"><strong>int</strong></span> v) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657029-bb"></a>load(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657056-bb"></a>save(Archive &amp; ar, <span class="bold"><strong>unsigned</strong></span> int) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3030167"></a><h3>
-<a name="id2657082-bb"></a><code class="computeroutput">basic_cslist_hook</code> protected member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657086-bb"></a>load(Archive &amp; ar, deep_tag) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657112-bb"></a>save(Archive &amp; ar, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2657139-bb"></a>equal(basic_cslist_hook <span class="bold"><strong>const</strong></span> &amp; o, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657158-bb"></a>copy(basic_cslist_hook &amp; dest, deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657178-bb"></a>finalize(deep_tag) <span class="bold"><strong>const</strong></span>;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../isolation_exception.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_cslist_hpp"><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="basic_cslist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_list.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_list.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,1187 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_loc_list</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_list.hpp&gt;">
+<link rel="prev" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">
+<link rel="next" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_list_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp"><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="basic_loc_set_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_list"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_loc_list</span></h2>
+<p>boost::persistent::intrusive::basic_loc_list &#8212; A doubly linked intrusive list of locators. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_list.hpp&gt;">boost/persistent/intrusive/basic_loc_list.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_list.pointer"></a>pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_list.const_pointer"></a>const_pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_list.value_type"></a>value_type;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_list.reference"></a>reference;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_list.const_reference"></a>const_reference;
+ <span class="bold"><strong>typedef</strong></span> std::ptrdiff_t <a name="boost.persistent.intrusive.basic_loc_list.difference_type"></a>difference_type;
+ <span class="bold"><strong>typedef</strong></span> std::size_t <a name="boost.persistent.intrusive.basic_loc_list.size_type"></a>size_type;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_list.iterator"></a>iterator;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_list.const_iterator"></a>const_iterator;
+ <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt; iterator &gt; <a name="boost.persistent.intrusive.basic_loc_list.reverse_iterator"></a>reverse_iterator;
+ <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt; const_iterator &gt; <a name="boost.persistent.intrusive.basic_loc_list.const_reverse_iterator"></a>const_reverse_iterator;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_listconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_list.html#id2548309-bb">basic_loc_list</a>();
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a class="link" href="basic_loc_list.html#id2548319-bb">basic_loc_list</a>(Iterator, Iterator);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_list.html#id2544509-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2544513-bb">push_back</a>(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2544588-bb">push_front</a>(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2544663-bb">pop_back</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2544734-bb">pop_back_and_dispose</a>(Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2544823-bb">pop_front</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2544894-bb">pop_front_and_dispose</a>(Disposer) ;
+ <span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a></span> <a class="link" href="basic_loc_list.html#id2544984-bb">front</a>() ;
+ <span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a></span> <a class="link" href="basic_loc_list.html#id2545003-bb">front</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a></span> <a class="link" href="basic_loc_list.html#id2545022-bb">back</a>() ;
+ <span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a></span> <a class="link" href="basic_loc_list.html#id2545042-bb">back</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545061-bb">begin</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_list.html#id2545079-bb">begin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_list.html#id2545098-bb">cbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545117-bb">end</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_list.html#id2545135-bb">end</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_list.html#id2545154-bb">cend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">reverse_iterator</span> <a class="link" href="basic_loc_list.html#id2545172-bb">rbegin</a>() ;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_list.html#id2545191-bb">rbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_list.html#id2545210-bb">crbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">reverse_iterator</span> <a class="link" href="basic_loc_list.html#id2545229-bb">rend</a>() ;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_list.html#id2545248-bb">rend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_list.html#id2545267-bb">crend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_list.html#id2545286-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_list.html#id2545342-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2545360-bb">swap</a>(<a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2545437-bb">shift_backwards</a>(size_type = 1) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2545518-bb">shift_forward</a>(size_type = 1) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545599-bb">erase</a>(const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545681-bb">erase</a>(const_iterator, const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545774-bb">erase</a>(const_iterator, const_iterator, difference_type) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545873-bb">erase_and_dispose</a>(const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2545973-bb">erase_and_dispose</a>(const_iterator, const_iterator, Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546080-bb">clear</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546104-bb">clear_and_dispose</a>(Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546182-bb">clone_from</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;, Cloner, Disposer) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2546294-bb">insert</a>(const_iterator, <a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546386-bb">insert</a>(const_iterator, Iterator, Iterator) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546488-bb">assign</a>(Iterator, Iterator) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546583-bb">dispose_and_assign</a>(Disposer, Iterator, Iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546694-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546785-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;, const_iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546885-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;, const_iterator,
+ const_iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2546991-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;, const_iterator,
+ const_iterator, difference_type) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547104-bb">sort</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547177-bb">sort</a>(Predicate) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547268-bb">merge</a>(<a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547352-bb">merge</a>(<a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;, Predicate) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547455-bb">reverse</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547523-bb">remove</a>(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547604-bb">remove_and_dispose</a>(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a>, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547703-bb">remove_if</a>(Pred) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547790-bb">remove_and_dispose_if</a>(Pred, Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547893-bb">unique</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2547967-bb">unique</a>(BinaryPredicate) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2548055-bb">unique_and_dispose</a>(Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list.html#id2548147-bb">unique_and_dispose</a>(BinaryPredicate, Disposer) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_list.html#id2548251-bb">iterator_to</a>(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a>) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_list.html#id2548280-bb">iterator_to</a>(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_list.html#id2548400-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;</span> <a class="link" href="basic_loc_list.html#id2548404-bb">container_from_end_iterator</a>(iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;</span> <a class="link" href="basic_loc_list.html#id2548437-bb">container_from_end_iterator</a>(const_iterator) ;
+ <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>bool</strong></span></span> constant_time_size;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2844988"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type this container can store locators to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager that is used to access the stored objects </p></li>
+<li><p><code class="computeroutput">ConstantTimeSize</code> <code class="computeroutput">true</code> if member <code class="computeroutput">size()</code> should return in constant time. This reduces concurrency of threads. </p></li>
+<li><p><code class="computeroutput">Tag</code> The tag of the <code class="computeroutput">basic_loc_list_hook</code> that is used by this <code class="computeroutput">basic_loc_list</code> </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2845060"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_listconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_list</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2548309-bb"></a>basic_loc_list();</pre>Constructs an empty list. <p>Complexity: Constant</p>
+<p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a name="id2548319-bb"></a>basic_loc_list(Iterator begin, Iterator end);</pre>Constructs a list equal to the range [first,last). <p>Complexity: Linear in std::distance(b, e). No copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield a value of type value_type. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2845222"></a><h3>
+<a name="id2544509-bb"></a><code class="computeroutput">basic_loc_list</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544513-bb"></a>push_back(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a> value) ;</pre>Inserts the value in the back of the list. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544588-bb"></a>push_front(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a> value) ;</pre>Inserts the value in the front of the list. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544663-bb"></a>pop_back() ;</pre>Erases the last element of the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544734-bb"></a>pop_back_and_dispose(Disposer disposer) ;</pre>Erases the last element of the list. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544823-bb"></a>pop_front() ;</pre>Erases the first element of the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544894-bb"></a>pop_front_and_dispose(Disposer disposer) ;</pre>Erases the first element of the list. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a></span> <a name="id2544984-bb"></a>front() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The first element of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a></span> <a name="id2545003-bb"></a>front() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The first element of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a></span> <a name="id2545022-bb"></a>back() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The last element of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a></span> <a name="id2545042-bb"></a>back() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The last element of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2545061-bb"></a>begin() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the first element contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2545079-bb"></a>begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_iterator to the first element contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2545098-bb"></a>cbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_iterator to the first element contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2545117-bb"></a>end() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the end of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2545135-bb"></a>end() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_iterator to the end of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2545154-bb"></a>cend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A constant iterator to the end of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2545172-bb"></a>rbegin() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A reverse_iterator pointing to the beginning of the reversed list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2545191-bb"></a>rbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_reverse_iterator pointing to the beginning of the reversed list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2545210-bb"></a>crbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_reverse_iterator pointing to the beginning of the reversed list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2545229-bb"></a>rend() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A reverse_iterator pointing to the end of the reversed list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2545248-bb"></a>rend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_reverse_iterator pointing to the end of the reversed list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2545267-bb"></a>crend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_reverse_iterator pointing to the end of the reversed list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2545286-bb"></a>size() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing, if ConstantTimeSize is true. Otherwise: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements contained in the list. if ConstantTimeSize is false. Constant time otherwise.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of the elements contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2545342-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the list contains no elements. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2545360-bb"></a>swap(<a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; other) ;</pre>Swaps the elements of x and *this. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2545437-bb"></a>shift_backwards(size_type n = 1) ;</pre>Moves backwards all the elements. <p>The first element becomes the second, the second becomes the third... the last element becomes the first one.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of shifts.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2545518-bb"></a>shift_forward(size_type n = 1) ;</pre>Moves forward all the elements. <p>The second element becomes the first, the third becomes the second... the first element becomes the last one.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of shifts.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2545599-bb"></a>erase(const_iterator i) ;</pre>Erases the element pointed by i of the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed element, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2545681-bb"></a>erase(const_iterator b, const_iterator e) ;</pre>Erases the element range pointed by b and e. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of erased elements if ConstantTimeSize is true. Constant-time otherwise.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>b and e must be valid iterators to elements in *this. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2545774-bb"></a>erase(const_iterator b, const_iterator e, difference_type n) ;</pre>Erases the element range pointed by b and e. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>b and e must be valid iterators to elements in *this. n must be std::distance(b, e). </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2545873-bb"></a>erase_and_dispose(const_iterator i, Disposer disposer) ;</pre>Erases the element pointed by i of the list. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed element, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2545973-bb"></a>erase_and_dispose(const_iterator b, const_iterator e,
+ Disposer disposer) ;</pre>Erases the element range pointed by b and e. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements erased.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546080-bb"></a>clear() ;</pre>Erases all the elements of the container. <p>No destructors are called.</p>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546104-bb"></a>clear_and_dispose(Disposer disposer) ;</pre>Erases all the elements of the container. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements of the list.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546182-bb"></a>clone_from(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; src, Cloner cloner,
+ Disposer disposer) ;</pre>Erases all the elements from *this. <p>calls Disposer::operator()(pointer), clones all the elements from src calling Cloner::operator()(const_reference) and inserts them on *this.</p>
+<p>If cloner throws, all cloned elements are unlinked and disposed calling Disposer::operator()(pointer).</p>
+<p>Complexity: Linear to erased plus inserted elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exception thrown by the cloner
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. Cloner should yield to nodes equivalent to the original nodes. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2546294-bb"></a>insert(const_iterator p, <a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a> value) ;</pre>Inserts the value before the position pointed by p. <p>No copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant time.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must be a valid iterator of *this. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the inserted element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546386-bb"></a>insert(const_iterator p, Iterator b, Iterator e) ;</pre>Inserts the range pointed by b and e before the position p. <p>No copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield a value of type value_type and p must be a valid iterator of *this. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546488-bb"></a>assign(Iterator b, Iterator e) ;</pre>Clears the list and inserts the range pointed by b and e. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted in the list.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield a value of type value_type. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546583-bb"></a>dispose_and_assign(Disposer disposer, Iterator b, Iterator e) ;</pre>Clears the list and inserts the range pointed by b and e. <p>No destructors or copy constructors are called. Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted plus linear to the elements contained in the list.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Disposer::operator()(pointer) shouldn't throw. </p>
+<p>Dereferencing iterator must yield a value of type value_type. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546694-bb"></a>splice(const_iterator p, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; x) ;</pre>Transfers all the elements of list x to this list, before the the element pointed by p. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must be a valid iterator of *this. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546785-bb"></a>splice(const_iterator p, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; x, const_iterator new_ele) ;</pre>Transfers the value pointed by new_ele, from list x to this list, before the the element pointed by p. <p>No destructors or copy constructors are called. If p == new_ele or p == ++new_ele, this function is a null operation.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must be a valid iterator of *this. new_ele must point to an element contained in list x. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546885-bb"></a>splice(const_iterator p, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; x, const_iterator start,
+ const_iterator end) ;</pre>Transfers the range pointed by start and end from list x to this list, before the the element pointed by p. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements transferred if ConstantTimeSize is true. Constant-time otherwise.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must be a valid iterator of *this. start and end must point to elements contained in list x. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2546991-bb"></a>splice(const_iterator p, <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; x, const_iterator start,
+ const_iterator end, difference_type n) ;</pre>Transfers the range pointed by start and end from list x to this list, before the the element pointed by p. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>p must be a valid iterator of *this. start and end must point to elements contained in list x. </p>
+<p>n == std::distance(start, end) </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547104-bb"></a>sort() ;</pre>This function sorts the list *this according to std::less&lt;T&gt;. <p>The sort is stable, that is, the relative order of equivalent elements is preserved.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::less&lt;T&gt;</p>
+<p>Notes: Iterators are not invalidated.</p>
+<p>Complexity: The number of comparisons is approximately N log N, where N is the list's size. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547177-bb"></a>sort(Predicate p) ;</pre>This function sorts the list *this according to p. <p>The sort is stable, that is, the relative order of equivalent elements is preserved.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: The number of comparisons is approximately N log N, where N is the list's size.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must be a comparison function that induces a strict weak ordering </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547268-bb"></a>merge(<a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; x) ;</pre>This function removes all of x's elements and inserts them in order into *this according to std::less&lt;T&gt;. <p>The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::less&lt;T&gt;</p>
+<p>Complexity: This function is linear time: it performs at most size() + x.size() - 1 comparisons.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547352-bb"></a>merge(<a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp; x, Predicate p) ;</pre>This function removes all of x's elements and inserts them in order into *this. <p>The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: This function is linear time: it performs at most size() + x.size() - 1 comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering The lists x and *this must be distinct. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547455-bb"></a>reverse() ;</pre>Reverses the order of elements in the list. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: This function is linear time.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547523-bb"></a>remove(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a> value) ;</pre>Removes all the elements that compare equal to value. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time. It performs exactly size() comparisons for equality.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547604-bb"></a>remove_and_dispose(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a> value, Disposer disposer) ;</pre>Removes all the elements that compare equal to value. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time. It performs exactly size() comparisons for equality.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547703-bb"></a>remove_if(Pred pred) ;</pre>Removes all the elements for which a specified predicate is satisfied. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time. It performs exactly size() calls to the predicate.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547790-bb"></a>remove_and_dispose_if(Pred pred, Disposer disposer) ;</pre>Removes all the elements for which a specified predicate is satisfied. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time. It performs exactly size() comparisons for equality.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547893-bb"></a>unique() ;</pre>Removes adjacent duplicate elements or adjacent elements that are equal from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time (size()-1 comparisons calls to pred()).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2547967-bb"></a>unique(BinaryPredicate pred) ;</pre>Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time (size()-1 comparisons equality comparisons).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2548055-bb"></a>unique_and_dispose(Disposer disposer) ;</pre>Removes adjacent duplicate elements or adjacent elements that are equal from the list. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time (size()-1) comparisons equality comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2548147-bb"></a>unique_and_dispose(BinaryPredicate pred, Disposer disposer) ;</pre>Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time (size()-1) comparisons equality comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2548251-bb"></a>iterator_to(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.reference">reference</a> value) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant time.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value must be a value inserted in a list. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const_iterator pointing to the element </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2548280-bb"></a>iterator_to(<a class="link" href="basic_loc_list.html#boost.persistent.intrusive.basic_loc_list.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant time.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value must be a value inserted in a list. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator pointing to the element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2851054"></a><h3>
+<a name="id2548400-bb"></a><code class="computeroutput">basic_loc_list</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;</span> <a name="id2548404-bb"></a>container_from_end_iterator(iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end iterator of list. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A reference to the list associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a> &amp;</span>
+<a name="id2548437-bb"></a>container_from_end_iterator(const_iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end const_iterator of list. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>A const reference to the list associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_list_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp"><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="basic_loc_set_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_list_hook.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_list_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,168 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template basic_loc_list_hook</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_list.hpp&gt;">
+<link rel="prev" href="../interior_ptr.html" title="Class template interior_ptr">
+<link rel="next" href="basic_loc_list.html" title="Class template basic_loc_list">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../interior_ptr.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp"><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="basic_loc_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_list_hook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template basic_loc_list_hook</span></h2>
+<p>boost::persistent::intrusive::basic_loc_list_hook &#8212; A base class for persistent types that can be added to a <code class="computeroutput">basic_loc_list</code>. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_list.hpp&gt;">boost/persistent/intrusive/basic_loc_list.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> {
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_list_hook.html#boost.persistent.intrusive.basic_loc_list_hookconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_list_hook.html#id2544065-bb">basic_loc_list_hook</a>();
+ <a class="link" href="basic_loc_list_hook.html#id2544076-bb">basic_loc_list_hook</a>(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> <span class="bold"><strong>const</strong></span> &amp;);
+ basic_loc_list_hook&amp; <a class="link" href="basic_loc_list_hook.html#id2544103-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_list_hook.html#id2544118-bb">protected member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list_hook.html#id2544122-bb">load</a>(Archive &amp;, deep_tag) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list_hook.html#id2544170-bb">save</a>(Archive &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_list_hook.html#id2544219-bb">equal</a>(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> <span class="bold"><strong>const</strong></span> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list_hook.html#id2544263-bb">copy</a>(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_list_hook.html#id2544307-bb">finalize</a>(deep_tag) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2842664"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The derived type that will be added to a <code class="computeroutput">basic_loc_list</code> </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager </p></li>
+<li><p><code class="computeroutput">Tag</code> A tag to differentiate <code class="computeroutput">basic_loc_list_hooks</code> from each other, so a object can be added to more than one <code class="computeroutput">basic_loc_list</code> </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2842719"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_list_hookconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_list_hook</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2544065-bb"></a>basic_loc_list_hook();</pre>Constructs an empty <code class="computeroutput">basic_loc_list_hook</code>. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2544076-bb"></a>basic_loc_list_hook(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> <span class="bold"><strong>const</strong></span> &amp;);</pre>Constructs an empty <code class="computeroutput">basic_loc_list_hook</code>. <p>This constructor does not copy the contents of this <code class="computeroutput">basic_loc_list_hook</code> </p>
+<p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout">basic_loc_list_hook&amp; <a name="id2544103-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> <span class="bold"><strong>const</strong></span> &amp; o);</pre>Does nothing. <p>Throws: Nothing </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2842851"></a><h3>
+<a name="id2544118-bb"></a><code class="computeroutput">basic_loc_list_hook</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544122-bb"></a>load(Archive &amp; ar, deep_tag) ;</pre>Can be called from the user-supplied <code class="computeroutput">load()</code> function of the derived type. <p>Throws: <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>The Archive to load from </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544170-bb"></a>save(Archive &amp; ar, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">save()</code> function of the derived type. <p>Throws: <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>The archive to save to </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2544219-bb"></a>equal(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> <span class="bold"><strong>const</strong></span> &amp; o, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">equal()</code> function of the derived type. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>The <code class="computeroutput">basic_loc_list_hook</code> that <code class="computeroutput">this</code> is compared to </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544263-bb"></a>copy(<a class="link" href="basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a> &amp; dest, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">clone()</code> function of the derived type. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">dest</code></span></p></td>
+<td><p>The <code class="computeroutput">basic_loc_list_hook</code> that the contents of <code class="computeroutput">this</code> are copied to. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2544307-bb"></a>finalize(deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">finalize()</code> function of the derived type. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../interior_ptr.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_list_hpp"><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="basic_loc_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_multiset.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_multiset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,1203 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_loc_multiset</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;">
+<link rel="prev" href="basic_loc_set.html" title="Class template basic_loc_set">
+<link rel="next" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_set.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp"><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="basic_loc_slist_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_multiset"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_loc_multiset</span></h2>
+<p>boost::persistent::intrusive::basic_loc_multiset &#8212; A non-unique intrusive set of locators. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;">boost/persistent/intrusive/basic_loc_set.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.pointer"></a>pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.const_pointer"></a>const_pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.value_type"></a>value_type;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.reference"></a>reference;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.const_reference"></a>const_reference;
+ <span class="bold"><strong>typedef</strong></span> std::ptrdiff_t <a name="boost.persistent.intrusive.basic_loc_multiset.difference_type"></a>difference_type;
+ <span class="bold"><strong>typedef</strong></span> std::size_t <a name="boost.persistent.intrusive.basic_loc_multiset.size_type"></a>size_type;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_multiset.iterator"></a>iterator;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_multiset.const_iterator"></a>const_iterator;
+ <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt; iterator &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.reverse_iterator"></a>reverse_iterator;
+ <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt; const_iterator &gt; <a name="boost.persistent.intrusive.basic_loc_multiset.const_reverse_iterator"></a>const_reverse_iterator;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_multiset.insert_commit_data"></a>insert_commit_data;
+ <span class="bold"><strong>typedef</strong></span> Compare <a name="boost.persistent.intrusive.basic_loc_multiset.value_compare"></a>value_compare;
+ <span class="bold"><strong>typedef</strong></span> Compare <a name="boost.persistent.intrusive.basic_loc_multiset.key_compare"></a>key_compare;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multisetconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_multiset.html#id2556966-bb">basic_loc_multiset</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <a class="link" href="basic_loc_multiset.html#id2556985-bb">basic_loc_multiset</a>(Iterator, Iterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_multiset.html#id2553448-bb">public member functions</a></em></span>
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2553452-bb">begin</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553470-bb">begin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553489-bb">cbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2553508-bb">end</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553526-bb">end</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553545-bb">cend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">reverse_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553564-bb">rbegin</a>() ;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553583-bb">rbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553602-bb">crbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">reverse_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553621-bb">rend</a>() ;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553640-bb">rend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_multiset.html#id2553659-bb">crend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">key_compare</span> <a class="link" href="basic_loc_multiset.html#id2553678-bb">key_comp</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">value_compare</span> <a class="link" href="basic_loc_multiset.html#id2553697-bb">value_comp</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2553716-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2553734-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2553790-bb">swap</a>(<a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2553864-bb">clone_from</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;, Cloner, Disposer) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2553980-bb">insert</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2554062-bb">insert</a>(const_iterator, <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2554151-bb">insert</a>(Iterator, Iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2554251-bb">insert_before</a>(const_iterator, <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2554340-bb">push_back</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2554424-bb">push_front</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2554507-bb">erase</a>(const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2554587-bb">erase</a>(const_iterator, iterator) ;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2554673-bb">erase</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2554755-bb">erase</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2554853-bb">erase_and_dispose</a>(const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2554951-bb">erase_and_dispose</a>(const_iterator, const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2555055-bb">erase_and_dispose</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2555154-bb">erase_and_dispose</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare, Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2555268-bb">clear</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2555290-bb">clear_and_dispose</a>(Disposer) ;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2555366-bb">count</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_multiset.html#id2555429-bb">count</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2555508-bb">lower_bound</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2555571-bb">lower_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2555663-bb">lower_bound</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2555726-bb">lower_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2555817-bb">upper_bound</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2555880-bb">upper_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2555972-bb">upper_bound</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2556035-bb">upper_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2556126-bb">find</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2556188-bb">find</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2556279-bb">find</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2556341-bb">find</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">std::pair&lt; iterator, iterator &gt;</span> <a class="link" href="basic_loc_multiset.html#id2556431-bb">equal_range</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; iterator, iterator &gt;</span>
+ <a class="link" href="basic_loc_multiset.html#id2556494-bb">equal_range</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+ <a class="link" href="basic_loc_multiset.html#id2556586-bb">equal_range</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+ <a class="link" href="basic_loc_multiset.html#id2556650-bb">equal_range</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_multiset.html#id2556742-bb">iterator_to</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_multiset.html#id2556772-bb">iterator_to</a>(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.pointer">pointer</a></span> <a class="link" href="basic_loc_multiset.html#id2556803-bb">unlink_leftmost_without_rebalance</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_multiset.html#id2556875-bb">replace_node</a>(iterator, <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a>) ;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_multiset.html#id2557078-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span> <a class="link" href="basic_loc_multiset.html#id2557082-bb">container_from_end_iterator</a>(iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span>
+ <a class="link" href="basic_loc_multiset.html#id2557115-bb">container_from_end_iterator</a>(const_iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span> <a class="link" href="basic_loc_multiset.html#id2557148-bb">container_from_iterator</a>(iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span> <a class="link" href="basic_loc_multiset.html#id2557216-bb">container_from_iterator</a>(const_iterator) ;
+ <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>bool</strong></span></span> constant_time_size;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2863084"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type this container can store locators to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager that is used to access the stored objects </p></li>
+<li><p><code class="computeroutput">ConstantTimeSize</code> <code class="computeroutput">true</code> if member <code class="computeroutput">size()</code> should return in constant time. This reduces concurrency of threads. </p></li>
+<li><p><code class="computeroutput">Compare</code> A <code class="computeroutput">BinaryPredicate</code> that can less-than compare two objects of type T </p></li>
+<li><p><code class="computeroutput">Tag</code> The tag of the <code class="computeroutput">basic_loc_set_hook</code> that is used by this <code class="computeroutput">basic_loc_set</code> </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2863171"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_multisetconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_multiset</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2556966-bb"></a>basic_loc_multiset(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre>Constructs an empty multiset. <p>Complexity: Constant.</p>
+<p>Throws: If the copy constructor/operator() of comp throws. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <a name="id2556985-bb"></a>basic_loc_multiset(Iterator begin, Iterator end,
+ Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre>Constructs an empty multiset and inserts elements from [b, e). <p>Complexity: Linear in N if [b, e) is already sorted using comp and otherwise N * log N, where N is the distance between first and last</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the copy constructor/operator() of the value_compare object.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield an value of type value_type. cmp must be a comparison function that induces a strict weak ordering. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2863352"></a><h3>
+<a name="id2553448-bb"></a><code class="computeroutput">basic_loc_multiset</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2553452-bb"></a>begin() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator pointing to the beginning of the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2553470-bb"></a>begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the beginning of the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2553489-bb"></a>cbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the beginning of the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2553508-bb"></a>end() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator pointing to the end of the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2553526-bb"></a>end() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the end of the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2553545-bb"></a>cend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the end of the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2553564-bb"></a>rbegin() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a reverse_iterator pointing to the beginning of the reversed multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2553583-bb"></a>rbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the beginning of the reversed multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2553602-bb"></a>crbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the beginning of the reversed multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2553621-bb"></a>rend() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a reverse_iterator pointing to the end of the reversed multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2553640-bb"></a>rend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the end of the reversed multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2553659-bb"></a>crend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the end of the reversed multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">key_compare</span> <a name="id2553678-bb"></a>key_comp() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: If key_compare copy-constructor throws.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the key_compare object used by the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">value_compare</span> <a name="id2553697-bb"></a>value_comp() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: If value_compare copy-constructor throws.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the value_compare object used by the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2553716-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the container is empty. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2553734-bb"></a>size() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Linear to elements contained in *this if, constant-time size option is enabled. Constant-time otherwise.</p>
+<p>Throws: Nothing, if ConstantTimeSize is true. Otherwise: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of elements stored in the multiset. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2553790-bb"></a>swap(<a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp; other) ;</pre>Swaps the contents of two multisets. <p>Complexity: Constant.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the swap() call for the comparison functor found using ADL. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2553864-bb"></a>clone_from(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp; src, Cloner cloner,
+ Disposer disposer) ;</pre>Erases all the elements from *this. <p>calls Disposer::operator()(pointer), clones all the elements from src calling Cloner::operator()(const_reference ) and inserts them on *this. Copies the predicate from the source container.</p>
+<p>If cloner throws, all cloned elements are unlinked and disposed calling Disposer::operator()(pointer).</p>
+<p>Complexity: Linear to erased plus inserted elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the cloner or the predicate copy assignment.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Disposer::operator()(pointer) shouldn't throw. </p>
+<p>Cloner should yield to nodes equivalent to the original nodes. </p>
+</td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2553980-bb"></a>insert(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> value) ;</pre>Inserts value into the multiset. <p>Complexity: Average complexity for insert element is at most logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator that points to the position where the new element was inserted. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. No copy-constructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2554062-bb"></a>insert(const_iterator hint, <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> value) ;</pre>Inserts x into the multiset, using pos as a hint to where it will be inserted. <p>Complexity: Logarithmic in general, but it is amortized constant time if t is inserted immediately before hint.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator that points to the position where the new element was inserted. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. No copy-constructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2554151-bb"></a>insert(Iterator b, Iterator e) ;</pre>Inserts a range into the multiset. <p>Complexity: Insert range is in general O(N * log(N)), where N is the size of the range. However, it is linear in N if the range is already sorted by value_comp().</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield an value of type value_type. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator that points to the position where the new element was inserted. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. No copy-constructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2554251-bb"></a>insert_before(const_iterator pos, <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> value) ;</pre>Inserts x into the tree before "pos". <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>"pos" must be a valid iterator (or end) and must be the succesor of value once inserted according to the predicate </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function does not check preconditions so if "pos" is not the successor of "value" tree ordering invariant will be broken. This is a low-level function to be used only for performance reasons by advanced users. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2554340-bb"></a>push_back(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> value) ;</pre>Inserts x into the tree in the last position. <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be no less than the greatest inserted key </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function does not check preconditions so if value is less than the greatest inserted key tree ordering invariant will be broken. This function is slightly more efficient than using "insert_before". This is a low-level function to be used only for performance reasons by advanced users. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2554424-bb"></a>push_front(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> value) ;</pre>Inserts x into the tree in the first position. <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be no greater than the minimum inserted key </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function does not check preconditions so if value is greater than the minimum inserted key tree ordering invariant will be broken. This function is slightly more efficient than using "insert_before". This is a low-level function to be used only for performance reasons by advanced users. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2554507-bb"></a>erase(const_iterator i) ;</pre>Erases the element pointed to by pos. <p>Complexity: Average complexity is constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2554587-bb"></a>erase(const_iterator b, iterator e) ;</pre>Erases the range pointed to by b end e. <p>Complexity: Average complexity for erase range is at most O(log(size() + N)), where N is the number of elements in the range.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2554673-bb"></a>erase(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) ;</pre>Erases all the elements with the given value. <p>Complexity: O(log(size() + this-&gt;count(value)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a name="id2554755-bb"></a>erase(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>Erases all the elements that compare equal with the given key and the given comparison functor. <p>Complexity: O(log(size() + this-&gt;count(key, comp)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2554853-bb"></a>erase_and_dispose(const_iterator i, Disposer disposer) ;</pre>Erases the element pointed to by pos. Disposer::operator()(pointer) is called for the removed element. <p>Complexity: Average complexity for erase element is constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2554951-bb"></a>erase_and_dispose(const_iterator b, const_iterator e,
+ Disposer disposer) ;</pre>Erases the range pointed to by b end e. Disposer::operator()(pointer) is called for the removed elements. <p>Complexity: Average complexity for erase range is at most O(log(size() + N)), where N is the number of elements in the range.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a name="id2555055-bb"></a>erase_and_dispose(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value, Disposer disposer) ;</pre>Erases all the elements with the given value. Disposer::operator()(pointer) is called for the removed elements. <p>Complexity: O(log(size() + this-&gt;count(value)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a name="id2555154-bb"></a>erase_and_dispose(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp,
+ Disposer disposer) ;</pre>Erases all the elements with the given key. according to the comparison functor "comp". Disposer::operator()(pointer) is called for the removed elements. <p>Complexity: O(log(size() + this-&gt;count(key, comp)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2555268-bb"></a>clear() ;</pre>Erases all the elements of the container. <p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2555290-bb"></a>clear_and_dispose(Disposer disposer) ;</pre>Erases all the elements of the container. <p>Complexity: Linear to the number of elements on the container. Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2555366-bb"></a>count(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic to the number of elements contained plus lineal to number of objects with the given key.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of contained elements with the given key </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a name="id2555429-bb"></a>count(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic to the number of elements contained plus lineal to number of objects with the given key.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of contained elements with the same key compared with the given comparison functor. Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function. Throws: If comp ordering function throws. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2555508-bb"></a>lower_bound(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key is not less than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a name="id2555571-bb"></a>lower_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key according to the comparison functor is not less than k or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2555663-bb"></a>lower_bound(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const iterator to the first element whose key is not less than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a name="id2555726-bb"></a>lower_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the first element whose key according to the comparison functor is not less than k or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2555817-bb"></a>upper_bound(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key is greater than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a name="id2555880-bb"></a>upper_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key according to the comparison functor is greater than key or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2555972-bb"></a>upper_bound(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key is greater than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a name="id2556035-bb"></a>upper_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the first element whose key according to the comparison functor is greater than key or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2556126-bb"></a>find(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) ;</pre>Finds an iterator to the first element whose value is "value" or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a name="id2556188-bb"></a>find(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>Finds an iterator to the first element whose key is "key" according to the comparison functor or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2556279-bb"></a>find(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>Finds a const_iterator to the first element whose value is "value" or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a name="id2556341-bb"></a>find(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>Finds a const_iterator to the first element whose key is "key" according to the comparison functor or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::pair&lt; iterator, iterator &gt;</span> <a name="id2556431-bb"></a>equal_range(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) ;</pre>Finds a range containing all elements whose key is k or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; iterator, iterator &gt;</span>
+ <a name="id2556494-bb"></a>equal_range(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>Finds a range containing all elements whose key is k according to the comparison functor or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+<a name="id2556586-bb"></a>equal_range(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>Finds a range containing all elements whose key is k or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+ <a name="id2556650-bb"></a>equal_range(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>Finds a range containing all elements whose key is k according to the comparison functor or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2556742-bb"></a>iterator_to(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> value) ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value shall be in a set of appropriate type. Otherwise the behavior is undefined. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a valid iterator i belonging to the set that points to the value </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2556772-bb"></a>iterator_to(<a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value shall be in a set of appropriate type. Otherwise the behavior is undefined. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a valid const_iterator i belonging to the set that points to the value </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.pointer">pointer</a></span> <a name="id2556803-bb"></a>unlink_leftmost_without_rebalance() ;</pre>Unlinks the leftmost node from the tree. <p>Complexity: Average complexity is constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function breaks the tree and the tree can only be used for more unlink_leftmost_without_rebalance calls. This function is normally used to achieve a step by step controlled destruction of the tree. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2556875-bb"></a>replace_node(iterator replace_this, <a class="link" href="basic_loc_multiset.html#boost.persistent.intrusive.basic_loc_multiset.reference">reference</a> with_this) ;</pre>Replaces replace_this in its position in the tree with with_this. The tree does not need to be rebalanced. <p>Complexity: Constant.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>replace_this must be a valid iterator of *this and with_this must not be inserted in any tree. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function will break container ordering invariants if with_this is not equivalent to *replace_this according to the ordering rules. This function is faster than erasing and inserting the node, since no rebalancing or comparison is needed. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2868883"></a><h3>
+<a name="id2557078-bb"></a><code class="computeroutput">basic_loc_multiset</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span>
+<a name="id2557082-bb"></a>container_from_end_iterator(iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end iterator of multiset. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the multiset associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span>
+<a name="id2557115-bb"></a>container_from_end_iterator(const_iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end const_iterator of multiset. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the multiset associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span> <a name="id2557148-bb"></a>container_from_iterator(iterator it) ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Logarithmic.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be a valid iterator of multiset. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the multiset associated to the iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a> &amp;</span> <a name="id2557216-bb"></a>container_from_iterator(const_iterator it) ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Logarithmic.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be a valid const_iterator of multiset. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the multiset associated to the iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_set.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp"><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="basic_loc_slist_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_set.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_set.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,1279 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_loc_set</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;">
+<link rel="prev" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">
+<link rel="next" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_set_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp"><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="basic_loc_multiset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_set"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_loc_set</span></h2>
+<p>boost::persistent::intrusive::basic_loc_set &#8212; A unique intrusive set of locators. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;">boost/persistent/intrusive/basic_loc_set.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_set.pointer"></a>pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_set.const_pointer"></a>const_pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_set.value_type"></a>value_type;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_set.reference"></a>reference;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_set.const_reference"></a>const_reference;
+ <span class="bold"><strong>typedef</strong></span> std::ptrdiff_t <a name="boost.persistent.intrusive.basic_loc_set.difference_type"></a>difference_type;
+ <span class="bold"><strong>typedef</strong></span> std::size_t <a name="boost.persistent.intrusive.basic_loc_set.size_type"></a>size_type;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_set.iterator"></a>iterator;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_set.const_iterator"></a>const_iterator;
+ <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt; iterator &gt; <a name="boost.persistent.intrusive.basic_loc_set.reverse_iterator"></a>reverse_iterator;
+ <span class="bold"><strong>typedef</strong></span> std::reverse_iterator&lt; const_iterator &gt; <a name="boost.persistent.intrusive.basic_loc_set.const_reverse_iterator"></a>const_reverse_iterator;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_set.insert_commit_data"></a>insert_commit_data;
+ <span class="bold"><strong>typedef</strong></span> Compare <a name="boost.persistent.intrusive.basic_loc_set.value_compare"></a>value_compare;
+ <span class="bold"><strong>typedef</strong></span> Compare <a name="boost.persistent.intrusive.basic_loc_set.key_compare"></a>key_compare;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_setconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_set.html#id2552916-bb">basic_loc_set</a>(Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <a class="link" href="basic_loc_set.html#id2552935-bb">basic_loc_set</a>(Iterator, Iterator, Compare <span class="bold"><strong>const</strong></span> &amp; = Compare());
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_set.html#id2549045-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
+ <a class="link" href="basic_loc_set.html#id2549049-bb">insert_check</a>(KeyType <span class="bold"><strong>const</strong></span> &amp;, KeyValueCompare,
+ <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
+ <a class="link" href="basic_loc_set.html#id2549168-bb">insert_check</a>(<span class="bold"><strong>typename</strong></span> base::const_iterator, KeyType <span class="bold"><strong>const</strong></span> &amp;,
+ KeyValueCompare, <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp;) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2549297-bb">begin</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2549315-bb">begin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2549334-bb">cbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2549352-bb">end</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2549371-bb">end</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2549389-bb">cend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">reverse_iterator</span> <a class="link" href="basic_loc_set.html#id2549408-bb">rbegin</a>() ;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_set.html#id2549427-bb">rbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_set.html#id2549446-bb">crbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">reverse_iterator</span> <a class="link" href="basic_loc_set.html#id2549465-bb">rend</a>() ;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_set.html#id2549484-bb">rend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_reverse_iterator</span> <a class="link" href="basic_loc_set.html#id2549502-bb">crend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">key_compare</span> <a class="link" href="basic_loc_set.html#id2549521-bb">key_comp</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">value_compare</span> <a class="link" href="basic_loc_set.html#id2549540-bb">value_comp</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_set.html#id2549555-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2549573-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2549629-bb">swap</a>(<a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2549703-bb">clone_from</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;, Cloner, Disposer) ;
+ <span class="type">std::pair&lt; iterator, <span class="bold"><strong>bool</strong></span> &gt;</span> <a class="link" href="basic_loc_set.html#id2549818-bb">insert</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2549902-bb">insert</a>(const_iterator, <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2549992-bb">insert_commit</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>, <span class="bold"><strong>const</strong></span> insert_commit_data &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2550091-bb">insert</a>(Iterator, Iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2550186-bb">insert_before</a>(const_iterator, <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2550282-bb">push_back</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2550366-bb">push_front</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2550453-bb">erase</a>(const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2550533-bb">erase</a>(const_iterator, const_iterator) ;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2550619-bb">erase</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2550701-bb">erase</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2550801-bb">erase_and_dispose</a>(const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2550899-bb">erase_and_dispose</a>(const_iterator, const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2551003-bb">erase_and_dispose</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2551101-bb">erase_and_dispose</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare, Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2551215-bb">clear</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2551237-bb">clear_and_dispose</a>(Disposer) ;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2551315-bb">count</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_set.html#id2551378-bb">count</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2551459-bb">lower_bound</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2551522-bb">lower_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2551613-bb">lower_bound</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2551676-bb">lower_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2551768-bb">upper_bound</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2551831-bb">upper_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2551922-bb">upper_bound</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2551985-bb">upper_bound</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2552077-bb">find</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2552139-bb">find</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2552229-bb">find</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2552291-bb">find</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">std::pair&lt; iterator, iterator &gt;</span> <a class="link" href="basic_loc_set.html#id2552382-bb">equal_range</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; iterator, iterator &gt;</span>
+ <a class="link" href="basic_loc_set.html#id2552445-bb">equal_range</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) ;
+ <span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+ <a class="link" href="basic_loc_set.html#id2552537-bb">equal_range</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+ <a class="link" href="basic_loc_set.html#id2552600-bb">equal_range</a>(<span class="bold"><strong>const</strong></span> KeyType &amp;, KeyValueCompare) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_set.html#id2552692-bb">iterator_to</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_set.html#id2552723-bb">iterator_to</a>(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.pointer">pointer</a></span> <a class="link" href="basic_loc_set.html#id2552753-bb">unlink_leftmost_without_rebalance</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set.html#id2552826-bb">replace_node</a>(iterator, <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a>) ;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_set.html#id2553028-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a class="link" href="basic_loc_set.html#id2553031-bb">container_from_end_iterator</a>(iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a class="link" href="basic_loc_set.html#id2553064-bb">container_from_end_iterator</a>(const_iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a class="link" href="basic_loc_set.html#id2553097-bb">container_from_iterator</a>(iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a class="link" href="basic_loc_set.html#id2553165-bb">container_from_iterator</a>(const_iterator) ;
+ <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>bool</strong></span></span> constant_time_size;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2854430"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type this container can store locators to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager that is used to access the stored objects </p></li>
+<li><p><code class="computeroutput">ConstantTimeSize</code> <code class="computeroutput">true</code> if member <code class="computeroutput">size()</code> should return in constant time. This reduces concurrency of threads. </p></li>
+<li><p><code class="computeroutput">Compare</code> A <code class="computeroutput">BinaryPredicate</code> that can less-than compare two objects of type T </p></li>
+<li><p><code class="computeroutput">Tag</code> The tag of the <code class="computeroutput">basic_loc_set_hook</code> that is used by this <code class="computeroutput">basic_loc_set</code> </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2854518"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_setconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_set</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2552916-bb"></a>basic_loc_set(Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre>Constructs an empty set. <p>Complexity: Constant.</p>
+<p>Throws: If the copy constructor of comp throws. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <a name="id2552935-bb"></a>basic_loc_set(Iterator begin, Iterator end,
+ Compare <span class="bold"><strong>const</strong></span> &amp; comp = Compare());</pre>Constructs an empty set and inserts elements from [b, e). <p>Complexity: Linear in N if [b, e) is already sorted using comp and otherwise N * log N, where N is std::distance(last, first).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the copy constructor of Compare
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield an value of type value_type. cmp must be a comparison function that induces a strict weak ordering. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2854698"></a><h3>
+<a name="id2549045-bb"></a><code class="computeroutput">basic_loc_set</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
+ <a name="id2549049-bb"></a>insert_check(KeyType <span class="bold"><strong>const</strong></span> &amp; key, KeyValueCompare comp,
+ <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp; data) ;</pre>Checks if a value can be inserted in the set, using a user provided key instead of the value itself. <p>Complexity: Average complexity is at most logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the key_value_comp ordering function.</p>
+<p>
+
+
+If the check is successful, the user can construct the value_type and use "insert_commit" to insert the object in constant-time. This gives a total logarithmic complexity to the insertion: check(O(log(N)) + commit(O(1)).</p>
+<p>"commit_data" remains valid for a subsequent "insert_commit" only if no more objects are inserted or erased from the set. </p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>key_value_comp must be a comparison function that induces the same strict weak ordering as value_compare. The difference is that key_value_comp compares an arbitrary key with the contained values. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>If there is an equivalent value returns a pair containing an iterator to the already present value and false. If the value can be inserted returns true in the returned pair boolean and fills "commit_data" that is meant to be used with the "insert_commit" function. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used to improve performance when constructing a T is expensive: if there is an equivalent value the constructed object must be discarded. Many times, the part of the node that is used to impose the order is much cheaper to construct than the value_type and this function offers the possibility to use that part to check if the insertion will be successful.</p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; <span class="bold"><strong>typename</strong></span> base::iterator, <span class="bold"><strong>bool</strong></span> &gt;</span>
+ <a name="id2549168-bb"></a>insert_check(<span class="bold"><strong>typename</strong></span> base::const_iterator hint, KeyType <span class="bold"><strong>const</strong></span> &amp; key,
+ KeyValueCompare comp,
+ <span class="bold"><strong>typename</strong></span> base::insert_commit_data &amp; data) ;</pre>Checks if a value can be inserted in the set, using a user provided key instead of the value itself, using "hint" as a hint to where it will be inserted. <p>Complexity: Logarithmic in general, but it's amortized constant time if t is inserted immediately before hint.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, exceptions thrown by the key_value_comp ordering function.</p>
+<p>
+If the check is successful, the user can construct the value_type and use "insert_commit" to insert the object in constant-time. This can give a total constant-time complexity to the insertion: check(O(1)) + commit(O(1)).</p>
+<p>"commit_data" remains valid for a subsequent "insert_commit" only if no more objects are inserted or erased from the set.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>key_value_comp must be a comparison function that induces the same strict weak ordering as value_compare. The difference is that key_value_comp compares an arbitrary key with the contained values. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>If there is an equivalent value returns a pair containing an iterator to the already present value and false. If the value can be inserted returns true in the returned pair boolean and fills "commit_data" that is meant to be used with the "insert_commit" function. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used to improve performance when constructing a value_type is expensive: if there is an equivalent value the constructed object must be discarded. Many times, the part of the constructing that is used to impose the order is much cheaper to construct than the value_type and this function offers the possibility to use that key to check if the insertion will be successful.</p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2549297-bb"></a>begin() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator pointing to the beginning of the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2549315-bb"></a>begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the beginning of the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2549334-bb"></a>cbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the beginning of the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2549352-bb"></a>end() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator pointing to the end of the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2549371-bb"></a>end() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the end of the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2549389-bb"></a>cend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the end of the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2549408-bb"></a>rbegin() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a reverse_iterator pointing to the beginning of the reversed set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2549427-bb"></a>rbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the beginning of the reversed set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2549446-bb"></a>crbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the beginning of the reversed set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">reverse_iterator</span> <a name="id2549465-bb"></a>rend() ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a reverse_iterator pointing to the end of the reversed set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2549484-bb"></a>rend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the end of the reversed set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_reverse_iterator</span> <a name="id2549502-bb"></a>crend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_reverse_iterator pointing to the end of the reversed set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">key_compare</span> <a name="id2549521-bb"></a>key_comp() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: If key_compare copy-constructor throws.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the key_compare object used by the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">value_compare</span> <a name="id2549540-bb"></a>value_comp() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: If value_compare copy-constructor throws. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2549555-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the container is empty. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2549573-bb"></a>size() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Linear to elements contained in *this if, ConstantTimeSize is false. Constant-time otherwise.</p>
+<p>Throws: Nothing, if ConstantTimeSize is true. Otherwise: Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of elements stored in the set. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2549629-bb"></a>swap(<a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp; other) ;</pre>Swaps the contents of two sets. <p>Complexity: Constant.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the swap() call for the comparison functors. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2549703-bb"></a>clone_from(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp; src, Cloner cloner, Disposer disposer) ;</pre>Erases all the elements from *this. <p>calls Disposer::operator()(pointer), clones all the elements from src calling Cloner::operator()(const_reference ) and inserts them on *this. Copies the predicate from the source container.</p>
+<p>If cloner throws, all cloned elements are unlinked and disposed calling Disposer::operator()(pointer).</p>
+<p>Complexity: Linear to erased plus inserted elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the cloner or the predicate copy assignment.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Disposer::operator()(pointer) shouldn't throw. </p>
+<p>Cloner should yield to nodes equivalent to the original nodes. </p>
+</td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::pair&lt; iterator, <span class="bold"><strong>bool</strong></span> &gt;</span> <a name="id2549818-bb"></a>insert(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value) ;</pre>Tries to inserts value into the set. <p>If the value is not already present inserts it and returns a pair containing the iterator to the new value and true. If there is an equivalent value returns a pair containing an iterator to the already present value and false.</p>
+<p>Complexity: Average complexity for insert element is at most logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. No copy-constructors are called. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2549902-bb"></a>insert(const_iterator hint, <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value) ;</pre>Tries to to insert x into the set, using "hint" as a hint to where it will be inserted. <p>Complexity: Logarithmic in general, but it's amortized constant time if t is inserted immediately before hint.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator that points to the position where the new element was inserted into the set. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. No copy-constructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2549992-bb"></a>insert_commit(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value,
+ <span class="bold"><strong>const</strong></span> insert_commit_data &amp; commit_data) ;</pre>Inserts the value in the set using the information obtained from the "commit_data" that a previous "insert_check" filled. <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,</p>
+<p>
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value must be an value of type value_type. commit_data must have been obtained from a previous call to "insert_check". No objects should have been inserted or erased from the set between the "insert_check" that filled "commit_data" and the call to "insert_commit". </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the newly inserted object. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function has only sense if a "insert_check" has been previously executed to fill "commit_data". No value should be inserted or erased between the "insert_check" and "insert_commit" calls. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2550091-bb"></a>insert(Iterator b, Iterator e) ;</pre>Inserts a range into the set. <p>Complexity: Insert range is in general O(N * log(N)), where N is the size of the range. However, it is linear in N if the range is already sorted by value_comp().</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield an value of type value_type. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. No copy-constructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2550186-bb"></a>insert_before(const_iterator pos, <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value) ;</pre>Inserts x into the tree before "pos". <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,</p>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>"pos" must be a valid iterator (or end) and must be the succesor of value once inserted according to the predicate. </p>
+<p>"value" must not be equal to any inserted key according to the predicate. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function does not check preconditions so if "pos" is not the successor of "value" or "value" is not unique tree ordering and uniqueness invariants will be broken respectively. This is a low-level function to be used only for performance reasons by advanced users. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2550282-bb"></a>push_back(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value) ;</pre>Inserts x into the tree in the last position. <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be greater than any inserted key according to the predicate. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function does not check preconditions so if value is less than or equal to the greatest inserted key tree ordering invariant will be broken. This function is slightly more efficient than using "insert_before". This is a low-level function to be used only for performance reasons by advanced users. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2550366-bb"></a>push_front(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value) ;</pre>Inserts x into the tree in the first position. <p>Complexity: Constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,</p>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be less than any inserted key according to the predicate. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function does not check preconditions so if value is greater than or equal to the the mimum inserted key tree ordering or uniqueness invariants will be broken. This function is slightly more efficient than using "insert_before". This is a low-level function to be used only for performance reasons by advanced users. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2550453-bb"></a>erase(const_iterator i) ;</pre>Erases the element pointed to by pos. <p>Complexity: Average complexity is constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2550533-bb"></a>erase(const_iterator b, const_iterator e) ;</pre>Erases the range pointed to by b end e. <p>Complexity: Average complexity for erase range is at most O(log(size() + N)), where N is the number of elements in the range.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2550619-bb"></a>erase(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) ;</pre>Erases all the elements with the given value. <p>Complexity: O(log(size()) + this-&gt;count(value)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the internal value_compare ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a name="id2550701-bb"></a>erase(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>Erases all the elements that compare equal with the given key and the given comparison functor. <p>Complexity: O(log(size() + this-&gt;count(key, comp)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the comp ordering function.</p>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2550801-bb"></a>erase_and_dispose(const_iterator i, Disposer disposer) ;</pre>Erases the element pointed to by pos. Disposer::operator()(pointer) is called for the removed element. <p>Complexity: Average complexity for erase element is constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2550899-bb"></a>erase_and_dispose(const_iterator b, const_iterator e,
+ Disposer disposer) ;</pre>Erases the range pointed to by b end e. Disposer::operator()(pointer) is called for the removed elements. <p>Complexity: Average complexity for erase range is at most O(log(size() + N)), where N is the number of elements in the range.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the element after the erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a name="id2551003-bb"></a>erase_and_dispose(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value, Disposer disposer) ;</pre>Erases all the elements with the given value. Disposer::operator()(pointer) is called for the removed elements. <p>Throws: If the internal value_compare ordering function throws.</p>
+<p>Complexity: O(log(size() + this-&gt;count(value)). Basic guarantee.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>,
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">size_type</span> <a name="id2551101-bb"></a>erase_and_dispose(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp,
+ Disposer disposer) ;</pre>Erases all the elements with the given key. according to the comparison functor "comp". Disposer::operator()(pointer) is called for the removed elements. <p>Complexity: O(log(size() + this-&gt;count(key, comp)).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The number of erased elements. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2551215-bb"></a>clear() ;</pre>Erases all the elements of the container. <p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2551237-bb"></a>clear_and_dispose(Disposer disposer) ;</pre>Erases all the elements of the container. <p>Complexity: Linear to the number of elements on the container.</p>
+<p>Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. No destructors are called. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2551315-bb"></a>count(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic to the number of elements contained plus lineal to number of objects with the given key.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of contained elements with the given key </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">size_type</span> <a name="id2551378-bb"></a>count(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic to the number of elements contained plus lineal to number of objects with the given key.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of contained elements with the same key compared with the given comparison functor. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2551459-bb"></a>lower_bound(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key is not less than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a name="id2551522-bb"></a>lower_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key according to the comparison functor is not less than k or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2551613-bb"></a>lower_bound(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const iterator to the first element whose key is not less than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a name="id2551676-bb"></a>lower_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the first element whose key according to the comparison functor is not less than k or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2551768-bb"></a>upper_bound(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key is greater than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a name="id2551831-bb"></a>upper_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key according to the comparison functor is greater than key or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2551922-bb"></a>upper_bound(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element whose key is greater than k or end() if that element does not exist. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a name="id2551985-bb"></a>upper_bound(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the first element whose key according to the comparison functor is greater than key or end() if that element does not exist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2552077-bb"></a>find(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) ;</pre>Finds an iterator to the first element whose value is "value" or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">iterator</span> <a name="id2552139-bb"></a>find(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>Finds an iterator to the first element whose key is "key" according to the comparison functor or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2552229-bb"></a>find(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>Finds a const_iterator to the first element whose value is "value" or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">const_iterator</span> <a name="id2552291-bb"></a>find(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>Finds a const_iterator to the first element whose key is "key" according to the comparison functor or end() if that element does not exist. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::pair&lt; iterator, iterator &gt;</span> <a name="id2552382-bb"></a>equal_range(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) ;</pre>Finds a range containing all elements whose key is k or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; iterator, iterator &gt;</span>
+ <a name="id2552445-bb"></a>equal_range(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) ;</pre>Finds a range containing all elements whose key is k according to the comparison functor or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+<a name="id2552537-bb"></a>equal_range(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>Finds a range containing all elements whose key is k or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the internal value_compare ordering function. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> KeyType, <span class="bold"><strong>typename</strong></span> KeyValueCompare&gt;
+ <span class="type">std::pair&lt; const_iterator, const_iterator &gt;</span>
+ <a name="id2552600-bb"></a>equal_range(<span class="bold"><strong>const</strong></span> KeyType &amp; key, KeyValueCompare comp) <span class="bold"><strong>const</strong></span>;</pre>Finds a range containing all elements whose key is k according to the comparison functor or an empty range that indicates the position where those elements would be if they there is no elements with key k. <p>Complexity: Logarithmic.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> exceptions thrown by the comp ordering function.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>comp must imply the same element order as value_compare. Usually key is the part of the value_type that is used in the ordering functor. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function is used when constructing a value_type is expensive and the value_type can be compared with a cheaper key type. Usually this key is part of the value_type. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2552692-bb"></a>iterator_to(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> value) ;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value shall be in a set of appropriate type. Otherwise the behavior is undefined. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a valid iterator i belonging to the set that points to the value </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2552723-bb"></a>iterator_to(<a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Complexity: Constant.</p>
+<p>Throws: Nothing.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value shall be in a set of appropriate type. Otherwise the behavior is undefined. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a valid const_iterator i belonging to the set that points to the value </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.pointer">pointer</a></span> <a name="id2552753-bb"></a>unlink_leftmost_without_rebalance() ;</pre>Unlinks the leftmost node from the tree. <p>Complexity: Average complexity is constant time.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function breaks the tree and the tree can only be used for more unlink_leftmost_without_rebalance calls. This function is normally used to achieve a step by step controlled destruction of the tree. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2552826-bb"></a>replace_node(iterator replace_this, <a class="link" href="basic_loc_set.html#boost.persistent.intrusive.basic_loc_set.reference">reference</a> with_this) ;</pre>Replaces replace_this in its position in the tree with with_this. The tree does not need to be rebalanced. <p>Complexity: Constant.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>replace_this must be a valid iterator of *this and with_this must not be inserted in any tree. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>This function will break container ordering invariants if with_this is not equivalent to *replace_this according to the ordering rules. This function is faster than erasing and inserting the node, since no rebalancing or comparison is needed. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2860725"></a><h3>
+<a name="id2553028-bb"></a><code class="computeroutput">basic_loc_set</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a name="id2553031-bb"></a>container_from_end_iterator(iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end iterator of set. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a reference to the set associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span>
+<a name="id2553064-bb"></a>container_from_end_iterator(const_iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end const_iterator of set. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the set associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a name="id2553097-bb"></a>container_from_iterator(iterator it) ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Logarithmic.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be a valid iterator of set. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a reference to the set associated to the iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a> &amp;</span> <a name="id2553165-bb"></a>container_from_iterator(const_iterator it) ;</pre>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Logarithmic.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it must be a valid const_iterator of set. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the set associated to the iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_set_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp"><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="basic_loc_multiset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_set_hook.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_set_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,168 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template basic_loc_set_hook</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;">
+<link rel="prev" href="basic_loc_list.html" title="Class template basic_loc_list">
+<link rel="next" href="basic_loc_set.html" title="Class template basic_loc_set">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_list.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp"><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="basic_loc_set.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_set_hook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template basic_loc_set_hook</span></h2>
+<p>boost::persistent::intrusive::basic_loc_set_hook &#8212; A base class for persistent types that can be added to a <code class="computeroutput">basic_loc_set</code> or <code class="computeroutput">basic_loc_multiset</code>. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;">boost/persistent/intrusive/basic_loc_set.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> {
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_set_hook.html#boost.persistent.intrusive.basic_loc_set_hookconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_set_hook.html#id2548564-bb">basic_loc_set_hook</a>();
+ <a class="link" href="basic_loc_set_hook.html#id2548575-bb">basic_loc_set_hook</a>(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> <span class="bold"><strong>const</strong></span> &amp;);
+ basic_loc_set_hook&amp; <a class="link" href="basic_loc_set_hook.html#id2548602-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_set_hook.html#id2548617-bb">protected member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set_hook.html#id2548621-bb">load</a>(Archive &amp;, deep_tag) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set_hook.html#id2548669-bb">save</a>(Archive &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_set_hook.html#id2548717-bb">equal</a>(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> <span class="bold"><strong>const</strong></span> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set_hook.html#id2548761-bb">copy</a>(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_set_hook.html#id2548805-bb">finalize</a>(deep_tag) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2851710"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The derived type that will be added to a <code class="computeroutput">basic_loc_set</code> or <code class="computeroutput">basic_loc_multiset</code> </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager </p></li>
+<li><p><code class="computeroutput">Tag</code> A tag to differentiate <code class="computeroutput">basic_loc_set_hooks</code> from each other, so a object can be added to more than one intrusive set </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2851765"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_set_hookconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_set_hook</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2548564-bb"></a>basic_loc_set_hook();</pre>Constructs an empty <code class="computeroutput">basic_loc_set_hook</code>. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2548575-bb"></a>basic_loc_set_hook(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> <span class="bold"><strong>const</strong></span> &amp;);</pre>Constructs an empty <code class="computeroutput">basic_loc_set_hook</code>. <p>This constructor does not copy the contents of this <code class="computeroutput">basic_loc_set_hook</code> </p>
+<p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout">basic_loc_set_hook&amp; <a name="id2548602-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> <span class="bold"><strong>const</strong></span> &amp;);</pre>Does nothing. <p>Throws: Nothing </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2851897"></a><h3>
+<a name="id2548617-bb"></a><code class="computeroutput">basic_loc_set_hook</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2548621-bb"></a>load(Archive &amp; ar, deep_tag) ;</pre>Can be called from the user-supplied <code class="computeroutput">load()</code> function of the derived type. <p>Throws: <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>The Archive to load from </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2548669-bb"></a>save(Archive &amp; ar, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">save()</code> function of the derived type. <p>Throws: <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>The archive to save to </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2548717-bb"></a>equal(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> <span class="bold"><strong>const</strong></span> &amp; o, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">equal()</code> function of the derived type. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>The <code class="computeroutput">basic_loc_set_hook</code> that <code class="computeroutput">this</code> is compared to </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2548761-bb"></a>copy(<a class="link" href="basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a> &amp; dest, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">clone()</code> function of the derived type. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">dest</code></span></p></td>
+<td><p>The <code class="computeroutput">basic_loc_set_hook</code> that the contents of <code class="computeroutput">this</code> are copied to. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2548805-bb"></a>finalize(deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">finalize()</code> function of the derived type. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_list.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_set_hpp"><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="basic_loc_set.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_slist.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_slist.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,1485 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template basic_loc_slist</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_slist.hpp&gt;">
+<link rel="prev" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">
+<link rel="next" href="loc_list_hook.html" title="Struct template loc_list_hook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_slist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp"><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="loc_list_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_slist"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template basic_loc_slist</span></h2>
+<p>boost::persistent::intrusive::basic_loc_slist &#8212; A singly linked intrusive list of locators. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_slist.hpp&gt;">boost/persistent/intrusive/basic_loc_slist.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_slist.pointer"></a>pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_slist.const_pointer"></a>const_pointer;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_slist.value_type"></a>value_type;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_slist.reference"></a>reference;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T <span class="bold"><strong>const</strong></span>, TxMgr &gt; <a name="boost.persistent.intrusive.basic_loc_slist.const_reference"></a>const_reference;
+ <span class="bold"><strong>typedef</strong></span> std::ptrdiff_t <a name="boost.persistent.intrusive.basic_loc_slist.difference_type"></a>difference_type;
+ <span class="bold"><strong>typedef</strong></span> std::size_t <a name="boost.persistent.intrusive.basic_loc_slist.size_type"></a>size_type;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_slist.iterator"></a>iterator;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.intrusive.basic_loc_slist.const_iterator"></a>const_iterator;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slistconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_slist.html#id2562822-bb">basic_loc_slist</a>();
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a class="link" href="basic_loc_slist.html#id2562832-bb">basic_loc_slist</a>(Iterator, Iterator);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_slist.html#id2557807-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2557811-bb">clear</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2557832-bb">clear_and_dispose</a>(Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2557910-bb">push_front</a>(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a>) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2557988-bb">pop_front</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558012-bb">pop_front_and_dispose</a>(Disposer) ;
+ <span class="type"><a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a></span> <a class="link" href="basic_loc_slist.html#id2558054-bb">front</a>() ;
+ <span class="type"><a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a></span> <a class="link" href="basic_loc_slist.html#id2558073-bb">front</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2558092-bb">begin</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2558111-bb">begin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2558130-bb">cbegin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2558148-bb">end</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2558167-bb">end</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2558185-bb">cend</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2558203-bb">before_begin</a>() ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2558225-bb">before_begin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2558246-bb">cbefore_begin</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type">size_type</span> <a class="link" href="basic_loc_slist.html#id2558268-bb">size</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558324-bb">empty</a>() <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558343-bb">swap</a>(<a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558420-bb">shift_backwards</a>(size_type = 1) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558501-bb">shift_forward</a>(size_type = 1) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558582-bb">clone_from</a>(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, Cloner, Disposer) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2558697-bb">insert_after</a>(const_iterator, <a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558789-bb">insert_after</a>(const_iterator, Iterator, Iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2558891-bb">insert</a>(const_iterator, <a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2558980-bb">insert</a>(const_iterator, Iterator, Iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559084-bb">erase_after</a>(const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559167-bb">erase_after</a>(const_iterator, const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559255-bb">erase_after</a>(const_iterator, const_iterator, difference_type) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559353-bb">erase</a>(const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559435-bb">erase</a>(const_iterator, const_iterator) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559528-bb">erase</a>(const_iterator, const_iterator, difference_type) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559627-bb">erase_after_and_dispose</a>(const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559727-bb">erase_after_and_dispose</a>(const_iterator, const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559834-bb">erase_and_dispose</a>(const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2559935-bb">erase_and_dispose</a>(const_iterator, const_iterator, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560045-bb">assign</a>(Iterator, Iterator) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560141-bb">dispose_and_assign</a>(Disposer, Iterator, Iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560251-bb">splice_after</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator * = 0) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560359-bb">splice_after</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560461-bb">splice_after</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator,
+ const_iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560569-bb">splice_after</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator,
+ const_iterator, difference_type) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560684-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, iterator * = 0) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560792-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560890-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator,
+ const_iterator) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2560997-bb">splice</a>(const_iterator, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, const_iterator,
+ const_iterator, difference_type) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561114-bb">sort</a>(Predicate) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561201-bb">sort</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561284-bb">merge</a>(<a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;, Predicate, const_iterator * = 0) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561402-bb">merge</a>(<a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561485-bb">reverse</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561554-bb">remove</a>(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a>) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561637-bb">remove_and_dispose</a>(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a>, Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561735-bb">remove_if</a>(Pred) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561823-bb">remove_and_dispose_if</a>(Pred, Disposer) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2561925-bb">unique</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2562000-bb">unique</a>(BinaryPredicate) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2562088-bb">unique_and_dispose</a>(Disposer) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2562180-bb">unique_and_dispose</a>(BinaryPredicate, Disposer) ;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2562283-bb">iterator_to</a>(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a>) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2562313-bb">iterator_to</a>(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a>) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2562343-bb">previous</a>(iterator) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2562406-bb">previous</a>(const_iterator) <span class="bold"><strong>const</strong></span>;
+ <span class="type">iterator</span> <a class="link" href="basic_loc_slist.html#id2562471-bb">previous</a>(const_iterator, iterator) ;
+ <span class="type">const_iterator</span> <a class="link" href="basic_loc_slist.html#id2562541-bb">previous</a>(const_iterator, const_iterator) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2562612-bb">incorporate_after</a>(const_iterator, node_ptr, node_ptr) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist.html#id2562713-bb">incorporate_after</a>(const_iterator, node_ptr, node_ptr, difference_type) ;
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_slist.html#id2562915-bb">public static functions</a></em></span>
+ <span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;</span> <a class="link" href="basic_loc_slist.html#id2562919-bb">container_from_end_iterator</a>(iterator) ;
+ <span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;</span> <a class="link" href="basic_loc_slist.html#id2562952-bb">container_from_end_iterator</a>(const_iterator) ;
+ <span class="bold"><strong>static</strong></span> <span class="type"><span class="bold"><strong>const</strong></span> <span class="bold"><strong>bool</strong></span></span> constant_time_size;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2872174"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The type this container can store locators to </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager that is used to access the stored objects </p></li>
+<li><p><code class="computeroutput">ConstantTimeSize</code> <code class="computeroutput">true</code> if member <code class="computeroutput">size()</code> should return in constant time. This reduces concurrency of threads. </p></li>
+<li><p><code class="computeroutput">Tag</code> The tag of the <code class="computeroutput">basic_loc_slist_hook</code> that is used by this <code class="computeroutput">basic_loc_slist</code> </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2872246"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_slistconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_slist</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2562822-bb"></a>basic_loc_slist();</pre>constructs an empty list. <p>Complexity: Constant</p>
+<p>Throws: Nothing. </p>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <a name="id2562832-bb"></a>basic_loc_slist(Iterator begin, Iterator end);</pre>Constructs a list equal to [first,last). <p>No copy constructors are called.</p>
+<p>Complexity: Linear in std::distance(b, e).</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield an value of type value_type. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2872409"></a><h3>
+<a name="id2557807-bb"></a><code class="computeroutput">basic_loc_slist</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557811-bb"></a>clear() ;</pre>Erases all the elements of the container. <p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557832-bb"></a>clear_and_dispose(Disposer disposer) ;</pre>Erases all the elements of the container. <p>Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements of the list.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557910-bb"></a>push_front(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a> value) ;</pre>Inserts the value in the front of the list. <p>No copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557988-bb"></a>pop_front() ;</pre>Erases the first element of the list. <p>No destructors are called.</p>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558012-bb"></a>pop_front_and_dispose(Disposer disposer) ;</pre>Erases the first element of the list. <p>Disposer::operator()(pointer) is called for the removed element.</p>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a></span> <a name="id2558054-bb"></a>front() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a></span> <a name="id2558073-bb"></a>front() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2558092-bb"></a>begin() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the first element contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2558111-bb"></a>begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the first element contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2558130-bb"></a>cbegin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the first element contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2558148-bb"></a>end() ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator to the end of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2558167-bb"></a>end() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the end of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2558185-bb"></a>cend() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator to the end of the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2558203-bb"></a>before_begin() ;</pre>
+<p>Equivalent to "end()"</p>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator that points to a position before the first element. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2558225-bb"></a>before_begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Equivalent to "end()"</p>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator that points to a position before the first element. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2558246-bb"></a>cbefore_begin() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Equivalent to "end()"</p>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator that points to a position before the first element. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">size_type</span> <a name="id2558268-bb"></a>size() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing, if ConstantTimeSize is true. Otherwise: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements contained in the list. if ConstantTimeSize is false. Constant time otherwise.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the number of the elements contained in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2558324-bb"></a>empty() <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>true if the list contains no elements. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558343-bb"></a>swap(<a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; other) ;</pre>Swaps the elements of x and *this. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements of both lists.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558420-bb"></a>shift_backwards(size_type n = 1) ;</pre>Moves backwards all the elements. <p>The first element becomes the second, the second becomes the third... the last element becomes the first one.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements plus the number shifts.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558501-bb"></a>shift_forward(size_type n = 1) ;</pre>Moves forward all the elements. <p>The second element becomes the first, the third becomes the second... the first element becomes the last one.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements plus the number shifts.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Cloner, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558582-bb"></a>clone_from(<span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; src, Cloner cloner,
+ Disposer disposer) ;</pre>Erases all the elements from *this. <p>calls Disposer::operator()(pointer), clones all the elements from src calling Cloner::operator()(const_reference ) and inserts them on *this.</p>
+<p>If cloner throws, all cloned elements are unlinked and disposed calling Disposer::operator()(pointer).</p>
+<p>Complexity: Linear to erased plus inserted elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the cloner
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Disposer::operator()(pointer) shouldn't throw. </p>
+<p>Cloner should yield to nodes equivalent to the original nodes. </p>
+</td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2558697-bb"></a>insert_after(const_iterator prev_p, <a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a> value) ;</pre>Inserts the value after the position pointed by prev_p. <p>No copy constructor is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>prev_p must point to an element contained by the list or to end(). </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>An iterator to the inserted element. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558789-bb"></a>insert_after(const_iterator prev_p, Iterator first, Iterator last) ;</pre>Inserts the [first, last) after the position prev_p. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Dereferencing iterator must yield an value of type value_type </p>
+<p>prev_p must point to an element contained by the list or to the end node. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2558891-bb"></a>insert(const_iterator p, <a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a> value) ;</pre>Inserts the value before the position pointed by p. <p>No copy constructor is called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements before p.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>p must point to an element contained by the list or to end(). </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2558980-bb"></a>insert(const_iterator p, Iterator b, Iterator e) ;</pre>Inserts the pointed by b and e before the position p. <p>No copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted plus linear to the elements before b.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Dereferencing iterator must yield an value of type value_type </p>
+<p>p must point to an element contained by the list or to the end node. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Does not affect the validity of iterators. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2559084-bb"></a>erase_after(const_iterator prev) ;</pre>Erases the element after the element pointed by prev of the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2559167-bb"></a>erase_after(const_iterator before_first, const_iterator last) ;</pre>Erases the range (before_first, last) from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2559255-bb"></a>erase_after(const_iterator before_first, const_iterator last,
+ difference_type n) ;</pre>Erases the range (before_first, last) from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>n must be std::distance(before_first, last) - 1. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2559353-bb"></a>erase(const_iterator i) ;</pre>Erases the element pointed by i of the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the elements before i.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed element, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2559435-bb"></a>erase(const_iterator first, const_iterator last) ;</pre>Erases the range pointed by b and e. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the elements before last.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>first and last must be valid iterator to elements in *this. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2559528-bb"></a>erase(const_iterator first, const_iterator last, difference_type n) ;</pre>Erases the range [first, last) from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: linear to the elements before first if ConstantTimeSize is true. Linear to the elements before last otherwise.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>n must be std::distance(first, last). </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2559627-bb"></a>erase_after_and_dispose(const_iterator prev, Disposer disposer) ;</pre>Erases the element after the element pointed by prev of the list. <p>Disposer::operator()(pointer) is called for the removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2559727-bb"></a>erase_after_and_dispose(const_iterator before_first,
+ const_iterator last, Disposer disposer) ;</pre>Erases the range (before_first, last) from the list. <p>Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Lineal to the elements (last - before_first + 1).
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2559834-bb"></a>erase_and_dispose(const_iterator i, Disposer disposer) ;</pre>Erases the element pointed by i of the list. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the elements before i.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed element, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type">iterator</span> <a name="id2559935-bb"></a>erase_and_dispose(const_iterator first, const_iterator last,
+ Disposer disposer) ;</pre>Erases the range pointed by b and e. <p>No destructors are called. Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of erased elements plus linear to the elements before first.
+
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>first and last must be valid iterator to elements in *this. </p>
+<p>Disposer::operator()(pointer) shouldn't throw. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>the first element remaining beyond the removed elements, or end() if no such element exists. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560045-bb"></a>assign(Iterator b, Iterator e) ;</pre>Clears the list and inserts the range pointed by b and e. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted in the list.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Dereferencing iterator must yield an value of type value_type. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Iterator, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560141-bb"></a>dispose_and_assign(Disposer disposer, Iterator b, Iterator e) ;</pre>Clears the list and inserts the range pointed by b and e. <p>No destructors or copy constructors are called. Disposer::operator()(pointer) is called for the removed elements.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements inserted plus linear to the elements contained in the list.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>Disposer::operator()(pointer) shouldn't throw. </p>
+<p>Dereferencing iterator must yield an value of type value_type. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Invalidates the iterators to the erased elements. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560251-bb"></a>splice_after(const_iterator prev, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x,
+ const_iterator * last = 0) ;</pre>Transfers all the elements of list x to this list, after the the element pointed by prev. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the elements contained in x.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>prev is an iterator to an element or x.end()/x.before_begin() in x. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td>
+<p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p>
+<p>If the optional parameter "last" is provided, it will be assigned to the last spliced element or prev if x is empty. This iterator can be used as new "prev" iterator for a new splice_after call. that will splice new values after the previously spliced values. </p>
+</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560359-bb"></a>splice_after(const_iterator prev_pos, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x,
+ const_iterator prev_ele) ;</pre>Transfers the element after prev_ele, from list x to this list, after the element pointed by prev. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>prev must point to an element contained by this list or to the before_begin() element. </p>
+<p>prev_ele must point to an element contained in list x or must be x.before_begin(). </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560461-bb"></a>splice_after(const_iterator prev_pos, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x,
+ const_iterator before_first, const_iterator before_last) ;</pre>Transfers the range (before_first, before_last] from list x to this list, after the element pointed by prev_pos. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements transferred if ConstantTimeSize is true. Constant-time otherwise.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>prev_pos must be a dereferenceable iterator in *this or be before_begin(), and before_first and before_last belong to x and ++before_first != x.end() &amp;&amp; before_last != x.end(). </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560569-bb"></a>splice_after(const_iterator prev_pos, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x,
+ const_iterator before_first, const_iterator before_last,
+ difference_type n) ;</pre>Transfers the range (before_first, before_last] from list x to this list, after the element pointed by p. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant time.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>prev_pos must be a dereferenceable iterator in *this or be before_begin(), and before_first and before_last belong to x and ++before_first != x.end() &amp;&amp; before_last != x.end() </p>
+<p>n == std::distance(before_first, before_last). </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560684-bb"></a>splice(const_iterator it, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x, iterator * last = 0) ;</pre>Transfers all the elements of list x to this list, before the the element pointed by it. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the elements contained in x plus linear to the elements before it.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it is an iterator to an element in x. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td>
+<p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p>
+<p>If the optional parameter "last" is provided, it will be assigned to the last spliced element or prev if x is empty. This iterator can be used as new "prev" iterator for a new splice_after call. that will splice new values after the previously spliced values. </p>
+</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560792-bb"></a>splice(const_iterator pos, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x, const_iterator elem) ;</pre>Transfers the element elem, from list x to this list, before the element pointed by pos. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the elements before pos and before elem.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>it p must be a valid iterator of *this. elem must point to an element contained in list x. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560890-bb"></a>splice(const_iterator pos, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x, const_iterator first,
+ const_iterator last) ;</pre>Transfers the range [first, last) from list x to this list, before the element pointed by pos. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the sum of elements before pos, first, and last plus linear to the number of elements transferred if constant_time_size is true.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>pos must be a dereferenceable iterator in *this and first and last belong to x and first and last a valid range on x. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2560997-bb"></a>splice(const_iterator pos, <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x, const_iterator first,
+ const_iterator last, difference_type n) ;</pre>Transfers the range [first, last) from list x to this list, before the element pointed by pos. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the sum of elements before pos, first, and last.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>pos must be a dereferenceable iterator in *this </p>
+<p>first and last must belong to x and first and last must be a valid range on x. </p>
+<p>n == std::distance(first, last). </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561114-bb"></a>sort(Predicate p) ;</pre>This function sorts the list *this according to std::less&lt;T&gt;. <p>The sort is stable, that is, the relative order of equivalent elements is preserved.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: The number of comparisons is approximately N log N, where N is the list's size.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561201-bb"></a>sort() ;</pre>This function removes all of x's elements and inserts them in order into *this. <p>The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::less&lt;T&gt;</p>
+<p>Complexity: This function is linear time: it performs at most size() + x.size() - 1 comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering </p>
+<p>The lists x and *this must be distinct. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Predicate&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561284-bb"></a>merge(<a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x, Predicate p, const_iterator * last = 0) ;</pre>This function removes all of x's elements and inserts them in order into *this. <p>The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: This function is linear time: it performs at most size() + x.size() - 1 comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>p must be a comparison function that induces a strict weak ordering and both *this and x must be sorted according to that ordering </p>
+<p>The lists x and *this must be distinct. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td>
+<p>Iterators are not invalidated. </p>
+<p>If optional "last" argument is passed, it is assigned to an iterator to the last transferred value or end() is x is empty. </p>
+</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561402-bb"></a>merge(<a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp; x) ;</pre>This function removes all of x's elements and inserts them in order into *this according to std::less&lt;T&gt;. <p>The merge is stable; that is, if an element from *this is equivalent to one from x, then the element from *this will precede the one from x.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::less&lt;T&gt;</p>
+<p>Complexity: This function is linear time: it performs at most size() + x.size() - 1 comparisons.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561485-bb"></a>reverse() ;</pre>Reverses the order of elements in the list. <p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: This function is linear to the contained elements.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators are not invalidated </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561554-bb"></a>remove(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a> value) ;</pre>Removes all the elements that compare equal to value. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time. It performs exactly size() comparisons for equality.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. This function is linear time: it performs exactly size() comparisons for equality. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561637-bb"></a>remove_and_dispose(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a> value, Disposer disposer) ;</pre>Removes all the elements that compare equal to value. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time. It performs exactly size() comparisons for equality.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561735-bb"></a>remove_if(Pred pred) ;</pre>Removes all the elements for which a specified predicate is satisfied. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time. It performs exactly size() calls to the predicate.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Pred, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561823-bb"></a>remove_and_dispose_if(Pred pred, Disposer disposer) ;</pre>Removes all the elements for which a specified predicate is satisfied. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time. It performs exactly size() comparisons for equality.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2561925-bb"></a>unique() ;</pre>Removes adjacent duplicate elements or adjacent elements that are equal from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time (size()-1) comparisons calls to pred()).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2562000-bb"></a>unique(BinaryPredicate pred) ;</pre>Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list. <p>No destructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time (size()-1) comparisons equality comparisons.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Disposer&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2562088-bb"></a>unique_and_dispose(Disposer disposer) ;</pre>Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by std::equal_to&lt;T&gt;</p>
+<p>Complexity: Linear time (size()-1) comparisons equality comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> BinaryPredicate, <span class="bold"><strong>typename</strong></span> Disposer&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2562180-bb"></a>unique_and_dispose(BinaryPredicate pred, Disposer disposer) ;</pre>Removes adjacent duplicate elements or adjacent elements that satisfy some binary predicate from the list. <p>Disposer::operator()(pointer) is called for every removed element.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code>, exceptions thrown by the predicate</p>
+<p>Complexity: Linear time (size()-1) comparisons equality comparisons.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>Disposer::operator()(pointer) shouldn't throw. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>The relative order of elements that are not removed is unchanged, and iterators to elements that are not removed remain valid. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2562283-bb"></a>iterator_to(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.reference">reference</a> value) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant time.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value must be a reference to a value inserted in a list. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const_iterator pointing to the element </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2562313-bb"></a>iterator_to(<a class="link" href="basic_loc_slist.html#boost.persistent.intrusive.basic_loc_slist.const_reference">const_reference</a> value) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant time.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>value must be a const reference to a value inserted in a list. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>an iterator pointing to the element. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2562343-bb"></a>previous(iterator i) ;</pre>
+<p>Returns the end-iterator, if either i is the begin-iterator or the list is empty.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements before i.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The iterator to the element before i in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2562406-bb"></a>previous(const_iterator i) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the end-const_iterator, if either i is the begin-const_iterator or the list is empty.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements before i.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The const_iterator to the element before i in the list. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">iterator</span> <a name="id2562471-bb"></a>previous(const_iterator prev_from, iterator i) ;</pre>
+<p>Returns the end-iterator, if either i is the begin-iterator or the list is empty.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements before i.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The iterator to the element before i in the list, starting the search on element after prev_from. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type">const_iterator</span> <a name="id2562541-bb"></a>previous(const_iterator prev_from, const_iterator i) <span class="bold"><strong>const</strong></span>;</pre>
+<p>Returns the end-const_iterator, if either i is the begin-const_iterator or the list is empty.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code> </p>
+<p>Complexity: Linear to the number of elements before i.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>The const_iterator to the element before i in the list, starting the search on element after prev_from. </p></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2562612-bb"></a>incorporate_after(const_iterator prev_from, node_ptr first,
+ node_ptr before_last) ;</pre>Transfers the range (before_first, before_last] to this list, after the element pointed by prev_pos. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Linear to the number of elements transferred if constant_time_size is true. Constant-time otherwise.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>prev_pos must be a dereferenceable iterator in *this or be before_begin() </p>
+<p>before_first and before_last belong to x and ++before_first != x.end() &amp;&amp; before_last != x.end(). </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2562713-bb"></a>incorporate_after(const_iterator prev_pos, node_ptr first,
+ node_ptr before_last, difference_type n) ;</pre>Transfers the range (before_first, before_last] from list x to this list, after the element pointed by p. <p>No destructors or copy constructors are called.</p>
+<p>Throws: <code class="computeroutput">no_active_transaction_manager</code>, <code class="computeroutput">no_active_transaction</code>, <code class="computeroutput">isolation_exception</code>, <code class="computeroutput">archive::archive_exception</code>, <code class="computeroutput">finalize_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">thread_resource_error</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">clone()</code> </p>
+<p>Complexity: Constant time.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td>
+<p>prev_pos must be a dereferenceable iterator in *this or be before_begin() </p>
+<p>before_first and before_last belong to x and ++before_first != x.end() &amp;&amp; before_last != x.end() </p>
+<p>n == std::distance(first, before_last) + 1. </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td><p>Iterators of values obtained from list x now point to elements of this list. Iterators of this list are not invalidated. </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2879734"></a><h3>
+<a name="id2562915-bb"></a><code class="computeroutput">basic_loc_slist</code> public static functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;</span> <a name="id2562919-bb"></a>container_from_end_iterator(iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end iterator of slist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the slist associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>static</strong></span> <span class="bold"><strong>const</strong></span> <a class="link" href="basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a> &amp;</span>
+<a name="id2562952-bb"></a>container_from_end_iterator(const_iterator end_iterator) ;</pre>
+<p>Throws: Nothing.</p>
+<p>Complexity: Constant.
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Requires:</span></p></td>
+<td><p>end_iterator must be a valid end const_iterator of slist. </p></td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><p>a const reference to the slist associated to the end iterator </p></td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_slist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp"><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="loc_list_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_slist_hook.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/basic_loc_slist_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,168 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template basic_loc_slist_hook</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_slist.hpp&gt;">
+<link rel="prev" href="basic_loc_multiset.html" title="Class template basic_loc_multiset">
+<link rel="next" href="basic_loc_slist.html" title="Class template basic_loc_slist">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_multiset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp"><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="basic_loc_slist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.basic_loc_slist_hook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template basic_loc_slist_hook</span></h2>
+<p>boost::persistent::intrusive::basic_loc_slist_hook &#8212; A base class for persistent types that can be added to a <code class="computeroutput">basic_loc_slist</code>. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/basic_loc_slist.hpp&gt;">boost/persistent/intrusive/basic_loc_slist.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> {
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_slist_hook.html#boost.persistent.intrusive.basic_loc_slist_hookconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="basic_loc_slist_hook.html#id2557375-bb">basic_loc_slist_hook</a>();
+ <a class="link" href="basic_loc_slist_hook.html#id2557386-bb">basic_loc_slist_hook</a>(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> <span class="bold"><strong>const</strong></span> &amp;);
+ basic_loc_slist_hook&amp; <a class="link" href="basic_loc_slist_hook.html#id2557413-bb"><span class="bold"><strong>operator</strong></span>=</a>(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="basic_loc_slist_hook.html#id2557428-bb">protected member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist_hook.html#id2557432-bb">load</a>(Archive &amp;, deep_tag) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist_hook.html#id2557480-bb">save</a>(Archive &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="basic_loc_slist_hook.html#id2557529-bb">equal</a>(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> <span class="bold"><strong>const</strong></span> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist_hook.html#id2557573-bb">copy</a>(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> &amp;, deep_tag) <span class="bold"><strong>const</strong></span>;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="basic_loc_slist_hook.html#id2557617-bb">finalize</a>(deep_tag) <span class="bold"><strong>const</strong></span>;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2869697"></a><h2>Description</h2>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">T</code> The derived type that will be added to a <code class="computeroutput">basic_loc_slist</code> </p></li>
+<li><p><code class="computeroutput">TxMgr</code> The transaction manager </p></li>
+<li><p><code class="computeroutput">Tag</code> A tag to differentiate <code class="computeroutput">basic_loc_slist_hooks</code> from each other, so a object can be added to more than one <code class="computeroutput">basic_loc_slist</code> </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2869753"></a><h3>
+<a name="boost.persistent.intrusive.basic_loc_slist_hookconstruct-copy-destruct"></a><code class="computeroutput">basic_loc_slist_hook</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2557375-bb"></a>basic_loc_slist_hook();</pre>Constructs an empty <code class="computeroutput">basic_loc_slist_hook</code>. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><a name="id2557386-bb"></a>basic_loc_slist_hook(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> <span class="bold"><strong>const</strong></span> &amp;);</pre>Constructs an empty <code class="computeroutput">basic_loc_slist_hook</code>. <p>This constructor does not copy the contents of this <code class="computeroutput">basic_loc_slist_hook</code> </p>
+<p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout">basic_loc_slist_hook&amp; <a name="id2557413-bb"></a><span class="bold"><strong>operator</strong></span>=(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> <span class="bold"><strong>const</strong></span> &amp;);</pre>Does nothing. <p>Throws: Nothing </p>
+</li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2869886"></a><h3>
+<a name="id2557428-bb"></a><code class="computeroutput">basic_loc_slist_hook</code> protected member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557432-bb"></a>load(Archive &amp; ar, deep_tag) ;</pre>Can be called from the user-supplied <code class="computeroutput">load()</code> function of the derived type. <p>Throws: <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>The Archive to load from </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Archive&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557480-bb"></a>save(Archive &amp; ar, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">save()</code> function of the derived type. <p>Throws: <code class="computeroutput">archive_exception</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">ar</code></span></p></td>
+<td><p>The archive to save to </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2557529-bb"></a>equal(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> <span class="bold"><strong>const</strong></span> &amp; o, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">equal()</code> function of the derived type. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">o</code></span></p></td>
+<td><p>The <code class="computeroutput">basic_loc_slist_hook</code> that <code class="computeroutput">this</code> is compared to </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557573-bb"></a>copy(<a class="link" href="basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a> &amp; dest, deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">clone()</code> function of the derived type. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">dest</code></span></p></td>
+<td><p>The <code class="computeroutput">basic_loc_slist_hook</code> that the contents of <code class="computeroutput">this</code> are copied to. </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2557617-bb"></a>finalize(deep_tag) <span class="bold"><strong>const</strong></span>;</pre>Can be called from the user-supplied <code class="computeroutput">finalize()</code> function of the derived type. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_multiset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.basic_loc_slist_hpp"><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="basic_loc_slist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_list.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_list.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template loc_list</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp" title="Header &lt;boost/persistent/intrusive/loc_list.hpp&gt;">
+<link rel="prev" href="loc_list_hook.html" title="Struct template loc_list_hook">
+<link rel="next" href="loc_set_hook.html" title="Struct template loc_set_hook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_list_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp"><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="loc_set_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_list"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template loc_list</span></h2>
+<p>boost::persistent::intrusive::loc_list &#8212; A template alias of <code class="computeroutput">basic_loc_list</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp" title="Header &lt;boost/persistent/intrusive/loc_list.hpp&gt;">boost/persistent/intrusive/loc_list.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="loc_list.html" title="Class template loc_list">loc_list</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2880178"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,bool ConstantTimeSize=true,class Tag=default_tag&gt;
+ using loc_list = basic_loc_list&lt;T,transaction_manager,ConstantTimeSize,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_list</code> ist implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_list_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp"><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="loc_set_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_list_hook.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_list_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template loc_list_hook</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp" title="Header &lt;boost/persistent/intrusive/loc_list.hpp&gt;">
+<link rel="prev" href="basic_loc_slist.html" title="Class template basic_loc_slist">
+<link rel="next" href="loc_list.html" title="Class template loc_list">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_slist.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp"><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="loc_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_list_hook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template loc_list_hook</span></h2>
+<p>boost::persistent::intrusive::loc_list_hook &#8212; A template alias of <code class="computeroutput">basic_loc_list_hook</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp" title="Header &lt;boost/persistent/intrusive/loc_list.hpp&gt;">boost/persistent/intrusive/loc_list.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="loc_list_hook.html" title="Struct template loc_list_hook">loc_list_hook</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2880070"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,class Tag=default_tag&gt;
+ using loc_list_hook = basic_loc_list_hook&lt;T,transaction_manager,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_list_hook</code> is implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_loc_slist.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_list_hpp"><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="loc_list.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_multiset.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_multiset.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template loc_multiset</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp" title="Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;">
+<link rel="prev" href="loc_set.html" title="Class template loc_set">
+<link rel="next" href="loc_slist_hook.html" title="Struct template loc_slist_hook">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_set.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp"><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="loc_slist_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_multiset"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template loc_multiset</span></h2>
+<p>boost::persistent::intrusive::loc_multiset &#8212; A template alias of <code class="computeroutput">basic_loc_multiset</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp" title="Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;">boost/persistent/intrusive/loc_set.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="loc_multiset.html" title="Class template loc_multiset">loc_multiset</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2880689"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,bool ConstantTimeSize=true,class Compare=std::less&lt;T&gt;,class Tag=default_tag&gt;
+ using loc_multiset = basic_loc_multiset&lt;T,transaction_manager,ConstantTimeSize,Compare,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_multiset</code> ist implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_set.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp"><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="loc_slist_hook.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_set.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_set.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template loc_set</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp" title="Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;">
+<link rel="prev" href="loc_set_hook.html" title="Struct template loc_set_hook">
+<link rel="next" href="loc_multiset.html" title="Class template loc_multiset">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_set_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp"><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="loc_multiset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_set"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template loc_set</span></h2>
+<p>boost::persistent::intrusive::loc_set &#8212; A template alias of <code class="computeroutput">basic_loc_set</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp" title="Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;">boost/persistent/intrusive/loc_set.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="loc_set.html" title="Class template loc_set">loc_set</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2880570"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,bool ConstantTimeSize=true,class Compare=std::less&lt;T&gt;,class Tag=default_tag&gt;
+ using loc_set = basic_loc_set&lt;T,transaction_manager,ConstantTimeSize,Compare,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_set</code> ist implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_set_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp"><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="loc_multiset.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_set_hook.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_set_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template loc_set_hook</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp" title="Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;">
+<link rel="prev" href="loc_list.html" title="Class template loc_list">
+<link rel="next" href="loc_set.html" title="Class template loc_set">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_list.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp"><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="loc_set.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_set_hook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template loc_set_hook</span></h2>
+<p>boost::persistent::intrusive::loc_set_hook &#8212; A template alias of <code class="computeroutput">basic_loc_set_hook</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp" title="Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;">boost/persistent/intrusive/loc_set.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="loc_set_hook.html" title="Struct template loc_set_hook">loc_set_hook</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2880455"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,class Tag=default_tag&gt;
+ using loc_set_hook = basic_loc_set_hook&lt;T,transaction_manager,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_set_hook</code> is implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_list.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_set_hpp"><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="loc_set.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_slist.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_slist.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template loc_slist</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/loc_slist.hpp&gt;">
+<link rel="prev" href="loc_slist_hook.html" title="Struct template loc_slist_hook">
+<link rel="next" href="../loc.html" title="Class template loc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_slist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp"><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="../loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_slist"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template loc_slist</span></h2>
+<p>boost::persistent::intrusive::loc_slist &#8212; A template alias of <code class="computeroutput">basic_loc_slist</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/loc_slist.hpp&gt;">boost/persistent/intrusive/loc_slist.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="loc_slist.html" title="Class template loc_slist">loc_slist</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2881020"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,bool ConstantTimeSize=true,class Tag=default_tag&gt;
+ using loc_slist = basic_loc_slist&lt;T,transaction_manager,ConstantTimeSize,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_slist</code> ist implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_slist_hook.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp"><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="../loc.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_slist_hook.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/intrusive/loc_slist_hook.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct template loc_slist_hook</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/loc_slist.hpp&gt;">
+<link rel="prev" href="loc_multiset.html" title="Class template loc_multiset">
+<link rel="next" href="loc_slist.html" title="Class template loc_slist">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_multiset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp"><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="loc_slist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.intrusive.loc_slist_hook"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template loc_slist_hook</span></h2>
+<p>boost::persistent::intrusive::loc_slist_hook &#8212; A template alias of <code class="computeroutput">basic_loc_slist_hook</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp" title="Header &lt;boost/persistent/intrusive/loc_slist.hpp&gt;">boost/persistent/intrusive/loc_slist.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>struct</strong></span> <a class="link" href="loc_slist_hook.html" title="Struct template loc_slist_hook">loc_slist_hook</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2880911"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,class Tag=default_tag&gt;
+ using loc_slist_hook = basic_loc_slist_hook&lt;T,transaction_manager,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc_slist_hook</code> is implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc_multiset.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../persistent/reference.html#header.boost.persistent.intrusive.loc_slist_hpp"><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="loc_slist.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/io_failure.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/io_failure.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/io_failure.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,7 +4,7 @@
 <title>Struct io_failure</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
 <link rel="prev" href="recovery_failure.html" title="Struct recovery_failure">
 <link rel="next" href="finalize_error.html" title="Struct finalize_error">

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/is_locator.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/is_locator.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/is_locator.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Struct template is_locator</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp" title="Header &lt;boost/persistent/basic_loc.hpp&gt;">
-<link rel="prev" href="basic_cmultiset.html" title="Class template basic_cmultiset">
+<link rel="prev" href="deep_tag.html" title="Struct deep_tag">
 <link rel="next" href="basic_loc.html" title="Class template basic_loc">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="deep_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.is_locator"></a><div class="titlepage"></div>
@@ -34,6 +34,10 @@
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
 <span class="bold"><strong>struct</strong></span> <a class="link" href="is_locator.html" title="Struct template is_locator">is_locator</a> {
 };</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2823564"></a><h2>Description</h2>
+<p>A type trait that determines if <code class="computeroutput">T</code> is a locator. If <code class="computeroutput">T</code> is a type representing a locator, <code class="computeroutput">is_locator&lt;T&gt;</code> derives from <code class="computeroutput">true_type</code>, otherwise it derives from <code class="computeroutput">false_type</code>. See Boost.TypeTraits documentation for information on <code class="computeroutput">true_type</code> and <code class="computeroutput">false_type</code>. </p>
+</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -45,7 +49,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="basic_cmultiset.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="deep_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.basic_loc_hpp"><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="basic_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/isolation_exception.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/isolation_exception.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/isolation_exception.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Struct isolation_exception</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
 <link rel="prev" href="unsupported_exception.html" title="Struct unsupported_exception">
-<link rel="next" href="intrusive/basic_cslist_hook.html" title="Struct template basic_cslist_hook">
+<link rel="next" href="interior_ptr.html" title="Class template interior_ptr">
 </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="unsupported_exception.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="intrusive/basic_cslist_hook.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="unsupported_exception.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="interior_ptr.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.isolation_exception"></a><div class="titlepage"></div>
@@ -34,16 +34,16 @@
 </em></span>
 <span class="bold"><strong>struct</strong></span> <a class="link" href="isolation_exception.html" title="Struct isolation_exception">isolation_exception</a> : <span class="bold"><strong>public</strong></span> boost::persistent::exception {
 
- <span class="emphasis"><em>// <a class="link" href="isolation_exception.html#id2656872-bb">public member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="isolation_exception.html#id2656876-bb">unwind</a>(TxMgr &amp; = TxMgr::active()) <span class="bold"><strong>const</strong></span>;
+ <span class="emphasis"><em>// <a class="link" href="isolation_exception.html#id2543127-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="isolation_exception.html#id2543131-bb">unwind</a>(TxMgr &amp; = TxMgr::active()) <span class="bold"><strong>const</strong></span>;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3029195"></a><h2>Description</h2>
+<a name="id2839784"></a><h2>Description</h2>
 <div class="refsect2" lang="en">
-<a name="id3029198"></a><h3>
-<a name="id2656872-bb"></a><code class="computeroutput">isolation_exception</code> public member functions</h3>
+<a name="id2839787"></a><h3>
+<a name="id2543127-bb"></a><code class="computeroutput">isolation_exception</code> public member functions</h3>
 <div class="orderedlist"><ol type="1"><li>
-<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2656876-bb"></a>unwind(TxMgr &amp; txmgr = TxMgr::active()) <span class="bold"><strong>const</strong></span>;</pre>Rethrows the exception if the transaction was a nested transaction but the isolation exception was caused by a parent transaction. </li></ol></div>
+<pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2543131-bb"></a>unwind(TxMgr &amp; txmgr = TxMgr::active()) <span class="bold"><strong>const</strong></span>;</pre>Rethrows the exception if the active transaction is a nested transaction but the isolation exception was caused by a parent transaction of it. </li></ol></div>
 </div>
 </div>
 </div>
@@ -57,7 +57,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="unsupported_exception.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="intrusive/basic_cslist_hook.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="unsupported_exception.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="interior_ptr.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Class template loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.loc_hpp" title="Header &lt;boost/persistent/loc.hpp&gt;">
-<link rel="prev" href="intrusive/basic_cslist.html" title="Class template basic_cslist">
-<link rel="next" href="multiversion_object_res_id2657480.html" title="Class template multiversion_object_resource">
+<link rel="prev" href="intrusive/loc_slist.html" title="Class template loc_slist">
+<link rel="next" href="mapped_file_block.html" title="Class mapped_file_block">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,47 +20,26 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="intrusive/basic_cslist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.loc_hpp"><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="multiversion_object_res_id2657480.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="intrusive/loc_slist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.loc_hpp"><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="mapped_file_block.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.loc"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template loc</span></h2>
-<p>boost::persistent::loc</p>
+<p>boost::persistent::loc &#8212; A template alias of <code class="computeroutput">basic_loc</code> using the default transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.loc_hpp" title="Header &lt;boost/persistent/loc.hpp&gt;">boost/persistent/loc.hpp</a>&gt;
 
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="loc.html" title="Class template loc">loc</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_loc&lt; T, boost::persistent::basic_transaction_manager&lt; boost::persistent::multiversion_object_resource&lt; boost::persistent::redo_storage&lt; boost::persistent::filesystem_storage&lt;&gt; &gt; &gt; &gt; &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="loc.html#boost.persistent.locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="loc.html#id2657378-bb">loc</a>();
- <a class="link" href="loc.html#id2657379-bb">loc</a>(base <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="loc.html#id2657388-bb">loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <a class="link" href="loc.html#id2657405-bb">loc</a>(T *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="loc.html#id2657411-bb">loc</a>(T *, Tag);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="loc.html#id2657431-bb">loc</a>(Y *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="loc.html#id2657445-bb">loc</a>(Y *, Tag);
+<span class="bold"><strong>class</strong></span> <a class="link" href="loc.html" title="Class template loc">loc</a> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3031112"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3031115"></a><h3>
-<a name="boost.persistent.locconstruct-copy-destruct"></a><code class="computeroutput">loc</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2657378-bb"></a>loc();</pre></li>
-<li><pre class="literallayout"><a name="id2657379-bb"></a>loc(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2657388-bb"></a>loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><a name="id2657405-bb"></a>loc(T * p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2657411-bb"></a>loc(T * p, Tag tag);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2657431-bb"></a>loc(Y * p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2657445-bb"></a>loc(Y * p, Tag tag);</pre></li>
-</ol></div>
-</div>
+<a name="id2881164"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T&gt;
+ using loc = basic_loc&lt;T,transaction_manager&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">loc</code> ist implemented as a class that acts like a template alias. </p>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -73,7 +52,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="intrusive/basic_cslist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.loc_hpp"><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="multiversion_object_res_id2657480.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="intrusive/loc_slist.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.loc_hpp"><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="mapped_file_block.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/mapped_file_block.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/mapped_file_block.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class mapped_file_block</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.mapped_file_block_hpp" title="Header &lt;boost/persistent/mapped_file_block.hpp&gt;">
+<link rel="prev" href="loc.html" title="Class template loc">
+<link rel="next" href="multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.mapped_file_block_hpp"><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="multiversion_object_res_id2563531.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.mapped_file_block"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class mapped_file_block</span></h2>
+<p>boost::persistent::mapped_file_block &#8212; Model of <code class="computeroutput">DataBlock</code> using a memory-mapped file. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.mapped_file_block_hpp" title="Header &lt;boost/persistent/mapped_file_block.hpp&gt;">boost/persistent/mapped_file_block.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>class</strong></span> <a class="link" href="mapped_file_block.html" title="Class mapped_file_block">mapped_file_block</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.mapped_file_block.size_type"></a>size_type;
+
+ <span class="emphasis"><em>// <a class="link" href="mapped_file_block.html#boost.persistent.mapped_file_blockconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="mapped_file_block.html#id2563503-bb">mapped_file_block</a>(std::string <span class="bold"><strong>const</strong></span> &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="mapped_file_block.html#id2563418-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="mapped_file_block.html#id2563422-bb">write</a>(size_type <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> *, Size) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="mapped_file_block.html#id2563454-bb">read</a>(size_type <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>void</strong></span> *, Size) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="mapped_file_block.html#id2563487-bb">flush</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="mapped_file_block.html#id2563495-bb">sync</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2881467"></a><h2>Description</h2>
+<p>Only members that are not part of the <code class="computeroutput">DataBlock</code> concept are documented here. </p>
+<div class="refsect2" lang="en">
+<a name="id2881479"></a><h3>
+<a name="boost.persistent.mapped_file_blockconstruct-copy-destruct"></a><code class="computeroutput">mapped_file_block</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2563503-bb"></a>mapped_file_block(std::string <span class="bold"><strong>const</strong></span> &amp; name);</pre>Constructs a mapped_file_block and opens the underlying file. <p>Throws: io_failure
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">name</code></span></p></td>
+<td><p>The name of the file </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2881552"></a><h3>
+<a name="id2563418-bb"></a><code class="computeroutput">mapped_file_block</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563422-bb"></a>write(size_type <span class="bold"><strong>const</strong></span> &amp; offset, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> * data, Size size) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563454-bb"></a>read(size_type <span class="bold"><strong>const</strong></span> &amp; offset, <span class="bold"><strong>void</strong></span> * data, Size size) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563487-bb"></a>flush() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563495-bb"></a>sync() ;</pre></li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.mapped_file_block_hpp"><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="multiversion_object_res_id2563531.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2411606.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2411606.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,131 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template multiversion_object_resource</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
-<link rel="prev" href="loc.html" title="Class template loc">
-<link rel="next" href="object_pinning_multiver_id2412121.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_pinning_multiver_id2412121.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.multiversion_object_res_id2411606"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template multiversion_object_resource</span></h2>
-<p>boost::persistent::multiversion_object_resource</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag = default_tag,
- <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="multiversion_object_res_id2411606.html" title="Class template multiversion_object_resource">multiversion_object_resource</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> object_resource_tag <a name="boost.persistent.multiversion_object_res_id2411606.category"></a>category;
- <span class="bold"><strong>typedef</strong></span> Tag <a name="boost.persistent.multiversion_object_res_id2411606.tag"></a>tag;
- <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.multiversion_object_res_id2411606.object"></a>object;
- <span class="bold"><strong>typedef</strong></span> AtomicStorage::object_id <a name="boost.persistent.multiversion_object_res_id2411606.object_id"></a>object_id;
-
- <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2411606.html#boost.persistent.multiversion_object_res_id2411606construct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="multiversion_object_res_id2411606.html#id2412103-bb">multiversion_object_resource</a>(AtomicStorage &amp;,
- <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> <span class="bold"><strong>const</strong></span> &amp; = caching_policy());
-
- <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2411606.html#id2411658-bb">public member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411661-bb">get_read_instance</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411682-bb">get_read_instance</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411710-bb">get_write_instance</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411737-bb">get_autodetect_instance</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411764-bb">new_object</a>(transaction &amp;, T *) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411791-bb">remove_object</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411810-bb">pin_object</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411837-bb">unpin_object</a>(transaction &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411858-bb">get_pinned_object</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt;
- <span class="type">object</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411878-bb">get_pinned_object</a>(transaction &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2411606.html#id2411904-bb">new_shared_object</a>(transaction &amp;, T *) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411931-bb">make_object_shared</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411951-bb">object_expired</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411965-bb">object_expired</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411984-bb">begin_root_transaction</a>() ;
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2411994-bb">begin_nested_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2412009-bb">commit_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2412023-bb">rollback_transaction</a>(transaction &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2411606.html#id2412037-bb">get_object</a>(object_id) ;
- <span class="type">object_id</span> <a class="link" href="multiversion_object_res_id2411606.html#id2412058-bb">get_object_id</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2411606.html#id2412072-bb">count_object</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3000118"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3000121"></a><h3>
-<a name="boost.persistent.multiversion_object_res_id2411606construct-copy-destruct"></a><code class="computeroutput">multiversion_object_resource</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2412103-bb"></a>multiversion_object_resource(AtomicStorage &amp; s,
- <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> <span class="bold"><strong>const</strong></span> &amp; cpolicy = caching_policy());</pre></li></ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3000173"></a><h3>
-<a name="id2411658-bb"></a><code class="computeroutput">multiversion_object_resource</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2411661-bb"></a>get_read_instance(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2411682-bb"></a>get_read_instance(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2411710-bb"></a>get_write_instance(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2411737-bb"></a>get_autodetect_instance(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2411764-bb"></a>new_object(transaction &amp;, T *) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2411791-bb"></a>remove_object(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2411810-bb"></a>pin_object(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2411837-bb"></a>unpin_object(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2411858-bb"></a>get_pinned_object() ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2411878-bb"></a>get_pinned_object(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2411904-bb"></a>new_shared_object(transaction &amp;, T *) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2411931-bb"></a>make_object_shared(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2411951-bb"></a>object_expired(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2411965-bb"></a>object_expired(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2411984-bb"></a>begin_root_transaction() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2411994-bb"></a>begin_nested_transaction(transaction &amp; parent) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412009-bb"></a>commit_transaction(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412023-bb"></a>rollback_transaction(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2412037-bb"></a>get_object(object_id) ;</pre></li>
-<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2412058-bb"></a>get_object_id(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412072-bb"></a>count_object(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_pinning_multiver_id2412121.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2563531.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2563531.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template multiversion_object_resource</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
+<link rel="prev" href="mapped_file_block.html" title="Class mapped_file_block">
+<link rel="next" href="null_atomic_storage.html" title="Class template null_atomic_storage">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mapped_file_block.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="null_atomic_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.multiversion_object_res_id2563531"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template multiversion_object_resource</span></h2>
+<p>boost::persistent::multiversion_object_resource &#8212; The default object resource manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AStorage, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>bool</strong></span> TThreads = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> mpl::vector&lt; object_storage_tag, shared_object_storage_tag, object_pinning_tag &gt; <a name="boost.persistent.multiversion_object_res_id2563531.services"></a>services;
+ <span class="bold"><strong>typedef</strong></span> Tag <a name="boost.persistent.multiversion_object_res_id2563531.tag"></a>tag;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.multiversion_object_res_id2563531.object"></a>object;
+ <span class="bold"><strong>typedef</strong></span> AStorage::object_id <a name="boost.persistent.multiversion_object_res_id2563531.object_id"></a>object_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.multiversion_object_res_id2563531.transaction"></a>transaction;
+
+ <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="multiversion_object_res_id2563531.html#id2564140-bb">multiversion_object_resource</a>(AStorage &amp;, std::size_t = 1000000);
+
+ <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2563531.html#id2563660-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563663-bb">get_read_instance</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563685-bb">get_read_instance</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563714-bb">get_write_instance</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563743-bb">get_autodetect_instance</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563773-bb">new_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, T *) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2563802-bb">remove_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2563824-bb">pin_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2563853-bb">unpin_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563876-bb">get_pinned_object</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt;
+ <span class="type">object</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563896-bb">get_pinned_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2563531.html#id2563924-bb">new_shared_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, T *) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2563953-bb">make_object_shared</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2563975-bb">object_expired</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2563989-bb">object_expired</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2564012-bb">begin_root_transaction</a>() ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2564021-bb">begin_nested_transaction</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2564038-bb">commit_transaction</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2564055-bb">rollback_transaction</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2563531.html#id2564071-bb">get_object</a>(object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type">object_id</span> <a class="link" href="multiversion_object_res_id2563531.html#id2564092-bb">get_object_id</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2563531.html#id2564106-bb">reference_object</a>(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2882695"></a><h2>Description</h2>
+<p>Implements concepts ResourceManager, ObjectStorageService, SharedObjectStorageService and ObjectPinningService. Only members that are not part of these concepts are documented here.</p>
+<p>Implemented based on multiversion concurrency control. Uses a model of AtomicStorage to store objects.</p>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">AStorage</code> A AtomicStorage that is used to store the objects </p></li>
+<li><p><code class="computeroutput">Threads</code> <code class="computeroutput">true</code> if this resource manager is accessed by multiple threads concurrently </p></li>
+<li><p><code class="computeroutput">TThreads</code> <code class="computeroutput">true</code> if this resource manager is accessed using the same transaction by multiple threads concurrently </p></li>
+<li><p><code class="computeroutput">Tag</code> The tag of the resource manager </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2882765"></a><h3>
+<a name="boost.persistent.multiversion_object_res_id2563531construct-copy-destruct"></a><code class="computeroutput">multiversion_object_resource</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2564140-bb"></a>multiversion_object_resource(AStorage &amp; as,
+ std::size_t max_cache_size = 1000000);</pre>Constructs a multiversion_object_resource. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">as</code></span></p></td>
+<td><p>The AtomicStorage that is used to store the objects </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_cache_size</code></span></p></td>
+<td><p>The maximum number of objects that are internally cached. Note that this is independent of the size of each individual object, if large objects are used max_cache_size should be set accordingly. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2882860"></a><h3>
+<a name="id2563660-bb"></a><code class="computeroutput">multiversion_object_resource</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2563663-bb"></a>get_read_instance(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2563685-bb"></a>get_read_instance(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2563714-bb"></a>get_write_instance(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2563743-bb"></a>get_autodetect_instance(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2563773-bb"></a>new_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, T *) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563802-bb"></a>remove_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563824-bb"></a>pin_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563853-bb"></a>unpin_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2563876-bb"></a>get_pinned_object() ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2563896-bb"></a>get_pinned_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2563924-bb"></a>new_shared_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, T *) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2563953-bb"></a>make_object_shared(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2563975-bb"></a>object_expired(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2563989-bb"></a>object_expired(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2564012-bb"></a>begin_root_transaction() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2564021-bb"></a>begin_nested_transaction(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp; parent) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564038-bb"></a>commit_transaction(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564055-bb"></a>rollback_transaction(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2564071-bb"></a>get_object(object_id <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2564092-bb"></a>get_object_id(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564106-bb"></a>reference_object(<a class="link" href="multiversion_object_res_id2563531.html#boost.persistent.multiversion_object_res_id2563531.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;</pre></li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mapped_file_block.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="null_atomic_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2657480.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2657480.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,131 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class template multiversion_object_resource</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
-<link rel="prev" href="loc.html" title="Class template loc">
-<link rel="next" href="object_pinning_multiver_id2657995.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_pinning_multiver_id2657995.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.multiversion_object_res_id2657480"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template multiversion_object_resource</span></h2>
-<p>boost::persistent::multiversion_object_resource</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag = default_tag,
- <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="multiversion_object_res_id2657480.html" title="Class template multiversion_object_resource">multiversion_object_resource</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// types</em></span>
- <span class="bold"><strong>typedef</strong></span> object_resource_tag <a name="boost.persistent.multiversion_object_res_id2657480.category"></a>category;
- <span class="bold"><strong>typedef</strong></span> Tag <a name="boost.persistent.multiversion_object_res_id2657480.tag"></a>tag;
- <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.multiversion_object_res_id2657480.object"></a>object;
- <span class="bold"><strong>typedef</strong></span> AtomicStorage::object_id <a name="boost.persistent.multiversion_object_res_id2657480.object_id"></a>object_id;
-
- <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2657480.html#boost.persistent.multiversion_object_res_id2657480construct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="multiversion_object_res_id2657480.html#id2657977-bb">multiversion_object_resource</a>(AtomicStorage &amp;,
- <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> <span class="bold"><strong>const</strong></span> &amp; = caching_policy());
-
- <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2657480.html#id2657532-bb">public member functions</a></em></span>
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657535-bb">get_read_instance</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657557-bb">get_read_instance</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657584-bb">get_write_instance</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657611-bb">get_autodetect_instance</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657638-bb">new_object</a>(transaction &amp;, T *) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657665-bb">remove_object</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657685-bb">pin_object</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657711-bb">unpin_object</a>(transaction &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657732-bb">get_pinned_object</a>() ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt;
- <span class="type">object</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657752-bb">get_pinned_object</a>(transaction &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657778-bb">new_shared_object</a>(transaction &amp;, T *) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657805-bb">make_object_shared</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657825-bb">object_expired</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657839-bb">object_expired</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657859-bb">begin_root_transaction</a>() ;
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657868-bb">begin_nested_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657883-bb">commit_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657897-bb">rollback_transaction</a>(transaction &amp;) ;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657911-bb">get_object</a>(object_id) ;
- <span class="type">object_id</span> <a class="link" href="multiversion_object_res_id2657480.html#id2657932-bb">get_object_id</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2657480.html#id2657946-bb">count_object</a>(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3032204"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3032207"></a><h3>
-<a name="boost.persistent.multiversion_object_res_id2657480construct-copy-destruct"></a><code class="computeroutput">multiversion_object_resource</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2657977-bb"></a>multiversion_object_resource(AtomicStorage &amp; s,
- <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> <span class="bold"><strong>const</strong></span> &amp; cpolicy = caching_policy());</pre></li></ol></div>
-</div>
-<div class="refsect2" lang="en">
-<a name="id3032260"></a><h3>
-<a name="id2657532-bb"></a><code class="computeroutput">multiversion_object_resource</code> public member functions</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2657535-bb"></a>get_read_instance(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2657557-bb"></a>get_read_instance(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2657584-bb"></a>get_write_instance(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
- <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2657611-bb"></a>get_autodetect_instance(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2657638-bb"></a>new_object(transaction &amp;, T *) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657665-bb"></a>remove_object(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657685-bb"></a>pin_object(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657711-bb"></a>unpin_object(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2657732-bb"></a>get_pinned_object() ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2657752-bb"></a>get_pinned_object(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2657778-bb"></a>new_shared_object(transaction &amp;, T *) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657805-bb"></a>make_object_shared(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2657825-bb"></a>object_expired(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2657839-bb"></a>object_expired(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2657859-bb"></a>begin_root_transaction() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2657868-bb"></a>begin_nested_transaction(transaction &amp; parent) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657883-bb"></a>commit_transaction(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657897-bb"></a>rollback_transaction(transaction &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2657911-bb"></a>get_object(object_id) ;</pre></li>
-<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2657932-bb"></a>get_object_id(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2657946-bb"></a>count_object(transaction &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;</pre></li>
-</ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_pinning_multiver_id2657995.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2897971.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/multiversion_object_res_id2897971.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template multiversion_object_resource</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
+<link rel="prev" href="mapped_file_block.html" title="Class mapped_file_block">
+<link rel="next" href="null_atomic_storage.html" title="Class template null_atomic_storage">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mapped_file_block.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="null_atomic_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.multiversion_object_res_id2897971"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template multiversion_object_resource</span></h2>
+<p>boost::persistent::multiversion_object_resource &#8212; The default object resource manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AStorage, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>bool</strong></span> TThreads = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="multiversion_object_res_id2897971.html" title="Class template multiversion_object_resource">multiversion_object_resource</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> mpl::vector&lt; object_storage_tag, shared_object_storage_tag, object_pinning_tag &gt; <a name="boost.persistent.multiversion_object_res_id2897971.services"></a>services;
+ <span class="bold"><strong>typedef</strong></span> Tag <a name="boost.persistent.multiversion_object_res_id2897971.tag"></a>tag;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.multiversion_object_res_id2897971.object"></a>object;
+ <span class="bold"><strong>typedef</strong></span> AStorage::object_id <a name="boost.persistent.multiversion_object_res_id2897971.object_id"></a>object_id;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.multiversion_object_res_id2897971.transaction"></a>transaction;
+
+ <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971construct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="multiversion_object_res_id2897971.html#id2898580-bb">multiversion_object_resource</a>(AStorage &amp;, std::size_t = 1000000);
+
+ <span class="emphasis"><em>// <a class="link" href="multiversion_object_res_id2897971.html#id2898100-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898103-bb">get_read_instance</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898125-bb">get_read_instance</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898154-bb">get_write_instance</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898183-bb">get_autodetect_instance</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898213-bb">new_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, T *) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898242-bb">remove_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898264-bb">pin_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898293-bb">unpin_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898316-bb">get_pinned_object</a>() ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt;
+ <span class="type">object</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898336-bb">get_pinned_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898364-bb">new_shared_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, T *) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898393-bb">make_object_shared</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898415-bb">object_expired</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>bool</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898429-bb">object_expired</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898452-bb">begin_root_transaction</a>() ;
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898461-bb">begin_nested_transaction</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898478-bb">commit_transaction</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898495-bb">rollback_transaction</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898511-bb">get_object</a>(object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type">object_id</span> <a class="link" href="multiversion_object_res_id2897971.html#id2898532-bb">get_object_id</a>(object <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="multiversion_object_res_id2897971.html#id2898546-bb">reference_object</a>(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id3047825"></a><h2>Description</h2>
+<p>Implements concepts ResourceManager, ObjectStorageService, SharedObjectStorageService and ObjectPinningService. Only members that are not part of these concepts are documented here.</p>
+<p>Implemented based on multiversion concurrency control. Uses a model of AtomicStorage to store objects.</p>
+<p>Template Parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">AStorage</code> A AtomicStorage that is used to store the objects </p></li>
+<li><p><code class="computeroutput">Threads</code> <code class="computeroutput">true</code> if this resource manager is accessed by multiple threads concurrently </p></li>
+<li><p><code class="computeroutput">TThreads</code> <code class="computeroutput">true</code> if this resource manager is accessed using the same transaction by multiple threads concurrently </p></li>
+<li><p><code class="computeroutput">Tag</code> The tag of the resource manager </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id3047895"></a><h3>
+<a name="boost.persistent.multiversion_object_res_id2897971construct-copy-destruct"></a><code class="computeroutput">multiversion_object_resource</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2898580-bb"></a>multiversion_object_resource(AStorage &amp; as,
+ std::size_t max_cache_size = 1000000);</pre>Constructs a multiversion_object_resource. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">as</code></span></p></td>
+<td><p>The AtomicStorage that is used to store the objects </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_cache_size</code></span></p></td>
+<td><p>The maximum number of objects that are internally cached. Note that this is independent of the size of each individual object, if large objects are used max_cache_size should be set accordingly. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id3047991"></a><h3>
+<a name="id2898100-bb"></a><code class="computeroutput">multiversion_object_resource</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2898103-bb"></a>get_read_instance(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T <span class="bold"><strong>const</strong></span> &gt;</span> <a name="id2898125-bb"></a>get_read_instance(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2898154-bb"></a>get_write_instance(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type">shared_ptr&lt; T &gt;</span> <a name="id2898183-bb"></a>get_autodetect_instance(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2898213-bb"></a>new_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, T *) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898242-bb"></a>remove_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898264-bb"></a>pin_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898293-bb"></a>unpin_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2898316-bb"></a>get_pinned_object() ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> PinTag&gt; <span class="type">object</span> <a name="id2898336-bb"></a>get_pinned_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2898364-bb"></a>new_shared_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, T *) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898393-bb"></a>make_object_shared(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2898415-bb"></a>object_expired(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>bool</strong></span></span> <a name="id2898429-bb"></a>object_expired(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2898452-bb"></a>begin_root_transaction() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2898461-bb"></a>begin_nested_transaction(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp; parent) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898478-bb"></a>commit_transaction(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898495-bb"></a>rollback_transaction(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">object</span> <a name="id2898511-bb"></a>get_object(object_id <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2898532-bb"></a>get_object_id(object <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2898546-bb"></a>reference_object(<a class="link" href="multiversion_object_res_id2897971.html#boost.persistent.multiversion_object_res_id2897971.transaction">transaction</a> &amp;, object <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>int</strong></span>, <span class="bold"><strong>int</strong></span>) ;</pre></li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mapped_file_block.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="null_atomic_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Struct no_active_transaction</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
 <link rel="prev" href="finalize_error.html" title="Struct finalize_error">
-<link rel="next" href="no_active_transaction_m_id2656836.html" title="Struct no_active_transaction_manager">
+<link rel="next" href="no_active_transaction_m_id2543091.html" title="Struct no_active_transaction_manager">
 </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="finalize_error.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="no_active_transaction_m_id2656836.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="finalize_error.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="no_active_transaction_m_id2543091.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.no_active_transaction"></a><div class="titlepage"></div>
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="finalize_error.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="no_active_transaction_m_id2656836.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="finalize_error.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="no_active_transaction_m_id2543091.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2410962.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2410962.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct no_active_transaction_manager</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
-<link rel="prev" href="no_active_transaction.html" title="Struct no_active_transaction">
-<link rel="next" href="unsupported_exception.html" title="Struct unsupported_exception">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.no_active_transaction_m_id2410962"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct no_active_transaction_manager</span></h2>
-<p>boost::persistent::no_active_transaction_manager &#8212; Indicates that the operation required an active transaction manager but there is none set. </p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">boost/persistent/exception.hpp</a>&gt;
-
-</em></span>
-<span class="bold"><strong>struct</strong></span> <a class="link" href="no_active_transaction_m_id2410962.html" title="Struct no_active_transaction_manager">no_active_transaction_manager</a> : <span class="bold"><strong>public</strong></span> boost::persistent::exception {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2543091.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2543091.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct no_active_transaction_manager</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
+<link rel="prev" href="no_active_transaction.html" title="Struct no_active_transaction">
+<link rel="next" href="unsupported_exception.html" title="Struct unsupported_exception">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.no_active_transaction_m_id2543091"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct no_active_transaction_manager</span></h2>
+<p>boost::persistent::no_active_transaction_manager &#8212; Indicates that the operation required an active transaction manager but there is none set. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">boost/persistent/exception.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="no_active_transaction_m_id2543091.html" title="Struct no_active_transaction_manager">no_active_transaction_manager</a> : <span class="bold"><strong>public</strong></span> boost::persistent::exception {
+};</pre></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2656836.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2656836.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct no_active_transaction_manager</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
-<link rel="prev" href="no_active_transaction.html" title="Struct no_active_transaction">
-<link rel="next" href="unsupported_exception.html" title="Struct unsupported_exception">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.no_active_transaction_m_id2656836"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct no_active_transaction_manager</span></h2>
-<p>boost::persistent::no_active_transaction_manager &#8212; Indicates that the operation required an active transaction manager but there is none set. </p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">boost/persistent/exception.hpp</a>&gt;
-
-</em></span>
-<span class="bold"><strong>struct</strong></span> <a class="link" href="no_active_transaction_m_id2656836.html" title="Struct no_active_transaction_manager">no_active_transaction_manager</a> : <span class="bold"><strong>public</strong></span> boost::persistent::exception {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2877531.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/no_active_transaction_m_id2877531.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct no_active_transaction_manager</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
+<link rel="prev" href="no_active_transaction.html" title="Struct no_active_transaction">
+<link rel="next" href="unsupported_exception.html" title="Struct unsupported_exception">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.no_active_transaction_m_id2877531"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct no_active_transaction_manager</span></h2>
+<p>boost::persistent::no_active_transaction_manager &#8212; Indicates that the operation required an active transaction manager but there is none set. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">boost/persistent/exception.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="no_active_transaction_m_id2877531.html" title="Struct no_active_transaction_manager">no_active_transaction_manager</a> : <span class="bold"><strong>public</strong></span> boost::persistent::exception {
+};</pre></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_active_transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="unsupported_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/null_atomic_storage.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/null_atomic_storage.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,170 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template null_atomic_storage</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.null_atomic_storage_hpp" title="Header &lt;boost/persistent/null_atomic_storage.hpp&gt;">
+<link rel="prev" href="multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">
+<link rel="next" href="pinned_loc.html" title="Class template pinned_loc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiversion_object_res_id2563531.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.null_atomic_storage_hpp"><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="pinned_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.null_atomic_storage"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template null_atomic_storage</span></h2>
+<p>boost::persistent::null_atomic_storage &#8212; A model of AtomicStorageEngine. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.null_atomic_storage_hpp" title="Header &lt;boost/persistent/null_atomic_storage.hpp&gt;">boost/persistent/null_atomic_storage.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Storage, <span class="bold"><strong>bool</strong></span> Threads&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="null_atomic_storage.html" title="Class template null_atomic_storage">null_atomic_storage</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> Storage::transaction_id <a name="boost.persistent.null_atomic_storage.transaction_id"></a>transaction_id;
+ <span class="bold"><strong>typedef</strong></span> Storage::object_id <a name="boost.persistent.null_atomic_storage.object_id"></a>object_id;
+ <span class="bold"><strong>typedef</strong></span> Storage::instance_id <a name="boost.persistent.null_atomic_storage.instance_id"></a>instance_id;
+ <span class="bold"><strong>typedef</strong></span> Storage::object_count <a name="boost.persistent.null_atomic_storage.object_count"></a>object_count;
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.null_atomic_storage.transaction"></a>transaction;
+
+ <span class="emphasis"><em>// <a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storageconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="null_atomic_storage.html#id2564759-bb">null_atomic_storage</a>(Storage &amp;, std::string <span class="bold"><strong>const</strong></span> &amp;);
+ <a class="link" href="null_atomic_storage.html#id2564794-bb">~null_atomic_storage</a>();
+
+ <span class="emphasis"><em>// <a class="link" href="null_atomic_storage.html#id2564288-bb">public member functions</a></em></span>
+ <span class="type"><a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a></span> <a class="link" href="null_atomic_storage.html#id2564291-bb">begin_transaction</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564300-bb">commit_transaction</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564317-bb">apply_transaction</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564333-bb">rollback_transaction</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a class="link" href="null_atomic_storage.html#id2564349-bb">load_instance</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">instance_id</span> <a class="link" href="null_atomic_storage.html#id2564381-bb">save_instance</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, T <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564420-bb">free_local_instance</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564443-bb">free_instance</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564465-bb">apply_free_instance</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type">object_id</span> <a class="link" href="null_atomic_storage.html#id2564487-bb">allocate_object</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564503-bb">free_local_object</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564525-bb">free_object</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564547-bb">apply_free_object</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564569-bb">load_object</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id &amp;, instance_id &amp;,
+ object_count &amp;, object_count &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564607-bb">update_object_state</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id,
+ instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564641-bb">apply_object_state</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id,
+ instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564674-bb">update_object_count</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, object_count,
+ object_count) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="null_atomic_storage.html#id2564708-bb">apply_object_count</a>(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, object_count,
+ object_count) ;
+ <span class="type">transaction_id</span> <a class="link" href="null_atomic_storage.html#id2564742-bb">allocate_transaction_id</a>() ;
+ <span class="type">object_id</span> <a class="link" href="null_atomic_storage.html#id2564751-bb">root_object_id</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2884505"></a><h2>Description</h2>
+<p><code class="computeroutput">null_atomic_storage</code> does nothing but forward the calls to a model of StorageEngine. When <code class="computeroutput">null_atomic_storage</code> is used and the application is aborted, a corrupt database file is left with no way to recover it.</p>
+<p>Only members that are not part of the AtomicStorageEngine concept are documented here.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">Storage</code> A model of StorageEngine that is used to store the objects. </p></li>
+<li><p><code class="computeroutput">Threads</code> <code class="computeroutput">true</code> if this <code class="computeroutput">null_atomic_storage</code> is accessed by multiple threads concurrently </p></li>
+</ul></div>
+<p>
+</p>
+<div class="refsect2" lang="en">
+<a name="id2884565"></a><h3>
+<a name="boost.persistent.null_atomic_storageconstruct-copy-destruct"></a><code class="computeroutput">null_atomic_storage</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2564759-bb"></a>null_atomic_storage(Storage &amp; storage, std::string <span class="bold"><strong>const</strong></span> &amp; state_filename);</pre>Constructs a <code class="computeroutput">null_atomic_storage</code> object. <p>Throws: thread_resource_error, io_failure
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">state_filename</code></span></p></td>
+<td><p>Name of the file to store the state of the StorageEngine </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">storage</code></span></p></td>
+<td><p>The <code class="computeroutput">StorageEngine</code> that is used to store the objects </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2564794-bb"></a>~null_atomic_storage();</pre>Throws: Nothing. </li>
+</ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2884675"></a><h3>
+<a name="id2564288-bb"></a><code class="computeroutput">null_atomic_storage</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="type"><a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a></span> <a name="id2564291-bb"></a>begin_transaction() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564300-bb"></a>commit_transaction(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564317-bb"></a>apply_transaction(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564333-bb"></a>rollback_transaction(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">T *</span> <a name="id2564349-bb"></a>load_instance(object_id <span class="bold"><strong>const</strong></span> &amp; oid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
+ <span class="type">instance_id</span> <a name="id2564381-bb"></a>save_instance(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid, T <span class="bold"><strong>const</strong></span> &amp; o) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564420-bb"></a>free_local_instance(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564443-bb"></a>free_instance(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564465-bb"></a>apply_free_instance(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2564487-bb"></a>allocate_object(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564503-bb"></a>free_local_object(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564525-bb"></a>free_object(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564547-bb"></a>apply_free_object(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564569-bb"></a>load_object(object_id <span class="bold"><strong>const</strong></span> &amp; oid, transaction_id &amp; tid,
+ instance_id &amp; iid, object_count &amp; strong,
+ object_count &amp; weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564607-bb"></a>update_object_state(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ transaction_id tid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564641-bb"></a>apply_object_state(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ transaction_id tid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564674-bb"></a>update_object_count(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ object_count strong, object_count weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564708-bb"></a>apply_object_count(<a class="link" href="null_atomic_storage.html#boost.persistent.null_atomic_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ object_count strong, object_count weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type">transaction_id</span> <a name="id2564742-bb"></a>allocate_transaction_id() ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2564751-bb"></a>root_object_id() ;</pre></li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="multiversion_object_res_id2563531.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.null_atomic_storage_hpp"><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="pinned_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_database.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_database.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,68 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Class object_database</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.object_database_hpp" title="Header &lt;boost/persistent/object_database.hpp&gt;">
-<link rel="prev" href="shared_objects_multiver_id2658026.html" title="Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-<link rel="next" href="redo_storage.html" title="Class template redo_storage">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="shared_objects_multiver_id2658026.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.object_database_hpp"><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="redo_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.object_database"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class object_database</span></h2>
-<p>boost::persistent::object_database</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.object_database_hpp" title="Header &lt;boost/persistent/object_database.hpp&gt;">boost/persistent/object_database.hpp</a>&gt;
-
-</em></span>
-<span class="bold"><strong>class</strong></span> <a class="link" href="object_database.html" title="Class object_database">object_database</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="object_database.html#boost.persistent.object_databaseconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="object_database.html#id2658075-bb">object_database</a>(std::string <span class="bold"><strong>const</strong></span> &amp;,
- <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> <span class="bold"><strong>const</strong></span> &amp; = caching_policy(),
- std::size_t = 20 *1024 *1024);
-};</pre></div>
-<div class="refsect1" lang="en">
-<a name="id3033236"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3033239"></a><h3>
-<a name="boost.persistent.object_databaseconstruct-copy-destruct"></a><code class="computeroutput">object_database</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1"><li><pre class="literallayout"><a name="id2658075-bb"></a>object_database(std::string <span class="bold"><strong>const</strong></span> &amp; name,
- <a class="link" href="caching_policy.html" title="Struct caching_policy">caching_policy</a> <span class="bold"><strong>const</strong></span> &amp; cpolicy = caching_policy(),
- std::size_t max_log_size = 20 *1024 *1024);</pre></li></ol></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="shared_objects_multiver_id2658026.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.object_database_hpp"><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="redo_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template object_pinning</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
-<link rel="prev" href="object_resource_tag.html" title="Struct object_resource_tag">
-<link rel="next" href="shared_objects.html" title="Struct template shared_objects">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_resource_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="shared_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.object_pinning"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template object_pinning</span></h2>
-<p>boost::persistent::object_pinning</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ObjectResourceManager&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="object_pinning.html" title="Struct template object_pinning">object_pinning</a> {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_resource_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="shared_objects.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_multiver_id2412121.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_multiver_id2412121.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
-<link rel="prev" href="multiversion_object_res_id2411606.html" title="Class template multiversion_object_resource">
-<link rel="next" href="shared_objects_multiver_id2412152.html" title="Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="multiversion_object_res_id2411606.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="shared_objects_multiver_id2412152.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.object_pinning_multiver_id2412121"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</span></h2>
-<p>boost::persistent::object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag, <span class="bold"><strong>bool</strong></span> Threads&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="object_pinning_multiver_id2412121.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">object_pinning</a>&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt; {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="multiversion_object_res_id2411606.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="shared_objects_multiver_id2412152.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_multiver_id2657995.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_multiver_id2657995.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
-<link rel="prev" href="multiversion_object_res_id2657480.html" title="Class template multiversion_object_resource">
-<link rel="next" href="shared_objects_multiver_id2658026.html" title="Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="multiversion_object_res_id2657480.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="shared_objects_multiver_id2658026.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.object_pinning_multiver_id2657995"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</span></h2>
-<p>boost::persistent::object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag, <span class="bold"><strong>bool</strong></span> Threads&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="object_pinning_multiver_id2657995.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">object_pinning</a>&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt; {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="multiversion_object_res_id2657480.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="shared_objects_multiver_id2658026.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_tag.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_pinning_tag.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct object_pinning_tag</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
+<link rel="prev" href="shared_object_storage_tag.html" title="Struct shared_object_storage_tag">
+<link rel="next" href="savepoints_session.html" title="Class savepoints_session">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shared_object_storage_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="savepoints_session.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.object_pinning_tag"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct object_pinning_tag</span></h2>
+<p>boost::persistent::object_pinning_tag</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="object_pinning_tag.html" title="Struct object_pinning_tag">object_pinning_tag</a> {
+};</pre></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shared_object_storage_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="savepoints_session.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_resource_tag.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_resource_tag.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct object_resource_tag</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
-<link rel="prev" href="redo_storage/transaction.html" title="Class transaction">
-<link rel="next" href="object_pinning.html" title="Struct template object_pinning">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="redo_storage/transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="object_pinning.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.object_resource_tag"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct object_resource_tag</span></h2>
-<p>boost::persistent::object_resource_tag</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
-
-</em></span>
-<span class="bold"><strong>struct</strong></span> <a class="link" href="object_resource_tag.html" title="Struct object_resource_tag">object_resource_tag</a> {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="redo_storage/transaction.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="object_pinning.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_storage_tag.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/object_storage_tag.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct object_storage_tag</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
+<link rel="prev" href="redo_storage.html" title="Class template redo_storage">
+<link rel="next" href="shared_object_storage_tag.html" title="Struct shared_object_storage_tag">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="redo_storage.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="shared_object_storage_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.object_storage_tag"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct object_storage_tag</span></h2>
+<p>boost::persistent::object_storage_tag</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="object_storage_tag.html" title="Struct object_storage_tag">object_storage_tag</a> {
+};</pre></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="redo_storage.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="shared_object_storage_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/pinned_loc.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/pinned_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class template pinned_loc</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.pinned_loc_hpp" title="Header &lt;boost/persistent/pinned_loc.hpp&gt;">
+<link rel="prev" href="null_atomic_storage.html" title="Class template null_atomic_storage">
+<link rel="next" href="redo_storage.html" title="Class template redo_storage">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="null_atomic_storage.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.pinned_loc_hpp"><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="redo_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.pinned_loc"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class template pinned_loc</span></h2>
+<p>boost::persistent::pinned_loc &#8212; A template alias of <code class="computeroutput">basic_pinned_loc</code> using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.pinned_loc_hpp" title="Header &lt;boost/persistent/pinned_loc.hpp&gt;">boost/persistent/pinned_loc.hpp</a>&gt;
+
+</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+<span class="bold"><strong>class</strong></span> <a class="link" href="pinned_loc.html" title="Class template pinned_loc">pinned_loc</a> {
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2885527"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T,class Tag=default_tag&gt;
+ using pinned_loc = basic_loc&lt;T,transaction_manager,Tag&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">pinned_loc</code> ist implemented as a class that acts like a template alias. </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="null_atomic_storage.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.pinned_loc_hpp"><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="redo_storage.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/recovery_failure.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/recovery_failure.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/recovery_failure.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,7 +4,7 @@
 <title>Struct recovery_failure</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
 <link rel="prev" href="exception.html" title="Struct exception">
 <link rel="next" href="io_failure.html" title="Struct io_failure">

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/redo_storage.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/redo_storage.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/redo_storage.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Class template redo_storage</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.redo_storage_hpp" title="Header &lt;boost/persistent/redo_storage.hpp&gt;">
-<link rel="prev" href="object_database.html" title="Class object_database">
-<link rel="next" href="redo_storage/detail.html" title="Struct detail">
+<link rel="prev" href="pinned_loc.html" title="Class template pinned_loc">
+<link rel="next" href="object_storage_tag.html" title="Struct object_storage_tag">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,13 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="object_database.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.redo_storage_hpp"><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="redo_storage/detail.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="pinned_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.redo_storage_hpp"><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="object_storage_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.redo_storage"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template redo_storage</span></h2>
-<p>boost::persistent::redo_storage</p>
+<p>boost::persistent::redo_storage &#8212; A model of AtomicStorageEngine. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.redo_storage_hpp" title="Header &lt;boost/persistent/redo_storage.hpp&gt;">boost/persistent/redo_storage.hpp</a>&gt;
@@ -39,99 +39,124 @@
   <span class="bold"><strong>typedef</strong></span> Storage::object_id <a name="boost.persistent.redo_storage.object_id"></a>object_id;
   <span class="bold"><strong>typedef</strong></span> Storage::instance_id <a name="boost.persistent.redo_storage.instance_id"></a>instance_id;
   <span class="bold"><strong>typedef</strong></span> Storage::object_count <a name="boost.persistent.redo_storage.object_count"></a>object_count;
-
- <span class="emphasis"><em>// member classes/structs/unions</em></span>
-
- <span class="bold"><strong>struct</strong></span> <a class="link" href="redo_storage/detail.html" title="Struct detail">detail</a> {
- <span class="emphasis"><em>// member classes/structs/unions</em></span>
-
- <span class="bold"><strong>class</strong></span> <a class="link" href="redo_storage/detail/transaction_construct_t.html" title="Class transaction_construct_t">transaction_construct_t</a> {
- <span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="redo_storage/detail/transaction_construct_t.html#boost.persistent.redo_storage.detail.transaction_construct_tconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="redo_storage/detail/transaction_construct_t.html#id2658152-bb">transaction_construct_t</a>(logtx_t);
- };
- };
-
- <span class="bold"><strong>class</strong></span> <a class="link" href="redo_storage/transaction.html" title="Class transaction">transaction</a> : <span class="bold"><strong>private</strong></span> noncopyable {
- };
+ <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.persistent.redo_storage.transaction"></a>transaction;
 
   <span class="emphasis"><em>// <a class="link" href="redo_storage.html#boost.persistent.redo_storageconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="redo_storage.html#id2658626-bb">redo_storage</a>(Storage &amp;, std::string <span class="bold"><strong>const</strong></span> &amp;, std::size_t = 20 *1024 *1024);
- <a class="link" href="redo_storage.html#id2658647-bb">~redo_storage</a>();
+ <a class="link" href="redo_storage.html#id2565453-bb">redo_storage</a>(Storage &amp;, std::string <span class="bold"><strong>const</strong></span> &amp;, std::size_t = 20 *1024 *1024);
+ <a class="link" href="redo_storage.html#id2565504-bb">~redo_storage</a>();
 
- <span class="emphasis"><em>// <a class="link" href="redo_storage.html#id2658191-bb">public member functions</a></em></span>
- <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="redo_storage.html#id2658194-bb">begin_transaction</a>() ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658203-bb">commit_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658217-bb">apply_transaction</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658231-bb">rollback_transaction</a>(transaction &amp;) ;
+ <span class="emphasis"><em>// <a class="link" href="redo_storage.html#id2564982-bb">public member functions</a></em></span>
+ <span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a class="link" href="redo_storage.html#id2564985-bb">begin_transaction</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2564995-bb">commit_transaction</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565011-bb">apply_transaction</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565027-bb">rollback_transaction</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;) ;
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
- <span class="type">T *</span> <a class="link" href="redo_storage.html#id2658246-bb">load_instance</a>(object_id, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type">T *</span> <a class="link" href="redo_storage.html#id2565044-bb">load_instance</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
   <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
- <span class="type">instance_id</span> <a class="link" href="redo_storage.html#id2658277-bb">save_instance</a>(transaction &amp;, object_id, T <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658314-bb">free_local_instance</a>(transaction &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658334-bb">free_instance</a>(transaction &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658354-bb">apply_free_instance</a>(transaction &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type">object_id</span> <a class="link" href="redo_storage.html#id2658374-bb">allocate_object</a>(transaction &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658388-bb">free_local_object</a>(transaction &amp;, object_id) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658408-bb">free_object</a>(transaction &amp;, object_id) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658427-bb">apply_free_object</a>(transaction &amp;, object_id) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658447-bb">load_object</a>(object_id, transaction_id &amp;, instance_id &amp;, object_count &amp;,
- object_count &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658484-bb">update_object_state</a>(transaction &amp;, object_id, transaction_id,
+ <span class="type">instance_id</span> <a class="link" href="redo_storage.html#id2565075-bb">save_instance</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, T <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565115-bb">free_local_instance</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565137-bb">free_instance</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565159-bb">apply_free_instance</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type">object_id</span> <a class="link" href="redo_storage.html#id2565181-bb">allocate_object</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565197-bb">free_local_object</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565220-bb">free_object</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565242-bb">apply_free_object</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565264-bb">load_object</a>(object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id &amp;, instance_id &amp;,
+ object_count &amp;, object_count &amp;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565301-bb">update_object_state</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id,
                            instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658516-bb">apply_object_state</a>(transaction &amp;, object_id, transaction_id,
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565335-bb">apply_object_state</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, transaction_id,
                           instance_id <span class="bold"><strong>const</strong></span> &amp;) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658547-bb">update_object_count</a>(transaction &amp;, object_id, object_count,
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565369-bb">update_object_count</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, object_count,
                            object_count) ;
- <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2658578-bb">apply_object_count</a>(transaction &amp;, object_id, object_count,
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="redo_storage.html#id2565403-bb">apply_object_count</a>(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp;, object_count,
                           object_count) ;
- <span class="type">transaction_id</span> <a class="link" href="redo_storage.html#id2658610-bb">get_transaction_id</a>() ;
- <span class="type">object_id</span> <a class="link" href="redo_storage.html#id2658618-bb">root_object_id</a>() ;
+ <span class="type">transaction_id</span> <a class="link" href="redo_storage.html#id2565436-bb">allocate_transaction_id</a>() ;
+ <span class="type">object_id</span> <a class="link" href="redo_storage.html#id2565445-bb">root_object_id</a>() ;
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3034060"></a><h2>Description</h2>
+<a name="id2886412"></a><h2>Description</h2>
+<p><code class="computeroutput">redo_storage</code> is implemented by maintaining a redo log. A model of StorageEngine is used to store the objects.</p>
+<p>Model of AtomicStorageEngine. Only members that are not part of this concept are documented here.</p>
+<p>Template parameters: </p>
+<div class="itemizedlist"><ul type="disc">
+<li><p><code class="computeroutput">Storage</code> A model of StorageEngine that is used to store the objects. </p></li>
+<li><p><code class="computeroutput">Threads</code> <code class="computeroutput">true</code> if this <code class="computeroutput">redo_storage</code> is accessed by multiple threads concurrently. </p></li>
+<li><p><code class="computeroutput">Sync</code> <code class="computeroutput">true</code> makes the <code class="computeroutput">redo_storage</code> wait for changes to reach the physical storage device on transaction commit. <code class="computeroutput">false</code> only flushes internal buffers on commit, which may result in corrupted data in case of a system failure (but not in case the application is aborted) </p></li>
+</ul></div>
+<p>
+</p>
 <div class="refsect2" lang="en">
-<a name="id3034064"></a><h3>
+<a name="id2886497"></a><h3>
 <a name="boost.persistent.redo_storageconstruct-copy-destruct"></a><code class="computeroutput">redo_storage</code>
         public
        construct/copy/destruct</h3>
 <div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2658626-bb"></a>redo_storage(Storage &amp; storage, std::string <span class="bold"><strong>const</strong></span> &amp; name,
- std::size_t max_log_size = 20 *1024 *1024);</pre></li>
-<li><pre class="literallayout"><a name="id2658647-bb"></a>~redo_storage();</pre></li>
+<li>
+<pre class="literallayout"><a name="id2565453-bb"></a>redo_storage(Storage &amp; storage, std::string <span class="bold"><strong>const</strong></span> &amp; log_filename,
+ std::size_t max_log_size = 20 *1024 *1024);</pre>Constructs a <code class="computeroutput">redo_storage</code> object. <p>Throws: thread_resource_error, io_failure, recovery_failure
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">log_filename</code></span></p></td>
+<td><p>Filename of the redo log </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_log_size</code></span></p></td>
+<td><p>Maximum size of the redo log, in bytes. When max_log_size is reached a new redo log is started and the old one is removed as soon as possible. Note that this is dependent on transactions that are still running, so the actual disk space used for log files may exceed max_log_size. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">storage</code></span></p></td>
+<td><p>The <code class="computeroutput">StorageEngine</code> that is used to store the objects </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2565504-bb"></a>~redo_storage();</pre>Throws: Nothing. </li>
 </ol></div>
 </div>
 <div class="refsect2" lang="en">
-<a name="id3034122"></a><h3>
-<a name="id2658191-bb"></a><code class="computeroutput">redo_storage</code> public member functions</h3>
+<a name="id2886623"></a><h3>
+<a name="id2564982-bb"></a><code class="computeroutput">redo_storage</code> public member functions</h3>
 <div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2658194-bb"></a>begin_transaction() ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658203-bb"></a>commit_transaction(transaction &amp; tx) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658217-bb"></a>apply_transaction(transaction &amp; tx) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658231-bb"></a>rollback_transaction(transaction &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="emphasis"><em>unspecified</em></span></span> <a name="id2564985-bb"></a>begin_transaction() ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2564995-bb"></a>commit_transaction(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565011-bb"></a>apply_transaction(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565027-bb"></a>rollback_transaction(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx) ;</pre></li>
 <li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
- <span class="type">T *</span> <a name="id2658246-bb"></a>load_instance(object_id oid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+ <span class="type">T *</span> <a name="id2565044-bb"></a>load_instance(object_id <span class="bold"><strong>const</strong></span> &amp; oid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
 <li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> ResourceTag&gt;
- <span class="type">instance_id</span> <a name="id2658277-bb"></a>save_instance(transaction &amp; tx, object_id oid, T <span class="bold"><strong>const</strong></span> &amp; o) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658314-bb"></a>free_local_instance(transaction &amp; tx, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658334-bb"></a>free_instance(transaction &amp; tx, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658354-bb"></a>apply_free_instance(transaction &amp; tx, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
-<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2658374-bb"></a>allocate_object(transaction &amp; tx) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658388-bb"></a>free_local_object(transaction &amp; tx, object_id oid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658408-bb"></a>free_object(transaction &amp; tx, object_id oid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658427-bb"></a>apply_free_object(transaction &amp; tx, object_id oid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658447-bb"></a>load_object(object_id oid, transaction_id &amp; tid, instance_id &amp; iid,
- object_count &amp; strong, object_count &amp; weak) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658484-bb"></a>update_object_state(transaction &amp; tx, object_id oid, transaction_id tid,
- instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658516-bb"></a>apply_object_state(transaction &amp;, object_id oid, transaction_id tid,
- instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658547-bb"></a>update_object_count(transaction &amp; tx, object_id oid, object_count strong,
- object_count weak) ;</pre></li>
-<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2658578-bb"></a>apply_object_count(transaction &amp;, object_id oid, object_count strong,
- object_count weak) ;</pre></li>
-<li><pre class="literallayout"><span class="type">transaction_id</span> <a name="id2658610-bb"></a>get_transaction_id() ;</pre></li>
-<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2658618-bb"></a>root_object_id() ;</pre></li>
+ <span class="type">instance_id</span> <a name="id2565075-bb"></a>save_instance(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ T <span class="bold"><strong>const</strong></span> &amp; o) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565115-bb"></a>free_local_instance(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565137-bb"></a>free_instance(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565159-bb"></a>apply_free_instance(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2565181-bb"></a>allocate_object(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565197-bb"></a>free_local_object(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565220-bb"></a>free_object(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565242-bb"></a>apply_free_object(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, object_id <span class="bold"><strong>const</strong></span> &amp; oid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565264-bb"></a>load_object(object_id <span class="bold"><strong>const</strong></span> &amp; oid, transaction_id &amp; tid,
+ instance_id &amp; iid, object_count &amp; strong,
+ object_count &amp; weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565301-bb"></a>update_object_state(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ transaction_id tid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565335-bb"></a>apply_object_state(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ transaction_id tid, instance_id <span class="bold"><strong>const</strong></span> &amp; iid) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565369-bb"></a>update_object_count(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp; tx, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ object_count strong, object_count weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565403-bb"></a>apply_object_count(<a class="link" href="redo_storage.html#boost.persistent.redo_storage.transaction">transaction</a> &amp;, object_id <span class="bold"><strong>const</strong></span> &amp; oid,
+ object_count strong, object_count weak) ;</pre></li>
+<li><pre class="literallayout"><span class="type">transaction_id</span> <a name="id2565436-bb"></a>allocate_transaction_id() ;</pre></li>
+<li><pre class="literallayout"><span class="type">object_id</span> <a name="id2565445-bb"></a>root_object_id() ;</pre></li>
 </ol></div>
 </div>
 </div>
@@ -146,7 +171,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="object_database.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.redo_storage_hpp"><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="redo_storage/detail.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="pinned_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.redo_storage_hpp"><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="object_storage_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/save_on_shutdown.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/save_on_shutdown.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class save_on_shutdown</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp" title="Header &lt;boost/persistent/savepoints_session.hpp&gt;">
+<link rel="prev" href="savepoints_session.html" title="Class savepoints_session">
+<link rel="next" href="scoped_loc.html" title="Class template scoped_loc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="savepoints_session.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp"><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="scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.save_on_shutdown"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class save_on_shutdown</span></h2>
+<p>boost::persistent::save_on_shutdown &#8212; Saves all changes since the last savepoint on destruction. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp" title="Header &lt;boost/persistent/savepoints_session.hpp&gt;">boost/persistent/savepoints_session.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>class</strong></span> <a class="link" href="save_on_shutdown.html" title="Class save_on_shutdown">save_on_shutdown</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a class="link" href="save_on_shutdown.html#boost.persistent.save_on_shutdownconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="save_on_shutdown.html#id2565741-bb">save_on_shutdown</a>(<a class="link" href="savepoints_session.html" title="Class savepoints_session">savepoints_session</a> &amp;);
+ <a class="link" href="save_on_shutdown.html#id2565762-bb">~save_on_shutdown</a>();
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2888878"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2888881"></a><h3>
+<a name="boost.persistent.save_on_shutdownconstruct-copy-destruct"></a><code class="computeroutput">save_on_shutdown</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><a name="id2565741-bb"></a>save_on_shutdown(<a class="link" href="savepoints_session.html" title="Class savepoints_session">savepoints_session</a> &amp; session);</pre>
+<p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">session</code></span></p></td>
+<td><p>The <code class="computeroutput">savepoints_session</code> object </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li>
+<li>
+<pre class="literallayout"><a name="id2565762-bb"></a>~save_on_shutdown();</pre>Saves all changes made since the last savepoint. <p>Exceptions thrown by <code class="computeroutput">savepoints_session::save()</code> are ignored</p>
+<p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="savepoints_session.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp"><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="scoped_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/savepoints_session.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/savepoints_session.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class savepoints_session</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp" title="Header &lt;boost/persistent/savepoints_session.hpp&gt;">
+<link rel="prev" href="object_pinning_tag.html" title="Struct object_pinning_tag">
+<link rel="next" href="save_on_shutdown.html" title="Class save_on_shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object_pinning_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp"><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="save_on_shutdown.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.savepoints_session"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class savepoints_session</span></h2>
+<p>boost::persistent::savepoints_session &#8212; A session using the default transaction manager and simple savepoints instead of transactions. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp" title="Header &lt;boost/persistent/savepoints_session.hpp&gt;">boost/persistent/savepoints_session.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>class</strong></span> <a class="link" href="savepoints_session.html" title="Class savepoints_session">savepoints_session</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a class="link" href="savepoints_session.html#boost.persistent.savepoints_sessionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="savepoints_session.html#id2565667-bb">savepoints_session</a>(std::string <span class="bold"><strong>const</strong></span> &amp;, std::size_t = 1000000,
+ std::size_t = 20 *1024 *1024);
+
+ <span class="emphasis"><em>// <a class="link" href="savepoints_session.html#id2565547-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="savepoints_session.html#id2565551-bb">save</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="savepoints_session.html#id2565612-bb">undo</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="savepoints_session.html#id2565638-bb">bind</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="savepoints_session.html#id2565652-bb">unbind</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2888459"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2888462"></a><h3>
+<a name="boost.persistent.savepoints_sessionconstruct-copy-destruct"></a><code class="computeroutput">savepoints_session</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2565667-bb"></a>savepoints_session(std::string <span class="bold"><strong>const</strong></span> &amp; name,
+ std::size_t max_cache_size = 1000000,
+ std::size_t max_log_size = 20 *1024 *1024);</pre>Constructs a <code class="computeroutput">savepoint_session</code>. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">recovery_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_cache_size</code></span></p></td>
+<td><p>The maximum number of objects that are internally cached. Note that this is independent of the size of each individual object, if large objects are used max_cache_size should be set accordingly. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_log_size</code></span></p></td>
+<td><p>Maximum size of the log, in bytes. When max_log_size is reached a new log is started and the old one is removed as soon as possible. Note that this is dependent on transactions that are still running, so the actual disk space used for log files may exceed max_log_size. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">name</code></span></p></td>
+<td><p>A name that, extended by various file extensions, is used as filename to store the database. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2888586"></a><h3>
+<a name="id2565547-bb"></a><code class="computeroutput">savepoints_session</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565551-bb"></a>save() ;</pre>Saves all changes made since the last savepoint. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">archive_exception</code>, <code class="computeroutput">finalize_error</code> <code class="computeroutput">isolation_exception</code>, any exception thrown by the following user-supplied functions: <code class="computeroutput">T::T()</code>, <code class="computeroutput">serialize()</code>, <code class="computeroutput">load()</code>, <code class="computeroutput">save()</code>, <code class="computeroutput">construct()</code>, <code class="computeroutput">equal()</code>, <code class="computeroutput">finalize()</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565612-bb"></a>undo() ;</pre>Unwinds all changes made since the last savepoint. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">finalize_error</code> </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565638-bb"></a>bind() ;</pre>Binds this session. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565652-bb"></a>unbind() ;</pre>If this session is the active session, unbinds it. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object_pinning_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.savepoints_session_hpp"><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="save_on_shutdown.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/scoped_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/scoped_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/scoped_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Class template scoped_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.scoped_loc_hpp" title="Header &lt;boost/persistent/scoped_loc.hpp&gt;">
-<link rel="prev" href="distributed_transactions.html" title="Struct template distributed_transactions">
+<link rel="prev" href="save_on_shutdown.html" title="Class save_on_shutdown">
 <link rel="next" href="shared_loc.html" title="Class template shared_loc">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,41 +20,26 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="distributed_transactions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.scoped_loc_hpp"><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="shared_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="save_on_shutdown.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.scoped_loc_hpp"><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="shared_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.scoped_loc"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template scoped_loc</span></h2>
-<p>boost::persistent::scoped_loc</p>
+<p>boost::persistent::scoped_loc &#8212; A template alias of <code class="computeroutput">basic_scoped_loc</code> using the default transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.scoped_loc_hpp" title="Header &lt;boost/persistent/scoped_loc.hpp&gt;">boost/persistent/scoped_loc.hpp</a>&gt;
 
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="scoped_loc.html" title="Class template scoped_loc">scoped_loc</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_scoped_loc&lt; T, boost::persistent::basic_transaction_manager &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="scoped_loc.html#boost.persistent.scoped_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="scoped_loc.html#id2658725-bb">scoped_loc</a>();
- <a class="link" href="scoped_loc.html#id2658726-bb">scoped_loc</a>(T *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="scoped_loc.html#id2658733-bb">scoped_loc</a>(T *, Tag);
- <a class="link" href="scoped_loc.html#id2658753-bb">scoped_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
+<span class="bold"><strong>class</strong></span> <a class="link" href="scoped_loc.html" title="Class template scoped_loc">scoped_loc</a> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3035484"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3035487"></a><h3>
-<a name="boost.persistent.scoped_locconstruct-copy-destruct"></a><code class="computeroutput">scoped_loc</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2658725-bb"></a>scoped_loc();</pre></li>
-<li><pre class="literallayout"><a name="id2658726-bb"></a>scoped_loc(T * p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2658733-bb"></a>scoped_loc(T * p, Tag tag);</pre></li>
-<li><pre class="literallayout"><a name="id2658753-bb"></a>scoped_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; p);</pre></li>
-</ol></div>
-</div>
+<a name="id2889100"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T&gt;
+ using scoped_loc = basic_loc&lt;T,transaction_manager&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">scoped_loc</code> ist implemented as a class that acts like a template alias. </p>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -67,7 +52,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="distributed_transactions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.scoped_loc_hpp"><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="shared_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="save_on_shutdown.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.scoped_loc_hpp"><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="shared_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Class template shared_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.shared_loc_hpp" title="Header &lt;boost/persistent/shared_loc.hpp&gt;">
 <link rel="prev" href="scoped_loc.html" title="Class template scoped_loc">
-<link rel="next" href="../../BOOST_PERSISTENT_ATOMIC.html" title="Macro BOOST_PERSISTENT_ATOMIC">
+<link rel="next" href="streambuf_block.html" title="Class streambuf_block">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,56 +20,26 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.shared_loc_hpp"><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="../../BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.shared_loc_hpp"><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="streambuf_block.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.shared_loc"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template shared_loc</span></h2>
-<p>boost::persistent::shared_loc</p>
+<p>boost::persistent::shared_loc &#8212; A template alias of <code class="computeroutput">basic_shared_loc</code> using the default transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.shared_loc_hpp" title="Header &lt;boost/persistent/shared_loc.hpp&gt;">boost/persistent/shared_loc.hpp</a>&gt;
 
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
 <span class="bold"><strong>class</strong></span> <a class="link" href="shared_loc.html" title="Class template shared_loc">shared_loc</a> {
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="shared_loc.html#boost.persistent.shared_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="shared_loc.html#id2658787-bb">shared_loc</a>();
- <a class="link" href="shared_loc.html#id2658788-bb">shared_loc</a>(base <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a class="link" href="shared_loc.html#id2658795-bb">shared_loc</a>(basic_shared_loc&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <a class="link" href="shared_loc.html#id2658809-bb">shared_loc</a>(T *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="shared_loc.html#id2658816-bb">shared_loc</a>(T *, Tag);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="shared_loc.html#id2658836-bb">shared_loc</a>(Y *);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> Tag&gt; <a class="link" href="shared_loc.html#id2658850-bb">shared_loc</a>(Y *, Tag);
- <a class="link" href="shared_loc.html#id2658874-bb">shared_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a class="link" href="shared_loc.html#id2658884-bb">shared_loc</a>(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a class="link" href="shared_loc.html#id2658900-bb">shared_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3035945"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3035948"></a><h3>
-<a name="boost.persistent.shared_locconstruct-copy-destruct"></a><code class="computeroutput">shared_loc</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2658787-bb"></a>shared_loc();</pre></li>
-<li><pre class="literallayout"><a name="id2658788-bb"></a>shared_loc(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a name="id2658795-bb"></a>shared_loc(basic_shared_loc&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><a name="id2658809-bb"></a>shared_loc(T * p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2658816-bb"></a>shared_loc(T * p, Tag tag);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2658836-bb"></a>shared_loc(Y * p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> Tag&gt; <a name="id2658850-bb"></a>shared_loc(Y * p, Tag tag);</pre></li>
-<li><pre class="literallayout"><a name="id2658874-bb"></a>shared_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt; <a name="id2658884-bb"></a>shared_loc(<a class="link" href="basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; p);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a name="id2658900-bb"></a>shared_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre></li>
-</ol></div>
-</div>
+<a name="id2889238"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T&gt;
+ using shared_loc = basic_loc&lt;T,transaction_manager&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">shared_loc</code> ist implemented as a class that acts like a template alias. </p>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -82,7 +52,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.shared_loc_hpp"><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="../../BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="scoped_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.shared_loc_hpp"><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="streambuf_block.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_object_storage_tag.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_object_storage_tag.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Struct shared_object_storage_tag</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
+<link rel="prev" href="object_storage_tag.html" title="Struct object_storage_tag">
+<link rel="next" href="object_pinning_tag.html" title="Struct object_pinning_tag">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object_storage_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="object_pinning_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.shared_object_storage_tag"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct shared_object_storage_tag</span></h2>
+<p>boost::persistent::shared_object_storage_tag</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>struct</strong></span> <a class="link" href="shared_object_storage_tag.html" title="Struct shared_object_storage_tag">shared_object_storage_tag</a> {
+};</pre></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object_storage_tag.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="object_pinning_tag.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template shared_objects</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">
-<link rel="prev" href="object_pinning.html" title="Struct template object_pinning">
-<link rel="next" href="distributed_transactions.html" title="Struct template distributed_transactions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_pinning.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="distributed_transactions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.shared_objects"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template shared_objects</span></h2>
-<p>boost::persistent::shared_objects</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp" title="Header &lt;boost/persistent/resource_manager.hpp&gt;">boost/persistent/resource_manager.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ObjectResourceManager&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="shared_objects.html" title="Struct template shared_objects">shared_objects</a> {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_pinning.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.resource_manager_hpp"><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="distributed_transactions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects_multiver_id2412152.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects_multiver_id2412152.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
-<link rel="prev" href="object_pinning_multiver_id2412121.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-<link rel="next" href="object_database.html" title="Class object_database">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_pinning_multiver_id2412121.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_database.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.shared_objects_multiver_id2412152"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</span></h2>
-<p>boost::persistent::shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag, <span class="bold"><strong>bool</strong></span> Threads&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="shared_objects_multiver_id2412152.html" title="Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">shared_objects</a>&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt; {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_pinning_multiver_id2412121.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_database.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects_multiver_id2658026.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/shared_objects_multiver_id2658026.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</title>
-<link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">
-<link rel="prev" href="object_pinning_multiver_id2657995.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">
-<link rel="next" href="object_database.html" title="Class object_database">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_pinning_multiver_id2657995.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_database.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry" lang="en">
-<a name="boost.persistent.shared_objects_multiver_id2658026"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</span></h2>
-<p>boost::persistent::shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp" title="Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;">boost/persistent/multiversion_object_resource.hpp</a>&gt;
-
-</em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag, <span class="bold"><strong>bool</strong></span> Threads&gt;
-<span class="bold"><strong>struct</strong></span> <a class="link" href="shared_objects_multiver_id2658026.html" title="Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">shared_objects</a>&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt; {
-};</pre></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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="object_pinning_multiver_id2657995.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.multiversion_object_resource_hpp"><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="object_database.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/streambuf_block.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/streambuf_block.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class streambuf_block</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.streambuf_block_hpp" title="Header &lt;boost/persistent/streambuf_block.hpp&gt;">
+<link rel="prev" href="shared_loc.html" title="Class template shared_loc">
+<link rel="next" href="../../BOOST_PERSISTENT_ATOMIC.html" title="Macro BOOST_PERSISTENT_ATOMIC">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shared_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.streambuf_block_hpp"><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="../../BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.streambuf_block"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class streambuf_block</span></h2>
+<p>boost::persistent::streambuf_block &#8212; Model of <code class="computeroutput">DataBlock</code> using a std::streambuf. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.streambuf_block_hpp" title="Header &lt;boost/persistent/streambuf_block.hpp&gt;">boost/persistent/streambuf_block.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>class</strong></span> <a class="link" href="streambuf_block.html" title="Class streambuf_block">streambuf_block</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// types</em></span>
+ <span class="bold"><strong>typedef</strong></span> std::streamsize <a name="boost.persistent.streambuf_block.size_type"></a>size_type;
+
+ <span class="emphasis"><em>// <a class="link" href="streambuf_block.html#boost.persistent.streambuf_blockconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="streambuf_block.html#id2566032-bb">streambuf_block</a>(std::streambuf &amp;);
+
+ <span class="emphasis"><em>// <a class="link" href="streambuf_block.html#id2565889-bb">public member functions</a></em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="streambuf_block.html#id2565893-bb">write</a>(size_type <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> *, Size) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="streambuf_block.html#id2565926-bb">write</a>(size_type <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> *,
+ mpl::integral_c&lt; std::size_t, 1 &gt;) ;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt; <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="streambuf_block.html#id2565951-bb">read</a>(size_type <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>void</strong></span> *, Size) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="streambuf_block.html#id2565984-bb">read</a>(size_type <span class="bold"><strong>const</strong></span> &amp;, <span class="bold"><strong>void</strong></span> *, mpl::integral_c&lt; std::size_t, 1 &gt;) ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="streambuf_block.html#id2566010-bb">flush</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="streambuf_block.html#id2566018-bb">sync</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2889585"></a><h2>Description</h2>
+<p>Only members that are not part of the <code class="computeroutput">DataBlock</code> concept are documented here. </p>
+<div class="refsect2" lang="en">
+<a name="id2889596"></a><h3>
+<a name="boost.persistent.streambuf_blockconstruct-copy-destruct"></a><code class="computeroutput">streambuf_block</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2566032-bb"></a>streambuf_block(std::streambuf &amp; buf);</pre>Constructs a streambuf_block. <p>Throws: Nothing
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><code class="computeroutput">buf</code></span></p></td>
+<td><p>The std::streambuf </p></td>
+</tr></tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2889659"></a><h3>
+<a name="id2565889-bb"></a><code class="computeroutput">streambuf_block</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565893-bb"></a>write(size_type <span class="bold"><strong>const</strong></span> &amp; offset, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> * data, Size size) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565926-bb"></a>write(size_type <span class="bold"><strong>const</strong></span> &amp; offset, <span class="bold"><strong>void</strong></span> <span class="bold"><strong>const</strong></span> * data,
+ mpl::integral_c&lt; std::size_t, 1 &gt;) ;</pre></li>
+<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Size&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565951-bb"></a>read(size_type <span class="bold"><strong>const</strong></span> &amp; offset, <span class="bold"><strong>void</strong></span> * data, Size size) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2565984-bb"></a>read(size_type <span class="bold"><strong>const</strong></span> &amp; offset, <span class="bold"><strong>void</strong></span> * data,
+ mpl::integral_c&lt; std::size_t, 1 &gt;) ;</pre></li>
+<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2566010-bb"></a>flush() ;</pre></li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2566018-bb"></a>sync() ;</pre>Throws: <code class="computeroutput">unsupported_exception</code>. </li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shared_loc.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.streambuf_block_hpp"><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="../../BOOST_PERSISTENT_ATOMIC.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/boost/persistent/transactional_session.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/transactional_session.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Class transactional_session</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../../persistent/reference.html#header.boost.persistent.transactional_session_hpp" title="Header &lt;boost/persistent/transactional_session.hpp&gt;">
+<link rel="prev" href="../../BOOST_PERSISTENT_CONFIGURATION.html" title="Macro BOOST_PERSISTENT_CONFIGURATION">
+<link rel="next" href="weak_loc.html" title="Class template weak_loc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../BOOST_PERSISTENT_CONFIGURATION.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.transactional_session_hpp"><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="weak_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.persistent.transactional_session"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class transactional_session</span></h2>
+<p>boost::persistent::transactional_session &#8212; A session using the default transaction manager. </p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
+<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.transactional_session_hpp" title="Header &lt;boost/persistent/transactional_session.hpp&gt;">boost/persistent/transactional_session.hpp</a>&gt;
+
+</em></span>
+<span class="bold"><strong>class</strong></span> <a class="link" href="transactional_session.html" title="Class transactional_session">transactional_session</a> {
+<span class="bold"><strong>public</strong></span>:
+ <span class="emphasis"><em>// <a class="link" href="transactional_session.html#boost.persistent.transactional_sessionconstruct-copy-destruct">construct/copy/destruct</a></em></span>
+ <a class="link" href="transactional_session.html#id2566182-bb">transactional_session</a>(std::string <span class="bold"><strong>const</strong></span> &amp;, std::size_t = 1000000,
+ std::size_t = 20 *1024 *1024);
+
+ <span class="emphasis"><em>// <a class="link" href="transactional_session.html#id2566150-bb">public member functions</a></em></span>
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="transactional_session.html#id2566153-bb">bind</a>() ;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="transactional_session.html#id2566168-bb">unbind</a>() ;
+};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id2890293"></a><h2>Description</h2>
+<div class="refsect2" lang="en">
+<a name="id2890296"></a><h3>
+<a name="boost.persistent.transactional_sessionconstruct-copy-destruct"></a><code class="computeroutput">transactional_session</code>
+ public
+ construct/copy/destruct</h3>
+<div class="orderedlist"><ol type="1"><li>
+<pre class="literallayout"><a name="id2566182-bb"></a>transactional_session(std::string <span class="bold"><strong>const</strong></span> &amp; name,
+ std::size_t max_cache_size = 1000000,
+ std::size_t max_log_size = 20 *1024 *1024);</pre>Constructs a <code class="computeroutput">transactional_session</code>. <p>Throws: <code class="computeroutput">thread_resource_error</code>, <code class="computeroutput">io_failure</code>, <code class="computeroutput">recovery_failure</code>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Parameters:</span></p></td>
+<td><div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_cache_size</code></span></p></td>
+<td><p>The maximum number of objects that are internally cached. Note that this is independent of the size of each individual object, if large objects are used max_cache_size should be set accordingly. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">max_log_size</code></span></p></td>
+<td><p>Maximum size of the redo log, in bytes. When max_log_size is reached a new redo log is started and the old one is removed as soon as possible. Note that this is dependent on transactions that are still running, so the actual disk space used for log files may exceed max_log_size. </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="computeroutput">name</code></span></p></td>
+<td><p>A name that, extended by various file extensions, is used as filename to store the database. </p></td>
+</tr>
+</tbody>
+</table></div></td>
+</tr></tbody>
+</table></div>
+</li></ol></div>
+</div>
+<div class="refsect2" lang="en">
+<a name="id2737813"></a><h3>
+<a name="id2566150-bb"></a><code class="computeroutput">transactional_session</code> public member functions</h3>
+<div class="orderedlist"><ol type="1">
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2566153-bb"></a>bind() ;</pre>Binds this session. <p>Throws: Nothing </p>
+</li>
+<li>
+<pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2566168-bb"></a>unbind() ;</pre>If this session is the active session, unbinds it. <p>Throws: Nothing </p>
+</li>
+</ol></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../../BOOST_PERSISTENT_CONFIGURATION.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.transactional_session_hpp"><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="weak_loc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/unsupported_exception.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/unsupported_exception.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/unsupported_exception.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Struct unsupported_exception</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.exception_hpp" title="Header &lt;boost/persistent/exception.hpp&gt;">
-<link rel="prev" href="no_active_transaction_m_id2656836.html" title="Struct no_active_transaction_manager">
+<link rel="prev" href="no_active_transaction_m_id2543091.html" title="Struct no_active_transaction_manager">
 <link rel="next" href="isolation_exception.html" title="Struct isolation_exception">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="no_active_transaction_m_id2656836.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="isolation_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="no_active_transaction_m_id2543091.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="isolation_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.unsupported_exception"></a><div class="titlepage"></div>
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="no_active_transaction_m_id2656836.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="isolation_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="no_active_transaction_m_id2543091.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.exception_hpp"><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="isolation_exception.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/boost/persistent/weak_loc.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/boost/persistent/weak_loc.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/boost/persistent/weak_loc.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,9 @@
 <title>Class template weak_loc</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="up" href="../../persistent/reference.html#header.boost.persistent.weak_loc_hpp" title="Header &lt;boost/persistent/weak_loc.hpp&gt;">
-<link rel="prev" href="../../BOOST_PERSISTENT_RETRY.html" title="Macro BOOST_PERSISTENT_RETRY">
-<link rel="next" href="../../persistent/license_notices.html" title="License notices">
+<link rel="prev" href="transactional_session.html" title="Class transactional_session">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,45 +19,26 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_PERSISTENT_RETRY.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.weak_loc_hpp"><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="../../persistent/license_notices.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="transactional_session.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.weak_loc_hpp"><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>
 </div>
 <div class="refentry" lang="en">
 <a name="boost.persistent.weak_loc"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Class template weak_loc</span></h2>
-<p>boost::persistent::weak_loc</p>
+<p>boost::persistent::weak_loc &#8212; A template alias of <code class="computeroutput">basic_weak_loc</code> using the default transaction manager. </p>
 </div>
 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../persistent/reference.html#header.boost.persistent.weak_loc_hpp" title="Header &lt;boost/persistent/weak_loc.hpp&gt;">boost/persistent/weak_loc.hpp</a>&gt;
 
 </em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
-<span class="bold"><strong>class</strong></span> <a class="link" href="weak_loc.html" title="Class template weak_loc">weak_loc</a> : <span class="bold"><strong>public</strong></span> boost::persistent::basic_weak_loc&lt; T, boost::persistent::basic_transaction_manager&lt; boost::persistent::multiversion_object_resource&lt; boost::persistent::redo_storage&lt; boost::persistent::filesystem_storage&lt;&gt; &gt; &gt; &gt; &gt;
-{
-<span class="bold"><strong>public</strong></span>:
- <span class="emphasis"><em>// <a class="link" href="weak_loc.html#boost.persistent.weak_locconstruct-copy-destruct">construct/copy/destruct</a></em></span>
- <a class="link" href="weak_loc.html#id2658993-bb">weak_loc</a>();
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a class="link" href="weak_loc.html#id2658994-bb">weak_loc</a>(basic_shared_loc&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
- <a class="link" href="weak_loc.html#id2659008-bb">weak_loc</a>(base <span class="bold"><strong>const</strong></span> &amp;);
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a class="link" href="weak_loc.html#id2659017-bb">weak_loc</a>(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp;);
+<span class="bold"><strong>class</strong></span> <a class="link" href="weak_loc.html" title="Class template weak_loc">weak_loc</a> {
 };</pre></div>
 <div class="refsect1" lang="en">
-<a name="id3036671"></a><h2>Description</h2>
-<div class="refsect2" lang="en">
-<a name="id3036674"></a><h3>
-<a name="boost.persistent.weak_locconstruct-copy-destruct"></a><code class="computeroutput">weak_loc</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol type="1">
-<li><pre class="literallayout"><a name="id2658993-bb"></a>weak_loc();</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a name="id2658994-bb"></a>weak_loc(basic_shared_loc&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; r);</pre></li>
-<li><pre class="literallayout"><a name="id2659008-bb"></a>weak_loc(base <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-<li><pre class="literallayout"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y&gt;
- <a name="id2659017-bb"></a>weak_loc(<a class="link" href="basic_weak_loc.html" title="Class template basic_weak_loc">basic_weak_loc</a>&lt; Y, transaction_manager &gt; <span class="bold"><strong>const</strong></span> &amp; o);</pre></li>
-</ol></div>
-</div>
+<a name="id2890726"></a><h2>Description</h2>
+<pre class="programlisting"> template&lt;class T&gt;
+ using weak_loc = basic_loc&lt;T,transaction_manager&gt;;
+</pre>
+<p> In C++98, <code class="computeroutput">weak_loc</code> ist implemented as a class that acts like a template alias. </p>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -71,7 +51,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_PERSISTENT_RETRY.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.weak_loc_hpp"><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="../../persistent/license_notices.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="transactional_session.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../persistent/reference.html#header.boost.persistent.weak_loc_hpp"><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>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/configuration.jpg
==============================================================================
Binary file. No diff available.

Added: sandbox/persistent/libs/persistent/doc/html/container_iso.jpg
==============================================================================
Binary file. No diff available.

Added: sandbox/persistent/libs/persistent/doc/html/container_time.jpg
==============================================================================
Binary file. No diff available.

Added: sandbox/persistent/libs/persistent/doc/html/docutils.css
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/docutils.css 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,275 @@
+/*
+:Author: David Goodger
+:Contact: goodger_at_[hidden]
+:Date: $Date: 2007-11-25 19:34:32 +0000 (Sun, 25 Nov 2007) $
+:Revision: $Revision: 41371 $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0 }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 ! important }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 ! important }
+
+.last, .with-subtitle {
+ margin-bottom: 0 ! important }
+
+.hidden {
+ display: none }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+ font-weight: bold }
+*/
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+ compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+ margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+ margin-top: 0.5em }
+*/
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+div.footer, div.header {
+ clear: both;
+ font-size: smaller }
+
+div.line-block {
+ display: block ;
+ margin-top: 1em ;
+ margin-bottom: 1em }
+
+div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-left: 1.5em }
+
+div.sidebar {
+ margin-left: 1em ;
+ border: medium outset ;
+ padding: 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+ margin-top: 0.4em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr.docutils {
+ width: 75% }
+
+img.align-left {
+ clear: left }
+
+img.align-right {
+ clear: right }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font-family: serif ;
+ font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80% }
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.docutils {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.footnote {
+ border-left: solid 1px black;
+ margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap ;
+ padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+ font-size: 100% }
+
+ul.auto-toc {
+ list-style-type: none }

Modified: sandbox/persistent/libs/persistent/doc/html/index.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/index.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/index.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -1,11 +1,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Chapter 1. Boost.Intrusive</title>
+<title>Chapter 1. Boost.Persistent</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="next" href="persistent/introduction.html" title="Introduction">
+<link rel="start" href="index.html" title="Chapter 1. Boost.Persistent">
+<link rel="next" href="persistent/access.html" title="Accessing Persistent Objects">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -17,17 +17,17 @@
 <td align="center">More</td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="persistent/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="persistent/access.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
 <div class="chapter" lang="en">
 <div class="titlepage"><div>
 <div><h2 class="title">
-<a name="persistent"></a>Chapter 1. Boost.Intrusive</h2></div>
+<a name="persistent"></a>Chapter 1. Boost.Persistent</h2></div>
 <div><div class="author"><h3 class="author">
 <span class="firstname">Stefan</span> <span class="surname">Strasser</span>
 </h3></div></div>
 <div><p class="copyright">Copyright © 2009 Stefan Strasser</p></div>
 <div><div class="legalnotice">
-<a name="id2989715"></a><p>
+<a name="id2778158"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -36,81 +36,227 @@
 <div class="toc">
 <p><b>Table of Contents</b></p>
 <dl>
-<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Introduction</span></dt>
 <dd><dl>
-<dt><span class="section"> Motivation</span></dt>
-<dt><span class="section"> Locators (vs. pointers)</span></dt>
-<dt><span class="section"> Transactions</span></dt>
-<dt><span class="section"><a href="persistent/introduction.html#persistent.introduction.object_requirements"> Object
- requirements</a></span></dt>
-<dt><span class="section"><a href="persistent/introduction.html#persistent.introduction.persistent_objects"> Persistent
- objects</a></span></dt>
-</dl></dd>
-<dt><span class="section"> Tutorials</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="persistent/tutorials.html#persistent.tutorials.tutorial1"> Tutorial 1: Storing
- an object</a></span></dt>
-<dt><span class="section"> Tutorial 2: Linked list</span></dt>
-<dt><span class="section"><a href="persistent/tutorials.html#persistent.tutorials.tutorial3"> Tutorial 3: Persistent
- containers</a></span></dt>
-<dt><span class="section"><a href="persistent/tutorials.html#persistent.tutorials.conctx"> Tutorial 4: Using Concurrent
- Transactions</a></span></dt>
-</dl></dd>
-<dt><span class="section"> Using Boost.Persistent</span></dt>
-<dd><dl>
-<dt><span class="section"> Transactions</span></dt>
-<dt><span class="section"> Locators</span></dt>
-<dt><span class="section"> Finalizers</span></dt>
-<dt><span class="section"> Concurrent Access Containers</span></dt>
-<dt><span class="section"> Type accessors</span></dt>
-<dt><span class="section"> Pitfalls</span></dt>
+<dt><span class="section"> Motivation</span></dt>
+<dt><span class="section"> Approach</span></dt>
+</dl></dd>
+<dt><span class="section"> Accessing Persistent Objects</span></dt>
+<dd><dl>
+<dt><span class="section"> Persistent type requirements</span></dt>
+<dt><span class="section"> Persistent objects</span></dt>
+<dt><span class="section"> Locators</span></dt>
+<dd><dl>
+<dt><span class="section"> Concept</span></dt>
+<dt><span class="section"> Models</span></dt>
+</dl></dd>
+<dt><span class="section"> Savepoints</span></dt>
+<dt><span class="section"> Tutorials</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="persistent/access.html#persistent.access.tutorials.tutorial1"> Tutorial 1:
+ Storing an object</a></span></dt>
+<dt><span class="section"><a href="persistent/access.html#persistent.access.tutorials.tutorial2"> Tutorial 2:
+ Linked list</a></span></dt>
+</dl></dd>
+<dt><span class="section"> Pitfalls</span></dt>
+<dd><dl>
+<dt><span class="section"> Savepoint boundaries</span></dt>
+<dt><span class="section"><a href="persistent/access.html#persistent.access.pitfalls.objectboundaries"> Persistent
+ Object boundaries</a></span></dt>
+<dt><span class="section"> Lifetime of instances</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section"> Using Transactions</span></dt>
+<dd><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Transaction scopes</span></dt>
+<dt><span class="section"><a href="persistent/transactions.html#persistent.transactions.vssavepoints"> Transactions vs.
+ savepoints</a></span></dt>
+<dt><span class="section"><a href="persistent/transactions.html#persistent.transactions.access"> Object access outside
+ of transactions</a></span></dt>
+<dt><span class="section"> Nested transactions</span></dt>
+<dt><span class="section"> Concurrent transactions</span></dt>
+<dd><dl><dt><span class="section"><a href="persistent/transactions.html#persistent.transactions.concurrent.tutorial"> Tutorial
+ 3: Concurrent transactions</a></span></dt></dl></dd>
+<dt><span class="section"> Pitfalls</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="persistent/transactions.html#persistent.transactions.pitfalls.tbound"> Transaction
+ boundaries</a></span></dt>
+<dt><span class="section"><a href="persistent/transactions.html#persistent.transactions.pitfalls.non_repeatable_side_effects_of_atomic_scopes">Non-repeatable
+ side effects of atomic scopes</a></span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section"> Advanced topics</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="persistent/advanced.html#persistent.advanced.containers"> Intrusive Persistent
+ Object Containers</a></span></dt>
+<dd><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Concept</span></dt>
+<dt><span class="section"> Models</span></dt>
+<dt><span class="section"><a href="persistent/advanced.html#persistent.advanced.containers.tutorial"> Tutorial
+ 4: Intrusive linked list</a></span></dt>
+</dl></dd>
+<dt><span class="section"> Thread safety</span></dt>
+<dt><span class="section"> Finalizers</span></dt>
+<dt><span class="section"><a href="persistent/advanced.html#persistent.advanced.optmem"> Optional members of persistent
+ types</a></span></dt>
 </dl></dd>
 <dt><span class="section"> Configuring Boost.Persistent</span></dt>
-<dd><dl><dt><span class="section"> Distributed transactions</span></dt></dl></dd>
+<dd><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"><a href="persistent/configuring.html#persistent.configuring.defaultconf"> Changing the default
+ configuration</a></span></dt>
+<dt><span class="section"><a href="persistent/configuring.html#persistent.configuring.defaulttrans"> Configuring the
+ default transaction manager</a></span></dt>
+<dt><span class="section"><a href="persistent/configuring.html#persistent.configuring.defaultres"> Configuring the default
+ resource manager</a></span></dt>
+</dl></dd>
 <dt><span class="section"> Extending Boost.Persistent</span></dt>
+<dd><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Concepts</span></dt>
+<dt><span class="section"> Services</span></dt>
+</dl></dd>
+<dt><span class="section"> Future development</span></dt>
+<dt><span class="section"> Acknowledgements</span></dt>
 <dt><span class="section">Reference</span></dt>
 <dd><dl>
+<dt><span class="section">Header <boost/persistent/concept/AtomicStorageEngine.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/DataBlock.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/ObjectPinningService.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/ObjectStorageService.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/ResourceManager.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/SharedObjectStorageService.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/StorageEngine.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/TransactionManager.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/access.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/basic_clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/basic_clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/basic_cmap.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/basic_cset.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/basic_cset.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/basic_pinned_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_scoped_loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/basic_shared_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_transaction.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_transaction_manager.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_weak_loc.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/cache.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/cmap.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/cset.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/cset.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/block_storage.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/default_tag.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/exception.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/basic_cslist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/cslist.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/interior_ptr.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/basic_loc_list.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/basic_loc_set.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/basic_loc_slist.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/loc_list.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/loc_set.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/loc_slist.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/mapped_file_block.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/multiversion_object_resource.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/object_database.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/null_atomic_storage.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/pinned_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/redo_storage.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/resource_manager.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/savepoints_session.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/scoped_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/shared_loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/streambuf_block.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/transaction.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/transaction_manager.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/transactional_session.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/weak_loc.hpp></span></dt>
 </dl></dd>
-<dt><span class="section"> License notices</span></dt>
 </dl>
 </div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="persistent.intro"></a><a class="link" href="index.html#persistent.intro" title="Introduction"> Introduction</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Motivation</span></dt>
+<dt><span class="section"> Approach</span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.intro.motivation"></a><a class="link" href="index.html#persistent.intro.motivation" title="Motivation"> Motivation</a>
+</h3></div></div></div>
+<p>
+ Boost.Serialization provides an easy way for a C++ application to save its
+ state to disk and later reconstruct it from that saved data:
+ </p>
+<pre class="programlisting"><span class="comment">//saving:
+</span><span class="identifier">ofstream</span> <span class="identifier">os</span><span class="special">(</span><span class="string">"file"</span><span class="special">,</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">out</span> <span class="special">|</span> <span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">binary</span><span class="special">);</span>
+<span class="identifier">binary_oarchive</span> <span class="identifier">oa</span><span class="special">(</span><span class="identifier">os</span><span class="special">);</span>
+<span class="identifier">oa</span> <span class="special">&lt;&lt;</span> <span class="identifier">obj</span><span class="special">;</span>
+
+<span class="comment">//loading:
+</span><span class="identifier">ifstream</span> <span class="identifier">is</span><span class="special">(</span><span class="string">"file"</span><span class="special">,</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">in</span> <span class="special">|</span> <span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">binary</span><span class="special">);</span>
+<span class="identifier">binary_iarchive</span> <span class="identifier">ia</span><span class="special">(</span><span class="identifier">is</span><span class="special">);</span>
+<span class="identifier">ia</span> <span class="special">&gt;&gt;</span> <span class="identifier">obj</span><span class="special">;</span>
+</pre>
+<p>
+ Once the problem of serialization itself is solved, there are several more
+ questions to be answered to make an application preserve (part of) its state
+ beyond its runtime:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ When and where should serialization from/to disk take place?
+ </li>
+<li>
+ Is it acceptable to serialize the whole application state at that point?
+ Are there resource limitations which require some information to be loaded
+ on demand?
+ </li>
+<li>
+ What if an application is aborted unexpectedly? Is it acceptable to have
+ lost all changes since application startup?
+ </li>
+<li>
+ What if the application is aborted when only a part of its state was written
+ to disk, e.g. while serialization took place?
+ </li>
+<li>
+ Is concurrent access from multiple threads to the application's state necessary?
+ How is that concurrent access synchronized?
+ </li>
+</ul></div>
+<p>
+ Boost.Persistent is built upon Boost.Serialization and seeks to provide a
+ generic solution to these problems.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.intro.aproach"></a><a class="link" href="index.html#persistent.intro.aproach" title="Approach"> Approach</a>
+</h3></div></div></div>
+<p>
+ Boost.Persistent introduces the concept of a <span class="emphasis"><em>persistent object</em></span>.
+ <span class="emphasis"><em>Persistent objects</em></span> can be accessed through <span class="emphasis"><em>locators</em></span>,
+ which are similar to pointers, but can refer to objects that are stored on
+ disk. The user only expresses the intention of accessing a <span class="emphasis"><em>persistent
+ object</em></span> but lets the library decide when and how to perform disk
+ I/O.
+ </p>
+<p>
+ The persistent state of the application can be updated in small increments,
+ instead of serializing the whole application state at one point. Those updates
+ are conducted as <span class="emphasis"><em>atomic operations</em></span> by the library, that
+ are presented to the user either as <span class="emphasis"><em>savepoints</em></span> or as
+ <span class="emphasis"><em>transactions</em></span>. The library maintains a consistent application
+ state and recovers it from application and system failures.
+ </p>
+<p>
+ Finally, a <span class="emphasis"><em>persistent object</em></span> can be accessed from multiple
+ <span class="emphasis"><em>transactions</em></span> in different threads concurrently and independent
+ from each other, making manual synchronization obsolete.
+ </p>
+</div>
+</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 14, 2009 at 17:18:15 GMT</small></p></td>
+<td align="left"><p><small>Last revised: December 26, 2009 at 18:16:33 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="persistent/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="persistent/access.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/minimal.css
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/minimal.css 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,29 @@
+/*
+
+ © Copyright Beman Dawes, 2007
+
+ Distributed under the Boost Software License, Version 1.0.
+ See www.boost.org/LICENSE_1_0.txt
+
+*/
+
+/*******************************************************************************
+ Body
+*******************************************************************************/
+
+body { font-family: sans-serif; margin: 1em; }
+
+/*******************************************************************************
+ Table
+*******************************************************************************/
+
+table { margin: 0.5em; }
+
+/*******************************************************************************
+ Font sizes
+*******************************************************************************/
+
+p, td, li, blockquote { font-size: 10pt; }
+pre { font-size: 9pt; }
+
+/*** end ***/
\ No newline at end of file

Added: sandbox/persistent/libs/persistent/doc/html/persistent/access.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/access.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,1173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Accessing Persistent Objects</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="next" href="transactions.html" title="Using Transactions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.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="transactions.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="persistent.access"></a><a class="link" href="access.html" title="Accessing Persistent Objects"> Accessing Persistent Objects</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Persistent type requirements</span></dt>
+<dt><span class="section"> Persistent objects</span></dt>
+<dt><span class="section"> Locators</span></dt>
+<dd><dl>
+<dt><span class="section"> Concept</span></dt>
+<dt><span class="section"> Models</span></dt>
+</dl></dd>
+<dt><span class="section"> Savepoints</span></dt>
+<dt><span class="section"> Tutorials</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="access.html#persistent.access.tutorials.tutorial1"> Tutorial 1:
+ Storing an object</a></span></dt>
+<dt><span class="section"><a href="access.html#persistent.access.tutorials.tutorial2"> Tutorial 2:
+ Linked list</a></span></dt>
+</dl></dd>
+<dt><span class="section"> Pitfalls</span></dt>
+<dd><dl>
+<dt><span class="section"> Savepoint boundaries</span></dt>
+<dt><span class="section"><a href="access.html#persistent.access.pitfalls.objectboundaries"> Persistent
+ Object boundaries</a></span></dt>
+<dt><span class="section"> Lifetime of instances</span></dt>
+</dl></dd>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.access.typereq"></a><a class="link" href="access.html#persistent.access.typereq" title="Persistent type requirements"> Persistent type requirements</a>
+</h3></div></div></div>
+<p>
+ Types that are to be used for <span class="emphasis"><em>persistent objects</em></span> are
+ required to model the <span class="emphasis"><em>Serializable</em></span> concept, as defined
+ by Boost.Serialization.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">bank_account</span><span class="special">{</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">friend</span> <span class="keyword">class</span> <span class="identifier">serialization</span><span class="special">::</span><span class="identifier">access</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">account_no</span><span class="special">;</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">balance</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">int</span> <span class="identifier">account_no</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">balance</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ There are several <a class="link" href="advanced.html#persistent.advanced.optmem" title="Optional members of persistent types">optional functions</a>
+ that can be implemented to improve performance, but <span class="emphasis"><em>Serializable</em></span>
+ is the only <span class="bold"><strong>requirement</strong></span>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.access.persistentobject"></a><a class="link" href="access.html#persistent.access.persistentobject" title="Persistent objects"> Persistent objects</a>
+</h3></div></div></div>
+<p>
+ A <span class="emphasis"><em>persistent object</em></span> is a C++ object of a <span class="emphasis"><em>persistent
+ type</em></span> that is passed to a <span class="emphasis"><em>locator</em></span>.
+ </p>
+<p>
+ However, a <span class="emphasis"><em>persistent object</em></span> can contain more than one
+ C++ object.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">person</span><span class="special">{</span>
+ <span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
+ <span class="identifier">address</span> <span class="special">*</span><span class="identifier">addr</span><span class="special">;</span>
+ <span class="comment">//Serializable
+</span><span class="special">};</span>
+</pre>
+<p>
+ There are 2 C++ objects, one of type <span class="emphasis"><em>person</em></span> and one
+ of type <span class="emphasis"><em>address</em></span>, but both are considered to be part
+ of one <span class="emphasis"><em>persistent object</em></span>. On the other hand, if the
+ object contains a <span class="emphasis"><em>locator</em></span> to another object instead
+ of a pointer, that object is a seperate <span class="emphasis"><em>persistent object</em></span>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.access.locators"></a><a class="link" href="access.html#persistent.access.locators" title="Locators"> Locators</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Concept</span></dt>
+<dt><span class="section"> Models</span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.access.locators.concept"></a><a class="link" href="access.html#persistent.access.locators.concept" title="Concept"> Concept</a>
+</h4></div></div></div>
+<p>
+ An object pointer of a specific object type can be summarized as a concept
+ that provides information about how a specific object in memory can be
+ accessed. Dereferencing a pointer provides read or write access to the
+ object referenced by the pointer, depending on the const-ness of the pointer.
+ </p>
+<p>
+ Boost.Persistent defines a <span class="emphasis"><em>locator</em></span> to be a similar
+ but abstracted concept: A <span class="emphasis"><em>locator</em></span> also describes how
+ an object can be accessed, but it is not restrained to objects that currently
+ reside in memory. In practice, the object may be in memory, in a file or
+ e.g. mapped in a SQL database. How exactly the object is stored is not
+ exposed by the locator. Dereferencing a <span class="emphasis"><em>locator</em></span> moves
+ the object referenced by it to memory and returns a <span class="bold"><strong>pointer</strong></span>,
+ that can be used to access the object.
+ </p>
+<pre class="programlisting"><span class="identifier">Locator</span> <span class="special">---</span><span class="identifier">indirection</span><span class="special">---&gt;</span> <span class="identifier">Pointer</span> <span class="special">---</span><span class="identifier">indirection</span><span class="special">---&gt;</span> <span class="identifier">Object</span>
+</pre>
+<p>
+ When a locator to a new object is created, the object is moved to a storage
+ device once it is no longer used in memory, so the object can outlive the
+ application that created it, i.e. it is made persistent.
+ </p>
+<p>
+ When a <span class="emphasis"><em>locator</em></span> is dereferenced, it returns a shared_<span class="bold"><strong>ptr</strong></span>. As long as that shared_<span class="bold"><strong>ptr</strong></span>
+ (or copies of it) exist, the object is guaranteed to reside in memory.
+ When the last shared_<span class="bold"><strong>ptr</strong></span> goes out of scope,
+ the object lives on, but Boost.Persistent is free to move it back to a
+ storage device.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.access.locators.models"></a><a class="link" href="access.html#persistent.access.locators.models" title="Models"> Models</a>
+</h4></div></div></div>
+<p>
+ Boost.Persistent implements several <span class="emphasis"><em>locator</em></span> types,
+ that model the ownership concepts of C++ and Boost.SmartPtr:
+ </p>
+<div class="table">
+<a name="id2787993"></a><p class="title"><b>Table 1.1. Models of the Locator concept</b></p>
+<div class="table-contents"><table class="table" summary="Models of the Locator concept">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Ownership concept
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="access.html#persistent.access.locators.models.loc" title="loc">loc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ No ownership management
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="access.html#persistent.access.locators.models.pinned_loc" title="pinned_loc">pinned_loc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ Singleton
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="access.html#persistent.access.locators.models.scoped_loc" title="scoped_loc">scoped_loc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ Exclusive ownership
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="access.html#persistent.access.locators.models.shared_loc" title="shared_loc">shared_loc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ Shared ownership
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="access.html#persistent.access.locators.models.weak_loc" title="weak_loc">weak_loc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ Weak shared ownership
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.locators.models.loc"></a><a class="link" href="access.html#persistent.access.locators.models.loc" title="loc"> loc</a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">loc</a></code> is a <span class="emphasis"><em>locator</em></span>
+ equivalent to a C++ raw pointer: It does not manage the lifetime of the
+ referenced persistent object. This introduces typical problems of raw
+ pointers like leaks and "dangling" pointers, but extended to
+ the persistent space, i.e. disk space leaks and undefined behaviour even
+ after an application restart due to a dangling <span class="emphasis"><em>locator</em></span>.
+ <span class="emphasis"><em>Locators</em></span> that manage the lifetime of the referenced
+ object like <span class="emphasis"><em>shared_loc</em></span> should be preferred, but
+ <span class="emphasis"><em>locs</em></span> have their use cases, especially in controlled
+ environments like containers.
+ </p>
+<p>
+ Objects handled by a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">loc</a></code>
+ are created by passing a new C++ object to its constructor. They are
+ deleted by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2538094-bb">loc::remove()</a></code>.
+ remove() is the equivalent to the C++ <span class="emphasis"><em>delete</em></span> keyword:
+ It calls the object's <span class="emphasis"><em>finalizer</em></span> and erases the object.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">);</span>
+
+<span class="comment">//use obj until it is no longer needed
+</span>
+<span class="identifier">obj</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span>
+</pre>
+<p>
+ Accessing a (non-existent) <span class="emphasis"><em>persistent object</em></span> that
+ was removed results in undefined behaviour.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.locators.models.pinned_loc"></a><a class="link" href="access.html#persistent.access.locators.models.pinned_loc" title="pinned_loc"> pinned_loc</a>
+</h5></div></div></div>
+<p>
+ A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">pinned_loc</a></code>
+ can be used to form the <span class="emphasis"><em>roots</em></span> of a stored object
+ graph.
+ </p>
+<p>
+ Most objects of a persistent object graph can be accessed by retrieving
+ a <span class="emphasis"><em>locator</em></span> to them from another persistent object,
+ and accessing them through this locator. However, at least one object
+ needs to be reachable from the start, often called the <span class="emphasis"><em>entry
+ point</em></span> or the <span class="emphasis"><em>root</em></span> of an object graph,
+ otherwise the whole stored graph would be unreachable. A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">pinned_loc</a></code>
+ can be used to accomplish this.
+ </p>
+<p>
+ A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">pinned_loc</a></code>
+ represents a <span class="emphasis"><em>locator</em></span> to an object that is <span class="emphasis"><em>pinned</em></span>
+ to a certain type, by default its own type. So when the application is
+ restarted the same object can be accessed by that type alone, without
+ having a locator to it.
+ </p>
+<p>
+ The <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">pinned_loc</a></code>
+ constructor initializes the locator to the <span class="emphasis"><em>pinned</em></span>
+ object, if there is one. By calling <code class="computeroutput">pinned_loc::reset</code>
+ a new <span class="emphasis"><em>persistent object</em></span> can be associated with that
+ type.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">obj</span><span class="special">){</span>
+ <span class="comment">//obj contains the object pinned to pers_type
+</span><span class="special">}</span><span class="keyword">else</span><span class="special">{</span>
+ <span class="comment">//there is no object pinned to pers_type
+</span><span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">obj</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">);</span> <span class="comment">//unpins the object in obj and pins the new object to pers_type
+</span><span class="special">...</span>
+<span class="identifier">obj</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span> <span class="comment">//unpins the object and removes it from the storage device
+</span></pre>
+<p>
+ Typically, this is used to retrieve the <span class="emphasis"><em>root</em></span> of
+ an object graph if it already exists, and create a new one if it does
+ not:
+ </p>
+<pre class="programlisting"><span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">root</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(!</span><span class="identifier">root</span><span class="special">)</span> <span class="identifier">root</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">);</span>
+</pre>
+<p>
+ This code snippet gets a <span class="emphasis"><em>locator</em></span> to a previously
+ stored object of type <span class="emphasis"><em>pers_type</em></span>. If no object was
+ previously associated with <span class="emphasis"><em>pers_type</em></span>, a new object
+ is created and associated with that type.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">pinned_loc</a></code>
+ has a template parameter named <span class="emphasis"><em>PinTag</em></span> to be able
+ to <span class="emphasis"><em>pin</em></span> more than one object of the same type.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.locators.models.scoped_loc"></a><a class="link" href="access.html#persistent.access.locators.models.scoped_loc" title="scoped_loc"> scoped_loc</a>
+</h5></div></div></div>
+<p>
+ A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">scoped_loc</a></code>
+ exclusively holds a <span class="emphasis"><em>locator</em></span> to a <span class="emphasis"><em>persistent
+ object</em></span>, and removes it as soon as itself is removed. It is
+ not CopyConstructible or Assignable.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">scoped_loc</a></code>
+ is implemented using a <span class="emphasis"><em>finalizer</em></span>.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.locators.models.shared_loc"></a><a class="link" href="access.html#persistent.access.locators.models.shared_loc" title="shared_loc"> shared_loc</a>
+</h5></div></div></div>
+<p>
+ A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">shared_loc</a></code>,
+ like a <span class="emphasis"><em>scoped_loc</em></span>, automatically removes objects
+ as soon as itself is removed, but is able to share the object ownership
+ with other <span class="emphasis"><em>shared_locs</em></span> to the same object. Only
+ when the last <code class="computeroutput"><a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">shared_loc</a></code>
+ to an object is removed, the object is removed as well.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ A resource manager may choose to implement <span class="emphasis"><em>shared_locs</em></span>
+ by reference counting (the default resource manager does). The downside
+ of reference counting is that <span class="emphasis"><em>reference cycles</em></span>
+ are not detected, i.e. if object A is referenced through a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">shared_loc</a></code> by
+ object B, but object B is also referenced by object A, even if not
+ directly but through multiple other objects, the <span class="emphasis"><em>reference
+ cycle</em></span> will never be removed, although it is no longer reachable.
+ <span class="emphasis"><em>weak_locs</em></span> can be used to "break" <span class="emphasis"><em>reference
+ cycles</em></span>.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.locators.models.weak_loc"></a><a class="link" href="access.html#persistent.access.locators.models.weak_loc" title="weak_loc"> weak_loc</a>
+</h5></div></div></div>
+<p>
+ A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html" title="Class template basic_weak_loc">weak_loc</a></code>
+ can reference <span class="emphasis"><em>persistent objects</em></span> that are managed
+ by a <span class="emphasis"><em>shared_loc</em></span>, with the difference that <span class="emphasis"><em>weak_locs</em></span>
+ do not constitute a reference that keeps a <span class="emphasis"><em>persistent object</em></span>
+ from being removed. This means that an object is removed when the last
+ <span class="emphasis"><em>shared_loc</em></span> referencing it is removed, even though
+ a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html" title="Class template basic_weak_loc">weak_loc</a></code>
+ referencing the object still exists. <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html#id2542079-bb">expired()</a></code>
+ returns <span class="emphasis"><em>true</em></span> if that is the case, and <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html#id2542135-bb">lock()</a></code> returns
+ an empty <span class="emphasis"><em>shared_loc</em></span>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The behaviour of expired() and lock() may differ slightly from the
+ behaviour one might expect after using boost::weak_ptr. When the last
+ <span class="emphasis"><em>shared_loc</em></span> to a <span class="emphasis"><em>persistent object</em></span>
+ is removed, the return value of <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html#id2542079-bb">weak_loc::expired()</a></code>
+ is undefined until the <span class="emphasis"><em>transaction</em></span> is committed
+ or the next <span class="emphasis"><em>savepoint</em></span> is reached. Effectively
+ that means that an object may still be reachable through a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html" title="Class template basic_weak_loc">weak_loc</a></code> even though
+ there is no <span class="emphasis"><em>shared_loc</em></span> left that is referencing
+ the object. However, it is specified that the value returned by expired()
+ must not change spontaniously: The value either changes by removing
+ the last <span class="emphasis"><em>shared_loc</em></span> or by committing the <span class="emphasis"><em>transaction</em></span>
+ or saving.
+ </p></td></tr>
+</table></div>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.access.savepoints"></a><a class="link" href="access.html#persistent.access.savepoints" title="Savepoints"> Savepoints</a>
+</h3></div></div></div>
+<p>
+ A <span class="emphasis"><em>savepoint</em></span> is a point in code where Boost.Persistent
+ is instructed to make the changes made to <span class="emphasis"><em>persistent objects</em></span>
+ permanent. A <span class="emphasis"><em>savepoint</em></span> is conducted as an <span class="emphasis"><em>atomic
+ operation</em></span> by the library, i.e. when a <span class="emphasis"><em>savepoint</em></span>
+ was passed successfully, <span class="bold"><strong>all</strong></span> changes to
+ <span class="emphasis"><em>persistent objects</em></span> up to that point are guaranteed to
+ be permanently saved, even if the application crashes shortly thereafter.
+ </p>
+<p>
+ If the application is aborted before or during the execution of the <span class="emphasis"><em>savepoint</em></span>,
+ it is guaranteed that <span class="bold"><strong>none</strong></span> of the changes
+ made since the last <span class="emphasis"><em>savepoint</em></span> are made permanent.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+<span class="comment">// make changes
+</span><span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span> <span class="comment">// State 1 is saved.
+</span><span class="comment">// make changes
+</span><span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span> <span class="comment">// State 2 is saved.
+</span></pre>
+<p>
+ If saving State 2 fails, or if this point is not reached e.g. due to an exception,
+ State 1 is in force. If saving State 2 succeeds, State 2 is in force. The
+ state is never a mix between State 1 and State 2, no matter how many objects
+ were changed or at what point an application or system failure occurs.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <span class="emphasis"><em>Savepoints</em></span> are a simplified representation of <span class="emphasis"><em>transactions</em></span>,
+ designed for applications that don't need fine-grained control over atomic
+ operations, but only need to make sure there is a consistent application
+ state at all times.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.access.tutorials"></a><a class="link" href="access.html#persistent.access.tutorials" title="Tutorials"> Tutorials</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="access.html#persistent.access.tutorials.tutorial1"> Tutorial 1:
+ Storing an object</a></span></dt>
+<dt><span class="section"><a href="access.html#persistent.access.tutorials.tutorial2"> Tutorial 2:
+ Linked list</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.access.tutorials.tutorial1"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1" title="Tutorial 1: Storing an object"> Tutorial 1:
+ Storing an object</a>
+</h4></div></div></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.type"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.type" title="Defining a persistent type"> Defining
+ a persistent type</a>
+</h5></div></div></div>
+<p>
+ A type that is to be used for a <span class="emphasis"><em>persistent object</em></span>
+ must by <span class="emphasis"><em>Serializable</em></span> as defined by Boost.Serialization:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">address</span><span class="special">{</span>
+ <span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
+ <span class="identifier">string</span> <span class="identifier">street</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">number</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">name</span> <span class="special">&amp;</span> <span class="identifier">street</span> <span class="special">&amp;</span> <span class="identifier">number</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.typereq" title="Persistent type requirements">Persistent type requirements</a>
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.open"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.open" title="Opening a session"> Opening
+ a session</a>
+</h5></div></div></div>
+<p>
+ A session using the default configuration can be opened by using a <code class="computeroutput"><a class="link" href="../boost/persistent/savepoints_session.html" title="Class savepoints_session">savepoints_session</a></code>
+ object:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">persistent</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+ <span class="comment">//make changes
+</span> <span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span>
+ <span class="comment">//make changes
+</span> <span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <span class="emphasis"><em>mydb</em></span> is, extended by various file extensions, used
+ as a filename to store the objects.
+ </p>
+<p>
+ To automatically save all changes made to objects on shutdown, a <code class="computeroutput"><a class="link" href="../boost/persistent/save_on_shutdown.html" title="Class save_on_shutdown">save_on_shutdown</a></code>
+ object can be used:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+ <span class="identifier">save_on_shutdown</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">session</span><span class="special">);</span>
+
+ <span class="comment">//make changes
+</span><span class="special">}</span>
+</pre>
+<p>
+ In case an uncaught exception is thrown or the application is aborted
+ for another reason, when the application is restarted all <span class="emphasis"><em>persistent
+ objects</em></span> will have the state they had at the last call to
+ <span class="emphasis"><em>save()</em></span>.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.savepoints" title="Savepoints">Savepoints</a>
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.createobj"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.createobj" title="Creating a persistent object">
+ Creating a persistent object</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>locators</em></span> are used to create <span class="emphasis"><em>persistent
+ objects</em></span>. A <span class="emphasis"><em>locator</em></span> is similar to a pointer,
+ but is not restricted to objects in memory:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">address</span><span class="special">);</span>
+</pre>
+<p>
+ A <a class="link" href="access.html#persistent.access.locators.models.loc" title="loc">loc</a> is
+ a <span class="emphasis"><em>locator</em></span> that is equivalent to a C++ raw pointer:
+ There is no ownership management, the <span class="emphasis"><em>persistent object</em></span>
+ needs to be deleted manually when it is no longer used.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.locators" title="Locators">Locators</a>
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.pinning"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.pinning" title="Object pinning"> Object
+ pinning</a>
+</h5></div></div></div>
+<p>
+ The <span class="emphasis"><em>address</em></span> object is stored by the code above alone,
+ but once the application has shut down the <span class="emphasis"><em>locator</em></span>
+ to the object is lost and there is no way to retrieve the stored object
+ when the application is restarted.
+ </p>
+<p>
+ Instead, a <a class="link" href="access.html#persistent.access.locators.models.pinned_loc" title="pinned_loc">pinned_loc</a>
+ can be used:
+ </p>
+<pre class="programlisting"><span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(!</span><span class="identifier">myaddress</span><span class="special">)</span> <span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">address</span><span class="special">);</span>
+</pre>
+<p>
+ This code snippet tries to retrieve a previously stored object. If there
+ is none, it creates a new one and associates the new object with its
+ own type, so it can be retrieved by <span class="emphasis"><em>pinned_loc</em></span> the
+ next time.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.locators.models.pinned_loc" title="pinned_loc">pinned_loc</a>
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.modify"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.modify" title="Accessing an object"> Accessing
+ an object</a>
+</h5></div></div></div>
+<p>
+ A <span class="emphasis"><em>persistent object</em></span> can be read or modified by dereferencing
+ a <span class="emphasis"><em>locator</em></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">;</span>
+<span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">name</span><span class="special">=</span><span class="string">"Mike"</span><span class="special">;</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.delete"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.delete" title="Deleting an object"> Deleting
+ an object</a>
+</h5></div></div></div>
+<p>
+ A pinned object can be deleted by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html#id2539252-bb">pinned_loc::remove()</a></code>.
+ </p>
+<p>
+ It <span class="emphasis"><em>unpins</em></span> and erases the object:
+ </p>
+<pre class="programlisting"><span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">;</span>
+<span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial1.example"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial1.example" title="Example"> Example</a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">savepoints_session</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">pinned_loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">persistent</span><span class="special">;</span>
+
+<span class="keyword">class</span> <span class="identifier">address</span><span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">address</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">street</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">name</span><span class="special">(</span><span class="identifier">name</span><span class="special">),</span> <span class="identifier">street</span><span class="special">(</span><span class="identifier">street</span><span class="special">){}</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">street</span><span class="special">;</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">friend</span> <span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">serialization</span><span class="special">::</span><span class="identifier">access</span><span class="special">;</span>
+ <span class="identifier">address</span><span class="special">(){}</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">name</span> <span class="special">&amp;</span> <span class="identifier">street</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+ <span class="identifier">save_on_shutdown</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">session</span><span class="special">);</span>
+
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(!</span><span class="identifier">myaddress</span><span class="special">){</span>
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"What's your name: "</span><span class="special">;</span>
+ <span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span> <span class="identifier">cin</span> <span class="special">&gt;&gt;</span> <span class="identifier">name</span><span class="special">;</span>
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Where do you live: "</span><span class="special">;</span>
+ <span class="identifier">string</span> <span class="identifier">address</span><span class="special">;</span> <span class="identifier">cin</span> <span class="special">&gt;&gt;</span> <span class="identifier">address</span><span class="special">;</span>
+
+ <span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">address</span><span class="special">(</span><span class="identifier">name</span><span class="special">,</span><span class="identifier">address</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Your name is: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">name</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"You live at: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">street</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</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="persistent.access.tutorials.tutorial2"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial2" title="Tutorial 2: Linked list"> Tutorial 2:
+ Linked list</a>
+</h4></div></div></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial2.intro"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial2.intro" title="Introduction"> Introduction</a>
+</h5></div></div></div>
+<p>
+ Locators can not only be used at runtime to access <span class="emphasis"><em>persistent
+ objects</em></span>, but they can be stored as a part of a <span class="emphasis"><em>persistent
+ object</em></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">node</span><span class="special">{</span>
+ <span class="keyword">explicit</span> <span class="identifier">node</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">v</span><span class="special">,</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">n</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">value</span><span class="special">(</span><span class="identifier">v</span><span class="special">),</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">n</span><span class="special">){}</span>
+
+ <span class="keyword">int</span> <span class="identifier">value</span><span class="special">;</span>
+ <span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">next</span><span class="special">;</span>
+
+ <span class="identifier">node</span><span class="special">(){}</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">value</span> <span class="special">&amp;</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ <span class="emphasis"><em>node</em></span> represents a node of a singly linked list of
+ <span class="emphasis"><em>persistent objects</em></span> in this tutorial.
+ </p>
+<p>
+ Here, a <a class="link" href="access.html#persistent.access.locators.models.shared_loc" title="shared_loc">shared_loc</a>
+ is used to reference the next object in a singly linked list, so there
+ is no need to remove the objects manually when they are no longer used
+ by the list, because <span class="emphasis"><em>shared_loc</em></span> removes the object
+ automatically when it is no longer reachable.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.locators.models.shared_loc" title="shared_loc">shared_loc</a>
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ STL containers can be stored as part of a <span class="emphasis"><em>persistent object</em></span>,
+ and there are <a class="link" href="advanced.html#persistent.advanced.containers" title="Intrusive Persistent Object Containers">Intrusive
+ Persistent Object Containers</a>. The singly linked list is implemented
+ manually for the purpose of this tutorial only.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial2.add"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial2.add" title="Inserting an object"> Inserting
+ an object</a>
+</h5></div></div></div>
+<p>
+ A new node is inserted at the front of the list:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">push_front</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">value</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="identifier">begin</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">node</span><span class="special">(</span><span class="identifier">value</span><span class="special">,</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">get</span><span class="special">()));</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Again, <a class="link" href="access.html#persistent.access.locators.models.pinned_loc" title="pinned_loc">pinned_loc</a>
+ is used to store the first node of the list.
+ </p>
+<p>
+ The constructor of <span class="emphasis"><em>node</em></span> takes a <span class="emphasis"><em>loc</em></span>,
+ not a <span class="emphasis"><em>pinned_loc</em></span>, as not every node that is part
+ of a list is a <span class="emphasis"><em>pinned</em></span> object obviously, so <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html#id2539064-bb">pinned_loc::get()</a></code>
+ is used to retrieve the <span class="emphasis"><em>locator</em></span> that is managed
+ by the <span class="emphasis"><em>pinned_loc</em></span>.
+ </p>
+<p>
+ Once the new node is created it is made the new <span class="emphasis"><em>begin</em></span>
+ node by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_pinned_loc.html#id2539082-bb">pinned_loc::reset()</a></code>,
+ and the old <span class="emphasis"><em>begin</em></span> node will be the second node in
+ the list.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.locators.models.pinned_loc" title="pinned_loc">pinned_loc</a>
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial2.print"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial2.print" title="Printing the list"> Printing
+ the list</a>
+</h5></div></div></div>
+<p>
+ The singly linked list is iterated to write its values to <span class="emphasis"><em>cout</em></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">print</span><span class="special">(){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">current</span><span class="special">=</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="keyword">while</span><span class="special">(</span><span class="identifier">current</span><span class="special">){</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">current</span><span class="special">-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span><span class="special">;</span>
+ <span class="identifier">current</span><span class="special">=</span><span class="identifier">current</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Again, so that <span class="emphasis"><em>current</em></span> can point to the first node,
+ which is managed by a <span class="emphasis"><em>pinned_loc</em></span>, and any another
+ node in the list, which are managed by <span class="emphasis"><em>shared_locs</em></span>,
+ the managed locators are retrieved by calling <span class="emphasis"><em>get()</em></span>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial2.remove"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial2.remove" title="Removing objects"> Removing
+ objects</a>
+</h5></div></div></div>
+<p>
+ Since the list is a singly linked list, a reference to the node before
+ the node that ought to be removed is needed:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">erase_after</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">prev</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">=</span><span class="identifier">prev</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <span class="emphasis"><em>node::next</em></span> is a <span class="emphasis"><em>shared_loc</em></span>,
+ so prev-&gt;next can simply be overwritten by skipping a node in the
+ list: The object that was previously referred to by prev-&gt;next is
+ removed automatically.
+ </p>
+<p>
+ Similarily, all objects after a specific node can be removed:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">erase_all_after</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">prev</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The thousands of nodes that might have been after <span class="emphasis"><em>prev</em></span>
+ are removed from the list and from the storage device.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.access.tutorials.tutorial2.example"></a><a class="link" href="access.html#persistent.access.tutorials.tutorial2.example" title="Example"> Example</a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">lexical_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">savepoints_session</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">pinned_loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">shared_loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">persistent</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">node</span><span class="special">{</span>
+ <span class="keyword">explicit</span> <span class="identifier">node</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">v</span><span class="special">,</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">n</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">value</span><span class="special">(</span><span class="identifier">v</span><span class="special">),</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">n</span><span class="special">){}</span>
+
+ <span class="keyword">int</span> <span class="identifier">value</span><span class="special">;</span>
+ <span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">next</span><span class="special">;</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">node</span><span class="special">(){}</span>
+ <span class="keyword">friend</span> <span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">serialization</span><span class="special">::</span><span class="identifier">access</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">value</span> <span class="special">&amp;</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">current</span><span class="special">=</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="keyword">while</span><span class="special">(</span><span class="identifier">current</span><span class="special">){</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">current</span><span class="special">-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span><span class="special">;</span>
+ <span class="identifier">current</span><span class="special">=</span><span class="identifier">current</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">push_front</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">value</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="identifier">begin</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">node</span><span class="special">(</span><span class="identifier">value</span><span class="special">,</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">get</span><span class="special">()));</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">erase_after</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">prev</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">=</span><span class="identifier">prev</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">erase_all_after</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">prev</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span>
+<span class="special">}</span>
+
+<span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">get_nth_node</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">current</span><span class="special">=</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">c</span><span class="special">=</span><span class="number">0</span><span class="special">;</span><span class="identifier">c</span><span class="special">&lt;</span><span class="identifier">n</span><span class="special">;++</span><span class="identifier">c</span><span class="special">)</span> <span class="identifier">current</span><span class="special">=</span><span class="identifier">current</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">current</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span><span class="keyword">char</span> <span class="special">*</span><span class="identifier">argv</span><span class="special">[]){</span>
+ <span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+ <span class="identifier">save_on_shutdown</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">session</span><span class="special">);</span>
+
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">argc</span> <span class="special">&lt;</span> <span class="number">2</span><span class="special">)</span> <span class="keyword">return</span> <span class="identifier">EXIT_FAILURE</span><span class="special">;</span>
+ <span class="identifier">string</span> <span class="identifier">cmd</span><span class="special">=</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">];</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"print"</span><span class="special">)</span> <span class="identifier">print</span><span class="special">();</span>
+ <span class="keyword">else</span><span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">argc</span> <span class="special">&lt;</span> <span class="number">3</span><span class="special">)</span> <span class="keyword">return</span> <span class="identifier">EXIT_FAILURE</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"push_front"</span><span class="special">){</span>
+ <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">]));</span>
+ <span class="special">}</span><span class="keyword">else</span> <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"erase_after"</span><span class="special">){</span>
+ <span class="identifier">erase_after</span><span class="special">(</span><span class="identifier">get_nth_node</span><span class="special">(</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">])));</span>
+ <span class="special">}</span><span class="keyword">else</span> <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"erase_all_after"</span><span class="special">){</span>
+ <span class="identifier">erase_all_after</span><span class="special">(</span><span class="identifier">get_nth_node</span><span class="special">(</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">])));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.access.pitfalls"></a><a class="link" href="access.html#persistent.access.pitfalls" title="Pitfalls"> Pitfalls</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Savepoint boundaries</span></dt>
+<dt><span class="section"><a href="access.html#persistent.access.pitfalls.objectboundaries"> Persistent
+ Object boundaries</a></span></dt>
+<dt><span class="section"> Lifetime of instances</span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.access.pitfalls.boundaries"></a><a class="link" href="access.html#persistent.access.pitfalls.boundaries" title="Savepoint boundaries"> Savepoint boundaries</a>
+</h4></div></div></div>
+<p>
+ Instances obtained before a savepoint shall not be used after the savepoint.
+ </p>
+<p>
+ The result of dereferencing a <span class="emphasis"><em>locator</em></span> can be saved
+ for efficiency, for example instead of:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+<span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+</pre>
+<p>
+ one could write:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
+<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+</pre>
+<p>
+ Although the first code snippet does not cause the <span class="emphasis"><em>persistent
+ object</em></span> to be loaded from disk twice, since objects are cached,
+ it is less efficient than the second code snippet.
+ </p>
+<p>
+ However, instances must not be used across savepoints:
+ </p>
+<pre class="programlisting"><span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+
+<span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
+
+<span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span> <span class="comment">//savepoint
+</span>
+<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span> <span class="comment">//error
+</span></pre>
+<p>
+ The resulting object state of this is undefined.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.access.pitfalls.objectboundaries"></a><a class="link" href="access.html#persistent.access.pitfalls.objectboundaries" title="Persistent Object boundaries"> Persistent
+ Object boundaries</a>
+</h4></div></div></div>
+<p>
+ A <span class="emphasis"><em>persistent object</em></span> can contain more than one C++
+ object.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a class="link" href="access.html#persistent.access.persistentobject" title="Persistent objects">Persistent Objects</a>
+ </p></td></tr>
+</table></div>
+<p>
+ The C++ objects that are part of a <span class="emphasis"><em>persistent object</em></span>
+ must not be shared among <span class="emphasis"><em>persistent objects</em></span>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">bank_account</span><span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">account_no</span><span class="special">;</span>
+ <span class="identifier">bank</span> <span class="special">*</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">//the bank this account belongs to
+</span> <span class="comment">//Serializable
+</span><span class="special">};</span>
+</pre>
+<p>
+ When instances of this <span class="emphasis"><em>bank_account</em></span> type are used
+ as <span class="emphasis"><em>persistent objects</em></span>, the <span class="emphasis"><em>bank</em></span>
+ object is part of the <span class="emphasis"><em>persistent object</em></span> of type <span class="emphasis"><em>bank_account</em></span>.
+ If multiple <span class="emphasis"><em>bank_accounts</em></span> point to the same <span class="emphasis"><em>bank</em></span>,
+ multiple <span class="emphasis"><em>persistent objects</em></span> share a C++ object, which
+ must not be the case.
+ </p>
+<p>
+ Instead, a locator to a seperate <span class="emphasis"><em>persistent object</em></span>
+ of type <span class="emphasis"><em>bank</em></span> can be used:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">bank_account</span><span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">account_no</span><span class="special">;</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">b</span><span class="special">;</span>
+ <span class="comment">//Serializable
+</span><span class="special">};</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Inside of <span class="emphasis"><em>persistent objects</em></span>, C++ objects can still
+ be shared and Boost.Serialization's pointer tracking works as usual.
+ Read the <a href="http://www.boost.org/doc/libs/1_40_0/libs/serialization/doc/tutorial.html#pointers" target="_top">Tutorial
+ of Boost.Serialization</a> for more information.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.access.pitfalls.lifetime"></a><a class="link" href="access.html#persistent.access.pitfalls.lifetime" title="Lifetime of instances"> Lifetime of instances</a>
+</h4></div></div></div>
+<p>
+ Boost.Persistent is free to remove an instance not referenced by a shared_ptr
+ from memory at any time.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="keyword">int</span> <span class="special">*</span><span class="identifier">a</span><span class="special">=&amp;</span><span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">;</span> <span class="comment">//error
+</span><span class="special">*</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span> <span class="comment">//undefined
+</span></pre>
+<p>
+ A <span class="emphasis"><em>locator</em></span> refers to an object that may or may not
+ be currently in memory. It is not a <span class="emphasis"><em>shared_ptr</em></span> that
+ keeps an object in memory, so taking a pointer to a member of <span class="emphasis"><em>obj</em></span>
+ is undefined.
+ </p>
+<p>
+ Instead, the object must be kept in memory by a <span class="emphasis"><em>shared_ptr</em></span>,
+ or an <code class="computeroutput"><a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a></code>
+ can be used:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="identifier">interior_ptr</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">a</span><span class="special">(&amp;</span><span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">obj</span><span class="special">);</span>
+<span class="special">*</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span> <span class="comment">//ok
+</span></pre>
+<p>
+ An <code class="computeroutput"><a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a></code>
+ can point to members of a <span class="emphasis"><em>persistent object</em></span> and keeps
+ it in memory.
+ </p>
+<p>
+ A similar, but less obvious example is iterators. An iterator into a container
+ that is part of a <span class="emphasis"><em>persistent object</em></span> also is a pointer
+ into a <span class="emphasis"><em>persistent object</em></span>. The iterator can be invalidated
+ by Boost.Persistent moving the object back to disk.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pers_type</span><span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">it</span><span class="special">=</span><span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span> <span class="comment">//error
+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">it</span><span class="special">;</span> <span class="comment">//undefined
+</span><span class="special">}</span>
+</pre>
+<p>
+ After obtaining the iterator, Boost.Persistent is free to move the <span class="emphasis"><em>persistent
+ object</em></span> back to disk, invalidating <span class="emphasis"><em>it</em></span>. If
+ iterators into <span class="emphasis"><em>persistent objects</em></span> are to be used,
+ the <span class="emphasis"><em>persistent object</em></span> must be kept in memory by a
+ <span class="emphasis"><em>shared_ptr</em></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">;</span>
+ <span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">it</span><span class="special">=</span><span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">it</span><span class="special">;</span> <span class="comment">//ok
+</span><span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Iterators into <span class="emphasis"><em>Intrusive Persistent Object Containers</em></span>
+ don't have that problem as they use <span class="emphasis"><em>locators</em></span> to
+ refer to container nodes
+ </p></td></tr>
+</table></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.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="transactions.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/persistent/ackn.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/ackn.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,41 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="future.html" title="Future development">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="future.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="persistent.ackn"></a><a class="link" href="ackn.html" title="Acknowledgements"> Acknowledgements</a>
+</h2></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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="future.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/persistent/libs/persistent/doc/html/persistent/advanced.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/advanced.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,795 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Advanced topics</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="transactions.html" title="Using Transactions">
+<link rel="next" href="configuring.html" title="Configuring Boost.Persistent">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transactions.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="configuring.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="persistent.advanced"></a><a class="link" href="advanced.html" title="Advanced topics"> Advanced topics</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="advanced.html#persistent.advanced.containers"> Intrusive Persistent
+ Object Containers</a></span></dt>
+<dd><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Concept</span></dt>
+<dt><span class="section"> Models</span></dt>
+<dt><span class="section"><a href="advanced.html#persistent.advanced.containers.tutorial"> Tutorial
+ 4: Intrusive linked list</a></span></dt>
+</dl></dd>
+<dt><span class="section"> Thread safety</span></dt>
+<dt><span class="section"> Finalizers</span></dt>
+<dt><span class="section"><a href="advanced.html#persistent.advanced.optmem"> Optional members of persistent
+ types</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.advanced.containers"></a><a class="link" href="advanced.html#persistent.advanced.containers" title="Intrusive Persistent Object Containers"> Intrusive Persistent
+ Object Containers</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Concept</span></dt>
+<dt><span class="section"> Models</span></dt>
+<dt><span class="section"><a href="advanced.html#persistent.advanced.containers.tutorial"> Tutorial
+ 4: Intrusive linked list</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.advanced.containers.intro"></a><a class="link" href="advanced.html#persistent.advanced.containers.intro" title="Introduction"> Introduction</a>
+</h4></div></div></div>
+<p>
+ <a class="link" href="access.html#persistent.access.tutorials.tutorial2" title="Tutorial 2: Linked list">Tutorial2</a>
+ shows the manual implementation of a singly linked list of <span class="emphasis"><em>persistent
+ objects</em></span>. In addition to that, STL containers can be stored.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">pers_type</span><span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">l</span><span class="special">;</span>
+ <span class="comment">//Serializable
+</span><span class="special">};</span>
+</pre>
+<p>
+ Similarily, containers of <span class="emphasis"><em>locators</em></span> can be stored:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">pers_type</span><span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span> <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">other_type</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">l</span><span class="special">;</span>
+ <span class="comment">//Serializable
+</span><span class="special">};</span>
+</pre>
+<p>
+ However, containers of <span class="emphasis"><em>locators</em></span> stored like that are
+ part of the particular <span class="emphasis"><em>persistent object</em></span>, so when
+ the object is accessed, the entire object including the STL container is
+ loaded, and on <span class="emphasis"><em>transaction commit</em></span> the entire object
+ including the STL container must be saved to disk. If the container reaches
+ a certain size this can be a performance problem.
+ </p>
+<p>
+ The singly linked list implemented in <a class="link" href="access.html#persistent.access.tutorials.tutorial2" title="Tutorial 2: Linked list">Tutorial2</a>
+ does not have that problem: If a new node is added to the list, only one
+ node of the list is accessed. The list can even be accessed concurrently
+ by multiple <span class="emphasis"><em>transactions</em></span>.
+ </p>
+<p>
+ <span class="emphasis"><em>Intrusive Persistent Object Containers</em></span> implement these
+ characteristics generically.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.advanced.containers.concept"></a><a class="link" href="advanced.html#persistent.advanced.containers.concept" title="Concept"> Concept</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Intrusive Persistent Object Containers</em></span> are containers
+ modelled after the containers of Boost.Intrusive that implement each container
+ node as its own <span class="emphasis"><em>persistent object</em></span>.
+ </p>
+<p>
+ The links between container nodes are therefore <span class="emphasis"><em>locators</em></span>,
+ which are intrusively stored as part of the <span class="emphasis"><em>persistent type</em></span>.
+ </p>
+<a name="persistent.advanced.containers.concept.properties"></a><h6>
+<a name="id2802183"></a>
+ <a class="link" href="advanced.html#persistent.advanced.containers.concept.properties">Properties</a>
+ </h6>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ Slower than STL/Boost.Intrusive containers, if these containers are readily
+ available in memory
+ </li>
+<li>
+ Most of the nodes of a container can remain on disk while it is accessed.
+ Only accessed nodes are loaded to memory, e.g. in the case of a <span class="emphasis"><em>set</em></span>,
+ find() loads log2(size()) <span class="emphasis"><em>persistent objects</em></span> from
+ disk.
+ </li>
+<li>
+ Containers can be accessed concurrently with very few <span class="emphasis"><em>isolation_exceptions</em></span>:
+ Only if the same container nodes are modified by two <span class="emphasis"><em>transactions</em></span>
+ concurrently, an <span class="emphasis"><em>isolation_exception</em></span> is raised.
+ </li>
+</ul></div>
+<a name="persistent.advanced.containers.concept.constant_time_size"></a><h6>
+<a name="id2802245"></a>
+ <a class="link" href="advanced.html#persistent.advanced.containers.concept.constant_time_size">Constant
+ time size</a>
+ </h6>
+<p>
+ Like Boost.Intrusive containers, <span class="emphasis"><em>Intrusive Persistent Object
+ Containers</em></span> can be configured to not store the container's size
+ but to evaluate it when <span class="emphasis"><em>size()</em></span> is called. However,
+ this has an additional effect with these containers:
+ </p>
+<p>
+ When <span class="emphasis"><em>Intrusive Persistent Object Containers</em></span> are modified
+ concurrently by multiple <span class="emphasis"><em>transactions</em></span>, an <span class="emphasis"><em>isolation_exception</em></span>
+ is only thrown if the same container node is modified by two <span class="emphasis"><em>transactions</em></span>.
+ If <span class="emphasis"><em>ConstantTimeSize</em></span> is true, each time the size of
+ the container is changed, the stored size needs to be updated. For that
+ reason, ConstantTimeSize reduces the concurrency of <span class="emphasis"><em>Intrusive
+ Persistent Object Containers</em></span> and more <span class="emphasis"><em>isolation_exceptions</em></span>
+ are thrown, as can be seen in the following performance comparisons.
+ </p>
+<a name="persistent.advanced.containers.concept.performance_comparison"></a><h6>
+<a name="id2802322"></a>
+ <a class="link" href="advanced.html#persistent.advanced.containers.concept.performance_comparison">Performance
+ comparison</a>
+ </h6>
+<p>
+ The following graph indicates the performance of a <span class="emphasis"><em>std::set</em></span>
+ compared to a <span class="emphasis"><em>persistent::intrusive::loc_set</em></span> both
+ stored as part of a <span class="emphasis"><em>persistent object</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../container_time.jpg" alt="container_time"></span>
+ </p>
+<p>
+ For the purpose of generating this graph, each <span class="emphasis"><em>transaction</em></span>
+ called <span class="emphasis"><em>insert()</em></span> only once and then <span class="emphasis"><em>commited</em></span>.
+ The standard STL container outperforms for small container sizes, but it
+ has to be saved on each <span class="emphasis"><em>transaction commit</em></span> entirely,
+ resulting in performance linear to the container size. <span class="emphasis"><em>loc_set</em></span>
+ on the other hand keeps its log2(size()) complexity guarantee.
+ </p>
+<p>
+ The following graph shows the rate of <span class="emphasis"><em>isolation_exceptions</em></span>
+ when multiple threads concurrently insert into a set:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../container_iso.jpg" alt="container_iso"></span>
+ </p>
+<p>
+ Here, 10 threads concurrently ran <span class="emphasis"><em>transactions</em></span> that
+ called <span class="emphasis"><em>insert()</em></span> only once and then <span class="emphasis"><em>committed</em></span>.
+ When two <span class="emphasis"><em>transactions</em></span> conflict with each other, an
+ <span class="emphasis"><em>isolation_exception</em></span> is thrown. The percentage of
+ <span class="emphasis"><em>isolation_exceptions</em></span> to successful <span class="emphasis"><em>transactions</em></span>
+ was measured.
+ </p>
+<p>
+ Because of the linear complexity of a stored std::set (see above), the
+ time it takes to commit a <span class="emphasis"><em>transaction</em></span> gets longer
+ as the container grows, and therefore the chance that another <span class="emphasis"><em>transaction</em></span>
+ modifies the container concurrently increases.
+ </p>
+<p>
+ The time it takes to commit a <span class="emphasis"><em>transaction</em></span> inserting
+ into a <span class="emphasis"><em>loc_set</em></span> does not increase dramatically with
+ the container's size, so the rate of failed <span class="emphasis"><em>transactions</em></span>
+ with ConstantTimeSize enabled is relatively constant.
+ </p>
+<p>
+ With ConstantTimeSize disabled, the chance that the same node is modified
+ by two transactions concurrently as the container grows drops towards zero.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.advanced.containers.models"></a><a class="link" href="advanced.html#persistent.advanced.containers.models" title="Models"> Models</a>
+</h4></div></div></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.advanced.containers.models.loc_slist"></a><a class="link" href="advanced.html#persistent.advanced.containers.models.loc_slist" title="loc_slist">
+ loc_slist</a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_slist.html" title="Class template basic_loc_slist">loc_slist</a></code>
+ is a singly linked list of <span class="emphasis"><em>persistent objects</em></span>. It
+ offers most of the interface of boost::intrusive::slist.
+ </p>
+<p>
+ Persistent types that can be added to a <span class="emphasis"><em>loc_slist</em></span>
+ must be derived from <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">loc_slist_hook</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.advanced.containers.models.loc_list"></a><a class="link" href="advanced.html#persistent.advanced.containers.models.loc_list" title="loc_list">
+ loc_list</a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_list.html" title="Class template basic_loc_list">loc_list</a></code>
+ is a doubly linked list of <span class="emphasis"><em>persistent objects</em></span>. It
+ offers most of the interface of boost::intrusive::list.
+ </p>
+<p>
+ Persistent types that can be added to a <span class="emphasis"><em>loc_list</em></span>
+ must be derived from <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">loc_list_hook</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.advanced.containers.models.loc_set"></a><a class="link" href="advanced.html#persistent.advanced.containers.models.loc_set" title="loc_set"> loc_set</a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_set.html" title="Class template basic_loc_set">loc_set</a></code>
+ is a sorted associative container of <span class="emphasis"><em>persistent objects</em></span>.
+ The keys in the set are unique. It offers most of the interface of boost::intrusive::set.
+ </p>
+<p>
+ Persistent types that can be added to a <span class="emphasis"><em>loc_set</em></span>
+ must be derived from <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">loc_set_hook</a></code>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.advanced.containers.models.loc_multiset"></a><a class="link" href="advanced.html#persistent.advanced.containers.models.loc_multiset" title="loc_multiset">
+ loc_multiset</a>
+</h5></div></div></div>
+<p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_multiset.html" title="Class template basic_loc_multiset">loc_multiset</a></code>
+ is a sorted associative container of <span class="emphasis"><em>persistent objects</em></span>.
+ There can be multiple objects with the same key in the set. It offers
+ most of the interface of boost::intrusive::multiset.
+ </p>
+<p>
+ Persistent types that can be added to a <span class="emphasis"><em>loc_multiset</em></span>
+ must be derived from <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">loc_set_hook</a></code>.
+ </p>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.advanced.containers.tutorial"></a><a class="link" href="advanced.html#persistent.advanced.containers.tutorial" title="Tutorial 4: Intrusive linked list"> Tutorial
+ 4: Intrusive linked list</a>
+</h4></div></div></div>
+<p>
+ This tutorial reimplements the singly linked list of <a class="link" href="access.html#persistent.access.tutorials.tutorial2" title="Tutorial 2: Linked list">Tutorial
+ 2</a> using a <span class="emphasis"><em>Intrusive Persistent Object Container</em></span>.
+ </p>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.advanced.containers.tutorial.def"></a><a class="link" href="advanced.html#persistent.advanced.containers.tutorial.def" title="Defining a node type"> Defining
+ a node type</a>
+</h5></div></div></div>
+<p>
+ Nodes of a <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_slist.html" title="Class template basic_loc_slist">loc_slist</a></code>
+ must be derived from <code class="computeroutput"><a class="link" href="../boost/persistent/intrusive/basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">loc_slist_hook</a></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">node</span> <span class="special">:</span> <span class="identifier">loc_slist_hook</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;{</span>
+ <span class="keyword">explicit</span> <span class="identifier">node</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">v</span><span class="special">)</span> <span class="identifier">value</span><span class="special">(</span><span class="identifier">v</span><span class="special">){}</span>
+ <span class="keyword">int</span> <span class="identifier">value</span><span class="special">;</span>
+
+ <span class="identifier">node</span><span class="special">(){}</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">serialization</span><span class="special">::</span><span class="identifier">base_object</span><span class="special">&lt;</span> <span class="identifier">loc_slist_hook</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;(*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">value</span><span class="special">;</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="persistent.advanced.containers.tutorial.add"></a><a class="link" href="advanced.html#persistent.advanced.containers.tutorial.add" title="Inserting an object"> Inserting
+ an object</a>
+</h5></div></div></div>
+<p>
+ A new node is inserted at the front of the list:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">push_front</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">value</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;(</span><span class="keyword">new</span> <span class="identifier">node</span><span class="special">(</span><span class="identifier">value</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="persistent.advanced.containers.tutorial.print"></a><a class="link" href="advanced.html#persistent.advanced.containers.tutorial.print" title="Printing the list"> Printing
+ the list</a>
+</h5></div></div></div>
+<p>
+ The singly linked list is iterated to write its values to <span class="emphasis"><em>cout</em></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">print</span><span class="special">(){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">BOOST_FOREACH</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">node</span><span class="special">,**</span><span class="identifier">list</span><span class="special">){</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">node</span><span class="special">-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ BOOST_FOREACH or any other construct that can handle iterators can now
+ be used to iterate the container.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="persistent.advanced.containers.tutorial.remove"></a><a class="link" href="advanced.html#persistent.advanced.containers.tutorial.remove" title="Removing objects">
+ Removing objects</a>
+</h5></div></div></div>
+<p>
+ Since the list is a singly linked list, a reference to the node before
+ the node that ought to be removed is needed:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">disposer</span><span class="special">{</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">l</span><span class="special">){</span>
+ <span class="identifier">l</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+<span class="keyword">void</span> <span class="identifier">erase_after</span><span class="special">(</span><span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">erase_after_and_dispose</span><span class="special">(</span><span class="identifier">prev</span><span class="special">,</span><span class="identifier">disposer</span><span class="special">());</span>
+<span class="special">}</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/html/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ See the documentation of Boost.Intrusive for information on disposers.
+ </p></td></tr>
+</table></div>
+<p>
+ Similarily, all objects after a specific node can be removed:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">erase_all_after</span><span class="special">(</span><span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">erase_after_and_dispose</span><span class="special">(</span><span class="identifier">prev</span><span class="special">,</span><span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">(),</span><span class="identifier">disposer</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="persistent.advanced.containers.tutorial.example"></a><a class="link" href="advanced.html#persistent.advanced.containers.tutorial.example" title="Example">
+ Example</a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">lexical_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">savepoints_session</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">pinned_loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">intrusive</span><span class="special">/</span><span class="identifier">loc_slist</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foreach</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">persistent</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">persistent</span><span class="special">::</span><span class="identifier">intrusive</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">node</span> <span class="special">:</span> <span class="identifier">loc_slist_hook</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;{</span>
+ <span class="keyword">explicit</span> <span class="identifier">node</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">value</span><span class="special">(</span><span class="identifier">v</span><span class="special">){}</span>
+ <span class="keyword">int</span> <span class="identifier">value</span><span class="special">;</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">friend</span> <span class="keyword">class</span> <span class="identifier">serialization</span><span class="special">::</span><span class="identifier">access</span><span class="special">;</span>
+ <span class="identifier">node</span><span class="special">(){}</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">serialization</span><span class="special">::</span><span class="identifier">base_object</span><span class="special">&lt;</span> <span class="identifier">loc_slist_hook</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;(*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">value</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">BOOST_FOREACH</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">node</span><span class="special">,**</span><span class="identifier">list</span><span class="special">){</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">node</span><span class="special">-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">push_front</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">value</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;(</span><span class="keyword">new</span> <span class="identifier">node</span><span class="special">(</span><span class="identifier">value</span><span class="special">)));</span>
+<span class="special">}</span>
+
+<span class="keyword">struct</span> <span class="identifier">disposer</span><span class="special">{</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">l</span><span class="special">){</span>
+ <span class="identifier">l</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+<span class="keyword">void</span> <span class="identifier">erase_after</span><span class="special">(</span><span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">erase_after_and_dispose</span><span class="special">(</span><span class="identifier">prev</span><span class="special">,</span><span class="identifier">disposer</span><span class="special">());</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">erase_all_after</span><span class="special">(</span><span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">prev</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">erase_after_and_dispose</span><span class="special">(</span><span class="identifier">prev</span><span class="special">,</span><span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">(),</span><span class="identifier">disposer</span><span class="special">());</span>
+<span class="special">}</span>
+
+<span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">get_nth_node</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">current</span><span class="special">=</span><span class="identifier">list</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">c</span><span class="special">=</span><span class="number">0</span><span class="special">;</span><span class="identifier">c</span><span class="special">&lt;</span><span class="identifier">n</span><span class="special">;++</span><span class="identifier">c</span><span class="special">)</span> <span class="special">++</span><span class="identifier">current</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">current</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span><span class="keyword">char</span> <span class="special">*</span><span class="identifier">argv</span><span class="special">[]){</span>
+ <span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+ <span class="identifier">save_on_shutdown</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">session</span><span class="special">);</span>
+
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">list</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(!</span><span class="identifier">list</span><span class="special">)</span> <span class="identifier">list</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">loc_slist</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;);</span>
+
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">argc</span> <span class="special">&lt;</span> <span class="number">2</span><span class="special">)</span> <span class="keyword">return</span> <span class="identifier">EXIT_FAILURE</span><span class="special">;</span>
+ <span class="identifier">string</span> <span class="identifier">cmd</span><span class="special">=</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">];</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"print"</span><span class="special">)</span> <span class="identifier">print</span><span class="special">();</span>
+ <span class="keyword">else</span><span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">argc</span> <span class="special">&lt;</span> <span class="number">3</span><span class="special">)</span> <span class="keyword">return</span> <span class="identifier">EXIT_FAILURE</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"push_front"</span><span class="special">){</span>
+ <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">]));</span>
+ <span class="special">}</span><span class="keyword">else</span> <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"erase_after"</span><span class="special">){</span>
+ <span class="identifier">erase_after</span><span class="special">(</span><span class="identifier">get_nth_node</span><span class="special">(</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">])));</span>
+ <span class="special">}</span><span class="keyword">else</span> <span class="keyword">if</span><span class="special">(</span><span class="identifier">cmd</span> <span class="special">==</span> <span class="string">"erase_all_after"</span><span class="special">){</span>
+ <span class="identifier">erase_all_after</span><span class="special">(</span><span class="identifier">get_nth_node</span><span class="special">(</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">2</span><span class="special">])));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.advanced.threads"></a><a class="link" href="advanced.html#persistent.advanced.threads" title="Thread safety"> Thread safety</a>
+</h3></div></div></div>
+<a name="persistent.advanced.threads.object_access"></a><h5>
+<a name="id2806419"></a>
+ <a class="link" href="advanced.html#persistent.advanced.threads.object_access">Object access</a>
+ </h5>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This section does not apply to <a class="link" href="transactions.html#persistent.transactions.concurrent" title="Concurrent transactions">Concurrent
+ Transactions</a>. Concurrent access to the same <span class="emphasis"><em>persistent
+ object</em></span> from different <span class="emphasis"><em>transactions</em></span> is safe
+ in any case, without manual synchronization
+ </p></td></tr>
+</table></div>
+<p>
+ When accessing <span class="emphasis"><em>persistent objects</em></span> concurrently within
+ one <span class="emphasis"><em>transaction</em></span> (or in a <span class="emphasis"><em>savepoints</em></span>
+ session), the same thread safety guarantee is given as for regular C++ objects.
+ </p>
+<p>
+ Usually, objects can be read from concurrently without synchronization, but
+ write access has to be synchronized, but this is not a general rule: The
+ thread safety of concurrent access to <span class="emphasis"><em>persistent objects</em></span>
+ depends on the thread safety guarantee given by the type of the object /
+ of its members.
+ </p>
+<a name="persistent.advanced.threads.transactions"></a><h5>
+<a name="id2806494"></a>
+ <a class="link" href="advanced.html#persistent.advanced.threads.transactions">Transactions</a>
+ </h5>
+<p>
+ Transactions can be started without synchronization. However, if multiple
+ threads are accessing the same transaction, <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html#id2541456-bb">transaction::commit()</a></code>
+ has to be called by exactly one thread, and all other threads must have stopped
+ accessing <span class="emphasis"><em>persistent objects</em></span> through that <span class="emphasis"><em>transaction</em></span>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+
+ <span class="comment">//start 3 more threads, all accessing objects through 'tx'
+</span>
+ <span class="comment">//do work
+</span>
+ <span class="comment">//wait until all 3 threads have finishing their work
+</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<a name="persistent.advanced.threads.binding"></a><h5>
+<a name="id2806617"></a>
+ <a class="link" href="advanced.html#persistent.advanced.threads.binding">Binding</a>
+ </h5>
+<p>
+ When a <span class="emphasis"><em>transaction</em></span> is created, the current thread is
+ bound to the new <span class="emphasis"><em>transaction</em></span>. When a <span class="emphasis"><em>transaction</em></span>
+ is <span class="emphasis"><em>committed</em></span> or <span class="emphasis"><em>rolled back</em></span>, the
+ current thread is either bound to the parent <span class="emphasis"><em>transaction</em></span>
+ (if the <span class="emphasis"><em>transaction</em></span> was nested), or unbound.
+ </p>
+<p>
+ This default behaviour is not always what is intended, e.g. when a new thread
+ is started, it is bound to no <span class="emphasis"><em>transaction</em></span>. If the new
+ thread is supposed to start a <span class="emphasis"><em>nested transaction</em></span> in
+ an existing <span class="emphasis"><em>transaction</em></span>, created by another thread,
+ it has to bind itself to that <span class="emphasis"><em>transaction</em></span> first, and
+ then start its <span class="emphasis"><em>nested transaction</em></span>. This can be accomplished
+ by calling <code class="computeroutput">transaction::bind()</code>.
+ </p>
+<p>
+ When the <span class="emphasis"><em>parent transaction</em></span> is finally committed by
+ the other thread, the thread that worked on the <span class="emphasis"><em>nested transaction</em></span>
+ is, if it still exists, is still bound to the, now non-existing, <span class="emphasis"><em>parent
+ transaction</em></span>. It has to be unbound by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html#id2541559-bb">transaction::unbind()</a></code>
+ before it accesses objects or starts transactions again.
+ </p>
+<a name="persistent.advanced.threads.exceptions"></a><h5>
+<a name="id2806737"></a>
+ <a class="link" href="advanced.html#persistent.advanced.threads.exceptions">Exceptions</a>
+ </h5>
+<p>
+ The user has to make sure that exceptions thrown by Boost.Persistent propagate
+ to other threads.
+ </p>
+<p>
+ For example, if one <span class="emphasis"><em>transaction</em></span> is accessed concurrently
+ by multiple threads, and one of the threads receives an <code class="computeroutput">isolation_exception</code>,
+ the thread responsible for <span class="emphasis"><em>committing</em></span> the <span class="emphasis"><em>transaction</em></span>
+ must refrain from doing so on this transaction.
+ </p>
+<p>
+ The exception is not thrown in all threads.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.advanced.finalizers"></a><a class="link" href="advanced.html#persistent.advanced.finalizers" title="Finalizers"> Finalizers</a>
+</h3></div></div></div>
+<p>
+ <span class="emphasis"><em>Finalizers</em></span> are functions that get called when a <span class="emphasis"><em>persistent
+ object</em></span> is removed. This can either be triggered by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2538094-bb">basic_loc::remove()</a></code>
+ or the object being removed by a <span class="emphasis"><em>locator</em></span> managing its
+ lifetime, like a <span class="emphasis"><em>shared_loc</em></span>.s It is the persistent equivalent
+ of a C++ destructor and has the purpose of cleaning up persistent resources,
+ in particular calling <span class="emphasis"><em>basic_loc::remove()</em></span> on other persistent
+ objects.
+ </p>
+<p>
+ An object implements a <span class="emphasis"><em>finalizer</em></span> by implementing a friend
+ function called <span class="emphasis"><em>finalize()</em></span>:
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">pers_type</span><span class="special">{</span>
+ <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">finalize</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">obj</span><span class="special">){</span>
+ <span class="identifier">obj</span><span class="special">.</span><span class="identifier">other</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">other_type</span><span class="special">&gt;</span> <span class="identifier">other</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ A <span class="emphasis"><em>scoped_loc</em></span> could have been used in this case instead.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <span class="emphasis"><em>pers_obj</em></span> is passed <span class="emphasis"><em>const</em></span> to the
+ <span class="emphasis"><em>finalizer</em></span>, as a <span class="emphasis"><em>finalizer</em></span> must
+ not make any changes to <span class="emphasis"><em>persistent objects</em></span>. Any attempt
+ to access other <span class="emphasis"><em>persistent objects</em></span> through <span class="emphasis"><em>locators</em></span>
+ will result in a <code class="computeroutput"><a class="link" href="../boost/persistent/finalize_error.html" title="Struct finalize_error">finalize_error</a></code>
+ exception.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Like any function, a finalizer can have side effects, but note that <span class="emphasis"><em>finalizers</em></span>
+ may be called more than once until the <span class="emphasis"><em>persistent object</em></span>
+ is finally removed. This results from the fact that a transaction may still
+ fail due to an <code class="computeroutput"><a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a></code>
+ after a <span class="emphasis"><em>finalizer</em></span> has been called. When there is another
+ attempt to remove the object the finalizer is called again.
+ </p></td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.advanced.optmem"></a><a class="link" href="advanced.html#persistent.advanced.optmem" title="Optional members of persistent types"> Optional members of persistent
+ types</a>
+</h3></div></div></div>
+<p>
+ The only <span class="bold"><strong>requirement</strong></span> of <span class="emphasis"><em>persistent
+ types</em></span> is to model <span class="emphasis"><em>Serializable</em></span> as defined
+ by Boost.Persistent. However, to improve performance of certain operations
+ performed by Boost.Persistent, one or more of the following friend functions
+ can be implemented for <span class="emphasis"><em>persistent types</em></span> that are critical
+ to overall <span class="bold"><strong>performance</strong></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pers_type</span><span class="special">{</span>
+ <span class="keyword">friend</span> <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">clone</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+ <span class="keyword">friend</span> <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o1</span><span class="special">,</span><span class="identifier">pers_typ</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o2</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+ <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">finalize</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span> <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+
+ <span class="comment">//instead of serialize():
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span> <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span> <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">load</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+
+ <span class="comment">//instead of load()
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span> <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">*&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<p>
+ These functions are found via Argument Dependent Lookup(ADL) by Boost.Persistent.
+ </p>
+<a name="persistent.advanced.optmem.clone__"></a><h5>
+<a name="id2807772"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.clone__">clone()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">clone</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="emphasis"><em>clone</em></span> returns a <span class="emphasis"><em>deep copy</em></span> of <span class="emphasis"><em>o</em></span>.
+ That means that not only is <span class="emphasis"><em>o</em></span> copied, but all objects
+ contained by <span class="emphasis"><em>o</em></span> are copied as well.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pers_type</span><span class="special">{</span>
+<span class="identifier">other_type</span> <span class="special">*</span><span class="identifier">other</span><span class="special">;</span>
+<span class="keyword">friend</span> <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">clone</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">){</span>
+ <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">c</span><span class="special">=</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">;</span>
+ <span class="identifier">c</span><span class="special">-&gt;</span><span class="identifier">other</span><span class="special">=</span><span class="keyword">new</span> <span class="identifier">other_type</span><span class="special">(*</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">other</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">c</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The original object and the clone must not share any data. The result must
+ be equivalent to first serializing and then deserializing the object using
+ Boost.Serialization.
+ </p>
+<a name="persistent.advanced.optmem.equal__"></a><h5>
+<a name="id2808106"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.equal__">equal()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o1</span><span class="special">,</span><span class="identifier">pers_typ</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o2</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="emphasis"><em>equal</em></span> performs a <span class="emphasis"><em>deep comparison</em></span>
+ for equality between <span class="emphasis"><em>o1</em></span> and <span class="emphasis"><em>o2</em></span>.
+ This means <span class="emphasis"><em>o1</em></span> is compared to <span class="emphasis"><em>o2</em></span>
+ by value, including all objects that are contained in <span class="emphasis"><em>o1</em></span>
+ and <span class="emphasis"><em>o2</em></span>.
+ </p>
+<p>
+ The result must be equivalent to serializing both objects using Boost.Serialization
+ and comparing the serialized streams for equality.
+ </p>
+<a name="persistent.advanced.optmem.finalize__"></a><h5>
+<a name="id2808252"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.finalize__">finalize()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">finalize</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="emphasis"><em>finalize(T const &amp;o,deep_tag)</em></span> calls <span class="emphasis"><em>finalize(o)</em></span>
+ and <span class="emphasis"><em>finalize(x)</em></span> for all objects that are contained in
+ <span class="emphasis"><em>o</em></span>.
+ </p>
+<a name="persistent.advanced.optmem.serialize__"></a><h5>
+<a name="id2808354"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.serialize__">serialize()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="emphasis"><em>serialize</em></span> (de)serializes all data to(from) <span class="emphasis"><em>ar</em></span>,
+ including all objects contained by <span class="emphasis"><em>o</em></span> (i.e. the whole
+ object graph represented by <span class="emphasis"><em>o</em></span>).
+ </p>
+<p>
+ No pointer tracking or type registration is supported, serialize() needs
+ to generate a flat representation of the whole graph using primitives. If
+ versioning is required, a version number has to be serialized manually.
+ </p>
+<a name="persistent.advanced.optmem.load__"></a><h5>
+<a name="id2808502"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.load__">load()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">load</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ Can be implemented along with <span class="emphasis"><em>save</em></span> instead of <span class="emphasis"><em>serialize</em></span>
+ to split the serializing into saving and loading.
+ </p>
+<a name="persistent.advanced.optmem.save__"></a><h5>
+<a name="id2808636"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.save__">save()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ Can be implemented along with <span class="emphasis"><em>load</em></span> instead of <span class="emphasis"><em>serialize</em></span>
+ to split the serializing into saving and loading.
+ </p>
+<a name="persistent.advanced.optmem.construct__"></a><h5>
+<a name="id2808775"></a>
+ <a class="link" href="advanced.html#persistent.advanced.optmem.construct__">construct()</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">*&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
+</pre>
+<p>
+ Allocates and deserializes a new object of type <span class="emphasis"><em>pers_type</em></span>
+ and stores a pointer to it in <span class="emphasis"><em>o</em></span>.
+ </p>
+<p>
+ Can be implemented instead of <span class="emphasis"><em>load()</em></span> to reconstruct
+ <span class="emphasis"><em>o</em></span> based on data serialized by <span class="emphasis"><em>save()</em></span>.
+ For example, <span class="emphasis"><em>pers_type</em></span> could be the base class of multiple
+ derived classes and <span class="emphasis"><em>save</em></span> has saved data that represents
+ the type actually serialized. <span class="emphasis"><em>construct</em></span> allocates the
+ correct type based on that data and deserializes the object from <span class="emphasis"><em>ar</em></span>.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transactions.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="configuring.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/persistent/libs/persistent/doc/html/persistent/configuring.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/configuring.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/configuring.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,9 +4,9 @@
 <title>Configuring Boost.Persistent</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="prev" href="using.html" title="Using Boost.Persistent">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="advanced.html" title="Advanced topics">
 <link rel="next" href="extending.html" title="Extending Boost.Persistent">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,16 +20,260 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="using.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="extending.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="advanced.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="extending.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="persistent.configuring"></a><a class="link" href="configuring.html" title="Configuring Boost.Persistent"> Configuring Boost.Persistent</a>
 </h2></div></div></div>
-<div class="toc"><dl><dt><span class="section"> Distributed transactions</span></dt></dl></div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.configuring.distributed"></a><a class="link" href="configuring.html#persistent.configuring.distributed" title="Distributed transactions"> Distributed transactions</a>
-</h3></div></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"><a href="configuring.html#persistent.configuring.defaultconf"> Changing the default
+ configuration</a></span></dt>
+<dt><span class="section"><a href="configuring.html#persistent.configuring.defaulttrans"> Configuring the
+ default transaction manager</a></span></dt>
+<dt><span class="section"><a href="configuring.html#persistent.configuring.defaultres"> Configuring the default
+ resource manager</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.configuring.intro"></a><a class="link" href="configuring.html#persistent.configuring.intro" title="Introduction"> Introduction</a>
+</h3></div></div></div>
+<p>
+ The two classes used in the previous sections, <code class="computeroutput"><a class="link" href="../boost/persistent/savepoints_session.html" title="Class savepoints_session">savepoints_session</a></code>
+ and <code class="computeroutput"><a class="link" href="../boost/persistent/transactional_session.html" title="Class transactional_session">transactional_session</a></code>
+ can be used to open a Boost.Persistent session with a single line of code.
+ </p>
+<p>
+ However, those classes are only shortcuts to create a session of the default
+ configuration.
+ </p>
+<pre class="programlisting"><span class="identifier">transactional_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+</pre>
+<p>
+ is equivalent to
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">mapped_file_block</span> <span class="identifier">block_type</span><span class="special">;</span>
+<span class="identifier">block_type</span> <span class="identifier">block</span><span class="special">(</span><span class="string">"mydb.db"</span><span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="identifier">block_storage</span><span class="special">&lt;</span><span class="identifier">block_type</span><span class="special">&gt;</span> <span class="identifier">storage_type</span><span class="special">;</span>
+<span class="identifier">storage_type</span> <span class="identifier">storage</span><span class="special">(</span><span class="identifier">block</span><span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="identifier">redo_storage</span><span class="special">&lt;</span><span class="identifier">storage_type</span><span class="special">&gt;</span> <span class="identifier">atomic_storage_type</span><span class="special">;</span>
+<span class="identifier">atomic_storage_type</span> <span class="identifier">atomic_storage</span><span class="special">(</span><span class="string">"mydb.log"</span><span class="special">,</span><span class="identifier">storage</span><span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="identifier">multiversion_object_resource</span><span class="special">&lt;</span><span class="identifier">atomic_storage_type</span><span class="special">&gt;</span> <span class="identifier">resource_manager_type</span><span class="special">;</span>
+<span class="identifier">resource_manager_type</span> <span class="identifier">resource_manager</span><span class="special">(</span><span class="identifier">atomic_storage</span><span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="identifier">basic_transaction_manager</span><span class="special">&lt;</span><span class="identifier">resource_manager_type</span><span class="special">&gt;</span> <span class="identifier">transaction_manager_type</span><span class="special">;</span>
+<span class="identifier">transaction_manager_type</span> <span class="identifier">transaction_manager</span><span class="special">(</span><span class="identifier">resource_manager</span><span class="special">);</span>
+</pre>
+<p>
+ Most of these types have configuration options, and can be exchanged by other
+ types implementing the same <span class="emphasis"><em>concept</em></span>.
+ </p>
+<p>
+ This section will discuss the configuration options, while <a class="link" href="extending.html" title="Extending Boost.Persistent">Extending
+ Boost.Persistent</a> will discuss the implementation of types that replace
+ existing ones.
+ </p>
+<p>
+ The ultimate goal of the code snippet above is to construct a <span class="emphasis"><em>transaction
+ manager</em></span>, which is used by <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">transaction</a></code>,
+ the <span class="emphasis"><em>locators</em></span> and other classes to start <span class="emphasis"><em>transactions</em></span>
+ and access <span class="emphasis"><em>persistent objects</em></span>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.configuring.defaultconf"></a><a class="link" href="configuring.html#persistent.configuring.defaultconf" title="Changing the default configuration"> Changing the default
+ configuration</a>
+</h3></div></div></div>
+<p>
+ As is shown above, the <span class="emphasis"><em>transaction manager</em></span> defines the
+ configuration of a session.
+ </p>
+<p>
+ The type of the <span class="emphasis"><em>transaction manager</em></span> must be known to
+ all types accessing <span class="emphasis"><em>persistent objects</em></span>, including the
+ <span class="emphasis"><em>locators</em></span>. For example, <code class="computeroutput"><a class="link" href="../boost/persistent/loc.html" title="Class template loc">loc</a></code>
+ is an alias for <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a></code>
+ using the default <span class="emphasis"><em>transaction manager</em></span>.
+ </p>
+<p>
+ The default <span class="emphasis"><em>transaction manager</em></span> can be changed by defining
+ the macro BOOST_PERSISTENT_CONFIGURATION.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">my_transaction_manager_type</span><span class="special">;</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_PERSISTENT_CONFIGURATION</span> <span class="identifier">my_transaction_manager_type</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">l</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">);</span> <span class="comment">// using my_transaction_manager_type
+</span></pre>
+<p>
+ If a piece of code should support different <span class="emphasis"><em>transaction managers</em></span>,
+ <span class="emphasis"><em>basic_loc</em></span> must be used instead of <span class="emphasis"><em>loc</em></span>,
+ <span class="emphasis"><em>basic_transaction</em></span> instead of <span class="emphasis"><em>transaction</em></span>,
+ etc.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.configuring.defaulttrans"></a><a class="link" href="configuring.html#persistent.configuring.defaulttrans" title="Configuring the default transaction manager"> Configuring the
+ default transaction manager</a>
+</h3></div></div></div>
+<p>
+ The configuration of <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a></code>
+ consists mostly of one or more <span class="emphasis"><em>resource managers</em></span>, offering
+ services:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../transaction_manager.jpg" alt="transaction_manager"></span>
+ </p>
+<p>
+ If only one <span class="emphasis"><em>resource manager</em></span> is used, its type can be
+ passed to basic_transaction_manager's template parameter <span class="emphasis"><em>Resources</em></span>
+ and the <span class="emphasis"><em>resource manager</em></span> object to its constructor:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">resource_type</span><span class="special">;</span>
+<span class="identifier">resource_type</span> <span class="identifier">resource</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">basic_transaction_manager</span><span class="special">&lt;</span><span class="identifier">resource_type</span><span class="special">&gt;</span> <span class="identifier">transaction_manager_type</span><span class="special">;</span>
+<span class="identifier">transaction_manager_type</span> <span class="identifier">transaction_manager</span><span class="special">(</span><span class="identifier">resource</span><span class="special">);</span>
+</pre>
+<p>
+ To support more than one <span class="emphasis"><em>resource manager</em></span>, a Boost.MPL
+ <span class="emphasis"><em>Sequence</em></span> can be passed to <span class="emphasis"><em>Resources</em></span>,
+ and a Boost.Fusion <span class="emphasis"><em>Sequence</em></span> to the <span class="emphasis"><em>basic_transaction_manager</em></span>
+ constructor:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">resource1_type</span><span class="special">;</span>
+<span class="identifier">resource1_type</span> <span class="identifier">resource1</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="special">...</span> <span class="identifier">resource2_type</span><span class="special">;</span>
+<span class="identifier">resource2_type</span> <span class="identifier">resource2</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">resource1_type</span><span class="special">,</span><span class="identifier">resource2_type</span><span class="special">&gt;</span> <span class="identifier">resource_types</span><span class="special">;</span>
+<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">resource1_type</span> <span class="special">&amp;,</span><span class="identifier">resource2_type</span> <span class="special">&amp;&gt;</span> <span class="identifier">resources</span><span class="special">(</span><span class="identifier">resource1</span><span class="special">,</span><span class="identifier">resource2</span><span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="identifier">basic_transaction_manager</span><span class="special">&lt;</span><span class="identifier">resource_types</span><span class="special">&gt;</span> <span class="identifier">transaction_manager_type</span><span class="special">;</span>
+<span class="identifier">transaction_manager_type</span> <span class="identifier">transaction_manager</span><span class="special">(</span><span class="identifier">resources</span><span class="special">);</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ At this point Boost.Persistent only comes with one <span class="emphasis"><em>resource manager</em></span>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>.
+ See <a class="link" href="future.html" title="Future development">Future development</a> to see
+ that this is intended for.
+ </p>
+<p>
+ However, <span class="emphasis"><em>multiversion_object_resource</em></span> and types used
+ by it also have template parameters for configuration which change the
+ type of the <span class="emphasis"><em>resource manager</em></span>. The new type must be
+ registered correctly with the <span class="emphasis"><em>transaction manager</em></span>.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.configuring.defaultres"></a><a class="link" href="configuring.html#persistent.configuring.defaultres" title="Configuring the default resource manager"> Configuring the default
+ resource manager</a>
+</h3></div></div></div>
+<p>
+ The following graph shows the default configuration of Boost.Persistent:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../configuration.jpg" alt="configuration"></span>
+ </p>
+<p>
+ Static configuration options:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<span class="emphasis"><em>Threads</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/redo_storage.html" title="Class template redo_storage">redo_storage</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/block_storage.html" title="Class template block_storage">block_storage</a></code>:
+ <span class="emphasis"><em>true</em></span> by default. <span class="emphasis"><em>false</em></span> increases
+ performance, but concurrent access to <span class="emphasis"><em>persistent objects</em></span>
+ results in undefined behaviour.
+ </li>
+<li>
+<span class="emphasis"><em>TThreads</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>:
+ <span class="emphasis"><em>true</em></span> by default. <span class="emphasis"><em>false</em></span> increases
+ performance. If <span class="emphasis"><em>Threads</em></span> is <span class="emphasis"><em>true</em></span>
+ but <span class="emphasis"><em>TThreads</em></span> is <span class="emphasis"><em>false</em></span>, <span class="emphasis"><em>persistent
+ objects</em></span> can be accessed concurrently using <span class="emphasis"><em>concurrent
+ transaction</em></span>, but accessing the same <span class="emphasis"><em>persistent objects</em></span>
+ by multiple threads from within the same <span class="emphasis"><em>transaction</em></span>
+ results in undefined behaviour.
+ </li>
+<li>
+<span class="emphasis"><em>Sync</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/redo_storage.html" title="Class template redo_storage">redo_storage</a></code>:
+ <span class="emphasis"><em>true</em></span> by default. Indicates if the transaction log
+ maintained by <span class="emphasis"><em>redo_storage</em></span> is synchronized with the
+ physical storage device on <span class="emphasis"><em>transaction commit</em></span>. <span class="emphasis"><em>true</em></span>
+ is safe in case of an application crash and in case of a system failure.
+ <span class="emphasis"><em>false</em></span> is only safe in case of an application crash.
+ <span class="emphasis"><em>false</em></span> increases performance.
+ </li>
+<li>
+<span class="emphasis"><em>AStorage</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>:
+ Instead of <code class="computeroutput"><a class="link" href="../boost/persistent/redo_storage.html" title="Class template redo_storage">redo_storage</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/null_atomic_storage.html" title="Class template null_atomic_storage">null_atomic_storage</a></code>
+ can be used as the storage engine used by <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>.
+ <code class="computeroutput"><a class="link" href="../boost/persistent/null_atomic_storage.html" title="Class template null_atomic_storage">null_atomic_storage</a></code>
+ increases performance a lot, but is safe neither in the case of an application
+ crash nor in the case of a system failure. Only if the application is shut
+ down properly the saved state can be read on restart.
+ </li>
+<li>
+<span class="emphasis"><em>DataBlock</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/block_storage.html" title="Class template block_storage">block_storage</a></code>:
+ Instead of <code class="computeroutput"><a class="link" href="../boost/persistent/mapped_file_block.html" title="Class mapped_file_block">mapped_file_block</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/persistent/streambuf_block.html" title="Class streambuf_block">streambuf_block</a></code>
+ can be used as the data block <code class="computeroutput"><a class="link" href="../boost/persistent/block_storage.html" title="Class template block_storage">block_storage</a></code>
+ uses to save its data. <code class="computeroutput"><a class="link" href="../boost/persistent/streambuf_block.html" title="Class streambuf_block">streambuf_block</a></code>
+ can use any <span class="emphasis"><em>std::streambuf</em></span> to store its data, including
+ <span class="emphasis"><em>std::filebuf</em></span> to store the data in a regular file or
+ <span class="emphasis"><em>std::stringbuf</em></span> to store it in memory. <span class="emphasis"><em>Sync</em></span>
+ of <code class="computeroutput"><a class="link" href="../boost/persistent/redo_storage.html" title="Class template redo_storage">redo_storage</a></code>
+ must be <span class="emphasis"><em>false</em></span> in case <code class="computeroutput"><a class="link" href="../boost/persistent/streambuf_block.html" title="Class streambuf_block">streambuf_block</a></code>
+ is used, as <span class="emphasis"><em>std::streambufs</em></span> don't support synchronizing
+ with physical storage.
+ </li>
+<li>
+<span class="emphasis"><em>Tag</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>:
+ The tag that is used to identify the <span class="emphasis"><em>resource manager</em></span>.
+ If two or more <span class="emphasis"><em>resource managers</em></span> are used, they can't
+ use both the default <span class="emphasis"><em>default_tag</em></span>.
+ </li>
+</ul></div>
+<p>
+ Runtime configuration options:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<span class="emphasis"><em>max_cache_size</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a></code>:
+ Maximum numbers of objects that are internally cached. This is independent
+ of the size of each individual object, so if large objects are used this
+ number should be set accordingly.
+ </li>
+<li>
+<span class="emphasis"><em>max_log_size</em></span> of <code class="computeroutput"><a class="link" href="../boost/persistent/redo_storage.html" title="Class template redo_storage">redo_storage</a></code>:
+ Maximum size of a log file, in bytes. When <span class="emphasis"><em>max_log_size</em></span>
+ is reached a new log is started and the old one is removed as soon as possible.
+ </li>
+</ul></div>
+</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -41,7 +285,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="using.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="extending.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="advanced.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="extending.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/persistent/libs/persistent/doc/html/persistent/extending.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/extending.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/extending.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Extending Boost.Persistent</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="prev" href="configuring.html" title="Configuring Boost.Persistent">
-<link rel="next" href="reference.html" title="Reference">
+<link rel="next" href="future.html" title="Future development">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,11 +20,252 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="configuring.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="configuring.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="future.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">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="persistent.extending"></a><a class="link" href="extending.html" title="Extending Boost.Persistent"> Extending Boost.Persistent</a>
-</h2></div></div></div></div>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Concepts</span></dt>
+<dt><span class="section"> Services</span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.extending.intro"></a><a class="link" href="extending.html#persistent.extending.intro" title="Introduction"> Introduction</a>
+</h3></div></div></div>
+<p>
+ The configuration options shown in <a class="link" href="configuring.html" title="Configuring Boost.Persistent">Configuring
+ Boost.Persistent</a> can not only be used to change template arguments
+ of existing types, but also to replace types with own types that implement
+ the same concept.
+ </p>
+<p>
+ For example, instead of <code class="computeroutput"><a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">boost::persistent::multiversion_object_resource</a></code>
+ any other type implementing the <span class="emphasis"><em>ResourceManager</em></span> concept
+ can be used.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.extending.concepts"></a><a class="link" href="extending.html#persistent.extending.concepts" title="Concepts"> Concepts</a>
+</h3></div></div></div>
+<p>
+ The following concepts can be implemented to extend Boost.Persistent:
+ </p>
+<div class="table">
+<a name="id2810818"></a><p class="title"><b>Table 1.2. Concepts for extending Boost.Persistent</b></p>
+<div class="table-contents"><table class="table" summary="Concepts for extending Boost.Persistent">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Concept
+ </p>
+ </th>
+<th>
+ <p>
+ Usage
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/TransactionManager.html" title="Struct TransactionManager">TransactionManager</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ By implementing a <span class="emphasis"><em>TransactionManager</em></span>, the start,
+ commit, rollback of global transactions and how they are bound to threads
+ can be controlled. A <span class="emphasis"><em>TransactionManager</em></span> also decides
+ which <span class="emphasis"><em>ResourceManagers</em></span> are used for a certain
+ <span class="emphasis"><em>Service</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/ResourceManager.html" title="Struct ResourceManager">ResourceManager</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A <span class="emphasis"><em>ResourceManager</em></span> offers one or more Services
+ to the user interface. For example a <span class="emphasis"><em>ResourceManager</em></span>
+ that offers an <span class="emphasis"><em>ObjectStorageService</em></span> and that is
+ chosen by the <span class="emphasis"><em>TransactionManager</em></span> to be used for
+ the storage of an object is called by <span class="emphasis"><em>locators</em></span>
+ (the user interface) to access the object. <span class="emphasis"><em>ResourceManagers</em></span>
+ have control over local transactions.
+ </p>
+ <p>
+ An example of a <span class="emphasis"><em>ResourceManager</em></span> implementation
+ is one that stores objects in an external database that is able to
+ perform ACID transactions on its own, so requests to the ResourceManager
+ by the <span class="emphasis"><em>TransactionManager</em></span> to start a local transaction
+ can be forwarded to that external database.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/AtomicStorageEngine.html" title="Struct AtomicStorageEngine">AtomicStorageEngine</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ An <span class="emphasis"><em>AtomicStorageEngine</em></span> is typically used by a
+ <span class="emphasis"><em>ResourceManager</em></span> offering a <span class="emphasis"><em>ObjectStorageService</em></span>.
+ It also implements functions to store objects and local transactions,
+ but transactions of an <span class="emphasis"><em>AtomicStorageEngine</em></span> are
+ much simpler: The only guarantee is that changes to objects are written
+ <span class="emphasis"><em>atomically</em></span>, so if a local transaction of an <span class="emphasis"><em>AtomicStorageEngine</em></span>
+ is committed it must be able to recover that state on restart. No automatic
+ rollbacks are necessary and no other guarantees like isolation or concurrency.
+ </p>
+ <p>
+ For example, an external database that is able to recover from system
+ failures but does not offer the necessary isolation guarantees can
+ be used as a storage backend by implementing this concept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/StorageEngine.html" title="Struct StorageEngine">StorageEngine</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A <span class="emphasis"><em>StorageEngine</em></span> must be able to store objects,
+ without knowing about transactions. The only requirement is that writes
+ must be repeatable: If writing to the <span class="emphasis"><em>StorageEngine</em></span>
+ was aborted and the application is restarted, the same calls using
+ the same arguments must yield the same result.
+ </p>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/redo_storage.html" title="Class template redo_storage">redo_storage</a></code>
+ can be used to turn a <span class="emphasis"><em>StorageEngine</em></span> into an <span class="emphasis"><em>AtomicStorageEngine</em></span>.
+ </p>
+ <p>
+ <span class="emphasis"><em>StorageEngine</em></span> can be implemented to store objects
+ in files, in external databases not aware of transactions, etc.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/DataBlock.html" title="Struct DataBlock">DataBlock</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A <span class="emphasis"><em>DataBlock</em></span> is a very simple concept that offers
+ random access to a stream of bytes. It can be used by <code class="computeroutput"><a class="link" href="../boost/persistent/block_storage.html" title="Class template block_storage">block_storage</a></code>
+ to create a <span class="emphasis"><em>StorageEngine</em></span>.
+ </p>
+ <p>
+ Implementations of <span class="emphasis"><em>DataBlock</em></span> include files, files
+ mapped to memory, other regions in memory, etc.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.extending.services"></a><a class="link" href="extending.html#persistent.extending.services" title="Services"> Services</a>
+</h3></div></div></div>
+<p>
+ A <span class="emphasis"><em>ResourceManager</em></span> implements one or more <span class="emphasis"><em>services</em></span>
+ that can be used by the user interface. It is queried (statically) by the
+ <span class="emphasis"><em>TransactionManager</em></span> which <span class="emphasis"><em>services</em></span>
+ it offsers.
+ </p>
+<p>
+ The <span class="emphasis"><em>services</em></span> that are currently defined by Boost.Persistent
+ are:
+ </p>
+<div class="table">
+<a name="id2811224"></a><p class="title"><b>Table 1.3. Service concepts</b></p>
+<div class="table-contents"><table class="table" summary="Service concepts">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Concept
+ </p>
+ </th>
+<th>
+ <p>
+ Usage
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/ObjectStorageService.html" title="Struct ObjectStorageService">ObjectStorageService</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A <span class="emphasis"><em>ResourceManager</em></span> offering <span class="emphasis"><em>ObjectStorageService</em></span>
+ must implement several functions providing access to persistent objects.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/SharedObjectStorageService.html" title="Struct SharedObjectStorageService">SharedObjectStorageService</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Functions providing access to shared objects, to be used for example
+ by a <span class="emphasis"><em>shared_loc</em></span>. Can be implemented e.g. by reference
+ counting.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><a class="link" href="../boost/persistent/ObjectPinningService.html" title="Struct ObjectPinningService">ObjectPinningService</a></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Functions that provide the ability to associate an object with a type,
+ and later retrieve the same object by that type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 Stefan Strasser<p>
@@ -35,7 +276,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="configuring.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="configuring.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="future.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/persistent/future.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/future.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Future development</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="extending.html" title="Extending Boost.Persistent">
+<link rel="next" href="ackn.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending.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="ackn.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="persistent.future"></a><a class="link" href="future.html" title="Future development"> Future development</a>
+</h2></div></div></div>
+<p>
+ This section describes possible future directions of further development, and
+ why they are not considered to be an essential part of the initial version
+ of this library.
+ </p>
+<a name="persistent.future.distributed_transactions"></a><h4>
+<a name="id2811396"></a>
+ <a class="link" href="future.html#persistent.future.distributed_transactions">Distributed transactions</a>
+ </h4>
+<p>
+ Boost.Persistent can be configured to use more than one <span class="emphasis"><em>resource
+ manager</em></span>, and <span class="emphasis"><em>locators</em></span> can refer to objects
+ stored in any resource. However, when objects of two or more <span class="emphasis"><em>resource
+ managers</em></span> take part in a <span class="emphasis"><em>transaction</em></span> a <span class="emphasis"><em>two-phase-commit</em></span>
+ must be conducted. Currently, an <code class="computeroutput"><a class="link" href="../boost/persistent/unsupported_exception.html" title="Struct unsupported_exception">unsupported_exception</a></code>
+ is thrown instead.
+ </p>
+<p>
+ Boost.Persistent contains only one <span class="emphasis"><em>resource manager</em></span> at
+ this point.
+ </p>
+<a name="persistent.future.indexing"></a><h4>
+<a name="id2811464"></a>
+ <a class="link" href="future.html#persistent.future.indexing">Indexing</a>
+ </h4>
+<p>
+ Indexing is an integral part of most databases, some embedded databases even
+ consist entirely of indexes.
+ </p>
+<p>
+ Indexing is not considered to be an integral part of Boost.Persistent, as for
+ the most common tasks there are no index lookups needed: When traversing an
+ object graph, <span class="emphasis"><em>locators</em></span> are dereferenced instead of an
+ Id looked up in an index of a relational database. To store relations that
+ are not 1:1, STL containers and <span class="emphasis"><em>Intrusive Persistent Object Containers</em></span>
+ can be used.
+ </p>
+<p>
+ However, there are still cases where efficient indexing is needed. Possible
+ directions are: Definition of an indexing service concept and implementation
+ of a <span class="emphasis"><em>ResourceManager</em></span> that offers that service, either
+ based on an external embedded database library or a custom implementation of
+ B-Tree/Hash indexing. User interface based on STL containers.
+ </p>
+<a name="persistent.future.storage_backends"></a><h4>
+<a name="id2811519"></a>
+ <a class="link" href="future.html#persistent.future.storage_backends">Storage backends</a>
+ </h4>
+<p>
+ Implementation of AtomicStorageEngines based on external libraries, e.g. Berkeley
+ DB, to store the application state in a proven storage backend.
+ </p>
+<a name="persistent.future.object_relational_mapping"></a><h4>
+<a name="id2811547"></a>
+ <a class="link" href="future.html#persistent.future.object_relational_mapping">Object relational
+ mapping</a>
+ </h4>
+<p>
+ Implementation of a ResourceManager offering an <span class="emphasis"><em>object_storage</em></span>
+ service based on the upcoming Boost.Rdb library, which provides a interface
+ to relational databases. Object relational mapping is non-trivial and would
+ probably be a seperate boost library, but can be integrated into Boost.Persistent
+ by implementing a <span class="emphasis"><em>resource manager</em></span> that uses that library.
+ </p>
+<a name="persistent.future.remote_resource_manager"></a><h4>
+<a name="id2811585"></a>
+ <a class="link" href="future.html#persistent.future.remote_resource_manager">Remote resource manager</a>
+ </h4>
+<p>
+ Implementation of a ResourceManager offering all defined Service concepts that
+ serializes all requests and sends them through a stream to a remote <span class="emphasis"><em>resource
+ manager</em></span>, to enable client-server-access to <span class="emphasis"><em>persistent
+ objects</em></span>.
+ </p>
+</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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending.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="ackn.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/persistent/introduction.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/introduction.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,343 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Introduction</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="prev" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="next" href="tutorials.html" title="Tutorials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.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="tutorials.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="persistent.introduction"></a><a class="link" href="introduction.html" title="Introduction"> Introduction</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Motivation</span></dt>
-<dt><span class="section"> Locators (vs. pointers)</span></dt>
-<dt><span class="section"> Transactions</span></dt>
-<dt><span class="section"><a href="introduction.html#persistent.introduction.object_requirements"> Object
- requirements</a></span></dt>
-<dt><span class="section"><a href="introduction.html#persistent.introduction.persistent_objects"> Persistent
- objects</a></span></dt>
-</dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.introduction.motivation"></a><a class="link" href="introduction.html#persistent.introduction.motivation" title="Motivation"> Motivation</a>
-</h3></div></div></div>
-<p>
- Boost.Serialization provides an easy way for a C++ application to save its
- state to disk and later reconstruct it from that saved data:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="comment">//saving:
-</span><span class="identifier">ofstream</span> <span class="identifier">os</span><span class="special">(</span><span class="string">"file"</span><span class="special">,</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">out</span> <span class="special">|</span> <span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">binary</span><span class="special">);</span>
-<span class="identifier">binary_oarchive</span> <span class="identifier">oa</span><span class="special">(</span><span class="identifier">os</span><span class="special">);</span>
-<span class="identifier">oa</span> <span class="special">&lt;&lt;</span> <span class="identifier">obj</span><span class="special">;</span>
-
-<span class="comment">//loading:
-</span><span class="identifier">ifstream</span> <span class="identifier">is</span><span class="special">(</span><span class="string">"file"</span><span class="special">,</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">in</span> <span class="special">|</span> <span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">binary</span><span class="special">);</span>
-<span class="identifier">binary_iarchive</span> <span class="identifier">ia</span><span class="special">(</span><span class="identifier">is</span><span class="special">);</span>
-<span class="identifier">oa</span> <span class="special">&gt;&gt;</span> <span class="identifier">obj</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Once the problem of serialization itself is solved, there are several more
- questions to be answered to make an application preserve (part of) its state
- beyond its runtime:
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- When and where should serialization from/to disk take place?
- </li>
-<li>
- Is it acceptable to serialize the whole application state at that point
- or are there resource limitations which require some information to be
- loaded on demand?
- </li>
-<li>
- What if an application is aborted unexpectedly? Is it acceptable to have
- lost all changes since application startup?
- </li>
-<li>
- What if the application is aborted when only a part of its state was written
- to disk, e.g. while serialization took place?
- </li>
-<li>
- Is concurrent access from multiple threads to the application's state necessary?
- How is that concurrent access synchronized?
- </li>
-</ul></div>
-<p>
- Boost.Persistent is built upon Boost.Serialization and seeks to provide a
- generic solution to these problems.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.introduction.locators"></a><a class="link" href="introduction.html#persistent.introduction.locators" title="Locators (vs. pointers)"> Locators (vs. pointers)</a>
-</h3></div></div></div>
-<p>
- An object pointer of a specific object type can be summarized as a concept
- that provides information about how a specific object in memory can be accessed.
- Dereferencing a pointer provides read or write access to the object referenced
- by the pointer, depending on the const-ness of the pointer.
- </p>
-<p>
- Boost.Persistent defines a <span class="emphasis"><em>locator</em></span> to be a similar but
- abstracted concept: A locator also describes how an object can be accessed,
- but it is not restrained to objects that currently reside in memory. In practice,
- the object may be in memory, in a file or e.g. mapped in a SQL database.
- How exactly the object is stored is not exposed by the locator. Dereferencing
- a locator moves the object referenced by it to memory and returns a <span class="bold"><strong>pointer</strong></span>, that can be used to access the object.
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">Locator</span> <span class="special">---</span><span class="identifier">indirection</span><span class="special">---&gt;</span> <span class="identifier">Pointer</span> <span class="special">---</span><span class="identifier">indirection</span><span class="special">---&gt;</span> <span class="identifier">Object</span></pre>
-<p>
- </p>
-<p>
- A locator can be created from an object, just like a pointer. By doing so,
- the object now referenced by a locator will be moved to a storage device
- once the pointer to the object is no longer in use, so the object can outlive
- the application that created it, i.e. it can be made persistent.
- </p>
-<p>
- Boost.Persistent implements several locator types that model the ownership
- concepts of Boost.SmartPtr/C++: shared, weak shared, exclusive or no ownership
- management.
- </p>
-<p>
- They are respectively called <code class="computeroutput">shared_loc</code>,
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html" title="Class template basic_weak_loc">weak_loc</a></code>,
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">scoped_loc</a></code>
- and <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">loc</a></code>.
- </p>
-<p>
- An object managed by a shared_<span class="bold"><strong>loc</strong></span>, as an
- example, exists as long as there are shared_<span class="bold"><strong>loc</strong></span>s
- referencing it, either in memory or on disk. When a shared_<span class="bold"><strong>loc</strong></span>
- is dereferenced, it returns a shared_<span class="bold"><strong>ptr</strong></span>.
- As long as that shared_<span class="bold"><strong>ptr</strong></span> (or copies of
- it) exist, the object is guaranteed to reside in memory. When the last shared_<span class="bold"><strong>ptr</strong></span> goes out of scope, the object lives on, but Boost.Persistent
- is free to move it whereever it chooses to. Once there are no more shared_<span class="bold"><strong>loc</strong></span>s referencing the object, the object will be removed
- from the storage device.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.introduction.transactions"></a><a class="link" href="introduction.html#persistent.introduction.transactions" title="Transactions"> Transactions</a>
-</h3></div></div></div>
-<p>
- To address several of the questions raised in the introduction, <span class="emphasis"><em>transactions</em></span>
- are introduced. A transaction consists of one or more operations changing
- persistent objects. Once all operations have been recorded, the transaction
- is either applied to the global state (<span class="emphasis"><em>commit</em></span>) or undone
- (<span class="emphasis"><em>rollback</em></span>).
- </p>
-<p>
- <span class="bold"><strong>Atomicity</strong></span>
- </p>
-<p>
- A transaction pools several operations into one atomic operation. It is guaranteed
- that either all operations of one transaction are applied, or none of them,
- thus preventing that only a part of an application's state is written to
- disk.
- </p>
-<p>
- <span class="bold"><strong>Consistency</strong></span>
- </p>
-<p>
- The objects accessible through Boost.Persistent are in a consistent state
- at all times. They either represent the state before a transaction, or after
- a transaction, but nothing in between. If a transaction can not be applied
- to the global state it is undone as a whole.
- </p>
-<p>
- Note: Consistency is somewhat limited by the optimistic transaction approach
- Boost.Persistent uses by default. This means that the inter-object state
- may be inconsistent while a transaction is running, but the transactions
- will fail with an exception on commit if the state presented to the transaction
- was inconsistent. No inconsistent transactions will be committed, and no
- single intra-object state is ever inconsistent. Read more about optimistic
- transactions here. TODO
- </p>
-<p>
- <span class="bold"><strong>Isolation</strong></span>
- </p>
-<p>
- Persistent objects can be accessed from multiple threads concurrently, without
- manual synchronization. Changes made by one transaction are not visible to
- other transactions until the transaction was successfully committed. Transactions
- can run concurrently, but once committed, the resulting state is equal to
- the state that would have been reached if all successful transactions had
- been executed in sequence.
- </p>
-<p>
- If a transaction conflicts with a another transaction an exception is thrown
- and the transaction can be repeated.
- </p>
-<p>
- <span class="bold"><strong>Durability</strong></span>
- </p>
-<p>
- When a transaction was successfully committed, the changes made by it are
- guaranteed to be permanent, even if the application crashes shortly thereafter.
- </p>
-<p>
- Note: There are different sync-modes in Boost.Persistent that may loosen
- this requirement. See TODO.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.introduction.object_requirements"></a><a class="link" href="introduction.html#persistent.introduction.object_requirements" title="Object requirements"> Object
- requirements</a>
-</h3></div></div></div>
-<p>
- Objects that are to be used as persistent objects are required to model the
- <span class="emphasis"><em>Serializable</em></span> concept, as defined by Boost.Serialization.
- </p>
-<p>
- Example:
-</p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">bank_account</span><span class="special">{</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">friend</span> <span class="keyword">class</span> <span class="identifier">serialization</span><span class="special">::</span><span class="identifier">access</span><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
- <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">account_no</span><span class="special">;</span>
- <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">balance</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">int</span> <span class="identifier">account_no</span><span class="special">;</span>
- <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">balance</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- There are several Persistent-specific functions that can be implemented to
- improve performance, but Serializable is the only requirement.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.introduction.persistent_objects"></a><a class="link" href="introduction.html#persistent.introduction.persistent_objects" title="Persistent objects"> Persistent
- objects</a>
-</h3></div></div></div>
-<p>
- A persistent object is a <span class="emphasis"><em>Serializable</em></span> C++ object that
- is passed to a locator.
- </p>
-<p>
- However, a persistent object can contain more than one C++ object. As an
- example:
-</p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">person</span><span class="special">{</span>
- <span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
- <span class="identifier">address</span> <span class="special">*</span><span class="identifier">addr</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- There are 2 C++ objects, one of type <span class="emphasis"><em>person</em></span> and one
- of type <span class="emphasis"><em>address</em></span>, but both are considered to be part
- of one persistent object.
- </p>
-<p>
- Each persistent object must be serializable independently into its own <span class="emphasis"><em>Boost.Serialization</em></span>
- archive, meaning that C++ objects may not be shared among persistent objects.
- </p>
-<p>
- For example:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">bank_account</span><span class="special">{</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">int</span> <span class="identifier">account_no</span><span class="special">;</span>
- <span class="identifier">bank</span> <span class="special">*</span><span class="identifier">b</span><span class="special">;</span> <span class="comment">//the bank this account belongs to
-</span> <span class="comment">//Serializable
-</span><span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- When instances of this <span class="emphasis"><em>bank_account</em></span> type are used as
- persistent objects, the <span class="emphasis"><em>bank</em></span> will get serialized once
- for each <span class="emphasis"><em>bank_account</em></span>, resulting in duplication of the
- <span class="emphasis"><em>bank</em></span> object if it was shared among the <span class="emphasis"><em>bank_accounts</em></span>
- before. For example, with the arrows representing pointers, not locators:
-
-</p>
-<pre class="programlisting"><span class="identifier">before</span><span class="special">:</span>
- <span class="special">-----------</span>
- <span class="special">------&gt;</span> <span class="special">|</span> <span class="identifier">bank</span> <span class="special">|</span> <span class="special">&lt;-----</span>
- <span class="special">|</span> <span class="special">-----------</span> <span class="special">|</span>
- <span class="special">|</span> <span class="special">^</span> <span class="special">|</span>
- <span class="special">|</span> <span class="special">|</span> <span class="special">|</span>
- <span class="special">-----------</span> <span class="special">-----------</span> <span class="special">-----------</span>
- <span class="special">|</span> <span class="identifier">account</span> <span class="special">|</span> <span class="special">|</span> <span class="identifier">account</span> <span class="special">|</span> <span class="special">|</span> <span class="identifier">account</span> <span class="special">|</span>
- <span class="special">-----------</span> <span class="special">-----------</span> <span class="special">-----------</span>
-
-<span class="identifier">after</span><span class="special">:</span>
-
-
- <span class="special">-----------</span> <span class="special">------------</span> <span class="special">----------</span>
- <span class="special">|</span> <span class="identifier">bank</span> <span class="special">|</span> <span class="special">|</span> <span class="identifier">bank</span> <span class="special">|</span> <span class="special">|</span> <span class="identifier">bank</span> <span class="special">|</span>
- <span class="special">----------</span> <span class="special">----------</span> <span class="special">----------</span>
- <span class="special">^</span> <span class="special">^</span> <span class="special">^</span>
- <span class="special">|</span> <span class="special">|</span> <span class="special">|</span>
- <span class="special">-----------</span> <span class="special">-----------</span> <span class="special">-----------</span>
- <span class="special">|</span> <span class="identifier">account</span> <span class="special">|</span> <span class="special">|</span> <span class="identifier">account</span> <span class="special">|</span> <span class="special">|</span> <span class="identifier">account</span> <span class="special">|</span>
- <span class="special">-----------</span> <span class="special">-----------</span> <span class="special">-----------</span>
-
-</pre>
-<p>
- In this case, a locator to a persistent <span class="emphasis"><em>bank</em></span> object
- should be used instead of a pointer to a C++ <span class="emphasis"><em>bank</em></span> object,
- so that the bank is not considered part of the <span class="emphasis"><em>bank_account</em></span>
- persistent object.
- </p>
-<p>
- Inside of persistent objects, C++ objects can still be shared and Boost.Serialization's
- object tracking works as usual. Read the <a href="http://www.boost.org/doc/libs/1_40_0/libs/serialization/doc/tutorial.html#pointers" target="_top">Tutorial
- of Boost.Serialization</a> for more information.
- </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.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="tutorials.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/persistent/libs/persistent/doc/html/persistent/license_notices.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/license_notices.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/license_notices.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,8 +4,8 @@
 <title>License notices</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
 <link rel="prev" href="../boost/persistent/weak_loc.html" title="Class template weak_loc">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">

Modified: sandbox/persistent/libs/persistent/doc/html/persistent/reference.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/reference.html (original)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/reference.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -4,10 +4,10 @@
 <title>Reference</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="prev" href="extending.html" title="Extending Boost.Persistent">
-<link rel="next" href="../boost/persistent/deep_tag.html" title="Struct deep_tag">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="ackn.html" title="Acknowledgements">
+<link rel="next" href="../boost/persistent/AtomicStorageEngine.html" title="Struct AtomicStorageEngine">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,143 +20,132 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="extending.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="../boost/persistent/deep_tag.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="ackn.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="../boost/persistent/AtomicStorageEngine.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="persistent.reference"></a>Reference</h2></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">Header <boost/persistent/concept/AtomicStorageEngine.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/DataBlock.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/ObjectPinningService.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/ObjectStorageService.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/ResourceManager.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/SharedObjectStorageService.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/StorageEngine.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/concept/TransactionManager.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/access.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/basic_clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/basic_clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/basic_cmap.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/basic_cset.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/basic_cset.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/basic_pinned_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_scoped_loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/basic_shared_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_transaction.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_transaction_manager.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/basic_weak_loc.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/cache.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/clist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/cmap.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/cset.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/cset.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/block_storage.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/default_tag.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/exception.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/basic_cslist.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/intrusive/cslist.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/interior_ptr.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/basic_loc_list.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/basic_loc_set.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/basic_loc_slist.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/loc_list.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/loc_set.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/intrusive/loc_slist.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/mapped_file_block.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/multiversion_object_resource.hpp></span></dt>
-<dt><span class="section">Header <boost/persistent/object_database.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/null_atomic_storage.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/pinned_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/redo_storage.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/resource_manager.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/savepoints_session.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/scoped_loc.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/shared_loc.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/streambuf_block.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/transaction.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/transaction_manager.hpp></span></dt>
+<dt><span class="section">Header <boost/persistent/transactional_session.hpp></span></dt>
 <dt><span class="section">Header <boost/persistent/weak_loc.hpp></span></dt>
 </dl></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.access_hpp"></a>Header &lt;boost/persistent/access.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.concept.AtomicStorageEngine_hpp"></a>Header &lt;boost/persistent/concept/AtomicStorageEngine.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/deep_tag.html" title="Struct deep_tag">deep_tag</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/AtomicStorageEngine.html" title="Struct AtomicStorageEngine">AtomicStorageEngine</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.basic_clist_hpp"></a>Header &lt;boost/persistent/basic_clist.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.concept.DataBlock_hpp"></a>Header &lt;boost/persistent/concept/DataBlock.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_clist.html" title="Class template basic_clist">basic_clist</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/DataBlock.html" title="Struct DataBlock">DataBlock</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.intrusive.basic_clist_hpp"></a>Header &lt;boost/persistent/intrusive/basic_clist.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.concept.ObjectPinningService_hpp"></a>Header &lt;boost/persistent/concept/ObjectPinningService.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_clist.html" title="Class template basic_clist">basic_clist</a>;
- <span class="bold"><strong>namespace</strong></span> intrusive {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_clist_hook.html" title="Struct template basic_clist_hook">basic_clist_hook</a>;
-
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_clist.html" title="Class template basic_clist">basic_clist</a>;
- }
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/ObjectPinningService.html" title="Struct ObjectPinningService">ObjectPinningService</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.basic_cmap_hpp"></a>Header &lt;boost/persistent/basic_cmap.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.concept.ObjectStorageService_hpp"></a>Header &lt;boost/persistent/concept/ObjectStorageService.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
- <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;Key&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_cmap.html" title="Class template basic_cmap">basic_cmap</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
- <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;Key&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_cmultimap.html" title="Class template basic_cmultimap">basic_cmultimap</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/ObjectStorageService.html" title="Struct ObjectStorageService">ObjectStorageService</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.basic_cset_hpp"></a>Header &lt;boost/persistent/basic_cset.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.concept.ResourceManager_hpp"></a>Header &lt;boost/persistent/concept/ResourceManager.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_cset.html" title="Class template basic_cset">basic_cset</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_cmultiset.html" title="Class template basic_cmultiset">basic_cmultiset</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/ResourceManager.html" title="Struct ResourceManager">ResourceManager</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.intrusive.basic_cset_hpp"></a>Header &lt;boost/persistent/intrusive/basic_cset.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.concept.SharedObjectStorageService_hpp"></a>Header &lt;boost/persistent/concept/SharedObjectStorageService.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_cset.html" title="Class template basic_cset">basic_cset</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_cmultiset.html" title="Class template basic_cmultiset">basic_cmultiset</a>;
- <span class="bold"><strong>namespace</strong></span> intrusive {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_cset_hook.html" title="Struct template basic_cset_hook">basic_cset_hook</a>;
-
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_cset.html" title="Class template basic_cset">basic_cset</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_cmultiset.html" title="Class template basic_cmultiset">basic_cmultiset</a>;
- }
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/SharedObjectStorageService.html" title="Struct SharedObjectStorageService">SharedObjectStorageService</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.concept.StorageEngine_hpp"></a>Header &lt;boost/persistent/concept/StorageEngine.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/StorageEngine.html" title="Struct StorageEngine">StorageEngine</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.concept.TransactionManager_hpp"></a>Header &lt;boost/persistent/concept/TransactionManager.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/TransactionManager.html" title="Struct TransactionManager">TransactionManager</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.access_hpp"></a>Header &lt;boost/persistent/access.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/deep_tag.html" title="Struct deep_tag">deep_tag</a>;
   }
 }</pre>
 </div>
@@ -168,6 +157,46 @@
     <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/is_locator.html" title="Struct template is_locator">is_locator</a>;
 
     <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>;
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_static&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span>
+ <a name="boost.persistent.static_pointer_cast_id2538722"></a>static_pointer_cast(<a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_const&lt;Y&gt;();</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span>
+ <a name="boost.persistent.const_pointer_cast_id2538762"></a>const_pointer_cast(<a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_dynamic&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; Y, TxMgr &gt;</span>
+ <a name="boost.persistent.dynamic_pointer_cast_id2538802"></a>dynamic_pointer_cast(<a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">a.swap(b)</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="boost.persistent.swap_id2538841"></a>swap(<a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; &amp; a, <a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">basic_loc</a>&lt; T, TxMgr &gt; &amp; b);
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.basic_pinned_loc_hpp"></a>Header &lt;boost/persistent/basic_pinned_loc.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>;
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_const&lt;Y&gt;();</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; Y, TxMgr, Tag &gt;</span>
+ <a name="boost.persistent.const_pointer_cast_id2539649"></a>const_pointer_cast(<a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; T, TxMgr, Tag &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">a.swap(b)</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>typename</strong></span> Tag&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="boost.persistent.swap_id2539693"></a>swap(<a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; T, TxMgr, Tag &gt; &amp; a,
+ <a class="link" href="../boost/persistent/basic_pinned_loc.html" title="Class template basic_pinned_loc">basic_pinned_loc</a>&lt; T, TxMgr, Tag &gt; &amp; b);
   }
 }</pre>
 </div>
@@ -177,6 +206,40 @@
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
     <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a>;
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">a.swap(b)</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="boost.persistent.swap_id2540311"></a>swap(<a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a>&lt; T, TxMgr &gt; &amp; a,
+ <a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">basic_scoped_loc</a>&lt; T, TxMgr &gt; &amp; b);
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.basic_shared_loc_hpp"></a>Header &lt;boost/persistent/basic_shared_loc.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>;
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_static&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span>
+ <a name="boost.persistent.static_pointer_cast_id2541250"></a>static_pointer_cast(<a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_const&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span>
+ <a name="boost.persistent.const_pointer_cast_id2541290"></a>const_pointer_cast(<a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">r.cast_dynamic&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; Y, TxMgr &gt;</span>
+ <a name="boost.persistent.dynamic_pointer_cast_id2541330"></a>dynamic_pointer_cast(<a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt; <span class="bold"><strong>const</strong></span> &amp; r);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">a.swap(b)</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="boost.persistent.swap_id2541370"></a>swap(<a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt; &amp; a,
+ <a class="link" href="../boost/persistent/basic_shared_loc.html" title="Class template basic_shared_loc">basic_shared_loc</a>&lt; T, TxMgr &gt; &amp; b);
   }
 }</pre>
 </div>
@@ -198,7 +261,7 @@
 <a name="header.boost.persistent.basic_transaction_manager_hpp"></a>Header &lt;boost/persistent/basic_transaction_manager.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Resources, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Resources, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>bool</strong></span> TThreads = <span class="bold"><strong>true</strong></span>&gt;
       <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/basic_transaction_manager.html" title="Class template basic_transaction_manager">basic_transaction_manager</a>;
   }
 }</pre>
@@ -216,131 +279,180 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.cache_hpp"></a>Header &lt;boost/persistent/cache.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.block_storage_hpp"></a>Header &lt;boost/persistent/block_storage.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/caching_policy.html" title="Struct caching_policy">caching_policy</a>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Block, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/block_storage.html" title="Class template block_storage">block_storage</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.clist_hpp"></a>Header &lt;boost/persistent/clist.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.default_tag_hpp"></a>Header &lt;boost/persistent/default_tag.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/clist.html" title="Class template clist">clist</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/default_tag.html" title="Struct default_tag">default_tag</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.intrusive.clist_hpp"></a>Header &lt;boost/persistent/intrusive/clist.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.exception_hpp"></a>Header &lt;boost/persistent/exception.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/clist.html" title="Class template clist">clist</a>;
- <span class="bold"><strong>namespace</strong></span> intrusive {
- }
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/exception.html" title="Struct exception">exception</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/recovery_failure.html" title="Struct recovery_failure">recovery_failure</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/io_failure.html" title="Struct io_failure">io_failure</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/finalize_error.html" title="Struct finalize_error">finalize_error</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/no_active_transaction.html" title="Struct no_active_transaction">no_active_transaction</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/no_active_transaction_m_id2543091.html" title="Struct no_active_transaction_manager">no_active_transaction_manager</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/unsupported_exception.html" title="Struct unsupported_exception">unsupported_exception</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.cmap_hpp"></a>Header &lt;boost/persistent/cmap.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.interior_ptr_hpp"></a>Header &lt;boost/persistent/interior_ptr.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/cmap.html" title="Class template cmap">cmap</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Key, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/cmultimap.html" title="Class template cmultimap">cmultimap</a>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>;
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">a.swap(b)</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="boost.persistent.swap_id2543764"></a>swap(<a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; T &gt; &amp; a, <a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; T &gt; &amp; b);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">p.get()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="type">T *</span> <a name="boost.persistent.get_pointer"></a>get_pointer(<a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; T &gt; <span class="bold"><strong>const</strong></span> &amp; p);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">p.cast_static&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type"><a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a name="boost.persistent.static_pointer_cast_id2543827"></a>static_pointer_cast(<a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; T &gt; <span class="bold"><strong>const</strong></span> &amp; p);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">p.cast_dynamic&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type"><a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a name="boost.persistent.dynamic_pointer_cast_id2543862"></a>dynamic_pointer_cast(<a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; T &gt; <span class="bold"><strong>const</strong></span> &amp; p);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">p.cast_const&lt;Y&gt;()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Y, <span class="bold"><strong>typename</strong></span> T&gt;
+ <span class="type"><a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt;</span> <a name="boost.persistent.const_pointer_cast_id2543897"></a>const_pointer_cast(<a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; T &gt; <span class="bold"><strong>const</strong></span> &amp; p);
+
+ <span class="emphasis"><em>// Equivalent to <code class="computeroutput">os &lt;&lt; p.get()</code>. </em></span>
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> E, <span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Y&gt;
+ <span class="type">std::basic_ostream&lt; E, T &gt; &amp;</span>
+ <a name="boost.persistent.operator_id2543932"></a><span class="bold"><strong>operator</strong></span>&lt;&lt;(std::basic_ostream&lt; E, T &gt; &amp; os, <a class="link" href="../boost/persistent/interior_ptr.html" title="Class template interior_ptr">interior_ptr</a>&lt; Y &gt; <span class="bold"><strong>const</strong></span> &amp; p);
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.cset_hpp"></a>Header &lt;boost/persistent/cset.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.intrusive.basic_loc_list_hpp"></a>Header &lt;boost/persistent/intrusive/basic_loc_list.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/cset.html" title="Class template cset">cset</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/cmultiset.html" title="Class template cmultiset">cmultiset</a>;
+ <span class="bold"><strong>namespace</strong></span> intrusive {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_list_hook.html" title="Struct template basic_loc_list_hook">basic_loc_list_hook</a>;
+
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_list.html" title="Class template basic_loc_list">basic_loc_list</a>;
+ }
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.intrusive.cset_hpp"></a>Header &lt;boost/persistent/intrusive/cset.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.intrusive.basic_loc_set_hpp"></a>Header &lt;boost/persistent/intrusive/basic_loc_set.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/cset.html" title="Class template cset">cset</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
- <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
- <span class="bold"><strong>typename</strong></span> ResourceTag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/cmultiset.html" title="Class template cmultiset">cmultiset</a>;
     <span class="bold"><strong>namespace</strong></span> intrusive {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_set_hook.html" title="Struct template basic_loc_set_hook">basic_loc_set_hook</a>;
+
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_set.html" title="Class template basic_loc_set">basic_loc_set</a>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_multiset.html" title="Class template basic_loc_multiset">basic_loc_multiset</a>;
     }
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.default_tag_hpp"></a>Header &lt;boost/persistent/default_tag.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.intrusive.basic_loc_slist_hpp"></a>Header &lt;boost/persistent/intrusive/basic_loc_slist.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/default_tag.html" title="Struct default_tag">default_tag</a>;
+ <span class="bold"><strong>namespace</strong></span> intrusive {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_slist_hook.html" title="Struct template basic_loc_slist_hook">basic_loc_slist_hook</a>;
+
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_loc_slist.html" title="Class template basic_loc_slist">basic_loc_slist</a>;
+ }
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.exception_hpp"></a>Header &lt;boost/persistent/exception.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.intrusive.loc_list_hpp"></a>Header &lt;boost/persistent/intrusive/loc_list.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/exception.html" title="Struct exception">exception</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/recovery_failure.html" title="Struct recovery_failure">recovery_failure</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/io_failure.html" title="Struct io_failure">io_failure</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/finalize_error.html" title="Struct finalize_error">finalize_error</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/no_active_transaction.html" title="Struct no_active_transaction">no_active_transaction</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/no_active_transaction_m_id2656836.html" title="Struct no_active_transaction_manager">no_active_transaction_manager</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/unsupported_exception.html" title="Struct unsupported_exception">unsupported_exception</a>;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a>;
+ <span class="bold"><strong>namespace</strong></span> intrusive {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_list_hook.html" title="Struct template loc_list_hook">loc_list_hook</a>;
+
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_list.html" title="Class template loc_list">loc_list</a>;
+ }
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.intrusive.basic_cslist_hpp"></a>Header &lt;boost/persistent/intrusive/basic_cslist.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.intrusive.loc_set_hpp"></a>Header &lt;boost/persistent/intrusive/loc_set.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
     <span class="bold"><strong>namespace</strong></span> intrusive {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr,
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_set_hook.html" title="Struct template loc_set_hook">loc_set_hook</a>;
+
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
                <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_cslist_hook.html" title="Struct template basic_cslist_hook">basic_cslist_hook</a>;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_set.html" title="Class template loc_set">loc_set</a>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Compare = std::less&lt;T&gt;,
+ <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_multiset.html" title="Class template loc_multiset">loc_multiset</a>;
+ }
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.intrusive.loc_slist_hpp"></a>Header &lt;boost/persistent/intrusive/loc_slist.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>namespace</strong></span> intrusive {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_slist_hook.html" title="Struct template loc_slist_hook">loc_slist_hook</a>;
 
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> TxMgr, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>bool</strong></span> ConstantTimeSize = <span class="bold"><strong>true</strong></span>,
                <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/basic_cslist.html" title="Class template basic_cslist">basic_cslist</a>;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/intrusive/loc_slist.html" title="Class template loc_slist">loc_slist</a>;
     }
   }
 }</pre>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.intrusive.cslist_hpp"></a>Header &lt;boost/persistent/intrusive/cslist.hpp&gt;</h3></div></div></div></div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="header.boost.persistent.loc_hpp"></a>Header &lt;boost/persistent/loc.hpp&gt;</h3></div></div></div>
@@ -352,26 +464,40 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.mapped_file_block_hpp"></a>Header &lt;boost/persistent/mapped_file_block.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/mapped_file_block.html" title="Class mapped_file_block">mapped_file_block</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="header.boost.persistent.multiversion_object_resource_hpp"></a>Header &lt;boost/persistent/multiversion_object_resource.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag = default_tag,
- <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>&gt;
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/multiversion_object_res_id2657480.html" title="Class template multiversion_object_resource">multiversion_object_resource</a>;
-
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag, <span class="bold"><strong>bool</strong></span> Threads&gt;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/object_pinning_multiver_id2657995.html" title="Struct template object_pinning&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">object_pinning</a>&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AtomicStorage, <span class="bold"><strong>typename</strong></span> Tag, <span class="bold"><strong>bool</strong></span> Threads&gt;
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/shared_objects_multiver_id2658026.html" title="Struct template shared_objects&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;">shared_objects</a>&lt;multiversion_object_resource&lt; AtomicStorage, Tag, Threads &gt;&gt;;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> AStorage, <span class="bold"><strong>bool</strong></span> Threads = <span class="bold"><strong>true</strong></span>, <span class="bold"><strong>bool</strong></span> TThreads = <span class="bold"><strong>true</strong></span>,
+ <span class="bold"><strong>typename</strong></span> Tag = default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/multiversion_object_res_id2563531.html" title="Class template multiversion_object_resource">multiversion_object_resource</a>;
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.persistent.object_database_hpp"></a>Header &lt;boost/persistent/object_database.hpp&gt;</h3></div></div></div>
+<a name="header.boost.persistent.null_atomic_storage_hpp"></a>Header &lt;boost/persistent/null_atomic_storage.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/object_database.html" title="Class object_database">object_database</a>;
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> Storage, <span class="bold"><strong>bool</strong></span> Threads&gt; <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/null_atomic_storage.html" title="Class template null_atomic_storage">null_atomic_storage</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.pinned_loc_hpp"></a>Header &lt;boost/persistent/pinned_loc.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T, <span class="bold"><strong>typename</strong></span> Tag = persistent::default_tag&gt;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/pinned_loc.html" title="Class template pinned_loc">pinned_loc</a>;
   }
 }</pre>
 </div>
@@ -390,10 +516,19 @@
 <a name="header.boost.persistent.resource_manager_hpp"></a>Header &lt;boost/persistent/resource_manager.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/object_resource_tag.html" title="Struct object_resource_tag">object_resource_tag</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ObjectResourceManager&gt; <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/object_pinning.html" title="Struct template object_pinning">object_pinning</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ObjectResourceManager&gt; <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/shared_objects.html" title="Struct template shared_objects">shared_objects</a>;
- <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> ObjectResourceManager&gt; <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/distributed_transactions.html" title="Struct template distributed_transactions">distributed_transactions</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/object_storage_tag.html" title="Struct object_storage_tag">object_storage_tag</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/shared_object_storage_tag.html" title="Struct shared_object_storage_tag">shared_object_storage_tag</a>;
+ <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/persistent/object_pinning_tag.html" title="Struct object_pinning_tag">object_pinning_tag</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.savepoints_session_hpp"></a>Header &lt;boost/persistent/savepoints_session.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/savepoints_session.html" title="Class savepoints_session">savepoints_session</a>;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/save_on_shutdown.html" title="Class save_on_shutdown">save_on_shutdown</a>;
   }
 }</pre>
 </div>
@@ -417,6 +552,15 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.streambuf_block_hpp"></a>Header &lt;boost/persistent/streambuf_block.hpp&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/streambuf_block.html" title="Class streambuf_block">streambuf_block</a>;
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="header.boost.persistent.transaction_hpp"></a>Header &lt;boost/persistent/transaction.hpp&gt;</h3></div></div></div>
 <pre class="synopsis">
 
@@ -424,16 +568,28 @@
 <a class="link" href="../BOOST_PERSISTENT_RETRY.html" title="Macro BOOST_PERSISTENT_RETRY">BOOST_PERSISTENT_RETRY</a></pre>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>typedef</strong></span> basic_transaction&lt; transaction_manager &gt; <a name="boost.persistent.transaction"></a>transaction;
+ <span class="bold"><strong>typedef</strong></span> <a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">basic_transaction</a>&lt; transaction_manager &gt; <a name="boost.persistent.transaction"></a>transaction; <span class="emphasis"><em>// An alias of <code class="computeroutput">basic_transaction</code> using the default transaction manager. </em></span>
   }
 }</pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="header.boost.persistent.transaction_manager_hpp"></a>Header &lt;boost/persistent/transaction_manager.hpp&gt;</h3></div></div></div>
+<pre class="synopsis">
+
+<a class="link" href="../BOOST_PERSISTENT_CONFIGURATION.html" title="Macro BOOST_PERSISTENT_CONFIGURATION">BOOST_PERSISTENT_CONFIGURATION</a></pre>
+<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
+ <span class="bold"><strong>namespace</strong></span> persistent {
+ <span class="bold"><strong>typedef</strong></span> BOOST_PERSISTENT_CONFIGURATION <a name="boost.persistent.transaction_manager"></a>transaction_manager; <span class="emphasis"><em>// An alias of the configured transaction manager. </em></span>
+ }
+}</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.persistent.transactional_session_hpp"></a>Header &lt;boost/persistent/transactional_session.hpp&gt;</h3></div></div></div>
 <pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {
   <span class="bold"><strong>namespace</strong></span> persistent {
- <span class="bold"><strong>typedef</strong></span> boost::persistent::basic_transaction_manager&lt; boost::persistent::multiversion_object_resource&lt; boost::persistent::redo_storage&lt; boost::persistent::filesystem_storage&lt;&gt; &gt; &gt; &gt; <a name="boost.persistent.transaction_manager"></a>transaction_manager;
+ <span class="bold"><strong>class</strong></span> <a class="link" href="../boost/persistent/transactional_session.html" title="Class transactional_session">transactional_session</a>;
   }
 }</pre>
 </div>
@@ -457,7 +613,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="extending.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="../boost/persistent/deep_tag.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="ackn.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="../boost/persistent/AtomicStorageEngine.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/persistent/libs/persistent/doc/html/persistent/transactions.html
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/persistent/transactions.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,719 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Using Transactions</title>
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Persistent">
+<link rel="prev" href="access.html" title="Accessing Persistent Objects">
+<link rel="next" href="advanced.html" title="Advanced topics">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="access.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="advanced.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="persistent.transactions"></a><a class="link" href="transactions.html" title="Using Transactions"> Using Transactions</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Introduction</span></dt>
+<dt><span class="section"> Transaction scopes</span></dt>
+<dt><span class="section"><a href="transactions.html#persistent.transactions.vssavepoints"> Transactions vs.
+ savepoints</a></span></dt>
+<dt><span class="section"><a href="transactions.html#persistent.transactions.access"> Object access outside
+ of transactions</a></span></dt>
+<dt><span class="section"> Nested transactions</span></dt>
+<dt><span class="section"> Concurrent transactions</span></dt>
+<dd><dl><dt><span class="section"><a href="transactions.html#persistent.transactions.concurrent.tutorial"> Tutorial
+ 3: Concurrent transactions</a></span></dt></dl></dd>
+<dt><span class="section"> Pitfalls</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="transactions.html#persistent.transactions.pitfalls.tbound"> Transaction
+ boundaries</a></span></dt>
+<dt><span class="section"><a href="transactions.html#persistent.transactions.pitfalls.non_repeatable_side_effects_of_atomic_scopes">Non-repeatable
+ side effects of atomic scopes</a></span></dt>
+</dl></dd>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.intro"></a><a class="link" href="transactions.html#persistent.transactions.intro" title="Introduction"> Introduction</a>
+</h3></div></div></div>
+<p>
+ A <span class="emphasis"><em>transaction</em></span> consists of one or more operations changing
+ <span class="emphasis"><em>persistent objects</em></span>. Once all operations have been recorded,
+ the transaction is either applied to the global state (<span class="emphasis"><em>commit</em></span>)
+ or undone (<span class="emphasis"><em>rollback</em></span>).
+ </p>
+<p>
+ Atomicity
+ </p>
+<p>
+ A transaction pools several operations into one atomic operation. It is guaranteed
+ that either all operations of one transaction are applied, or none of them,
+ thus preventing that only a part of an application's state is written to
+ disk.
+ </p>
+<p>
+ Consistency
+ </p>
+<p>
+ The objects accessible through Boost.Persistent are in a consistent state.
+ If a transaction is successful, the state presented to it was either the
+ state before another transaction, or after another transaction, but nothing
+ in between. If a transaction can not be applied to the global state it is
+ undone as a whole.
+ </p>
+<p>
+ Isolation
+ </p>
+<p>
+ <span class="emphasis"><em>Persistent objects</em></span> can be accessed from multiple threads
+ concurrently, without manual synchronization. Changes made by one transaction
+ are not visible to other transactions until the transaction was successfully
+ committed. Transactions can run concurrently, but once committed, the resulting
+ state is equal to the state that would have been reached if all successful
+ transactions had been executed in sequence.
+ </p>
+<p>
+ If a transaction conflicts with a another transaction an exception is thrown
+ and the transaction can be repeated.
+ </p>
+<p>
+ Durability
+ </p>
+<p>
+ When a transaction was successfully committed, the changes made by it are
+ guaranteed to be permanent, even if the application crashes shortly thereafter.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.scopes"></a><a class="link" href="transactions.html#persistent.transactions.scopes" title="Transaction scopes"> Transaction scopes</a>
+</h3></div></div></div>
+<p>
+ A transaction is started by creating a <span class="emphasis"><em>transaction scope</em></span>.
+ There are two ways to open a <span class="emphasis"><em>transaction scope</em></span>:
+ </p>
+<p>
+ 1. Constructing a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">transaction</a></code>
+ object:
+ </p>
+<pre class="programlisting"><span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ 2. Using an <span class="emphasis"><em>atomic</em></span> scope:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">atomic</span> <span class="identifier">BOOST_PERSISTENT_ATOMIC</span>
+<span class="preprocessor">#define</span> <span class="identifier">retry</span> <span class="identifier">BOOST_PERSISTENT_RETRY</span>
+
+<span class="identifier">atomic</span><span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span> <span class="identifier">retry</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+<p>
+ In case the end of the <span class="emphasis"><em>transaction scope</em></span> is not reached,
+ e.g. due to an exception, the transaction is <span class="emphasis"><em>rolled back</em></span>,
+ i.e. all changes made to <span class="emphasis"><em>persistent objects</em></span> in the
+ <span class="emphasis"><em>transaction scope</em></span> are undone.
+ </p>
+<p>
+ The two ways to open a <span class="emphasis"><em>transaction scope</em></span> are equivalent,
+ except in the case of <a class="link" href="transactions.html#persistent.transactions.concurrent" title="Concurrent transactions">Concurrent
+ transactions</a>.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.vssavepoints"></a><a class="link" href="transactions.html#persistent.transactions.vssavepoints" title="Transactions vs. savepoints"> Transactions vs.
+ savepoints</a>
+</h3></div></div></div>
+<p>
+ <span class="emphasis"><em>Savepoints</em></span> are a simplified representation of <span class="emphasis"><em>transactions</em></span>,
+ designed for applications that don't need fine-grained control over transactions.
+ </p>
+<p>
+ The following two code snippets are equivalent:
+ </p>
+<p>
+ 1. Using <span class="emphasis"><em>savepoints</em></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">savepoints_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+
+<span class="special">...</span>
+<span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span>
+<span class="special">...</span>
+<span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span>
+<span class="special">...</span>
+<span class="identifier">session</span><span class="special">.</span><span class="identifier">save</span><span class="special">();</span>
+</pre>
+<p>
+ 2. Using <span class="emphasis"><em>transactions</em></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">transactional_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+
+<span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.access"></a><a class="link" href="transactions.html#persistent.transactions.access" title="Object access outside of transactions"> Object access outside
+ of transactions</a>
+</h3></div></div></div>
+<p>
+ <span class="emphasis"><em>Persistent objects</em></span> can not be modified outside of a
+ <span class="emphasis"><em>transaction scope</em></span>, any attempt to do so results in a
+ <code class="computeroutput"><a class="link" href="../boost/persistent/no_active_transaction.html" title="Struct no_active_transaction">no_active_transaction</a></code>
+ exception.
+ </p>
+<p>
+ However, <span class="emphasis"><em>persistent objects</em></span> can be read outside of
+ <span class="emphasis"><em>transaction scopes</em></span>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span> <span class="keyword">const</span><span class="special">&gt;</span> <span class="identifier">pers_obj</span><span class="special">=...;</span> <span class="comment">//const!
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pers_obj</span><span class="special">-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">//ok
+</span></pre>
+<p>
+ Due to the fact that the <span class="emphasis"><em>locator</em></span> <span class="emphasis"><em>pers_obj</em></span>
+ refers to a <span class="emphasis"><em>const</em></span> object, the intent of read-only access
+ is clear.
+ </p>
+<p>
+ If a <span class="emphasis"><em>locator</em></span> to a non-<span class="emphasis"><em>const</em></span> object
+ is dereferenced outside of a <span class="emphasis"><em>transaction scope</em></span>, an exception
+ is thrown, even if the object is only accessed for reading:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">pers_obj</span><span class="special">=...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pers_obj</span><span class="special">-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">//throws
+</span></pre>
+<p>
+ To avoid this, <span class="emphasis"><em>pers_obj</em></span> must either be (implicitely)
+ converted to a <span class="emphasis"><em>const</em></span> <span class="emphasis"><em>locator</em></span>, or
+ <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2537599-bb">loc::read()</a></code>
+ can be used:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">pers_obj</span><span class="special">=...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pers_obj</span><span class="special">.</span><span class="identifier">read</span><span class="special">()-&gt;</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">//ok
+</span></pre>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.nested"></a><a class="link" href="transactions.html#persistent.transactions.nested" title="Nested transactions"> Nested transactions</a>
+</h3></div></div></div>
+<p>
+ Transactions can be nested:
+ </p>
+<pre class="programlisting"><span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">outer</span><span class="special">;</span>
+
+ <span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">inner</span><span class="special">;</span>
+ <span class="comment">//modify persistent objects
+</span> <span class="identifier">inner</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">outer</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <span class="emphasis"><em>inner.commit()</em></span> makes the changes made by <span class="emphasis"><em>inner</em></span>
+ part of the <span class="emphasis"><em>outer</em></span> transaction. It does not write the
+ changes by <span class="emphasis"><em>inner</em></span> to disk. If the call to <span class="emphasis"><em>inner.commit()</em></span>
+ is omitted, e.g. due to an exception that is caught by the <span class="emphasis"><em>outer</em></span>
+ scope, all changes made in that <span class="emphasis"><em>nested transaction</em></span> are
+ undone, without affecting the <span class="emphasis"><em>outer</em></span> <span class="emphasis"><em>transaction</em></span>.
+ </p>
+<p>
+ This is especially useful if a function that creates its own <span class="emphasis"><em>transaction
+ scope</em></span> is called from within another <span class="emphasis"><em>transaction scope</em></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f2</span><span class="special">(){</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">f1</span><span class="special">(){</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">f2</span><span class="special">();</span>
+ <span class="special">...</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Nested transactions are much more efficient than root transactions since
+ they are not <span class="emphasis"><em>durable</em></span> (as defined by <span class="emphasis"><em>ACID</em></span>
+ transactions) in any case, either <span class="emphasis"><em>commit</em></span> or <span class="emphasis"><em>rollback</em></span>,
+ until the outer <span class="emphasis"><em>transaction</em></span> is committed.
+ </p>
+<p>
+ So another use case of <span class="emphasis"><em>nested transactions</em></span> is efficiently
+ maintaining consistency at application runtime, with <span class="emphasis"><em>commits</em></span>
+ of the (large) outer <span class="emphasis"><em>transaction</em></span> representing the
+ <span class="emphasis"><em>savepoints</em></span> of the application.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.concurrent"></a><a class="link" href="transactions.html#persistent.transactions.concurrent" title="Concurrent transactions"> Concurrent transactions</a>
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="transactions.html#persistent.transactions.concurrent.tutorial"> Tutorial
+ 3: Concurrent transactions</a></span></dt></dl></div>
+<p>
+ Transactions can be started <span class="emphasis"><em>concurrently</em></span> by different
+ threads.
+ </p>
+<p>
+ It is guaranteed that no <span class="emphasis"><em>transaction</em></span> is successfully
+ committed that would result in a state that is different from the state that
+ would have been reached if all <span class="emphasis"><em>transactions</em></span> were executed
+ in sequence.
+ </p>
+<p>
+ If a <span class="emphasis"><em>transaction</em></span> conflicts with another <span class="emphasis"><em>concurrent
+ transaction</em></span> an <code class="computeroutput"><a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a></code>
+ is thrown in one of the <span class="emphasis"><em>transactions</em></span>, which needs to
+ be handled by user code.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">try</span><span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="identifier">bank_account1</span><span class="special">-&gt;</span><span class="identifier">balance</span> <span class="special">+=</span> <span class="identifier">amount</span><span class="special">;</span>
+ <span class="identifier">bank_account2</span><span class="special">-&gt;</span><span class="identifier">balance</span> <span class="special">-=</span> <span class="identifier">amount</span><span class="special">;</span>
+
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span><span class="keyword">catch</span><span class="special">(</span><span class="identifier">isolation_exception</span> <span class="special">&amp;){</span>
+ <span class="comment">//another transaction modified the same bank accounts simultaniously, which would have
+</span> <span class="comment">//resulted in an inconsistent state.
+</span> <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The standard behaviour is to repeat a <span class="emphasis"><em>transaction</em></span> until
+ it was successfully <span class="emphasis"><em>committed</em></span>.
+ </p>
+<p>
+ To achieve this behaviour, Boost.Persistent provides two macros, BOOST_PERSISTENT_ATOMIC
+ and BOOST_PERSISTENT_RETRY, which can be used to create a <span class="emphasis"><em>transaction
+ scope</em></span> instead of constructing a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">transaction</a></code>
+ object.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">atomic</span> <span class="identifier">BOOST_PERSISTENT_ATOMIC</span>
+<span class="preprocessor">#define</span> <span class="identifier">retry</span> <span class="identifier">BOOST_PERSISTENT_RETRY</span>
+
+<span class="identifier">atomic</span><span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">bank_account1</span><span class="special">-&gt;</span><span class="identifier">balance</span> <span class="special">+=</span> <span class="identifier">amount</span><span class="special">;</span>
+ <span class="identifier">bank_account2</span><span class="special">-&gt;</span><span class="identifier">balance</span> <span class="special">-=</span> <span class="identifier">amount</span><span class="special">;</span>
+<span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
+</pre>
+<p>
+ The transaction is repeated until it can be committed successfully.
+ </p>
+<a name="persistent.transactions.concurrent.concurrent_nested_transactions"></a><h5>
+<a name="id2797104"></a>
+ <a class="link" href="transactions.html#persistent.transactions.concurrent.concurrent_nested_transactions">Concurrent
+ nested transactions</a>
+ </h5>
+<p>
+ Multiple <span class="emphasis"><em>concurrent transactions</em></span> can be started as
+ <span class="emphasis"><em>nested transactions</em></span> of a given <span class="emphasis"><em>transaction</em></span>.
+ </p>
+<p>
+ When a new thread is started though, it is not bound to any <span class="emphasis"><em>transaction</em></span>,
+ so any <span class="emphasis"><em>transaction</em></span> started by it will be a <span class="emphasis"><em>root
+ transaction</em></span>. To avoid this, the new thread has to call <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html#id2541545-bb">transaction::bind()</a></code>
+ on the existing <span class="emphasis"><em>transaction</em></span> first, and then start its
+ <span class="emphasis"><em>transaction scope</em></span> to create a <span class="emphasis"><em>nested transaction</em></span>
+ in the existing <span class="emphasis"><em>transaction</em></span>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">thread_start</span><span class="special">(</span><span class="identifier">transaction</span> <span class="special">&amp;</span><span class="identifier">parenttx</span><span class="special">){</span>
+ <span class="identifier">parenttx</span><span class="special">.</span><span class="identifier">bind</span><span class="special">();</span>
+ <span class="identifier">atomic</span><span class="special">{</span>
+ <span class="comment">//do work
+</span> <span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(){</span>
+ <span class="identifier">transaction</span> <span class="identifier">parenttx</span><span class="special">;</span>
+
+ <span class="comment">//start more threads, passing 'parenttx'
+</span>
+ <span class="comment">//do work
+</span>
+ <span class="comment">//wait for all threads working on nested transactions to complete
+</span>
+ <span class="identifier">parenttx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.transactions.concurrent.tutorial"></a><a class="link" href="transactions.html#persistent.transactions.concurrent.tutorial" title="Tutorial 3: Concurrent transactions"> Tutorial
+ 3: Concurrent transactions</a>
+</h4></div></div></div>
+<p>
+ This tutorial implements the example of multiple threads concurrently withdrawing
+ and depositing from bank accounts, without money being lost due to concurrent
+ write accesses to the bank accounts.
+ </p>
+<p>
+ First, a <span class="emphasis"><em>account</em></span> type is needed:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">account</span><span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">balance</span><span class="special">;</span>
+ <span class="identifier">account</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">balance</span><span class="special">(</span><span class="number">0</span><span class="special">){}</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">balance</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <span class="emphasis"><em>accounts</em></span> are stored in a <span class="emphasis"><em>vector</em></span>
+ in the <span class="emphasis"><em>bank</em></span> type to enable random access to the accounts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">bank</span><span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">accounts</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">accounts</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The bank is prepared by adding some accounts:
+ </p>
+<pre class="programlisting"><span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">create_bank</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">nr_of_accounts</span><span class="special">){</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">mybank</span><span class="special">;</span>
+ <span class="identifier">mybank</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">bank</span><span class="special">);</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">c</span><span class="special">=</span><span class="number">0</span><span class="special">;</span><span class="identifier">c</span><span class="special">&lt;</span><span class="identifier">nr_of_accounts</span><span class="special">;++</span><span class="identifier">c</span><span class="special">){</span>
+ <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;(</span><span class="keyword">new</span> <span class="identifier">account</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">mybank</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Finally, a function withdrawing and depositing a random amount of money
+ from random bank accounts is implemented:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">thread_start</span><span class="special">(){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">mybank</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">nr_of_accounts</span><span class="special">=</span><span class="identifier">mybank</span><span class="special">.</span><span class="identifier">read</span><span class="special">()-&gt;</span><span class="identifier">accounts</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span>
+ <span class="keyword">while</span><span class="special">(!</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">interruption_requested</span><span class="special">()){</span>
+ <span class="keyword">int</span> <span class="identifier">amount</span><span class="special">=</span><span class="identifier">rand</span><span class="special">()</span> <span class="special">%</span> <span class="number">10000</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">account1</span><span class="special">=</span><span class="identifier">rand</span><span class="special">()</span> <span class="special">%</span> <span class="identifier">nr_of_accounts</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">account2</span><span class="special">=</span><span class="identifier">rand</span><span class="special">()</span> <span class="special">%</span> <span class="identifier">nr_of_accounts</span><span class="special">;</span>
+ <span class="identifier">atomic</span><span class="special">{</span>
+ <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">[</span><span class="identifier">account1</span><span class="special">]-&gt;</span><span class="identifier">balance</span> <span class="special">-=</span> <span class="identifier">amount</span><span class="special">;</span>
+ <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">[</span><span class="identifier">account2</span><span class="special">]-&gt;</span><span class="identifier">balance</span> <span class="special">+=</span> <span class="identifier">amount</span><span class="special">;</span>
+ <span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The overall balance of all bank accounts in the bank is initialized with
+ 0, so it must stay 0 since no money is added or removed. A member function
+ is added to <span class="emphasis"><em>bank</em></span> to check for that:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">overall_balance</span><span class="special">()</span> <span class="keyword">const</span><span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">tmp</span><span class="special">=</span><span class="number">0</span><span class="special">;</span>
+ <span class="identifier">BOOST_FOREACH</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span> <span class="keyword">const</span><span class="special">&gt;</span> <span class="identifier">ac</span><span class="special">,</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">){</span>
+ <span class="identifier">tmp</span><span class="special">+=</span><span class="identifier">ac</span><span class="special">-&gt;</span><span class="identifier">balance</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">return</span> <span class="identifier">tmp</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="persistent.transactions.concurrent.tutorial.example"></a><a class="link" href="transactions.html#persistent.transactions.concurrent.tutorial.example" title="Example">
+ Example</a>
+</h5></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foreach</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">serialization</span><span class="special">/</span><span class="identifier">vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">lexical_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">ptime</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">transactional_session</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">pinned_loc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">transaction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="preprocessor">#define</span> <span class="identifier">atomic</span> <span class="identifier">BOOST_PERSISTENT_ATOMIC</span>
+<span class="preprocessor">#define</span> <span class="identifier">retry</span> <span class="identifier">BOOST_PERSISTENT_RETRY</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">persistent</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">account</span><span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">balance</span><span class="special">;</span>
+ <span class="identifier">account</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">balance</span><span class="special">(</span><span class="number">0</span><span class="special">){}</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">balance</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">struct</span> <span class="identifier">bank</span><span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">accounts</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
+ <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">accounts</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">int</span> <span class="identifier">overall_balance</span><span class="special">()</span> <span class="keyword">const</span><span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">tmp</span><span class="special">=</span><span class="number">0</span><span class="special">;</span>
+ <span class="identifier">BOOST_FOREACH</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span> <span class="keyword">const</span><span class="special">&gt;</span> <span class="identifier">ac</span><span class="special">,</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">){</span>
+ <span class="identifier">tmp</span><span class="special">+=</span><span class="identifier">ac</span><span class="special">-&gt;</span><span class="identifier">balance</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">return</span> <span class="identifier">tmp</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">create_bank</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">nr_of_accounts</span><span class="special">){</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">mybank</span><span class="special">;</span>
+ <span class="identifier">mybank</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">bank</span><span class="special">);</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">c</span><span class="special">=</span><span class="number">0</span><span class="special">;</span><span class="identifier">c</span><span class="special">&lt;</span><span class="identifier">nr_of_accounts</span><span class="special">;++</span><span class="identifier">c</span><span class="special">){</span>
+ <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;(</span><span class="keyword">new</span> <span class="identifier">account</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">mybank</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">thread_start</span><span class="special">(){</span>
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">mybank</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">nr_of_accounts</span><span class="special">=</span><span class="identifier">mybank</span><span class="special">.</span><span class="identifier">read</span><span class="special">()-&gt;</span><span class="identifier">accounts</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span>
+ <span class="keyword">while</span><span class="special">(!</span><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">interruption_requested</span><span class="special">()){</span>
+ <span class="keyword">int</span> <span class="identifier">amount</span><span class="special">=</span><span class="identifier">rand</span><span class="special">()</span> <span class="special">%</span> <span class="number">10000</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">account1</span><span class="special">=</span><span class="identifier">rand</span><span class="special">()</span> <span class="special">%</span> <span class="identifier">nr_of_accounts</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">account2</span><span class="special">=</span><span class="identifier">rand</span><span class="special">()</span> <span class="special">%</span> <span class="identifier">nr_of_accounts</span><span class="special">;</span>
+ <span class="identifier">atomic</span><span class="special">{</span>
+ <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">[</span><span class="identifier">account1</span><span class="special">]-&gt;</span><span class="identifier">balance</span> <span class="special">-=</span> <span class="identifier">amount</span><span class="special">;</span>
+ <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">[</span><span class="identifier">account2</span><span class="special">]-&gt;</span><span class="identifier">balance</span> <span class="special">+=</span> <span class="identifier">amount</span><span class="special">;</span>
+ <span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
+ <span class="identifier">srand</span><span class="special">(</span><span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">));</span>
+ <span class="identifier">transactional_session</span> <span class="identifier">session</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
+
+ <span class="identifier">pinned_loc</span><span class="special">&lt;</span><span class="identifier">bank</span> <span class="keyword">const</span><span class="special">&gt;</span> <span class="identifier">mybank</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(!</span><span class="identifier">mybank</span><span class="special">)</span> <span class="identifier">mybank</span><span class="special">=</span><span class="identifier">create_bank</span><span class="special">(</span><span class="number">200</span><span class="special">);</span>
+
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"overall balance before: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">overall_balance</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">thread</span> <span class="identifier">threads</span><span class="special">[</span><span class="number">10</span><span class="special">];</span> <span class="comment">//start 10 threads
+</span> <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">c</span><span class="special">=</span><span class="number">0</span><span class="special">;</span><span class="identifier">c</span><span class="special">&lt;</span><span class="number">10</span><span class="special">;++</span><span class="identifier">c</span><span class="special">){</span>
+ <span class="identifier">thread</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">thread_start</span><span class="special">)).</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">threads</span><span class="special">[</span><span class="identifier">c</span><span class="special">]);</span>
+ <span class="special">}</span>
+
+ <span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep</span><span class="special">(</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">30</span><span class="special">));</span>
+
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">c</span><span class="special">=</span><span class="number">0</span><span class="special">;</span><span class="identifier">c</span><span class="special">&lt;</span><span class="number">10</span><span class="special">;++</span><span class="identifier">c</span><span class="special">){</span> <span class="comment">//stop threads
+</span> <span class="identifier">threads</span><span class="special">[</span><span class="identifier">c</span><span class="special">].</span><span class="identifier">interrupt</span><span class="special">();</span>
+ <span class="identifier">threads</span><span class="special">[</span><span class="identifier">c</span><span class="special">].</span><span class="identifier">join</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"overall balance after: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">overall_balance</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="persistent.transactions.pitfalls"></a><a class="link" href="transactions.html#persistent.transactions.pitfalls" title="Pitfalls"> Pitfalls</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="transactions.html#persistent.transactions.pitfalls.tbound"> Transaction
+ boundaries</a></span></dt>
+<dt><span class="section"><a href="transactions.html#persistent.transactions.pitfalls.non_repeatable_side_effects_of_atomic_scopes">Non-repeatable
+ side effects of atomic scopes</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.transactions.pitfalls.tbound"></a><a class="link" href="transactions.html#persistent.transactions.pitfalls.tbound" title="Transaction boundaries"> Transaction
+ boundaries</a>
+</h4></div></div></div>
+<p>
+ Instances of <span class="emphasis"><em>persistent objects</em></span> obtained in one <span class="emphasis"><em>transaction</em></span>
+ must not be used in another <span class="emphasis"><em>transaction</em></span>.
+ </p>
+<p>
+ The result of dereferencing a <span class="emphasis"><em>locator</em></span> can be saved
+ for efficiency, for example instead of:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+<span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+</pre>
+<p>
+ one could write:
+ </p>
+<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+<span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
+<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
+</pre>
+<p>
+ Although the first code snippet does not cause the <span class="emphasis"><em>persistent
+ object</em></span> to be loaded from disk twice, since objects are cached,
+ it is less efficient than the second code snippet.
+ </p>
+<p>
+ However, instances must not be used across <span class="emphasis"><em>transaction</em></span>
+ boundaries:
+ </p>
+<pre class="programlisting"><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">;</span>
+<span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+
+ <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
+ <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
+
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+<span class="special">{</span>
+ <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
+
+ <span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span> <span class="comment">//error
+</span>
+ <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The resulting object state of this is undefined.
+ </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="persistent.transactions.pitfalls.non_repeatable_side_effects_of_atomic_scopes"></a><a class="link" href="transactions.html#persistent.transactions.pitfalls.non_repeatable_side_effects_of_atomic_scopes" title="Non-repeatable side effects of atomic scopes">Non-repeatable
+ side effects of atomic scopes</a>
+</h4></div></div></div>
+<p>
+ Since <span class="emphasis"><em>atomic</em></span> scopes are repeated until a <span class="emphasis"><em>transaction</em></span>
+ is successfully <span class="emphasis"><em>committed</em></span>, the side effects of the
+ scope, if any, must be repeatable.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">it</span><span class="special">){</span>
+ <span class="identifier">atomic</span><span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">pers_obj</span><span class="special">-&gt;</span><span class="identifier">use_value</span><span class="special">(*</span><span class="identifier">it</span><span class="special">++);</span> <span class="comment">//error
+</span> <span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The <span class="emphasis"><em>transaction</em></span> may still fail due to a <span class="emphasis"><em>concurrent
+ transaction</em></span> changing the same object, after the InputIterator
+ <span class="emphasis"><em>it</em></span> has been incremented. When the <span class="emphasis"><em>transaction</em></span>
+ is repeated, it starts with an already incremented <span class="emphasis"><em>it</em></span>.
+ </p>
+<p>
+ If <span class="emphasis"><em>atomic</em></span> scopes have side effects, i.e. effects other
+ than changing <span class="emphasis"><em>persistent objects</em></span>, they must be moved
+ outside of the <span class="emphasis"><em>atomic</em></span> scope:
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">it</span><span class="special">){</span>
+ <span class="identifier">atomic</span><span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">persobj</span><span class="special">-&gt;</span><span class="identifier">use_value</span><span class="special">(*</span><span class="identifier">it</span><span class="special">);</span>
+ <span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">it</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Only if the <span class="emphasis"><em>transaction</em></span> is successful, the side effects
+ of f() are applied.
+ </p>
+</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 Stefan Strasser<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="access.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="advanced.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/persistent/tutorials.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/tutorials.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,513 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Tutorials</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="prev" href="introduction.html" title="Introduction">
-<link rel="next" href="using.html" title="Using Boost.Persistent">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="introduction.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="using.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="persistent.tutorials"></a><a class="link" href="tutorials.html" title="Tutorials"> Tutorials</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial1"> Tutorial 1: Storing
- an object</a></span></dt>
-<dt><span class="section"> Tutorial 2: Linked list</span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial3"> Tutorial 3: Persistent
- containers</a></span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.conctx"> Tutorial 4: Using Concurrent
- Transactions</a></span></dt>
-</dl></div>
-<p>
- It is recommended to read the <a class="link" href="introduction.html" title="Introduction">Introduction</a>
- first, especially the part about <a class="link" href="introduction.html#persistent.introduction.locators" title="Locators (vs. pointers)">locators</a>,
- as they are used throughout the tutorials.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.tutorials.tutorial1"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1" title="Tutorial 1: Storing an object"> Tutorial 1: Storing
- an object</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial1.type"> Defining a persistent
- class</a></span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial1.createdb"> Creating
- a database</a></span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial1.createobj"> Creating
- a persistent object</a></span></dt>
-<dt><span class="section"> Object pinning</span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial1.modify"> Modifying an
- object</a></span></dt>
-<dt><span class="section"> Reading an object</span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial1.delete"> Deleting an
- object</a></span></dt>
-</dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.type"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.type" title="Defining a persistent class"> Defining a persistent
- class</a>
-</h4></div></div></div>
-<p>
- A type that is to be used for a persistent object must by Serializable
- as defined by Boost.Serialization:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">address</span><span class="special">{</span>
- <span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
- <span class="identifier">string</span> <span class="identifier">street</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">number</span><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
- <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">name</span> <span class="special">&amp;</span> <span class="identifier">street</span> <span class="special">&amp;</span> <span class="identifier">number</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.createdb"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.createdb" title="Creating a database"> Creating
- a database</a>
-</h4></div></div></div>
-<p>
- A default object database can be constructed most easily by using the
- <code class="computeroutput"><a class="link" href="../boost/persistent/object_database.html" title="Class object_database">object_database</a></code>
- class:
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">persistent</span><span class="special">/</span><span class="identifier">object_database</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">persistent</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
- <span class="identifier">object_database</span><span class="special">&lt;&gt;</span> <span class="identifier">db</span><span class="special">(</span><span class="string">"mydb"</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- <span class="emphasis"><em>mydb</em></span> represents the name of the database, that is,
- extended by various file extensions, used as a filename to store the database.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.createobj"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.createobj" title="Creating a persistent object"> Creating
- a persistent object</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
-<span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">address</span><span class="special">);</span>
-<span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">loc</a></code> is a locator
- that is equivalent to a C++ raw pointer: There is no ownership management,
- the object needs to be deleted manually when it is no longer used.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.pinning"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.pinning" title="Object pinning"> Object pinning</a>
-</h4></div></div></div>
-<p>
- The object is stored by the code above, but once the application has shut
- down the <span class="emphasis"><em>loc</em></span> is lost and there is no way to retrieve
- the object (and since loc is a locator with no ownership management, there
- is a leak in the database file). <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2654096-bb">loc&lt;T&gt;::pin</a></code>
- associates a persistent object with a type, so it can be retrieved from
- the database later without having a locator to it:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">=</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;::</span><span class="identifier">pinned</span><span class="special">();</span>
-<span class="keyword">if</span><span class="special">(!</span><span class="identifier">myaddress</span><span class="special">){</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">address</span><span class="special">);</span>
- <span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">pin</span><span class="special">();</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- This code snippet tries to retrieve a previously stored object. If there
- is none, it creates a new one and associates the object referened by <span class="emphasis"><em>myaddress</em></span>
- with its own type, <span class="emphasis"><em>address</em></span>.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.modify"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.modify" title="Modifying an object"> Modifying an
- object</a>
-</h4></div></div></div>
-<p>
- A persistent object can be modified by dereferencing a locator inside a
- transaction scope:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">=...;</span>
-<span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
-<span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">name</span><span class="special">=</span><span class="string">"Mike"</span><span class="special">;</span>
-<span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- If anything inside the transaction scope throws an exception, transaction::commit()
- won't get called and the changes are undone.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.read"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.read" title="Reading an object"> Reading an object</a>
-</h4></div></div></div>
-<p>
- Reading an object inside a transaction scope is equal to writing to it:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">name</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Objects can be read outside of transaction scopes, but there are some exceptions.
- The following code works fine:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span> <span class="keyword">const</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">=...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">name</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Note that the locator references a const object. The following code however
- results in a <code class="computeroutput"><a class="link" href="../boost/persistent/no_active_transaction.html" title="Struct no_active_transaction">no_active_transaction</a></code>
- exception:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">=...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">myaddress</span><span class="special">-&gt;</span><span class="identifier">name</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">//throws
-</span></pre>
-<p>
- </p>
-<p>
- The reason for that is that a non-const object is requested and persistent
- objects can not be modified outside of transaction scopes. To read an object
- from a non-const locator the locator can either be (implicitely) cast to
- a const locator, or <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2653952-bb">loc::read()</a></code>
- can be used:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">=...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">read</span><span class="special">()-&gt;</span><span class="identifier">name</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">//ok
-</span></pre>
-<p>
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial1.delete"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial1.delete" title="Deleting an object"> Deleting an
- object</a>
-</h4></div></div></div>
-<p>
- An object can be deleted by using <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2654219-bb">remove()</a></code>.
- It is the equivalent of the C++ <span class="emphasis"><em>delete</em></span> keyword for
- persistent objects. Since the <span class="emphasis"><em>address</em></span> object that
- was created above is <span class="emphasis"><em>pinned</em></span>, it needs to be <span class="emphasis"><em>unpinned</em></span>
- before the object is removed:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">address</span><span class="special">&gt;</span> <span class="identifier">myaddress</span><span class="special">=...;</span>
-<span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">unpin</span><span class="special">();</span>
-<span class="identifier">myaddress</span><span class="special">.</span><span class="identifier">remove</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- Note that persistent objects managed by <code class="computeroutput"><a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">scoped_locs</a></code>
- and <code class="computeroutput">shared_locs</code>
- are deleted automatically. These locators should be preferred except in
- controlled cases, like container classes, much like C++ raw pointers to
- heap-allocated objects can often be avoided.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.tutorials.tutorial2"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial2" title="Tutorial 2: Linked list"> Tutorial 2: Linked list</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Introduction</span></dt>
-<dt><span class="section"> Inserting an object</span></dt>
-<dt><span class="section"><a href="tutorials.html#persistent.tutorials.tutorial2.remove"> Removing an
- object</a></span></dt>
-</dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial2.intro"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial2.intro" title="Introduction"> Introduction</a>
-</h4></div></div></div>
-<p>
- Locators can not only be used at runtime to access persistent objects,
- but they can be stored as a part of a persistent object:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">node</span><span class="special">{</span>
- <span class="keyword">explicit</span> <span class="identifier">node</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">v</span><span class="special">,</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">n</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">value</span><span class="special">(</span><span class="identifier">v</span><span class="special">),</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">n</span><span class="special">){}</span>
- <span class="keyword">int</span> <span class="identifier">value</span><span class="special">;</span>
- <span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
- <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">value</span> <span class="special">&amp;</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- Here, a <code class="computeroutput">shared_loc</code>
- is used to reference the next object in a singly linked list. There is
- no need to remove the objects manually from the database when they are
- no longer used by the list, because <span class="emphasis"><em>shared_loc</em></span> manages
- the lifetime of the referenced object.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial2.add"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial2.add" title="Inserting an object"> Inserting an object</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">insert_after</span><span class="special">(</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">after</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">value</span><span class="special">)</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">node</span> <span class="special">*</span><span class="identifier">newnode</span><span class="special">=</span><span class="identifier">node</span><span class="special">(</span><span class="identifier">value</span><span class="special">,</span><span class="identifier">after</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">);</span>
- <span class="identifier">after</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">=</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;(</span><span class="identifier">newnode</span><span class="special">);</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- An object is inserted after the passed node, with value <span class="emphasis"><em>value</em></span>.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.tutorials.tutorial2.remove"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial2.remove" title="Removing an object"> Removing an
- object</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">remove_after</span><span class="special">(</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">after</span><span class="special">){</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">after</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">=</span><span class="identifier">after</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">;</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- The object after <span class="emphasis"><em>after</em></span> is removed. It is no longer
- referenced from any shared_loc, so it is deleted from the database. In
- a similar way, all objects after a certain node can be deleted:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">remove_all_after</span><span class="special">(</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">node</span><span class="special">&gt;</span> <span class="identifier">after</span><span class="special">){</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">after</span><span class="special">-&gt;</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- The thousands of objects that may have been in the linked list after <span class="emphasis"><em>after</em></span>
- are deleted from the database, since they are no longer reachable.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.tutorials.tutorial3"></a><a class="link" href="tutorials.html#persistent.tutorials.tutorial3" title="Tutorial 3: Persistent containers"> Tutorial 3: Persistent
- containers</a>
-</h3></div></div></div>
-<p>
- The tutorial above shows a manually managed singly linked list of persistent
- objects. In actual use cases however you would want to use a STL container
- to do the work for you.
- </p>
-<p>
- Standard STL containers can be stored as part of persistent objects:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">bank</span><span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span><span class="special">&lt;</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">accounts</span><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
- <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">accounts</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- This is sufficient in many cases, however, the whole container is part of
- one persistent object. So if an <span class="emphasis"><em>account</em></span> is added to
- a <span class="emphasis"><em>bank</em></span> the whole list of accounts is loaded, modified
- and saved. To avoid that and store large containers, <a class="link" href="using.html#persistent.using.ccontainers" title="Concurrent Access Containers">Concurrent
- Access Containers</a> can be used:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">bank</span><span class="special">{</span>
- <span class="identifier">persistent</span><span class="special">::</span><span class="identifier">clist</span><span class="special">&lt;</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">accounts</span><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">){</span>
- <span class="identifier">ar</span> <span class="special">&amp;</span> <span class="identifier">accounts</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- These are containers that implement each container node as a persistent object.
- So in this case:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">bank</span><span class="special">&gt;</span> <span class="identifier">mybank</span><span class="special">=...;</span>
-<span class="identifier">mybank</span><span class="special">-&gt;</span><span class="identifier">accounts</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">shared_loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;(</span><span class="keyword">new</span> <span class="identifier">account</span><span class="special">));</span>
-</pre>
-<p>
- </p>
-<p>
- accesses 4 small objects, no matter how many accounts there are in the list:
- The <span class="emphasis"><em>bank</em></span>, the <span class="emphasis"><em>accounts</em></span> container,
- the last <span class="emphasis"><em>account</em></span> in the list, and the newly created
- <span class="emphasis"><em>account</em></span>.
- </p>
-<p>
- Concurrent access containers have the same interface as the standard STL
- containers <span class="emphasis"><em>list</em></span>, <span class="emphasis"><em>set</em></span>, <span class="emphasis"><em>multiset</em></span>,
- <span class="emphasis"><em>map</em></span> and <span class="emphasis"><em>multimap</em></span>. There are also
- intrusive versions in namespace <span class="emphasis"><em>boost::persistent::intrusive</em></span>
- which are modelled after Boost.Intrusive containers.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.tutorials.conctx"></a><a class="link" href="tutorials.html#persistent.tutorials.conctx" title="Tutorial 4: Using Concurrent Transactions"> Tutorial 4: Using Concurrent
- Transactions</a>
-</h3></div></div></div>
-<p>
- If the same persistent object is changed by 2 transactions concurrently,
- a <code class="computeroutput"><a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a></code>
- may be thrown:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">thread_start</span><span class="special">(){</span>
- <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;</span> <span class="identifier">myaccount</span><span class="special">=</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;::</span><span class="identifier">pinned</span><span class="special">();</span>
- <span class="keyword">while</span><span class="special">(</span><span class="keyword">true</span><span class="special">){</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">myaccount</span><span class="special">-&gt;</span><span class="identifier">balance</span><span class="special">+=</span><span class="identifier">rand</span><span class="special">();</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span> <span class="comment">//throws
-</span> <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html#id2655050-bb">transaction::commit()</a></code>
- throws in case another transaction has accessed the object in a way that
- would result in a different result as if all transaction are executed in
- sequence. To handle this, an <span class="emphasis"><em>atomic scope</em></span> can be used
- to create the transaction scope:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">atomic</span> <span class="identifier">BOOST_PERSISTENT_ATOMIC</span>
-<span class="preprocessor">#define</span> <span class="identifier">retry</span> <span class="identifier">BOOST_PERSISTENT_RETRY</span>
-
-<span class="keyword">void</span> <span class="identifier">thread_start</span><span class="special">(){</span>
- <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;</span> <span class="identifier">myaccount</span><span class="special">=</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">account</span><span class="special">&gt;::</span><span class="identifier">pinned</span><span class="special">();</span>
- <span class="keyword">while</span><span class="special">(</span><span class="keyword">true</span><span class="special">){</span>
- <span class="keyword">int</span> <span class="identifier">amount</span><span class="special">=</span><span class="identifier">rand</span><span class="special">();</span>
- <span class="identifier">atomic</span><span class="special">{</span>
- <span class="identifier">myaccount</span><span class="special">-&gt;</span><span class="identifier">balance</span><span class="special">+=</span><span class="identifier">amount</span><span class="special">;</span>
- <span class="special">}</span> <span class="identifier">retry</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- In the case there is an isolation conflict between 2 or more transactions,
- <span class="emphasis"><em>atomic {} retry</em></span> catches the <span class="emphasis"><em>isolation_exception</em></span>
- and repeats the transaction until it is successfully committed.
- </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2009 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="introduction.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="using.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: sandbox/persistent/libs/persistent/doc/html/persistent/using.html
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/persistent/using.html 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
+++ (empty file)
@@ -1,786 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Using Boost.Persistent</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Intrusive">
-<link rel="prev" href="tutorials.html" title="Tutorials">
-<link rel="next" href="configuring.html" title="Configuring Boost.Persistent">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tutorials.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="configuring.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="persistent.using"></a><a class="link" href="using.html" title="Using Boost.Persistent"> Using Boost.Persistent</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Transactions</span></dt>
-<dt><span class="section"> Locators</span></dt>
-<dt><span class="section"> Finalizers</span></dt>
-<dt><span class="section"> Concurrent Access Containers</span></dt>
-<dt><span class="section"> Type accessors</span></dt>
-<dt><span class="section"> Pitfalls</span></dt>
-</dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.using.transactions"></a><a class="link" href="using.html#persistent.using.transactions" title="Transactions"> Transactions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Nested transactions</span></dt>
-<dt><span class="section"><a href="using.html#persistent.using.transactions.concurrent"> Concurrent
- transactions</a></span></dt>
-</dl></div>
-<p>
- Transactions are used to combine multiple changes of persistent objects to
- one atomic operation. See <a class="link" href="introduction.html#persistent.introduction.transactions" title="Transactions">this
- section</a> for an introduction to transactions. A transaction is created
- by constructing a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">transaction</a></code>
- object, which binds itself to the current thread. If a new thread is created,
- operations by this thread are not considered to be part of the transaction,
- it has to be bound to the thread by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html#id2655164-bb">transaction::bind()</a></code>
- first.
- </p>
-<p>
- There are two ways to open a transaction scope:
- </p>
-<p>
- 1. Constructing a <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">transaction</a></code>
- object
-</p>
-<pre class="programlisting"><span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
-<span class="comment">//modify persistent objects
-</span><span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- If between construction of the <span class="emphasis"><em>transaction</em></span> object and
- the call to <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html#id2655050-bb">commit()</a></code>
- there is an exception thrown that can not be handled inside the scope, commit()
- won't get called and all changes made are undone.
- </p>
-<p>
- 2. Creating an <span class="emphasis"><em>atomic</em></span> scope
-</p>
-<pre class="programlisting"><span class="identifier">atomic</span><span class="special">{</span>
- <span class="comment">//modify persistent objects
-</span><span class="special">}</span> <span class="identifier">retry</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- In the latter code snippet, BOOST_PERSISTENT_ATOMIC and BOOST_PERSISTENT_RETRY
- are defined to atomic and retry, respectively. It is equivalent to 1, with
- the exception of concurrent transactions. See below for more information.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.transactions.nested"></a><a class="link" href="using.html#persistent.using.transactions.nested" title="Nested transactions"> Nested transactions</a>
-</h4></div></div></div>
-<p>
- Transactions can be nested:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">transaction</span> <span class="identifier">outer</span><span class="special">;</span>
-
-<span class="identifier">transaction</span> <span class="identifier">inner</span><span class="special">;</span>
-<span class="comment">//modify persistent objects
-</span><span class="identifier">inner</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-
-<span class="identifier">outer</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- <span class="emphasis"><em>inner.commit()</em></span> makes the changes made by <span class="emphasis"><em>inner</em></span>
- part of the <span class="emphasis"><em>outer</em></span> transaction. If the call to <span class="emphasis"><em>inner.commit()</em></span>
- is omitted, all changes made in that nested transactions are undone, without
- affecting the outer transaction.
- </p>
-<p>
- This is especially useful if a function that creates its own transaction
- scope should be called from within another transaction scope.
- </p>
-<p>
- Note that nested transactions are much more efficient than root transactions,
- because they require much less I/O operations since they are not durable
- (as defined by ACID transactions) in any case, commit or rollback, until
- the outer transaction is committed. So another use case of nested transactions
- is to use nested transactions to maintain consistency at application runtime,
- with commits of the (large) outer transaction representing the savepoints
- of the application.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.transactions.concurrent"></a><a class="link" href="using.html#persistent.using.transactions.concurrent" title="Concurrent transactions"> Concurrent
- transactions</a>
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="using.html#persistent.using.transactions.concurrent.optimistic">
- vs. pessimistic transactions</a></span></dt></dl></div>
-<p>
- Transactions may run concurrently. It is guaranteed that no transaction
- is successfully committed that would result in a state that is different
- from the state that would have been achieved if all transactions were executed
- in sequence.
- </p>
-<p>
- If a transaction conflicts with another, concurrent, transaction a <code class="computeroutput"><a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a></code>
- is thrown, which needs to be handled by user code. The standard behaviour
- is to repeat a tranasction until it was successfully committed. To achieve
- this standard behaviour, Boost.Persistent provides two macros, BOOST_PERSISTENT_ATOMIC
- and BOOST_PERSISTENT_RETRY, which can be used instead of constructing a
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_transaction.html" title="Class template basic_transaction">transaction</a></code>
- object.
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">atomic</span> <span class="identifier">BOOST_PERSISTENT_ATOMIC</span>
-<span class="preprocessor">#define</span> <span class="identifier">retry</span> <span class="identifier">BOOST_PERSISTENT_RETRY</span>
-
-<span class="identifier">atomic</span><span class="special">{</span>
- <span class="comment">//modify persistent objects
-</span><span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- atomic{} retry; expands to code equivalent to the following:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">repeat</span><span class="special">:</span>
- <span class="keyword">try</span><span class="special">{</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="comment">//modify persistent objects
-</span> <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
- <span class="special">}</span><span class="keyword">catch</span><span class="special">(</span><span class="identifier">isolation_exception</span> <span class="special">&amp;){</span>
- <span class="keyword">goto</span> <span class="identifier">repeat</span><span class="special">;</span>
- <span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Note that the contents of the <span class="emphasis"><em>atomic</em></span> scope can be
- repeated multiple times if isolation_exceptions are thrown, so the code
- inside the scope should not have any side effects that are not repeatable.
- </p>
-<p>
- For example, if the following code snippet:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">it</span><span class="special">){</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="special">...</span>
- <span class="identifier">persobj</span><span class="special">-&gt;</span><span class="identifier">use_value</span><span class="special">(*</span><span class="identifier">it</span><span class="special">++);</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- should be changed to handle concurrent transactions, the iterator increment
- should be moved outside of the transaction scope:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">it</span><span class="special">){</span>
- <span class="identifier">atomic</span><span class="special">{</span>
- <span class="special">...</span>
- <span class="identifier">persobj</span><span class="special">-&gt;</span><span class="identifier">use_value</span><span class="special">(*</span><span class="identifier">it</span><span class="special">);</span>
- <span class="special">}</span><span class="identifier">retry</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">it</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Only if the transaction is successful, the side effects of f() are applied.
- </p>
-<div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title">
-<a name="persistent.using.transactions.concurrent.optimistic"></a><a class="link" href="using.html#persistent.using.transactions.concurrent.optimistic" title="vs. pessimistic transactions">
- vs. pessimistic transactions</a>
-</h5></div></div></div></div>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.using.locators"></a><a class="link" href="using.html#persistent.using.locators" title="Locators"> Locators</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> loc</span></dt>
-<dt><span class="section"> scoped_loc</span></dt>
-<dt><span class="section"> shared_loc</span></dt>
-<dt><span class="section"> weak_loc</span></dt>
-</dl></div>
-<p>
- See <a class="link" href="introduction.html#persistent.introduction.locators" title="Locators (vs. pointers)">the introduction</a>
- for a definition of a locator. This section describes the various types of
- locators provided by Boost.Persistent.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.locators.loc"></a><a class="link" href="using.html#persistent.using.locators.loc" title="loc"> loc</a>
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"> Object pinning</span></dt></dl></div>
-<p>
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html" title="Class template basic_loc">loc</a></code> is a locator
- equivalent to a C++ raw pointer: It does not manage the lifetime of the
- referenced persistent object. This introduces typical problems of raw pointers
- like leaks and "dangling" pointers, but extended to the persistent
- space, i.e. disk space leaks and undefined behaviour even after an application
- restart due to a dangling locator in the database. Locators that manage
- the lifetime of the referenced object should be preferred, but <span class="emphasis"><em>locs</em></span>
- have their use cases, especially in controlled environments like containers,
- and for object pinning (see below).
- </p>
-<p>
- Objects handled by a <span class="emphasis"><em>loc</em></span> are created by constructing
- a loc and passing a new C++ object to it. They are deleted by calling
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2654219-bb">remove() loc::remove()</a></code>.
- remove() is the equivalent to the C++ <span class="emphasis"><em>delete</em></span> keyword:
- It calls the objects finalizer and erases the object from the database.
- Accessing a (non-existent) persistent object that was removed results in
- undefined behaviour.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="persistent.using.locators.loc.pinning"></a><a class="link" href="using.html#persistent.using.locators.loc.pinning" title="Object pinning"> Object pinning</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>locs</em></span> can be used to form the <span class="emphasis"><em>database
- roots</em></span> of a database.
- </p>
-<p>
- Most objects of an object database can be accessed by retrieving a locator
- to them from other persistent objects and accessing them through the
- locator. However, at least one object needs to be reachable from the
- start, often called the <span class="emphasis"><em>entry point</em></span> or the <span class="emphasis"><em>root</em></span>
- of an object graph, otherwise the whole stored graph would be unreachable.
- </p>
-<p>
- This can be accomplished by calling <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2654096-bb">pin()</a></code>
- on a locator. It associates an object with a type, by default the object's
- own type. The object can be retrieved later, also after an application
- restart, by passing the same type to <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2654655-bb">pinned()</a></code>.
- </p>
-<p>
- For example:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">loc</span><span class="special">=</span><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;::</span><span class="identifier">pinned</span><span class="special">();</span>
-<span class="keyword">if</span><span class="special">(!</span><span class="identifier">loc</span><span class="special">){</span>
- <span class="identifier">loc</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">);</span>
- <span class="identifier">loc</span><span class="special">.</span><span class="identifier">pin</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- This code snippet gets a locator to a previously stored object of type
- <span class="emphasis"><em>pers_type</em></span>. If no object was previously associated
- with <span class="emphasis"><em>pers_type</em></span>, a new object is created and associated
- with that type.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.locators.scoped_loc"></a><a class="link" href="using.html#persistent.using.locators.scoped_loc" title="scoped_loc"> scoped_loc</a>
-</h4></div></div></div>
-<p>
- A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_scoped_loc.html" title="Class template basic_scoped_loc">scoped_loc</a></code>
- exclusively holds a reference to a persistent object, and removes it from
- that database as soon as itself is removed from the database. It is not
- CopyConstructible or Assignable. Note that a <span class="emphasis"><em>scoped_loc</em></span>
- implements a <span class="emphasis"><em>finalizer</em></span>, so its finalizer needs to
- called to be effective, see <a class="link" href="using.html#persistent.using.finalizers" title="Finalizers">Finalizers</a>
- for more information.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.locators.shared_loc"></a><a class="link" href="using.html#persistent.using.locators.shared_loc" title="shared_loc"> shared_loc</a>
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="using.html#persistent.using.locators.shared_loc.refcycles">
- Reference cycles</a></span></dt></dl></div>
-<p>
- A <code class="computeroutput">shared_loc</code>,
- like a <span class="emphasis"><em>scoped_loc</em></span>, automatically removes objects from
- the database as soon as itself is removed from the database, but is able
- to share the object ownership with other <span class="emphasis"><em>shared_locs</em></span>
- to the same object. Only when the last <span class="emphasis"><em>shared_loc</em></span>
- to an object is removed from the database, the referenced object will be
- removed as well.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="persistent.using.locators.shared_loc.refcycles"></a><a class="link" href="using.html#persistent.using.locators.shared_loc.refcycles" title="Reference cycles">
- Reference cycles</a>
-</h5></div></div></div>
-<p>
- A resource manager may choose to implement <span class="emphasis"><em>shared_locs</em></span>
- by reference counting (the default resource manager does). The downside
- of reference counting is that <span class="emphasis"><em>reference cycles</em></span> are
- not detected, i.e. if an object is referenced by an object which it references
- itself, even if not directly but through multiple other objects, the
- <span class="emphasis"><em>cycle</em></span> will never be removed from the database.
- <span class="emphasis"><em>weak_locs</em></span> can be used to "break" <span class="emphasis"><em>reference
- cycles</em></span>.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.locators.weak_loc"></a><a class="link" href="using.html#persistent.using.locators.weak_loc" title="weak_loc"> weak_loc</a>
-</h4></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="using.html#persistent.using.locators.weak_loc.expired"> expired()/lock()
- behaviour</a></span></dt></dl></div>
-<p>
- A <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html" title="Class template basic_weak_loc">weak_loc</a></code>
- can reference persistent objects that are managed by a <span class="emphasis"><em>shared_loc</em></span>,
- with the difference that <span class="emphasis"><em>weak_locs</em></span> do not constitute
- a reference that keeps a persistent object from being removed from the
- database. This means that an object can be removed from the database if
- the last <span class="emphasis"><em>shared_loc</em></span> referencing it is removed, even
- though a <span class="emphasis"><em>weak_loc</em></span> referencing the object still exists.
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html#id2655555-bb">expired()</a></code>
- will return <span class="emphasis"><em>true</em></span> if that is the case, and <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html#id2655626-bb">lock()</a></code> will
- return an empty <span class="emphasis"><em>shared_loc</em></span>.
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="persistent.using.locators.weak_loc.expired"></a><a class="link" href="using.html#persistent.using.locators.weak_loc.expired" title="expired()/lock() behaviour"> expired()/lock()
- behaviour</a>
-</h5></div></div></div>
-<p>
- The behaviour of expired() and lock() may differ slightly from the behaviour
- one might expect after using boost::weak_ptr. When a transaction removes
- the last <span class="emphasis"><em>shared_loc</em></span> to a persistent object, the
- return value of <code class="computeroutput"><a class="link" href="../boost/persistent/basic_weak_loc.html#id2655555-bb">weak_loc::expired()</a></code>
- is undefined in the current transaction until the transaction is committed.
- Effectively that means that an object may still be reachable through
- a <span class="emphasis"><em>weak_loc</em></span> even though there is no <span class="emphasis"><em>shared_loc</em></span>
- left that is referencing the object. However, it is specified that the
- value returned by expired() may not change spontaniously: The value either
- changes by removing the last <span class="emphasis"><em>shared_loc</em></span> or by committing
- the transaction.
- </p>
-</div>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.using.finalizers"></a><a class="link" href="using.html#persistent.using.finalizers" title="Finalizers"> Finalizers</a>
-</h3></div></div></div>
-<p>
- <span class="emphasis"><em>Finalizers</em></span> are functions that get called when a persistent
- object is removed from the database. This might either be triggered by calling
- <code class="computeroutput"><a class="link" href="../boost/persistent/basic_loc.html#id2654219-bb">basic_loc::remove()</a></code>
- or the object being removed by a locator managing its lifetime. It is the
- persistent equivalent of a C++ destructor and has the purpose of cleaning
- up persistent resources, in particular calling <span class="emphasis"><em>basic_loc::remove()</em></span>
- on other persistent objects.
- </p>
-<p>
- An object implements a <span class="emphasis"><em>finalizer</em></span> by implementing a friend
- function called <span class="emphasis"><em>finalize()</em></span>:
-</p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">pers_type</span><span class="special">{</span>
- <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">finalize</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">pers_obj</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- Note that <span class="emphasis"><em>pers_obj</em></span> is passed <span class="emphasis"><em>const</em></span>
- to the <span class="emphasis"><em>finalizer</em></span>, as a <span class="emphasis"><em>finalizer</em></span>
- may not make any changes to persistent objects. Any attempt to access other
- persistent objects through locators will result in a <code class="computeroutput"><a class="link" href="../boost/persistent/finalize_error.html" title="Struct finalize_error">finalize_error</a></code>
- exception.
- </p>
-<p>
- A finalizer can have side effects, but note that <span class="emphasis"><em>finalizers</em></span>
- may be called more than once until the persistent object is finally removed
- from the database. This results from the fact that a transaction may still
- fail due to an <code class="computeroutput"><a class="link" href="../boost/persistent/isolation_exception.html" title="Struct isolation_exception">isolation_exception</a></code>
- after a finalizer has been called. When there is another attempt to remove
- the object from the database the finalizer will get called again.
- </p>
-</div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.using.ccontainers"></a><a class="link" href="using.html#persistent.using.ccontainers" title="Concurrent Access Containers"> Concurrent Access Containers</a>
-</h3></div></div></div></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.using.accessors"></a><a class="link" href="using.html#persistent.using.accessors" title="Type accessors"> Type accessors</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> clone()</span></dt>
-<dt><span class="section"> equal()</span></dt>
-<dt><span class="section"> finalize()</span></dt>
-<dt><span class="section"> serialize()</span></dt>
-<dt><span class="section"> load()</span></dt>
-<dt><span class="section"> save()</span></dt>
-<dt><span class="section"> reconstruct()</span></dt>
-</dl></div>
-<p>
- The only <span class="bold"><strong>requirement</strong></span> on persistent types
- is to model <span class="emphasis"><em>Serializable</em></span> as defined by Boost.Persistent.
- However, to improve performance of certain operations performed by Boost.Persistence,
- one or more of the following friend functions can be implemented for persistent
- types that are critical to overall performance:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pers_type</span><span class="special">{</span>
- <span class="keyword">friend</span> <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">clone</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
- <span class="keyword">friend</span> <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o1</span><span class="special">,</span><span class="identifier">pers_typ</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o2</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
- <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">finalize</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
-
- <span class="comment">//instead of serialize():
-</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">load</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
-
- <span class="comment">//instead of load()
-</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
- <span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">*&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<p>
- </p>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.clone"></a><a class="link" href="using.html#persistent.using.accessors.clone" title="clone()"> clone()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">clone</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- <span class="emphasis"><em>clone</em></span> returns a <span class="emphasis"><em>deep copy</em></span> of
- <span class="emphasis"><em>o</em></span>. That means that not only is <span class="emphasis"><em>o</em></span>
- copied, but all objects contained by <span class="emphasis"><em>o</em></span> are copied
- as well.
- </p>
-<p>
- For example:
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pers_type</span><span class="special">{</span>
- <span class="identifier">other_type</span> <span class="special">*</span><span class="identifier">other</span><span class="special">;</span>
- <span class="keyword">friend</span> <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">clone</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">){</span>
- <span class="identifier">pers_type</span> <span class="special">*</span><span class="identifier">c</span><span class="special">=</span><span class="keyword">new</span> <span class="identifier">pers_type</span><span class="special">;</span>
- <span class="identifier">c</span><span class="special">-&gt;</span><span class="identifier">other</span><span class="special">=</span><span class="keyword">new</span> <span class="identifier">other_type</span><span class="special">(*</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">other</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">c</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- The original object and the clone may not share any data.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.equal"></a><a class="link" href="using.html#persistent.using.accessors.equal" title="equal()"> equal()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o1</span><span class="special">,</span><span class="identifier">pers_typ</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o2</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- <span class="emphasis"><em>equal</em></span> performs a <span class="emphasis"><em>deep comparison</em></span>
- for equality between <span class="emphasis"><em>o1</em></span> and <span class="emphasis"><em>o2</em></span>.
- This means <span class="emphasis"><em>o1</em></span> is compared to <span class="emphasis"><em>o2</em></span>
- by value, including all objects that are contained in <span class="emphasis"><em>o1</em></span>
- and <span class="emphasis"><em>o2</em></span>.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.finalize"></a><a class="link" href="using.html#persistent.using.accessors.finalize" title="finalize()"> finalize()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">finalize</span><span class="special">(</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- <span class="emphasis"><em>finalize(T const &amp;o,deep_tag)</em></span> calls <span class="emphasis"><em>finalize(o)</em></span>
- and <span class="emphasis"><em>finalize(x)</em></span> for all objects that are contained
- in <span class="emphasis"><em>o</em></span>.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.serialize"></a><a class="link" href="using.html#persistent.using.accessors.serialize" title="serialize()"> serialize()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">serialize</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- <span class="emphasis"><em>serialize</em></span> (de)serializes all data to(from) <span class="emphasis"><em>ar</em></span>,
- including all objects contained by <span class="emphasis"><em>o</em></span>. (i.e. the whole
- object graph represented by <span class="emphasis"><em>o</em></span>). No pointer tracking
- is supported, serialize() needs to generate a flat representation of the
- whole graph.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.load"></a><a class="link" href="using.html#persistent.using.accessors.load" title="load()"> load()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">load</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- Can be implemented along with <span class="emphasis"><em>save</em></span> instead of <span class="emphasis"><em>serialize</em></span>
- to split the serializing into saving and loading.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.save"></a><a class="link" href="using.html#persistent.using.accessors.save" title="save()"> save()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">save</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- Can be implemented along with <span class="emphasis"><em>load</em></span> instead of <span class="emphasis"><em>serialize</em></span>
- to split the serializing into saving and loading.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.accessors.reconstruct"></a><a class="link" href="using.html#persistent.using.accessors.reconstruct" title="reconstruct()"> reconstruct()</a>
-</h4></div></div></div>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Archive</span><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span><span class="identifier">Archive</span> <span class="special">&amp;</span><span class="identifier">ar</span><span class="special">,</span><span class="identifier">pers_type</span> <span class="special">*&amp;</span><span class="identifier">o</span><span class="special">,</span><span class="identifier">deep_tag</span><span class="special">);</span></pre>
-<p>
- </p>
-<p>
- Allocates and deserializes a new object of type <span class="emphasis"><em>pers_type</em></span>
- and stores a pointer to it in <span class="emphasis"><em>o</em></span>.
- </p>
-<p>
- Can be implemented instead of <span class="emphasis"><em>load</em></span> to reconstruct
- <span class="emphasis"><em>o</em></span> based on data serialized by <span class="emphasis"><em>save</em></span>.
- For example, <span class="emphasis"><em>pers_type</em></span> may be the base class of multiple
- derived classes and <span class="emphasis"><em>save</em></span> has saved data that represents
- the type actually serialized. <span class="emphasis"><em>construct</em></span> allocates
- the correct type based on that data and deserializes the object from <span class="emphasis"><em>ar</em></span>.
- </p>
-</div>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="persistent.using.pitfalls"></a><a class="link" href="using.html#persistent.using.pitfalls" title="Pitfalls"> Pitfalls</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Transaction boundaries</span></dt>
-<dt><span class="section"> Lifetime of instances</span></dt>
-</dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.pitfalls.tbound"></a><a class="link" href="using.html#persistent.using.pitfalls.tbound" title="Transaction boundaries"> Transaction boundaries</a>
-</h4></div></div></div>
-<p>
- Instances of persistent objects obtained under one transaction shall not
- be used in another transaction.
- </p>
-<p>
- The result of dereferencing a locator may be saved for efficiency, for
- example instead of:
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
-<span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
-<span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- one could write:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
-<span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
-<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
-<span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- The first code snippet does not cause the persistent object to be loaded
- from disk twice, since objects are cached, but it is less efficient than
- the second code snippet.
- </p>
-<p>
- However, instances may not be used across transaction boundaries:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
-<span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">;</span>
-
-<span class="special">{</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
- <span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
- <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-<span class="special">{</span>
- <span class="identifier">transaction</span> <span class="identifier">tx</span><span class="special">;</span>
- <span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">b</span><span class="special">=</span><span class="number">1</span><span class="special">;</span> <span class="comment">//error
-</span> <span class="identifier">tx</span><span class="special">.</span><span class="identifier">commit</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- The resulting object state of this is undefined.
- </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="persistent.using.pitfalls.lifetime"></a><a class="link" href="using.html#persistent.using.pitfalls.lifetime" title="Lifetime of instances"> Lifetime of instances</a>
-</h4></div></div></div>
-<p>
- Boost.Persistent is free to remove an instance not referenced from a shared_ptr
- from memory at any time.
- </p>
-<p>
- For example:
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
-<span class="keyword">int</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">=</span><span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">;</span> <span class="comment">//error
-</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- A locator references an object that may or may not be currently in memory,
- it is not a shared_ptr that keeps an object in memory. So taking a C++
- reference to a member of <span class="emphasis"><em>obj</em></span> is undefined.
- </p>
-<p>
- Instead, the object must be kept in memory by a shared_ptr if references
- or pointers are to be taken to the instance:
-</p>
-<pre class="programlisting"><span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">=...;</span>
-<span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">=</span><span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">a</span><span class="special">;</span> <span class="comment">//ok
-</span><span class="identifier">a</span><span class="special">=</span><span class="number">1</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- A similar, but less obvious example is iterators. An iterator into a container
- that is part of a persistent object also is a reference into a persistent
- object, which may turn into a "dangling" reference if the persistent
- object is moved from memory to disk.
- </p>
-<p>
- For example:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">pers_type</span><span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
- <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">it</span><span class="special">=</span><span class="identifier">obj</span><span class="special">-&gt;</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span> <span class="comment">//error
-</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">it</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- After obtaining the iterator, Boost.Persistent is free to move the persistent
- object back to disk, invalidating <span class="emphasis"><em>it</em></span>. If iterators
- into persistent object are to be used, the persistent object must be kept
- in memory by a shared_ptr:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(){</span>
- <span class="identifier">loc</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">obj</span><span class="special">;</span>
- <span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">pers_type</span><span class="special">&gt;</span> <span class="identifier">inst</span><span class="special">=*</span><span class="identifier">obj</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">it</span><span class="special">=</span><span class="identifier">inst</span><span class="special">-&gt;</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span> <span class="comment">//ok
-</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">it</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-</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 Stefan Strasser<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tutorials.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="configuring.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: sandbox/persistent/libs/persistent/doc/html/reference.css
==============================================================================
--- (empty file)
+++ sandbox/persistent/libs/persistent/doc/html/reference.css 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -0,0 +1,11 @@
+/*============================================================================
+ Copyright 2003-2004 Douglas Gregor
+ Distributed under the Boost Software License, Version 1.0. (See accompany-
+ ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+============================================================================*/
+
+PRE.synopsis {
+ background-color: #e0ffff;
+ border: thin solid blue;
+ padding: 1em
+}
\ No newline at end of file

Modified: sandbox/persistent/libs/persistent/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/persistent/libs/persistent/doc/html/standalone_HTML.manifest (original)
+++ sandbox/persistent/libs/persistent/doc/html/standalone_HTML.manifest 2009-12-26 13:36:49 EST (Sat, 26 Dec 2009)
@@ -1,73 +1,77 @@
 index.html
-persistent/introduction.html
-persistent/tutorials.html
-persistent/using.html
+persistent/access.html
+persistent/transactions.html
+persistent/advanced.html
 persistent/configuring.html
 persistent/extending.html
+persistent/future.html
+persistent/ackn.html
 persistent/reference.html
+boost/persistent/AtomicStorageEngine.html
+boost/persistent/DataBlock.html
+boost/persistent/ObjectPinningService.html
+boost/persistent/ObjectStorageService.html
+boost/persistent/ResourceManager.html
+boost/persistent/SharedObjectStorageService.html
+boost/persistent/StorageEngine.html
+boost/persistent/StorageEngine/save_instance_commit_data.html
+boost/persistent/TransactionManager.html
+boost/persistent/TransactionManager/default_resource.html
 boost/persistent/deep_tag.html
-boost/persistent/basic_clist.html
-boost/persistent/basic_clist/remove_pred.html
-boost/persistent/intrusive/basic_clist_hook.html
-boost/persistent/intrusive/basic_clist.html
-boost/persistent/basic_clist.html
-boost/persistent/basic_clist/remove_pred.html
-boost/persistent/basic_cmap.html
-boost/persistent/basic_cmultimap.html
-boost/persistent/basic_cset.html
-boost/persistent/basic_cmultiset.html
-boost/persistent/intrusive/basic_cset_hook.html
-boost/persistent/intrusive/basic_cset.html
-boost/persistent/intrusive/basic_cmultiset.html
-boost/persistent/basic_cset.html
-boost/persistent/basic_cmultiset.html
 boost/persistent/is_locator.html
 boost/persistent/basic_loc.html
+boost/persistent/basic_pinned_loc.html
 boost/persistent/basic_scoped_loc.html
+boost/persistent/basic_shared_loc.html
 boost/persistent/basic_transaction.html
 BOOST_PERSISTENT_BASIC_ATOMIC.html
 BOOST_PERSISTENT_BASIC_RETRY.html
 boost/persistent/basic_transaction_manager.html
-boost/persistent/basic_transaction_manager/resource_type.html
-boost/persistent/basic_transaction_manager/transaction.html
+boost/persistent/basic_transaction_manager/default_resource.html
 boost/persistent/basic_weak_loc.html
 boost/persistent/bad_weak_loc.html
-boost/persistent/caching_policy.html
-boost/persistent/clist.html
-boost/persistent/clist.html
-boost/persistent/cmap.html
-boost/persistent/cmultimap.html
-boost/persistent/cset.html
-boost/persistent/cmultiset.html
-boost/persistent/cset.html
-boost/persistent/cmultiset.html
+boost/persistent/block_storage.html
+boost/persistent/block_storage/save_instance_commit_data.html
 boost/persistent/default_tag.html
 boost/persistent/exception.html
 boost/persistent/recovery_failure.html
 boost/persistent/io_failure.html
 boost/persistent/finalize_error.html
 boost/persistent/no_active_transaction.html
-boost/persistent/no_active_transaction_m_id2656836.html
+boost/persistent/no_active_transaction_m_id2543091.html
 boost/persistent/unsupported_exception.html
 boost/persistent/isolation_exception.html
-boost/persistent/intrusive/basic_cslist_hook.html
-boost/persistent/intrusive/basic_cslist.html
+boost/persistent/interior_ptr.html
+boost/persistent/intrusive/basic_loc_list_hook.html
+boost/persistent/intrusive/basic_loc_list.html
+boost/persistent/intrusive/basic_loc_set_hook.html
+boost/persistent/intrusive/basic_loc_set.html
+boost/persistent/intrusive/basic_loc_multiset.html
+boost/persistent/intrusive/basic_loc_slist_hook.html
+boost/persistent/intrusive/basic_loc_slist.html
+boost/persistent/intrusive/loc_list_hook.html
+boost/persistent/intrusive/loc_list.html
+boost/persistent/intrusive/loc_set_hook.html
+boost/persistent/intrusive/loc_set.html
+boost/persistent/intrusive/loc_multiset.html
+boost/persistent/intrusive/loc_slist_hook.html
+boost/persistent/intrusive/loc_slist.html
 boost/persistent/loc.html
-boost/persistent/multiversion_object_res_id2657480.html
-boost/persistent/object_pinning_multiver_id2657995.html
-boost/persistent/shared_objects_multiver_id2658026.html
-boost/persistent/object_database.html
+boost/persistent/mapped_file_block.html
+boost/persistent/multiversion_object_res_id2563531.html
+boost/persistent/null_atomic_storage.html
+boost/persistent/pinned_loc.html
 boost/persistent/redo_storage.html
-boost/persistent/redo_storage/detail.html
-boost/persistent/redo_storage/detail/transaction_construct_t.html
-boost/persistent/redo_storage/transaction.html
-boost/persistent/object_resource_tag.html
-boost/persistent/object_pinning.html
-boost/persistent/shared_objects.html
-boost/persistent/distributed_transactions.html
+boost/persistent/object_storage_tag.html
+boost/persistent/shared_object_storage_tag.html
+boost/persistent/object_pinning_tag.html
+boost/persistent/savepoints_session.html
+boost/persistent/save_on_shutdown.html
 boost/persistent/scoped_loc.html
 boost/persistent/shared_loc.html
+boost/persistent/streambuf_block.html
 BOOST_PERSISTENT_ATOMIC.html
 BOOST_PERSISTENT_RETRY.html
+BOOST_PERSISTENT_CONFIGURATION.html
+boost/persistent/transactional_session.html
 boost/persistent/weak_loc.html
-persistent/license_notices.html

Added: sandbox/persistent/libs/persistent/doc/html/transaction_manager.jpg
==============================================================================
Binary file. No diff available.


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk