003 File Manager
Current Path:
/usr/local/share/doc/db5/programmer_reference
usr
/
local
/
share
/
doc
/
db5
/
programmer_reference
/
π
..
π
BDB_Prog_Reference.pdf
(1.9 MB)
π
am.html
(13.27 KB)
π
am_close.html
(4.17 KB)
π
am_conf.html
(13.76 KB)
π
am_conf_logrec.html
(7.32 KB)
π
am_conf_select.html
(24.85 KB)
π
am_cursor.html
(36.58 KB)
π
am_delete.html
(2.95 KB)
π
am_foreign.html
(9.84 KB)
π
am_get.html
(4.07 KB)
π
am_misc.html
(6.3 KB)
π
am_misc_bulk.html
(17.31 KB)
π
am_misc_db_sql.html
(4.79 KB)
π
am_misc_dbsizes.html
(4.06 KB)
π
am_misc_diskspace.html
(11.57 KB)
π
am_misc_error.html
(4.83 KB)
π
am_misc_faq.html
(10.34 KB)
π
am_misc_partial.html
(7.81 KB)
π
am_misc_perm.html
(4.19 KB)
π
am_misc_stability.html
(4.82 KB)
π
am_misc_struct.html
(5.06 KB)
π
am_misc_tune.html
(9.91 KB)
π
am_opensub.html
(7.84 KB)
π
am_partition.html
(17.19 KB)
π
am_put.html
(4.68 KB)
π
am_second.html
(14.76 KB)
π
am_stat.html
(3.11 KB)
π
am_sync.html
(3.63 KB)
π
am_truncate.html
(2.54 KB)
π
am_upgrade.html
(4.72 KB)
π
am_verify.html
(4.77 KB)
π
apprec.html
(8.14 KB)
π
apprec_auto.html
(12.16 KB)
π
apprec_config.html
(10 KB)
π
apprec_def.html
(9.13 KB)
π
arch.html
(11.09 KB)
π
arch_apis.html
(10.27 KB)
π
arch_bigpic.gif
(2.53 KB)
π
arch_progmodel.html
(3.1 KB)
π
arch_script.html
(4.39 KB)
π
arch_smallpic.gif
(1.58 KB)
π
arch_utilities.html
(8 KB)
π
bdb_usenix.pdf
(79.81 KB)
π
bt_conf.html
(29.94 KB)
π
cam.html
(11.77 KB)
π
cam_app.html
(16.91 KB)
π
cam_fail.html
(7.77 KB)
π
ch13s02.html
(4.19 KB)
π
csharp.html
(7.48 KB)
π
dumpload.html
(5.42 KB)
π
dumpload_format.html
(6.58 KB)
π
dumpload_text.html
(3.39 KB)
π
embedded.html
(31.62 KB)
π
env.html
(7.43 KB)
π
env_create.html
(10.06 KB)
π
env_db_config.html
(4.21 KB)
π
env_encrypt.html
(10.19 KB)
π
env_error.html
(4.77 KB)
π
env_faq.html
(5.54 KB)
π
env_naming.html
(15.54 KB)
π
env_open.html
(4.95 KB)
π
env_region.html
(8.11 KB)
π
env_remote.html
(5.28 KB)
π
env_security.html
(5.64 KB)
π
env_size.html
(8.11 KB)
π
ext.html
(7.13 KB)
π
ext_perl.html
(3.84 KB)
π
ext_php.html
(5.47 KB)
π
general_am_conf.html
(21.43 KB)
π
gettingStarted.css
(1.13 KB)
π
group_membership.html
(20.37 KB)
π
hash_conf.html
(6.96 KB)
π
hash_usenix.pdf
(256.14 KB)
π
heap_conf.html
(4.14 KB)
π
index.html
(77.48 KB)
π
intro.html
(9.57 KB)
π
intro_dbis.html
(15.02 KB)
π
intro_dbisnot.html
(13.49 KB)
π
intro_distrib.html
(2.92 KB)
π
intro_need.html
(5.06 KB)
π
intro_products.html
(14.3 KB)
π
intro_terrain.html
(19.43 KB)
π
intro_what.html
(4.94 KB)
π
intro_where.html
(3.75 KB)
π
java.html
(7.62 KB)
π
java_compat.html
(2.57 KB)
π
java_faq.html
(7.5 KB)
π
java_program.html
(6.69 KB)
π
libtp_usenix.pdf
(243.14 KB)
π
lock.html
(11.29 KB)
π
lock_am_conv.html
(10.62 KB)
π
lock_cam_conv.html
(4.95 KB)
π
lock_config.html
(4.67 KB)
π
lock_dead.html
(7.25 KB)
π
lock_deaddbg.html
(10.32 KB)
π
lock_max.html
(11.04 KB)
π
lock_nondb.html
(4.94 KB)
π
lock_notxn.html
(4.55 KB)
π
lock_page.html
(5.71 KB)
π
lock_stdmode.html
(5.27 KB)
π
lock_timeout.html
(6.16 KB)
π
lock_twopl.html
(4.48 KB)
π
log.html
(7.08 KB)
π
log_config.html
(5.06 KB)
π
log_limits.html
(4.24 KB)
π
magic.s5.be.txt
(3.54 KB)
π
magic.s5.le.txt
(3.56 KB)
π
magic.txt
(1.98 KB)
π
moreinfo.html
(7.45 KB)
π
mp.html
(8.86 KB)
π
mp_config.html
(6.08 KB)
π
mp_warm.html
(13.45 KB)
π
preface.html
(5.1 KB)
π
program.html
(7.21 KB)
π
program_cache.html
(3.3 KB)
π
program_compatible.html
(3.66 KB)
π
program_copy.html
(7.35 KB)
π
program_environ.html
(3.58 KB)
π
program_errorret.html
(10.38 KB)
π
program_faq.html
(4.58 KB)
π
program_mt.html
(7.54 KB)
π
program_namespace.html
(5.66 KB)
π
program_perfmon.html
(32.07 KB)
π
program_ram.html
(12.58 KB)
π
program_runtime.html
(7.09 KB)
π
program_scope.html
(9.8 KB)
π
refs.html
(11.84 KB)
π
rep.html
(16.57 KB)
π
rep_app.html
(9.75 KB)
π
rep_base_meth.html
(8.59 KB)
π
rep_bulk.html
(4.01 KB)
π
rep_clock_skew.html
(5.38 KB)
π
rep_comm.html
(11.28 KB)
π
rep_elect.html
(13.17 KB)
π
rep_ex.html
(9.64 KB)
π
rep_ex_chan.html
(8.52 KB)
π
rep_ex_comm.html
(7.58 KB)
π
rep_ex_rq.html
(5.52 KB)
π
rep_faq.html
(9.2 KB)
π
rep_filename.html
(7.7 KB)
π
rep_id.html
(4.76 KB)
π
rep_init.html
(5.14 KB)
π
rep_lease.html
(18.32 KB)
π
rep_mastersync.html
(11.24 KB)
π
rep_mgr_ack.html
(8.5 KB)
π
rep_mgr_meth.html
(11.06 KB)
π
rep_mgrmulti.html
(10.28 KB)
π
rep_newsite.html
(5.29 KB)
π
rep_partition.html
(9.21 KB)
π
rep_pri.html
(3.64 KB)
π
rep_replicate.html
(18.8 KB)
π
rep_ryw.html
(9.82 KB)
π
rep_trans.html
(21.58 KB)
π
rep_twosite.html
(6.76 KB)
π
repmgr_channels.html
(13.34 KB)
π
rq_conf.html
(18.29 KB)
π
second.javas
(3.87 KB)
π
sequence.html
(4.43 KB)
π
solaris.txt
(5.62 KB)
π
stl.html
(16.28 KB)
π
stl_complex_rw.html
(19.31 KB)
π
stl_container_specific.html
(9.04 KB)
π
stl_db_advanced_usage.html
(9.68 KB)
π
stl_db_usage.html
(13.27 KB)
π
stl_efficienct_use.html
(11.87 KB)
π
stl_examples.html
(8.24 KB)
π
stl_known_issues.html
(4.54 KB)
π
stl_memory_mgmt.html
(9.22 KB)
π
stl_misc.html
(8.22 KB)
π
stl_mt_usage.html
(9.06 KB)
π
stl_persistence.html
(14.74 KB)
π
stl_primitive_rw.html
(8.18 KB)
π
stl_txn_usage.html
(4.88 KB)
π
stl_usecase.html
(3.67 KB)
π
tcl.html
(7.88 KB)
π
tcl_error.html
(5.2 KB)
π
tcl_faq.html
(4.89 KB)
π
tcl_program.html
(3.78 KB)
π
tcl_using.html
(4.43 KB)
π
transapp.cs
(10.34 KB)
π
transapp.html
(8.55 KB)
π
transapp_admin.html
(4.8 KB)
π
transapp_app.html
(25.08 KB)
π
transapp_archival.html
(15.5 KB)
π
transapp_atomicity.html
(5.46 KB)
π
transapp_checkpoint.html
(6.18 KB)
π
transapp_cursor.html
(6.79 KB)
π
transapp_data_open.html
(7.52 KB)
π
transapp_deadlock.html
(7.35 KB)
π
transapp_env_open.html
(8.39 KB)
π
transapp_fail.html
(6.8 KB)
π
transapp_faq.html
(11.26 KB)
π
transapp_filesys.html
(5.89 KB)
π
transapp_hotfail.html
(10.54 KB)
π
transapp_inc.html
(8.09 KB)
π
transapp_journal.html
(4.72 KB)
π
transapp_logfile.html
(5.3 KB)
π
transapp_nested.html
(5.42 KB)
π
transapp_put.html
(12.47 KB)
π
transapp_read.html
(9.9 KB)
π
transapp_reclimit.html
(12.6 KB)
π
transapp_recovery.html
(8.74 KB)
π
transapp_term.html
(6.02 KB)
π
transapp_throughput.html
(9.06 KB)
π
transapp_tune.html
(13.99 KB)
π
transapp_why.html
(3.94 KB)
π
txn.html
(8.63 KB)
π
txn_config.html
(4.5 KB)
π
txn_limits.html
(5.77 KB)
π
witold.html
(745 B)
π
writetest.cs
(2.26 KB)
π
xa.html
(6.69 KB)
π
xa_build.html
(19.12 KB)
π
xa_faq.html
(7.27 KB)
π
xa_xa_config.html
(8.1 KB)
π
xa_xa_intro.html
(4.46 KB)
π
xa_xa_restrict.html
(6.02 KB)
Editing: stl.html
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>ChapterΒ 7.Β Standard Template Library API</title> <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> <link rel="up" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> <link rel="prev" href="csharp.html" title="ChapterΒ 6.Β C# API" /> <link rel="next" href="stl_usecase.html" title="Dbstl typical use cases" /> </head> <body> <div xmlns="" class="navheader"> <div class="libver"> <p>Library Version 11.2.5.3</p> </div> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center">ChapterΒ 7.Β Standard Template Library API</th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="csharp.html">Prev</a>Β </td> <th width="60%" align="center">Β </th> <td width="20%" align="right">Β <a accesskey="n" href="stl_usecase.html">Next</a></td> </tr> </table> <hr /> </div> <div class="chapter" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title"><a id="stl"></a>ChapterΒ 7.Β Standard Template Library API</h2> </div> </div> </div> <div class="toc"> <p> <b>Table of Contents</b> </p> <dl> <dt> <span class="sect1"> <a href="stl.html#stl_intro">Dbstl introduction</a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl.html#stl_intro_stdcompat">Standards compatible</a> </span> </dt> <dt> <span class="sect2"> <a href="stl.html#stl_intro_performance">Performance overhead</a> </span> </dt> <dt> <span class="sect2"> <a href="stl.html#stl_intro_portability">Portability</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_usecase.html">Dbstl typical use cases</a> </span> </dt> <dt> <span class="sect1"> <a href="stl_examples.html">Dbstl examples</a> </span> </dt> <dt> <span class="sect1"> <a href="stl_db_usage.html">Berkeley DB configuration</a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_db_usage.html#idp51381760">Registering database and environment handles</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_db_usage.html#idp51405208">Truncate requirements</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_db_usage.html#idp51416888">Auto commit support</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_db_usage.html#idp51379224">Database and environment identity checks</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_db_usage.html#idp51415360">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> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_db_advanced_usage.html#idp51421384">Using bulk retrieval iterators</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_db_advanced_usage.html#idp51410312">Using the DB_RMW flag</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_db_advanced_usage.html#idp51398048">Using secondary index database and secondary containers</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_txn_usage.html">Using transactions in dbstl</a> </span> </dt> <dt> <span class="sect1"> <a href="stl_mt_usage.html">Using dbstl in multithreaded applications</a> </span> </dt> <dt> <span class="sect1"> <a href="stl_primitive_rw.html">Working with primitive types </a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_primitive_rw.html#idp51467888">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> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_complex_rw.html#idp51458752">Storing varying length objects</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_complex_rw.html#idp51477944">Storing arbitrary sequences</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_complex_rw.html#idp51524696">Notes</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_persistence.html">Dbstl persistence</a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_persistence.html#directdbget">Direct database get</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_persistence.html#chg_persistence">Change persistence</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_persistence.html#obj_life_persistence">Object life time and persistence </a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <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#idp51492808">db_vector specific notes</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_container_specific.html#idp51561456">Associative container specific notes</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_efficienct_use.html">Using dbstl efficiently</a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_efficienct_use.html#idp51530568">Using iterators efficiently</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_efficienct_use.html#idp51530352">Using containers efficiently</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_memory_mgmt.html">Dbstl memory management</a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_memory_mgmt.html#idp51564672">Freeing memory</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_memory_mgmt.html#idp51569240">Type specific notes</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_misc.html">Dbstl miscellaneous notes</a> </span> </dt> <dd> <dl> <dt> <span class="sect2"> <a href="stl_misc.html#idp51587208">Special notes about trivial methods</a> </span> </dt> <dt> <span class="sect2"> <a href="stl_misc.html#idp51603304">Using correct container and iterator public types</a> </span> </dt> </dl> </dd> <dt> <span class="sect1"> <a href="stl_known_issues.html">Dbstl known issues</a> </span> </dt> </dl> </div> <div class="sect1" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"><a id="stl_intro"></a>Dbstl introduction</h2> </div> </div> </div> <div class="toc"> <dl> <dt> <span class="sect2"> <a href="stl.html#stl_intro_stdcompat">Standards compatible</a> </span> </dt> <dt> <span class="sect2"> <a href="stl.html#stl_intro_performance">Performance overhead</a> </span> </dt> <dt> <span class="sect2"> <a href="stl.html#stl_intro_portability">Portability</a> </span> </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> 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> <div> <h3 class="title"><a id="stl_intro_stdcompat"></a>Standards compatible</h3> </div> </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> </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> </div> </div> </div> <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> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="stl_intro_portability"></a>Portability</h3> </div> </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> <div class="itemizedlist"> <ul type="disc"> <li> <p> member function templates </p> </li> <li> <p> member function template overloads </p> </li> <li> <p> partial specialization </p> </li> <li> <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> <div class="itemizedlist"> <ul type="disc"> <li> <p> MSVC8 </p> </li> <li> <p> gcc3.4.4 and above </p> </li> <li> <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> <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> </li> <li> <p> SGI STL test suite </p> </li> </ul> </div> </div> </div> </div> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href="csharp.html">Prev</a>Β </td> <td width="20%" align="center">Β </td> <td width="40%" align="right">Β <a accesskey="n" href="stl_usecase.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">ChapterΒ 6.Β C# APIΒ </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top">Β Dbstl typical use cases</td> </tr> </table> </div> </body> </html>
Upload File
Create Folder