summaryrefslogtreecommitdiff
path: root/docs/programmer_reference/stl.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/programmer_reference/stl.html')
-rw-r--r--docs/programmer_reference/stl.html234
1 files changed, 126 insertions, 108 deletions
diff --git a/docs/programmer_reference/stl.html b/docs/programmer_reference/stl.html
index 220d1b23..f4f14488 100644
--- a/docs/programmer_reference/stl.html
+++ b/docs/programmer_reference/stl.html
@@ -14,7 +14,7 @@
<body>
<div xmlns="" class="navheader">
<div class="libver">
- <p>Library Version 11.2.5.3</p>
+ <p>Library Version 12.1.6.1</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
@@ -55,7 +55,8 @@
</dt>
<dt>
<span class="sect2">
- <a href="stl.html#stl_intro_performance">Performance overhead</a>
+ <a href="stl.html#stl_intro_performance">Performance
+ overhead</a>
</span>
</dt>
<dt>
@@ -84,51 +85,52 @@
<dl>
<dt>
<span class="sect2">
- <a href="stl_db_usage.html#idp1202384">Registering database and environment handles</a>
+ <a href="stl_db_usage.html#idp756272">Registering database and environment handles</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_db_usage.html#idp1225928">Truncate requirements</a>
+ <a href="stl_db_usage.html#idp772680">Truncate requirements</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_db_usage.html#idp1236168">Auto commit support</a>
+ <a href="stl_db_usage.html#idp773680">Auto commit support</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_db_usage.html#idp1239792">Database and environment identity checks</a>
+ <a href="stl_db_usage.html#idp792728">Database and environment identity checks</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_db_usage.html#idp1236512">Products, constructors and configurations</a>
+ <a href="stl_db_usage.html#idp795408">Products, constructors and configurations</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
- <a href="stl_db_advanced_usage.html">Using advanced Berkeley DB features with dbstl</a>
+ <a href="stl_db_advanced_usage.html">Using advanced Berkeley DB
+ features with dbstl</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
- <a href="stl_db_advanced_usage.html#idp1232296">Using bulk retrieval iterators</a>
+ <a href="stl_db_advanced_usage.html#idp672128">Using bulk retrieval iterators</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_db_advanced_usage.html#idp1232520">Using the DB_RMW flag</a>
+ <a href="stl_db_advanced_usage.html#idp794736">Using the DB_RMW flag</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_db_advanced_usage.html#idp1199288">Using secondary index database and secondary containers</a>
+ <a href="stl_db_advanced_usage.html#idp773392">Using secondary index database and secondary containers</a>
</span>
</dt>
</dl>
@@ -140,7 +142,8 @@
</dt>
<dt>
<span class="sect1">
- <a href="stl_mt_usage.html">Using dbstl in multithreaded applications</a>
+ <a href="stl_mt_usage.html">Using dbstl in multithreaded
+ applications</a>
</span>
</dt>
<dt>
@@ -152,31 +155,32 @@
<dl>
<dt>
<span class="sect2">
- <a href="stl_primitive_rw.html#idp1288424">Storing strings</a>
+ <a href="stl_primitive_rw.html#idp849056">Storing strings</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
- <a href="stl_complex_rw.html">Store and Retrieve data or objects of complex types </a>
+ <a href="stl_complex_rw.html">Store and Retrieve data or
+ objects of complex types </a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
- <a href="stl_complex_rw.html#idp1279008">Storing varying length objects</a>
+ <a href="stl_complex_rw.html#idp808056">Storing varying length objects</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_complex_rw.html#idp1278616">Storing arbitrary sequences</a>
+ <a href="stl_complex_rw.html#idp859120">Storing arbitrary sequences</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_complex_rw.html#idp1344912">Notes</a>
+ <a href="stl_complex_rw.html#idp909008">Notes</a>
</span>
</dt>
</dl>
@@ -207,38 +211,40 @@
</dd>
<dt>
<span class="sect1">
- <a href="stl_container_specific.html">Dbstl container specific notes</a>
+ <a href="stl_container_specific.html">Dbstl container specific
+ notes</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
- <a href="stl_container_specific.html#idp1313840">db_vector specific notes</a>
+ <a href="stl_container_specific.html#idp873704">db_vector specific notes</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_container_specific.html#idp1381768">Associative container specific notes</a>
+ <a href="stl_container_specific.html#idp948648">Associative container specific notes</a>
</span>
</dt>
</dl>
</dd>
<dt>
<span class="sect1">
- <a href="stl_efficienct_use.html">Using dbstl efficiently</a>
+ <a href="stl_efficienct_use.html">Using dbstl
+ efficiently</a>
</span>
</dt>
<dd>
<dl>
<dt>
<span class="sect2">
- <a href="stl_efficienct_use.html#idp1350664">Using iterators efficiently</a>
+ <a href="stl_efficienct_use.html#idp915608">Using iterators efficiently</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_efficienct_use.html#idp1350448">Using containers efficiently</a>
+ <a href="stl_efficienct_use.html#idp957584">Using containers efficiently</a>
</span>
</dt>
</dl>
@@ -252,12 +258,12 @@
<dl>
<dt>
<span class="sect2">
- <a href="stl_memory_mgmt.html#idp1384984">Freeing memory</a>
+ <a href="stl_memory_mgmt.html#idp952296">Freeing memory</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_memory_mgmt.html#idp1389512">Type specific notes</a>
+ <a href="stl_memory_mgmt.html#idp994336">Type specific notes</a>
</span>
</dt>
</dl>
@@ -271,12 +277,13 @@
<dl>
<dt>
<span class="sect2">
- <a href="stl_misc.html#idp1407848">Special notes about trivial methods</a>
+ <a href="stl_misc.html#idp953048">Special notes about trivial methods</a>
</span>
</dt>
<dt>
<span class="sect2">
- <a href="stl_misc.html#idp1421568">Using correct container and iterator public types</a>
+ <a href="stl_misc.html#idp993208">Using correct container and iterator public
+ types</a>
</span>
</dt>
</dl>
@@ -305,7 +312,8 @@
</dt>
<dt>
<span class="sect2">
- <a href="stl.html#stl_intro_performance">Performance overhead</a>
+ <a href="stl.html#stl_intro_performance">Performance
+ overhead</a>
</span>
</dt>
<dt>
@@ -315,23 +323,26 @@
</dt>
</dl>
</div>
+ <p>
+ Dbstl is a C++ STL style API that provides for Berkeley DB
+ usage. It allows for the storage and retrieval of data/objects
+ of any type using Berkeley DB databases, but with an interface
+ that mimics that of C++ STL containers. Dbstl provides access
+ to all of the functionality of Berkeley DB available via this
+ STL-style API.
+ </p>
<p>
- Dbstl is a C++ STL style API that provides for Berkeley DB usage. It
- allows for the storage and retrieval of data/objects of any type using
- Berkeley DB databases, but with an interface that mimics that of C++
- STL containers. Dbstl provides access to all of the functionality of
- Berkeley DB available via this STL-style API.
-</p>
- <p>
- With proper configuration, dbstl is able to store/retrieve any complex
- data types. There is no need to perform repetitive marshalling and
- unmarshalling of data. Dbstl also properly manages the life-cycle of
- all Berkeley DB structures and objects. All example methods referred to in this chapter
-can be found in the StlAdvancedFeaturesExample class in the $DbSrc/examples_stl/StlAdvancedFeatures.cpp file, and you can
-build the example in $DbSrc/build_unix directory like this:
-make exstl_advancedfeatures,
-where DbSrc is the source directory for Berkeley DB.
-</p>
+ With proper configuration, dbstl is able to store/retrieve
+ any complex data types. There is no need to perform repetitive
+ marshalling and unmarshalling of data. Dbstl also properly
+ manages the life-cycle of all Berkeley DB structures and
+ objects. All example methods referred to in this chapter can
+ be found in the StlAdvancedFeaturesExample class in the
+ $DbSrc/examples/stl/StlAdvancedFeatures.cpp file, and you can
+ build the example in $DbSrc/build_unix directory like this:
+ make exstl_advancedfeatures, where DbSrc is the source
+ directory for Berkeley DB.
+ </p>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
@@ -341,33 +352,37 @@ where DbSrc is the source directory for Berkeley DB.
</div>
</div>
<p>
- Dbstl is composed of many container and iterator class templates. These
- containers and iterators correspond exactly to each container and
- iterator available in the C++ STL API, including identical sets of
- methods. This allows existing algorithms, functions and
- container-adapters for C++ STL to use dbstl containers through its
- standard iterators. This means that existing STL code can manipulate
- Berkeley DB databases. As a result, existing C++ STL code can very
- easily use dbstl to gain persistence and transaction guarantees.
-</p>
+ Dbstl is composed of many container and iterator class
+ templates. These containers and iterators correspond
+ exactly to each container and iterator available in the
+ C++ STL API, including identical sets of methods. This
+ allows existing algorithms, functions and
+ container-adapters for C++ STL to use dbstl containers
+ through its standard iterators. This means that existing
+ STL code can manipulate Berkeley DB databases. As a
+ result, existing C++ STL code can very easily use dbstl to
+ gain persistence and transaction guarantees.
+ </p>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
- <h3 class="title"><a id="stl_intro_performance"></a>Performance overhead</h3>
+ <h3 class="title"><a id="stl_intro_performance"></a>Performance
+ overhead</h3>
</div>
</div>
</div>
<p>
- Because dbstl uses C++ template technologies, its performance overhead
- is minimal.
-</p>
+ Because dbstl uses C++ template technologies, its
+ performance overhead is minimal.
+ </p>
<p>
- The dbstl API performs almost equally to the C API, as measured by two
- different implementations of the TPC-B benchmark:
- <code class="literal">ex_tpcb</code> and <code class="literal">exstl_tpcb</code>.
-</p>
+ The dbstl API performs almost equally to the C API, as
+ measured by two different implementations of the TPC-B
+ benchmark: <code class="literal">ex_tpcb</code> and
+ <code class="literal">exstl_tpcb</code>.
+ </p>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
@@ -378,86 +393,89 @@ where DbSrc is the source directory for Berkeley DB.
</div>
</div>
<p>
- The degree to which dbstl is portable to a new platform is determined
- by whether Berkeley DB is available on the platform, as well as whether
- an appropriate C++ compiler is available on the platform.
-</p>
- <p>
- For information on porting Berkeley DB to new platforms, see the
- <em class="citetitle">Berkeley DB Porting Guide</em>.
-</p>
- <p>
- Almost all the advanced C++ template features are used in dbstl, including:
-</p>
+ The degree to which dbstl is portable to a new platform
+ is determined by whether Berkeley DB is available on the
+ platform, as well as whether an appropriate C++ compiler
+ is available on the platform.
+ </p>
+ <p>
+ For information on porting Berkeley DB to new
+ platforms, see the <em class="citetitle">Berkeley DB Porting Guide</em>.
+ </p>
+ <p>
+ Almost all the advanced C++ template features are used
+ in dbstl, including:
+ </p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
- member function templates
- </p>
+ member function templates
+ </p>
</li>
<li>
- <p>
- member function template overloads
- </p>
+ <p>
+ member function template overloads
+ </p>
</li>
<li>
- <p>
- partial specialization
- </p>
+ <p>
+ partial specialization
+ </p>
</li>
<li>
<p>
- default template parameters.
- </p>
+ default template parameters.
+ </p>
</li>
</ul>
</div>
- <p>
- For this reason, you need a standards-compatible C++ compiler to
- build dbstl. As of this writing, the following compilers are known
- to build dbstl successfully:
- </p>
+ <p>
+ For this reason, you need a standards-compatible C++
+ compiler to build dbstl. As of this writing, the following
+ compilers are known to build dbstl successfully:
+ </p>
<div class="itemizedlist">
<ul type="disc">
<li>
- <p>
- MSVC8
- </p>
+ <p>
+ MSVC8
+ </p>
</li>
<li>
- <p>
- gcc3.4.4 and above
- </p>
+ <p>
+ gcc3.4.4 and above
+ </p>
</li>
<li>
- <p>
- Intel C++ 9 and above
- </p>
+ <p>
+ Intel C++ 9 and above
+ </p>
</li>
</ul>
</div>
<p>
- For *nix platforms, if you can successfully configure your Berkeley
- DB build script with <code class="literal">--enable-stl</code>, then you
- should be able to successfully build dbstl library and application
- code using it.
- </p>
+ For *nix platforms, if you can successfully configure
+ your Berkeley DB build script with
+ <code class="literal">--enable-stl</code>, then you should be
+ able to successfully build dbstl library and application
+ code using it.
+ </p>
<p>
- Besides its own test suite, dbstl has also been tested against,
- and passes, the following test suites:
- </p>
+ Besides its own test suite, dbstl has also been tested
+ against, and passes, the following test suites:
+ </p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
- MS STL test suite
- </p>
+ MS STL test suite
+ </p>
</li>
<li>
<p>
- SGI STL test suite
- </p>
+ SGI STL test suite
+ </p>
</li>
</ul>
</div>