diff options
Diffstat (limited to 'docs/programmer_reference/stl.html')
| -rw-r--r-- | docs/programmer_reference/stl.html | 234 |
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> |
