<?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 6. Db_multimap</title> <link rel="stylesheet" href="apiReference.css" type="text/css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> <link rel="start" href="index.html" title="Berkeley DB C++ Standard Template Library API Reference" /> <link rel="up" href="index.html" title="Berkeley DB C++ Standard Template Library API Reference" /> <link rel="prev" href="stldb_mapoperator_ueq.html" title="operator!=" /> <link rel="next" href="stldb_multimaperase.html" title="erase" /> </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 6. Db_multimap </th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="stldb_mapoperator_ueq.html">Prev</a> </td> <th width="60%" align="center"> </th> <td width="20%" align="right"> <a accesskey="n" href="stldb_multimaperase.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="db_multimap"></a>Chapter 6. Db_multimap </h2> </div> </div> </div> <p>This class is the combination of std::multimap and hash_multimap. </p> <p>By setting database handles as DB_BTREE or DB_HASH type respectively, you will be using an equivalent of std::multimap or hash_multimap respectively. Database(dbp) and environment(penv) handle requirement: The dbp handle must meet the following requirement: 1. Database type should be DB_BTREE or DB_HASH. 2. Either DB_DUP or DB_DUPSORT flag must be set. Note that so far Berkeley DB does not allow DB_DUPSORT be set and the database is storing identical key/data pairs, i.e. we can't store two (1, 2), (1, 2) pairs into a database D with DB_DUPSORT flag set, but only can do so with DB_DUP flag set; But we can store a (1, 2) pair and a (1, 3) pair into D with DB_DUPSORT flag set. So if your data set allows DB_DUPSORT flag, you should set it to gain a lot of performance promotion. 3. No DB_RECNUM flag set. 4. No DB_TRUNCATE specified in database open flags. 5. DB_THREAD must be set if you are sharing the database handle across multiple threads directly, or indirectly by sharing the container object across multiple threads. </p> <h4><a id="idp50524248"></a> See Also </h4> <p> </p> <p><a class="link" href="db_container.html" title="Chapter 3. Db_container">db_container</a> <a class="link" href="db_map.html" title="Chapter 5. Db_map">db_map</a> </p> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="idp50483208"></a> Class Template Parameters</h3> </div> </div> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp49844168"></a> kdt</h4> </div> </div> </div> <p>The key data type. </p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50376072"></a> ddt</h4> </div> </div> </div> <p>The data data type. <a class="link" href="db_multimap.html" title="Chapter 6. Db_multimap">db_multimap</a> stores key/data pairs. </p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50570784"></a> value_type_sub</h4> </div> </div> </div> <p>Do not specify anything if ddt type is a class/struct type; Otherwise, specify ElementHolder<ddt> to it. </p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50566872"></a> iterator_t</h4> </div> </div> </div> <p>Never specify anything to this type parameter. It is only used internally. </p> </div> </div> <h4><a id="idp50573832"></a> Public Members </h4> <div class="informaltable"> <table border="1" width="80%"> <colgroup> <col /> <col /> </colgroup> <thead> <tr> <th>Member</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <a class="xref" href="db_multimap.html#stldb_multimapinsert" title="insert">insert</a> </td> <td> <p>Range insertion. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimaperase.html" title="erase">erase</a> </td> <td> <p>Erase elements by key. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapequal_range.html" title="equal_range">equal_range</a> </td> <td> <p>Find the range within which all keys equal to specified key x. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapequal_range_N.html" title="equal_range_N">equal_range_N</a> </td> <td> <p>Find equal range and number of key/data pairs in the range. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapcount.html" title="count">count</a> </td> <td> <p>Count the number of key/data pairs having specified key x. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapupper_bound.html" title="upper_bound">upper_bound</a> </td> <td> <p>Find the least key greater than x. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapdb_multimap.html" title="db_multimap">db_multimap</a> </td> <td> <p>Constructor. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapdstr_db_multimap.html" title="~db_multimap">~db_multimap</a> </td> <td> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapoperator_assign.html" title="operator=">operator=</a> </td> <td> <p>Container content assignment operator. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapswap.html" title="swap">swap</a> </td> <td> <p>Swap content with another multimap container. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapoperator_eq.html" title="operator==">operator==</a> </td> <td> <p>Returns whether the two containers have identical content. </p> </td> </tr> <tr> <td> <a class="xref" href="stldb_multimapoperator_ueq.html" title="operator!=">operator!=</a> </td> <td> <p>Container unequality comparison operator. </p> </td> </tr> </tbody> </table> </div> <h4><a id="idp50081160"></a> Group</h4> <p> <a class="xref" href="dbstl_containers.html" title="Chapter 2. Dbstl Container Classes"> Dbstl Container Classes </a> </p> <p> </p> <div class="sect1" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"><a id="stldb_multimapinsert"></a>insert</h2> </div> </div> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="stldb_multimapinsert_details"></a>Function Details</h3> </div> </div> </div> <pre class="programlisting"> void insert(InputIterator first, InputIterator last) </pre> <p>Range insertion. </p> <p>Insert a range [first, last) of key/data pairs into this container. </p> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50590840"></a>Parameters</h4> </div> </div> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="idp50600672"></a>last</h5> </div> </div> </div> <p>The open boundary of the range. </p> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="idp50602552"></a>first</h5> </div> </div> </div> <p>The closed boundary of the range. </p> </div> </div> <pre class="programlisting"> void insert(const_iterator &first, const_iterator &last) </pre> <p>Range insertion. </p> <p>Insert a range [first, last) of key/data pairs into this container. </p> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50603016"></a>Parameters</h4> </div> </div> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="idp50603208"></a>last</h5> </div> </div> </div> <p>The open boundary of the range. </p> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="idp50604048"></a>first</h5> </div> </div> </div> <p>The closed boundary of the range. </p> </div> </div> <pre class="programlisting"> iterator insert(const value_type &x) </pre> <p>Insert a single key/data pair if the key is not in the container. </p> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50599464"></a>Parameters</h4> </div> </div> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="idp50604496"></a>x</h5> </div> </div> </div> <p>The key/data pair to insert. </p> </div> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="idp50370072"></a>Return Value</h4> </div> </div> </div> <p>A pair P, if insert OK, i.e. the inserted key wasn't in the container, P.first will be the iterator sitting on the inserted key/data pair, and P.second is true; otherwise P.first is an invalid iterator and P.second is false. </p> </div> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="idp50569336"></a>Group: Insert Functions</h3> </div> </div> </div> <div class="simplesect" lang="en" xml:lang="en"> <div class="titlepage"></div> <p><a class="ulink" href="http://www.cplusplus.com/reference/stl/multimap/insert/" target="_top">http://www.cplusplus.com/reference/stl/multimap/insert/</a> </p> </div> <p> </p> </div> <div class="sect2" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h3 class="title"><a id="idp50600336"></a>Class</h3> </div> </div> </div> <p> <a class="link" href="db_multimap.html" title="Chapter 6. Db_multimap">db_multimap</a> </p> </div> </div> </div> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href="stldb_mapoperator_ueq.html">Prev</a> </td> <td width="20%" align="center"> </td> <td width="40%" align="right"> <a accesskey="n" href="stldb_multimaperase.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">operator!= </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> erase</td> </tr> </table> </div> </body> </html>