<?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 class="navheader"> <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="id1552769"></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="id1553278"></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="id1553284"></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="id1553525"></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="id1553598"></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="id1553382"></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="id1553385"></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="id1553698"></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="func_details"></a> Function Details</h3> </div> </div> </div> <pre class="programlisting"> void insert(InputIterator first, InputIterator last) </pre> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"></div> <p>Range insertion. </p> <p>Insert a range [first, last) of key/data pairs into this container. </p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1553466"></a> Parameters</h4> </div> </div> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="id1553758"></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="id1553828"></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> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"></div> <p>Range insertion. </p> <p>Insert a range [first, last) of key/data pairs into this container. </p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1553784"></a> Parameters</h4> </div> </div> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="id1553825"></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="id1553637"></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> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"></div> <p>Insert a single key/data pair if the key is not in the container. </p> <p></p> </div> <div class="sect3" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h4 class="title"><a id="id1553392"></a> Parameters</h4> </div> </div> </div> <div class="sect4" lang="en" xml:lang="en"> <div class="titlepage"> <div> <div> <h5 class="title"><a id="id1553229"></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="id1553583"></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="id1553230"></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="id1553819"></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>