Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > c07f89287b8745f052fcf9bc1067c5c0 > files > 33

kyotocabinet-1.2.29-1.fc14.x86_64.rpm

<!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/xhtml;charset=UTF-8"/>
<title>Kyoto Cabinet: kyotocabinet::BasicDB Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacekyotocabinet.html">kyotocabinet</a>::<a class="el" href="classkyotocabinet_1_1BasicDB.html">BasicDB</a>
  </div>
</div>
<div class="contents">
<h1>kyotocabinet::BasicDB Class Reference</h1><!-- doxytag: class="kyotocabinet::BasicDB" --><!-- doxytag: inherits="kyotocabinet::DB" -->
<p>Basic implementation of database.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;kcdb.h&gt;</code></p>

<p><a href="classkyotocabinet_1_1BasicDB-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Cursor.html">Cursor</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface of cursor to indicate a record.  <a href="classkyotocabinet_1_1BasicDB_1_1Cursor.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html">Error</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html" title="Error data.">Error</a> data.  <a href="classkyotocabinet_1_1BasicDB_1_1Error.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to process the database file.  <a href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html">Logger</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to log internal information and errors.  <a href="classkyotocabinet_1_1BasicDB_1_1Logger.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html">MetaTrigger</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to trigger meta database operations.  <a href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface to check progress status of long process.  <a href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7f">Type</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fa5be3e804fc9e1c8770b0bc37ce75afe9">TYPEVOID</a> =  0x00, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fa21e357867392861a412ed7d982e9913b">TYPEPHASH</a> =  0x10, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fa257fa7af7461025c3c47f98c6be5d9b5">TYPEPTREE</a> =  0x11, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fafe6b2d8395fdf7a6cfeaaccf95d9c3dc">TYPESTASH</a> =  0x18, 
<br/>
&nbsp;&nbsp;<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fa281bc81f91b8b3fc39796f386be1f3fc">TYPECACHE</a> =  0x20, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fac885d5d2e2d3417476d606f9ddff28d4">TYPEGRASS</a> =  0x21, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7facc621efd9dc349487c9bf139735a1547">TYPEHASH</a> =  0x30, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7faf19657f41cdf16badd67d79889fef93d">TYPETREE</a> =  0x31, 
<br/>
&nbsp;&nbsp;<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fa7a7e544979edd72ae4b53c5f5312a639">TYPEDIR</a> =  0x40, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fa5fb8e5c5be4f7a2a051de911e0cc41c8">TYPEFOREST</a> =  0x41, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7fada9cc0cd600e803427cc15ab9ce61c06">TYPEMISC</a> =  0x80
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Database types. </p>
 <a href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7f">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664d">OpenMode</a> { <br/>
&nbsp;&nbsp;<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daac1e035a2264effff6af2f74af4fcf2d">OREADER</a> =  1 &lt;&lt; 0, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485">OWRITER</a> =  1 &lt;&lt; 1, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240">OCREATE</a> =  1 &lt;&lt; 2, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da84636e0600e10a014e61abcb53c11d39">OTRUNCATE</a> =  1 &lt;&lt; 3, 
<br/>
&nbsp;&nbsp;<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da648178f135de06196ff0a59b6d50ffc0">OAUTOTRAN</a> =  1 &lt;&lt; 4, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dac6952961b46d7d1e71df632e45d80a93">OAUTOSYNC</a> =  1 &lt;&lt; 5, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da3d1f28662fd5f8c91749aa57cc6f4732">ONOLOCK</a> =  1 &lt;&lt; 6, 
<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da12f4827b918598179bf05c0797127687">OTRYLOCK</a> =  1 &lt;&lt; 7, 
<br/>
&nbsp;&nbsp;<a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da4d79a8f0bc49849b0b434fb4fda4836a">ONOREPAIR</a> =  1 &lt;&lt; 8
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Open modes. </p>
 <a href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664d">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a36c9b5eaaef06891a83b98911adfd712">~BasicDB</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#a36c9b5eaaef06891a83b98911adfd712"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html">Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a0bbc7d536f192222362a98af678abd16">error</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the last happened error.  <a href="#a0bbc7d536f192222362a98af678abd16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#abc68ab08f3f42a52cbae54ae093fad7b">set_error</a> (const char *file, int32_t line, const char *func, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html#aae81720eb2d1d8be04375d0f766d0fa2">Error::Code</a> code, const char *message)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the error information.  <a href="#abc68ab08f3f42a52cbae54ae093fad7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a6f8ee2f3bde5f5389119fe43696f9bdc">open</a> (const std::string &amp;path, uint32_t mode=OWRITER|OCREATE)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a database file.  <a href="#a6f8ee2f3bde5f5389119fe43696f9bdc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a8863ffedb9604742305ece7ccdb23c2a">close</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the database file.  <a href="#a8863ffedb9604742305ece7ccdb23c2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a809c175a7a69deaa56ed6b9cef9fa973">iterate</a> (<a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *visitor, bool writable=true, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterate to accept a visitor for each record.  <a href="#a809c175a7a69deaa56ed6b9cef9fa973"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#acf7a2e70f3c1e72be5241f0d611f3d70">synchronize</a> (bool hard=false, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a> *proc=NULL, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Synchronize updated contents with the file and the device.  <a href="#acf7a2e70f3c1e72be5241f0d611f3d70"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a258665509711eb2952544ebee55ed861">copy</a> (const std::string &amp;dest, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a copy of the database file.  <a href="#a258665509711eb2952544ebee55ed861"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a7999f8bf717cfd22ceed42bc54755f00">begin_transaction</a> (bool hard=false)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin transaction.  <a href="#a7999f8bf717cfd22ceed42bc54755f00"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a2cfd959c679cdb7716eab913ac227a6c">begin_transaction_try</a> (bool hard=false)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Try to begin transaction.  <a href="#a2cfd959c679cdb7716eab913ac227a6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a2c32f6bb5544045cf75c5aac1e2d1cac">end_transaction</a> (bool commit=true)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End transaction.  <a href="#a2c32f6bb5544045cf75c5aac1e2d1cac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a573aae4382f43ed148ea035baa4d5f51">size</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of the database file.  <a href="#a573aae4382f43ed148ea035baa4d5f51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#af67d9b139fcfb2fd5bc38d97d7a1856b">path</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the path of the database file.  <a href="#af67d9b139fcfb2fd5bc38d97d7a1856b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#ac8807fad23476a2eb7da0c869c546727">status</a> (std::map&lt; std::string, std::string &gt; *strmap)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the miscellaneous status information.  <a href="#ac8807fad23476a2eb7da0c869c546727"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#ace1d7f4a0d37c2d4e61b102bc0d0f725">set</a> (const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of a record.  <a href="#ace1d7f4a0d37c2d4e61b102bc0d0f725"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#aceb9eb24d4664b0dc0f2734da66511c4">set</a> (const std::string &amp;key, const std::string &amp;value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of a record.  <a href="#aceb9eb24d4664b0dc0f2734da66511c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a330568e1a92d74bfbc38682cd8604462">add</a> (const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a record.  <a href="#a330568e1a92d74bfbc38682cd8604462"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#ae917d6aa4cba62bd808121fddb4035b0">add</a> (const std::string &amp;key, const std::string &amp;value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of a record.  <a href="#ae917d6aa4cba62bd808121fddb4035b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#ac1b65f395e4be9e9ef14973f564e3a48">replace</a> (const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace the value of a record.  <a href="#ac1b65f395e4be9e9ef14973f564e3a48"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a42fce9d48b8a3744b05fc61636fab2b1">replace</a> (const std::string &amp;key, const std::string &amp;value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace the value of a record.  <a href="#a42fce9d48b8a3744b05fc61636fab2b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a23e776e5bd1e3c5caa0f62edffb87a54">append</a> (const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append the value of a record.  <a href="#a23e776e5bd1e3c5caa0f62edffb87a54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#aed0ebc961e906fe7fb534f917b4a9f8f">append</a> (const std::string &amp;key, const std::string &amp;value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of a record.  <a href="#aed0ebc961e906fe7fb534f917b4a9f8f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#addcd1fc6d593df0afbb8e311800e668d">increment</a> (const char *kbuf, size_t ksiz, int64_t num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a number to the numeric value of a record.  <a href="#addcd1fc6d593df0afbb8e311800e668d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a9de76cd3e63652dcf158b3215751ccd7">increment</a> (const std::string &amp;key, int64_t num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a number to the numeric value of a record.  <a href="#a9de76cd3e63652dcf158b3215751ccd7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a27824206cba908e6215582389fb3539f">increment_double</a> (const char *kbuf, size_t ksiz, double num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a number to the numeric double value of a record.  <a href="#a27824206cba908e6215582389fb3539f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a5ae85dcea9a853f835bddc56dc86024a">increment_double</a> (const std::string &amp;key, double num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a number to the numeric double value of a record.  <a href="#a5ae85dcea9a853f835bddc56dc86024a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a4cc551a65eed27a7905c50aac95f43db">cas</a> (const char *kbuf, size_t ksiz, const char *ovbuf, size_t ovsiz, const char *nvbuf, size_t nvsiz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform compare-and-swap.  <a href="#a4cc551a65eed27a7905c50aac95f43db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a98f785851e346ce32049d70cdac36f51">cas</a> (const std::string &amp;key, const std::string &amp;ovalue, const std::string &amp;nvalue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform compare-and-swap.  <a href="#a98f785851e346ce32049d70cdac36f51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a98b9a0b2337e16b79a22a97d4d96d04c">remove</a> (const char *kbuf, size_t ksiz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a record.  <a href="#a98b9a0b2337e16b79a22a97d4d96d04c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#ac6b7b1fdab9e9288c8ff918bef8bf0b3">remove</a> (const std::string &amp;key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a record.  <a href="#ac6b7b1fdab9e9288c8ff918bef8bf0b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a04721eb5a61876244bbc5c08e0a34c61">get</a> (const char *kbuf, size_t ksiz, size_t *sp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the value of a record.  <a href="#a04721eb5a61876244bbc5c08e0a34c61"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#aaeb3e8ab339c7d4bdbdfcb6bc0592a12">get</a> (const std::string &amp;key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the value of a record.  <a href="#aaeb3e8ab339c7d4bdbdfcb6bc0592a12"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#abad0525bdccdcab5b587846a69ff0fe3">get</a> (const char *kbuf, size_t ksiz, char *vbuf, size_t max)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the value of a record.  <a href="#abad0525bdccdcab5b587846a69ff0fe3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a15e2b3b12551cd055ec652250780147d">dump_snapshot</a> (std::ostream *dest, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dump records into a data stream.  <a href="#a15e2b3b12551cd055ec652250780147d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a39186bb54797a65ca3b642b157a4b7f0">dump_snapshot</a> (const std::string &amp;dest, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dump records into a file.  <a href="#a39186bb54797a65ca3b642b157a4b7f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a0845ad7a308380fc2ad9b8e70f593f3e">load_snapshot</a> (std::istream *src, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load records from a data stream.  <a href="#a0845ad7a308380fc2ad9b8e70f593f3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#aef62097d8ad0f443db61fd46ef8afb0f">load_snapshot</a> (const std::string &amp;src, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *checker=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load records from a file.  <a href="#aef62097d8ad0f443db61fd46ef8afb0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html">Cursor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#af270fcad9cfa1dce1b661c33c07165d6">cursor</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a cursor object.  <a href="#af270fcad9cfa1dce1b661c33c07165d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a26a13dacff680288b1169a8f27d8a34b">tune_logger</a> (<a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html">Logger</a> *logger, uint32_t kinds=Logger::WARN|Logger::ERROR)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the internal logger.  <a href="#a26a13dacff680288b1169a8f27d8a34b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a574c85f66445ba88d65bd978b63703cc">tune_meta_trigger</a> (<a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html">MetaTrigger</a> *trigger)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the internal meta operation trigger.  <a href="#a574c85f66445ba88d65bd978b63703cc"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#afd766e0016301f256108e8dd8d316a9c">typecname</a> (uint32_t type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the class name of a database type.  <a href="#afd766e0016301f256108e8dd8d316a9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1BasicDB.html#a7e8fd41ca7b1e3292a98030313999a31">typestring</a> (uint32_t type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the description string of a database type.  <a href="#a7e8fd41ca7b1e3292a98030313999a31"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Basic implementation of database. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This class is an abstract class to prescribe the interface of file operations and provide mix-in methods. This class can be inherited but overwriting methods is forbidden. Before every database operation, it is necessary to call the <a class="el" href="classkyotocabinet_1_1BasicDB.html#a6f8ee2f3bde5f5389119fe43696f9bdc" title="Open a database file.">BasicDB::open</a> method in order to open a database file and connect the database object to it. To avoid data missing or corruption, it is important to close every database file by the <a class="el" href="classkyotocabinet_1_1BasicDB.html#a8863ffedb9604742305ece7ccdb23c2a" title="Close the database file.">BasicDB::close</a> method when the database is no longer in use. It is forbidden for multible database objects in a process to open the same database at the same time. It is forbidden to share a database object with child processes. </dd></dl>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7f"></a><!-- doxytag: member="kyotocabinet::BasicDB::Type" ref="aa1db8f4472965b12b6648728bcd44c7f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classkyotocabinet_1_1BasicDB.html#aa1db8f4472965b12b6648728bcd44c7f">kyotocabinet::BasicDB::Type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Database types. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fa5be3e804fc9e1c8770b0bc37ce75afe9"></a><!-- doxytag: member="TYPEVOID" ref="aa1db8f4472965b12b6648728bcd44c7fa5be3e804fc9e1c8770b0bc37ce75afe9" args="" -->TYPEVOID</em>&nbsp;</td><td>
<p>void database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fa21e357867392861a412ed7d982e9913b"></a><!-- doxytag: member="TYPEPHASH" ref="aa1db8f4472965b12b6648728bcd44c7fa21e357867392861a412ed7d982e9913b" args="" -->TYPEPHASH</em>&nbsp;</td><td>
<p>prototype hash database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fa257fa7af7461025c3c47f98c6be5d9b5"></a><!-- doxytag: member="TYPEPTREE" ref="aa1db8f4472965b12b6648728bcd44c7fa257fa7af7461025c3c47f98c6be5d9b5" args="" -->TYPEPTREE</em>&nbsp;</td><td>
<p>prototype tree database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fafe6b2d8395fdf7a6cfeaaccf95d9c3dc"></a><!-- doxytag: member="TYPESTASH" ref="aa1db8f4472965b12b6648728bcd44c7fafe6b2d8395fdf7a6cfeaaccf95d9c3dc" args="" -->TYPESTASH</em>&nbsp;</td><td>
<p>stash database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fa281bc81f91b8b3fc39796f386be1f3fc"></a><!-- doxytag: member="TYPECACHE" ref="aa1db8f4472965b12b6648728bcd44c7fa281bc81f91b8b3fc39796f386be1f3fc" args="" -->TYPECACHE</em>&nbsp;</td><td>
<p>cache hash database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fac885d5d2e2d3417476d606f9ddff28d4"></a><!-- doxytag: member="TYPEGRASS" ref="aa1db8f4472965b12b6648728bcd44c7fac885d5d2e2d3417476d606f9ddff28d4" args="" -->TYPEGRASS</em>&nbsp;</td><td>
<p>cache tree database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7facc621efd9dc349487c9bf139735a1547"></a><!-- doxytag: member="TYPEHASH" ref="aa1db8f4472965b12b6648728bcd44c7facc621efd9dc349487c9bf139735a1547" args="" -->TYPEHASH</em>&nbsp;</td><td>
<p>file hash database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7faf19657f41cdf16badd67d79889fef93d"></a><!-- doxytag: member="TYPETREE" ref="aa1db8f4472965b12b6648728bcd44c7faf19657f41cdf16badd67d79889fef93d" args="" -->TYPETREE</em>&nbsp;</td><td>
<p>file tree database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fa7a7e544979edd72ae4b53c5f5312a639"></a><!-- doxytag: member="TYPEDIR" ref="aa1db8f4472965b12b6648728bcd44c7fa7a7e544979edd72ae4b53c5f5312a639" args="" -->TYPEDIR</em>&nbsp;</td><td>
<p>directory hash database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fa5fb8e5c5be4f7a2a051de911e0cc41c8"></a><!-- doxytag: member="TYPEFOREST" ref="aa1db8f4472965b12b6648728bcd44c7fa5fb8e5c5be4f7a2a051de911e0cc41c8" args="" -->TYPEFOREST</em>&nbsp;</td><td>
<p>directory tree database </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa1db8f4472965b12b6648728bcd44c7fada9cc0cd600e803427cc15ab9ce61c06"></a><!-- doxytag: member="TYPEMISC" ref="aa1db8f4472965b12b6648728bcd44c7fada9cc0cd600e803427cc15ab9ce61c06" args="" -->TYPEMISC</em>&nbsp;</td><td>
<p>miscellaneous database </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664d"></a><!-- doxytag: member="kyotocabinet::BasicDB::OpenMode" ref="a61bb905975c5bb2e9d3d890e65cf664d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664d">kyotocabinet::BasicDB::OpenMode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Open modes. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664daac1e035a2264effff6af2f74af4fcf2d"></a><!-- doxytag: member="OREADER" ref="a61bb905975c5bb2e9d3d890e65cf664daac1e035a2264effff6af2f74af4fcf2d" args="" -->OREADER</em>&nbsp;</td><td>
<p>open as a reader </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485"></a><!-- doxytag: member="OWRITER" ref="a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485" args="" -->OWRITER</em>&nbsp;</td><td>
<p>open as a writer </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240"></a><!-- doxytag: member="OCREATE" ref="a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240" args="" -->OCREATE</em>&nbsp;</td><td>
<p>writer creating </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664da84636e0600e10a014e61abcb53c11d39"></a><!-- doxytag: member="OTRUNCATE" ref="a61bb905975c5bb2e9d3d890e65cf664da84636e0600e10a014e61abcb53c11d39" args="" -->OTRUNCATE</em>&nbsp;</td><td>
<p>writer truncating </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664da648178f135de06196ff0a59b6d50ffc0"></a><!-- doxytag: member="OAUTOTRAN" ref="a61bb905975c5bb2e9d3d890e65cf664da648178f135de06196ff0a59b6d50ffc0" args="" -->OAUTOTRAN</em>&nbsp;</td><td>
<p>auto transaction </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664dac6952961b46d7d1e71df632e45d80a93"></a><!-- doxytag: member="OAUTOSYNC" ref="a61bb905975c5bb2e9d3d890e65cf664dac6952961b46d7d1e71df632e45d80a93" args="" -->OAUTOSYNC</em>&nbsp;</td><td>
<p>auto synchronization </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664da3d1f28662fd5f8c91749aa57cc6f4732"></a><!-- doxytag: member="ONOLOCK" ref="a61bb905975c5bb2e9d3d890e65cf664da3d1f28662fd5f8c91749aa57cc6f4732" args="" -->ONOLOCK</em>&nbsp;</td><td>
<p>open without locking </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664da12f4827b918598179bf05c0797127687"></a><!-- doxytag: member="OTRYLOCK" ref="a61bb905975c5bb2e9d3d890e65cf664da12f4827b918598179bf05c0797127687" args="" -->OTRYLOCK</em>&nbsp;</td><td>
<p>lock without blocking </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a61bb905975c5bb2e9d3d890e65cf664da4d79a8f0bc49849b0b434fb4fda4836a"></a><!-- doxytag: member="ONOREPAIR" ref="a61bb905975c5bb2e9d3d890e65cf664da4d79a8f0bc49849b0b434fb4fda4836a" args="" -->ONOREPAIR</em>&nbsp;</td><td>
<p>open without auto repair </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a36c9b5eaaef06891a83b98911adfd712"></a><!-- doxytag: member="kyotocabinet::BasicDB::~BasicDB" ref="a36c9b5eaaef06891a83b98911adfd712" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual kyotocabinet::BasicDB::~BasicDB </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>If the database is not closed, it is closed implicitly. </dd></dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0bbc7d536f192222362a98af678abd16"></a><!-- doxytag: member="kyotocabinet::BasicDB::error" ref="a0bbc7d536f192222362a98af678abd16" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html">Error</a> kyotocabinet::BasicDB::error </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the last happened error. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last happened error. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a5574b0058edb29a5b696c53ec8b9a7bf">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a770fdcbe8639f25b888482291b4a7c50">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#adf0720f4a9622fef4b8ad7c9114efbbb">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#ad261c3aee01e0add954c633f2d67e57c">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a7d247b16ee5250e1ed7b2768f6e030c3">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#ab5c7f6f70f64299c74d8855884a3a38a">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a356e98971096a653bb1c5d1b3475e8f8">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="abc68ab08f3f42a52cbae54ae093fad7b"></a><!-- doxytag: member="kyotocabinet::BasicDB::set_error" ref="abc68ab08f3f42a52cbae54ae093fad7b" args="(const char *file, int32_t line, const char *func, Error::Code code, const char *message)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void kyotocabinet::BasicDB::set_error </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Error.html#aae81720eb2d1d8be04375d0f766d0fa2">Error::Code</a>&nbsp;</td>
          <td class="paramname"> <em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>message</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the error information. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>the file name of the program source code. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the line number of the program source code. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>the function name of the program source code. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>code</em>&nbsp;</td><td>an error code. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>message</em>&nbsp;</td><td>a supplement message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6f8ee2f3bde5f5389119fe43696f9bdc"></a><!-- doxytag: member="kyotocabinet::BasicDB::open" ref="a6f8ee2f3bde5f5389119fe43696f9bdc" args="(const std::string &amp;path, uint32_t mode=OWRITER|OCREATE)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::open </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>mode</em> = <code>OWRITER|OCREATE</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Open a database file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the path of a database file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>the connection mode. <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daed0e4bf55347835f8a1c277487767485" title="open as a writer">BasicDB::OWRITER</a> as a writer, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664daac1e035a2264effff6af2f74af4fcf2d" title="open as a reader">BasicDB::OREADER</a> as a reader. The following may be added to the writer mode by bitwise-or: <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dafddaf6558a2c6e43223eb5c6f0d0e240" title="writer creating">BasicDB::OCREATE</a>, which means it creates a new database if the file does not exist, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da84636e0600e10a014e61abcb53c11d39" title="writer truncating">BasicDB::OTRUNCATE</a>, which means it creates a new database regardless if the file exists, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da648178f135de06196ff0a59b6d50ffc0" title="auto transaction">BasicDB::OAUTOTRAN</a>, which means each updating operation is performed in implicit transaction, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664dac6952961b46d7d1e71df632e45d80a93" title="auto synchronization">BasicDB::OAUTOSYNC</a>, which means each updating operation is followed by implicit synchronization with the file system. The following may be added to both of the reader mode and the writer mode by bitwise-or: <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da3d1f28662fd5f8c91749aa57cc6f4732" title="open without locking">BasicDB::ONOLOCK</a>, which means it opens the database file without file locking, <a class="el" href="classkyotocabinet_1_1BasicDB.html#a61bb905975c5bb2e9d3d890e65cf664da12f4827b918598179bf05c0797127687" title="lock without blocking">BasicDB::OTRYLOCK</a>, which means locking is performed without blocking, File::ONOREPAIR, which means the database file is not repaired implicitly even if file destruction is detected. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Every opened database must be closed by the <a class="el" href="classkyotocabinet_1_1BasicDB.html#a8863ffedb9604742305ece7ccdb23c2a" title="Close the database file.">BasicDB::close</a> method when it is no longer in use. It is not allowed for two or more database objects in the same process to keep their connections to the same database file at the same time. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#aff8d30ef3cd6990348c47a88983548bf">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a368f4d0e72b0db3c37d368eea38cf523">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#af6d0ceb4887099a12ce069dcffd6ee58">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a9bd13f6a03519f525aee2b3c9ccf8674">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a09384a72e6a72a0be98c80a1856f34aa">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#acc4424e8780abf35cc4ea0e846e12243">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a03a64d5770ad4ba8d70e7651499f3913">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a8863ffedb9604742305ece7ccdb23c2a"></a><!-- doxytag: member="kyotocabinet::BasicDB::close" ref="a8863ffedb9604742305ece7ccdb23c2a" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::close </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the database file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#abd976dad39a19f3e9f688d8dd0a63bc0">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a0ed5fcf37852b77268d7b7267d20bf8b">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a825183c1c8810d538b9ce9a5ce789ffb">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a6661d84682336411eac6b38baf16c64d">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#acf5dd748aed15bb2866e8f12c6e2b3f8">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a367504a44c75f05fb14647ec692255d5">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a9a27006d8710bd736a66cef46c6d5783">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a809c175a7a69deaa56ed6b9cef9fa973"></a><!-- doxytag: member="kyotocabinet::BasicDB::iterate" ref="a809c175a7a69deaa56ed6b9cef9fa973" args="(Visitor *visitor, bool writable=true, ProgressChecker *checker=NULL)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::iterate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1DB_1_1Visitor.html">Visitor</a> *&nbsp;</td>
          <td class="paramname"> <em>visitor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>writable</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterate to accept a visitor for each record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>visitor</em>&nbsp;</td><td>a visitor object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>writable</em>&nbsp;</td><td>true for writable operation, or false for read-only operation. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The whole iteration is performed atomically and other threads are blocked. To avoid deadlock, any database operation must not be performed in this function. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a668ed0f22f9b9538ffcde8466fc2f5ec">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a6687ee72cae51c608a622a6db973d39d">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a38780730815dfcf830c348c889477587">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#abd20793d6349fdc38a6cb5c7d85af8de">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a27be5998494e81a5fa4be24e6047f4de">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#abefeb7da685d9c99a7dbc8c88a7b2f49">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#ae9858542f7b15dce4daeec8df9027549">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="acf7a2e70f3c1e72be5241f0d611f3d70"></a><!-- doxytag: member="kyotocabinet::BasicDB::synchronize" ref="acf7a2e70f3c1e72be5241f0d611f3d70" args="(bool hard=false, FileProcessor *proc=NULL, ProgressChecker *checker=NULL)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::synchronize </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>hard</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1FileProcessor.html">FileProcessor</a> *&nbsp;</td>
          <td class="paramname"> <em>proc</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Synchronize updated contents with the file and the device. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hard</em>&nbsp;</td><td>true for physical synchronization with the device, or false for logical synchronization with the file system. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>proc</em>&nbsp;</td><td>a postprocessor object. If it is NULL, no postprocessing is performed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a142e5aede110bcdbe8bc5821259738a7">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#af66e7b519cc379afe31fef0dcd374ce5">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a95c76a2cef3f0d6e3843c1b8f45a51fb">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a897d968c5d8c59ef65baa760eeb3bf49">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#ace50ae3d13ba63e258673c80cca7b5c8">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a0b8e02efc1451ecf5ad610671274de58">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#ab4bef2c0d9ee18fc46ccbbff8e534cf8">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a258665509711eb2952544ebee55ed861"></a><!-- doxytag: member="kyotocabinet::BasicDB::copy" ref="a258665509711eb2952544ebee55ed861" args="(const std::string &amp;dest, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::copy </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a copy of the database file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the path of the destination file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a7999f8bf717cfd22ceed42bc54755f00"></a><!-- doxytag: member="kyotocabinet::BasicDB::begin_transaction" ref="a7999f8bf717cfd22ceed42bc54755f00" args="(bool hard=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::begin_transaction </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>hard</em> = <code>false</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Begin transaction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hard</em>&nbsp;</td><td>true for physical synchronization with the device, or false for logical synchronization with the file system. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a4a6206c4b92dddb8a9dde4e582b4af18">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#ad1b201ddde522b872d3663413a0f5d15">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a85d7fa1e12bd9d8452c6618c86f10b96">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a7e3ad76e45dab99b13901d93a38262ce">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#ae263750ceefb788101c26ecfc90255d0">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a1988087af949333896cc781804c52623">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a0d04996cd270488c2f5c981e2b9195cb">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a2cfd959c679cdb7716eab913ac227a6c"></a><!-- doxytag: member="kyotocabinet::BasicDB::begin_transaction_try" ref="a2cfd959c679cdb7716eab913ac227a6c" args="(bool hard=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::begin_transaction_try </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>hard</em> = <code>false</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Try to begin transaction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hard</em>&nbsp;</td><td>true for physical synchronization with the device, or false for logical synchronization with the file system. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#ae6501a3b39a8c46c0645686fadef5893">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a66d01cd13ab8f45581c987447c3e0e11">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#aefedc762ec68e4f3d2dc702631bd25c7">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a079d7249a694c9f3a434aa374b8b9f37">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a4dfcad317e944a9da54df590840c520f">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a32b269c4a31bee3d2492a339bb9ef335">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a9fcc5adb3c6046b6dd976b3ad5b12910">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a2c32f6bb5544045cf75c5aac1e2d1cac"></a><!-- doxytag: member="kyotocabinet::BasicDB::end_transaction" ref="a2c32f6bb5544045cf75c5aac1e2d1cac" args="(bool commit=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::end_transaction </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>commit</em> = <code>true</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>End transaction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>commit</em>&nbsp;</td><td>true to commit the transaction, or false to abort the transaction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a6855f648dc86c9cef76e1200c278a019">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#aff72fcd1bf09d72db39c650d0e48144d">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a906510c5cd61f50cb9a992227eb0e243">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#aaac800d0e99039e4c4ebc910733b431d">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a8728e3d71c45b336b417f83ebf1eb6e2">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#aa2d052240defd43e541ebb32b96f8b03">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a4357716bf644ae984869ddef527b6fd2">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a573aae4382f43ed148ea035baa4d5f51"></a><!-- doxytag: member="kyotocabinet::BasicDB::size" ref="a573aae4382f43ed148ea035baa4d5f51" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int64_t kyotocabinet::BasicDB::size </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the size of the database file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the size of the database file in bytes, or -1 on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a7e6f0a8b3674c463e963a98ff3c5c23d">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#ae4dad3860a59e348b8e0ec74dafe67a6">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a2603372a3e0f745ad5b36f8df420d9cf">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a3def0d36c043569c2995ef1454581af0">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#acdf58b2cca54cbfd5aaffbc3d8d00788">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a7f94833d566301c3fecbe2640beb1508">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a841cf423ae3d712ce421e4cf767b056b">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="af67d9b139fcfb2fd5bc38d97d7a1856b"></a><!-- doxytag: member="kyotocabinet::BasicDB::path" ref="af67d9b139fcfb2fd5bc38d97d7a1856b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string kyotocabinet::BasicDB::path </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the path of the database file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the path of the database file, or an empty string on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a8e10775100c9577f54c42e4df63db169">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a4677c9c5066ab94338438bce51030ee8">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a7f8f8d5a1d93bed6f0db8221ab9c5ba7">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#ac73484d4225d2e3f888c2c4af43cfc25">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a146aacb0c8b59955b9ee52d4d3c13ac6">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a37d77c8cf7cb658983ce9da8cd36c750">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a026e2449a64b13e9c1b3f0c906310789">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="ac8807fad23476a2eb7da0c869c546727"></a><!-- doxytag: member="kyotocabinet::BasicDB::status" ref="ac8807fad23476a2eb7da0c869c546727" args="(std::map&lt; std::string, std::string &gt; *strmap)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::status </td>
          <td>(</td>
          <td class="paramtype">std::map&lt; std::string, std::string &gt; *&nbsp;</td>
          <td class="paramname"> <em>strmap</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the miscellaneous status information. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>strmap</em>&nbsp;</td><td>a string map to contain the result. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#aa1f1aa4eea1413a010154c1e66507706">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a69ed1a736a8cb34be1b15e00570f27d5">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#a1b0d75e7c29df4c7604447d1fb460318">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a1eecb3071cfc5e407c58ae47514fda38">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a92047d400162479dbc4a354ff7929912">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#ac2dd1444ce3263f41f5896f223ffc839">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#ae0060404761228e766294def6d8cb870">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="ace1d7f4a0d37c2d4e61b102bc0d0f725"></a><!-- doxytag: member="kyotocabinet::BasicDB::set" ref="ace1d7f4a0d37c2d4e61b102bc0d0f725" args="(const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::set </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>vbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>vsiz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vbuf</em>&nbsp;</td><td>the pointer to the value region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vsiz</em>&nbsp;</td><td>the size of the value region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, a new record is created. If the corresponding record exists, the value is overwritten. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a404f686394fed04af54989925c86b555">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="aceb9eb24d4664b0dc0f2734da66511c4"></a><!-- doxytag: member="kyotocabinet::BasicDB::set" ref="aceb9eb24d4664b0dc0f2734da66511c4" args="(const std::string &amp;key, const std::string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::set </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#a404f686394fed04af54989925c86b555" title="Set the value of a record.">DB::set</a> method except that the parameters are std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a35010cb7b5d738a512a50cd55bed36d4">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a330568e1a92d74bfbc38682cd8604462"></a><!-- doxytag: member="kyotocabinet::BasicDB::add" ref="a330568e1a92d74bfbc38682cd8604462" args="(const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::add </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>vbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>vsiz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vbuf</em>&nbsp;</td><td>the pointer to the value region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vsiz</em>&nbsp;</td><td>the size of the value region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, a new record is created. If the corresponding record exists, the record is not modified and false is returned. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#adc4dd6b46fe5da9f18b3b138dacea71f">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="ae917d6aa4cba62bd808121fddb4035b0"></a><!-- doxytag: member="kyotocabinet::BasicDB::add" ref="ae917d6aa4cba62bd808121fddb4035b0" args="(const std::string &amp;key, const std::string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::add </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#adc4dd6b46fe5da9f18b3b138dacea71f" title="Add a record.">DB::add</a> method except that the parameters are std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#ade9b857eaef82ff116cc4e02438a956a">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="ac1b65f395e4be9e9ef14973f564e3a48"></a><!-- doxytag: member="kyotocabinet::BasicDB::replace" ref="ac1b65f395e4be9e9ef14973f564e3a48" args="(const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::replace </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>vbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>vsiz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replace the value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vbuf</em>&nbsp;</td><td>the pointer to the value region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vsiz</em>&nbsp;</td><td>the size of the value region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, no new record is created and false is returned. If the corresponding record exists, the value is modified. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#abdffd77bbb95acf3ce805fd8dc9f7bb1">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a42fce9d48b8a3744b05fc61636fab2b1"></a><!-- doxytag: member="kyotocabinet::BasicDB::replace" ref="a42fce9d48b8a3744b05fc61636fab2b1" args="(const std::string &amp;key, const std::string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::replace </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Replace the value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#abdffd77bbb95acf3ce805fd8dc9f7bb1" title="Replace the value of a record.">DB::replace</a> method except that the parameters are std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a8697b0fddb0eda0e5e46a3927384ed3a">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a23e776e5bd1e3c5caa0f62edffb87a54"></a><!-- doxytag: member="kyotocabinet::BasicDB::append" ref="a23e776e5bd1e3c5caa0f62edffb87a54" args="(const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::append </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>vbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>vsiz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Append the value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vbuf</em>&nbsp;</td><td>the pointer to the value region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vsiz</em>&nbsp;</td><td>the size of the value region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, a new record is created. If the corresponding record exists, the given value is appended at the end of the existing value. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#abd7a961826d20e91fa43a5867534a6a8">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="aed0ebc961e906fe7fb534f917b4a9f8f"></a><!-- doxytag: member="kyotocabinet::BasicDB::append" ref="aed0ebc961e906fe7fb534f917b4a9f8f" args="(const std::string &amp;key, const std::string &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::append </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#abd7a961826d20e91fa43a5867534a6a8" title="Append the value of a record.">DB::append</a> method except that the parameters are std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#ac073545b8c7f98a6d26621c097edf626">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="addcd1fc6d593df0afbb8e311800e668d"></a><!-- doxytag: member="kyotocabinet::BasicDB::increment" ref="addcd1fc6d593df0afbb8e311800e668d" args="(const char *kbuf, size_t ksiz, int64_t num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t kyotocabinet::BasicDB::increment </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int64_t&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a number to the numeric value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>the additional number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the result value, or INT64_MIN on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a20021c698bbcbd1fb4d4c80ca19174e0">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a9de76cd3e63652dcf158b3215751ccd7"></a><!-- doxytag: member="kyotocabinet::BasicDB::increment" ref="a9de76cd3e63652dcf158b3215751ccd7" args="(const std::string &amp;key, int64_t num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t kyotocabinet::BasicDB::increment </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int64_t&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a number to the numeric value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#a20021c698bbcbd1fb4d4c80ca19174e0" title="Add a number to the numeric integer value of a record.">DB::increment</a> method except that the parameter is std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a5491ff17b57a68b6e076f12270cf2cc3">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a27824206cba908e6215582389fb3539f"></a><!-- doxytag: member="kyotocabinet::BasicDB::increment_double" ref="a27824206cba908e6215582389fb3539f" args="(const char *kbuf, size_t ksiz, double num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double kyotocabinet::BasicDB::increment_double </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a number to the numeric double value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>the additional number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the result value, or Not-a-number on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a846ea56c3f2e81382f6341e48318b423">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a5ae85dcea9a853f835bddc56dc86024a"></a><!-- doxytag: member="kyotocabinet::BasicDB::increment_double" ref="a5ae85dcea9a853f835bddc56dc86024a" args="(const std::string &amp;key, double num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double kyotocabinet::BasicDB::increment_double </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a number to the numeric double value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#a846ea56c3f2e81382f6341e48318b423" title="Add a number to the numeric double value of a record.">DB::increment_double</a> method except that the parameter is std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a8a30a90beeaa132d30b671f3d30cbf21">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a4cc551a65eed27a7905c50aac95f43db"></a><!-- doxytag: member="kyotocabinet::BasicDB::cas" ref="a4cc551a65eed27a7905c50aac95f43db" args="(const char *kbuf, size_t ksiz, const char *ovbuf, size_t ovsiz, const char *nvbuf, size_t nvsiz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::cas </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>ovbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ovsiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>nvbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>nvsiz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Perform compare-and-swap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ovbuf</em>&nbsp;</td><td>the pointer to the old value region. NULL means that no record corresponds. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ovsiz</em>&nbsp;</td><td>the size of the old value region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nvbuf</em>&nbsp;</td><td>the pointer to the new value region. NULL means that the record is removed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nvsiz</em>&nbsp;</td><td>the size of new old value region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#aabee2bb56d152806855244a7cfa2cbff">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a98f785851e346ce32049d70cdac36f51"></a><!-- doxytag: member="kyotocabinet::BasicDB::cas" ref="a98f785851e346ce32049d70cdac36f51" args="(const std::string &amp;key, const std::string &amp;ovalue, const std::string &amp;nvalue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::cas </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>ovalue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>nvalue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Perform compare-and-swap. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#aabee2bb56d152806855244a7cfa2cbff" title="Perform compare-and-swap.">DB::cas</a> method except that the parameters are std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#acaaee7f8996c3ae4ddd35ea79cc3a1e0">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a98b9a0b2337e16b79a22a97d4d96d04c"></a><!-- doxytag: member="kyotocabinet::BasicDB::remove" ref="a98b9a0b2337e16b79a22a97d4d96d04c" args="(const char *kbuf, size_t ksiz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::remove </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, false is returned. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#ac1aaa8a4954cae19764c0e6d1dba3b72">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="ac6b7b1fdab9e9288c8ff918bef8bf0b3"></a><!-- doxytag: member="kyotocabinet::BasicDB::remove" ref="ac6b7b1fdab9e9288c8ff918bef8bf0b3" args="(const std::string &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::remove </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#ac1aaa8a4954cae19764c0e6d1dba3b72" title="Remove a record.">DB::remove</a> method except that the parameter is std::string. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a2c86571eb8ded4699c50ae8f0eb44018">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a04721eb5a61876244bbc5c08e0a34c61"></a><!-- doxytag: member="kyotocabinet::BasicDB::get" ref="a04721eb5a61876244bbc5c08e0a34c61" args="(const char *kbuf, size_t ksiz, size_t *sp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* kyotocabinet::BasicDB::get </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&nbsp;</td>
          <td class="paramname"> <em>sp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sp</em>&nbsp;</td><td>the pointer to the variable into which the size of the region of the return value is assigned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the pointer to the value region of the corresponding record, or NULL on failure. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If no record corresponds to the key, NULL is returned. Because an additional zero code is appended at the end of the region of the return value, the return value can be treated as a C-style string. Because the region of the return value is allocated with the the new[] operator, it should be released with the delete[] operator when it is no longer in use. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a11fe066de448a7fb003614c5fe82a46d">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="aaeb3e8ab339c7d4bdbdfcb6bc0592a12"></a><!-- doxytag: member="kyotocabinet::BasicDB::get" ref="aaeb3e8ab339c7d4bdbdfcb6bc0592a12" args="(const std::string &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string* kyotocabinet::BasicDB::get </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the value of a record. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Equal to the original <a class="el" href="classkyotocabinet_1_1DB.html#a11fe066de448a7fb003614c5fe82a46d" title="Retrieve the value of a record.">DB::get</a> method except that the parameter and the return value are std::string. The return value should be deleted explicitly by the caller. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a239c549982878f500279380bc1a9d1b6">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="abad0525bdccdcab5b587846a69ff0fe3"></a><!-- doxytag: member="kyotocabinet::BasicDB::get" ref="abad0525bdccdcab5b587846a69ff0fe3" args="(const char *kbuf, size_t ksiz, char *vbuf, size_t max)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t kyotocabinet::BasicDB::get </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>kbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ksiz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>vbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>max</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the value of a record. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>kbuf</em>&nbsp;</td><td>the pointer to the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ksiz</em>&nbsp;</td><td>the size of the key region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vbuf</em>&nbsp;</td><td>the pointer to the buffer into which the value of the corresponding record is written. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>max</em>&nbsp;</td><td>the size of the buffer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the size of the value, or -1 on failure. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a6b22f286e891f094da7564f4a212d8f4">kyotocabinet::DB</a>.</p>

</div>
</div>
<a class="anchor" id="a15e2b3b12551cd055ec652250780147d"></a><!-- doxytag: member="kyotocabinet::BasicDB::dump_snapshot" ref="a15e2b3b12551cd055ec652250780147d" args="(std::ostream *dest, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::dump_snapshot </td>
          <td>(</td>
          <td class="paramtype">std::ostream *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dump records into a data stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the destination stream. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a39186bb54797a65ca3b642b157a4b7f0"></a><!-- doxytag: member="kyotocabinet::BasicDB::dump_snapshot" ref="a39186bb54797a65ca3b642b157a4b7f0" args="(const std::string &amp;dest, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::dump_snapshot </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dump records into a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the path of the destination file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a0845ad7a308380fc2ad9b8e70f593f3e"></a><!-- doxytag: member="kyotocabinet::BasicDB::load_snapshot" ref="a0845ad7a308380fc2ad9b8e70f593f3e" args="(std::istream *src, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::load_snapshot </td>
          <td>(</td>
          <td class="paramtype">std::istream *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load records from a data stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>the source stream. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="aef62097d8ad0f443db61fd46ef8afb0f"></a><!-- doxytag: member="kyotocabinet::BasicDB::load_snapshot" ref="aef62097d8ad0f443db61fd46ef8afb0f" args="(const std::string &amp;src, ProgressChecker *checker=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kyotocabinet::BasicDB::load_snapshot </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html">ProgressChecker</a> *&nbsp;</td>
          <td class="paramname"> <em>checker</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load records from a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>the path of the source file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checker</em>&nbsp;</td><td>a progress checker object. If it is NULL, no checking is performed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="af270fcad9cfa1dce1b661c33c07165d6"></a><!-- doxytag: member="kyotocabinet::BasicDB::cursor" ref="af270fcad9cfa1dce1b661c33c07165d6" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classkyotocabinet_1_1DB_1_1Cursor.html">Cursor</a>* kyotocabinet::BasicDB::cursor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a cursor object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the return value is the created cursor object. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Because the object of the return value is allocated by the constructor, it should be released with the delete operator when it is no longer in use. </dd></dl>

<p>Implements <a class="el" href="classkyotocabinet_1_1DB.html#a4b3050086c939eed6bd5f0fd32d3d526">kyotocabinet::DB</a>.</p>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a17e1259ddba5fc7d45185f715394c99b">kyotocabinet::CacheDB</a>, <a class="el" href="classkyotocabinet_1_1DirDB.html#a022cc78478731810c4defb3e2e055b7b">kyotocabinet::DirDB</a>, <a class="el" href="classkyotocabinet_1_1HashDB.html#af0924e24d436a6c4f827a2c0c6260f4d">kyotocabinet::HashDB</a>, <a class="el" href="classkyotocabinet_1_1PlantDB.html#a93f1873138591d62a508c0cfef53d7ba">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>, <a class="el" href="classkyotocabinet_1_1PolyDB.html#a54f983af2afab8f667d1e28595b224c2">kyotocabinet::PolyDB</a>, <a class="el" href="classkyotocabinet_1_1ProtoDB.html#a8222c60d8d58fa1a45941507dc9deba1">kyotocabinet::ProtoDB&lt; STRMAP, DBTYPE &gt;</a>, and <a class="el" href="classkyotocabinet_1_1StashDB.html#a277edca8ea85b329a13348f9784cea2e">kyotocabinet::StashDB</a>.</p>

</div>
</div>
<a class="anchor" id="a26a13dacff680288b1169a8f27d8a34b"></a><!-- doxytag: member="kyotocabinet::BasicDB::tune_logger" ref="a26a13dacff680288b1169a8f27d8a34b" args="(Logger *logger, uint32_t kinds=Logger::WARN|Logger::ERROR)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::tune_logger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html">Logger</a> *&nbsp;</td>
          <td class="paramname"> <em>logger</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>kinds</em> = <code>Logger::WARN|Logger::ERROR</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the internal logger. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>logger</em>&nbsp;</td><td>the logger object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>kinds</em>&nbsp;</td><td>kinds of logged messages by bitwise-or: <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960ac39609b521fbe09d9c41b45561b114b6" title="debugging">Logger::DEBUG</a> for debugging, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6bf810306530147894e41520a3d918b9" title="normal information">Logger::INFO</a> for normal information, <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a6a985b6bc2e4f16c3cb394a3de9972dd" title="warning">Logger::WARN</a> for warning, and <a class="el" href="classkyotocabinet_1_1BasicDB_1_1Logger.html#a8b132bbfe38dd885513c2b5e8079c960a2fc4717ffb4886b57aa5d343adf7d7ad" title="error">Logger::ERROR</a> for fatal error. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#a3b568128b2e2995c26e8e727c1124fe2">kyotocabinet::CacheDB</a>, and <a class="el" href="classkyotocabinet_1_1PlantDB.html#ab3d62373c720573e45ee5efa35db63f6">kyotocabinet::PlantDB&lt; BASEDB, DBTYPE &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a574c85f66445ba88d65bd978b63703cc"></a><!-- doxytag: member="kyotocabinet::BasicDB::tune_meta_trigger" ref="a574c85f66445ba88d65bd978b63703cc" args="(MetaTrigger *trigger)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool kyotocabinet::BasicDB::tune_meta_trigger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html">MetaTrigger</a> *&nbsp;</td>
          <td class="paramname"> <em>trigger</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the internal meta operation trigger. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>trigger</em>&nbsp;</td><td>the trigger object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, or false on failure. </dd></dl>

<p>Implemented in <a class="el" href="classkyotocabinet_1_1CacheDB.html#af2e1264b226eede61ce7788ac006ca4b">kyotocabinet::CacheDB</a>.</p>

</div>
</div>
<a class="anchor" id="afd766e0016301f256108e8dd8d316a9c"></a><!-- doxytag: member="kyotocabinet::BasicDB::typecname" ref="afd766e0016301f256108e8dd8d316a9c" args="(uint32_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const char* kyotocabinet::BasicDB::typecname </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>type</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the class name of a database type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the database type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the string of the type name. </dd></dl>

</div>
</div>
<a class="anchor" id="a7e8fd41ca7b1e3292a98030313999a31"></a><!-- doxytag: member="kyotocabinet::BasicDB::typestring" ref="a7e8fd41ca7b1e3292a98030313999a31" args="(uint32_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const char* kyotocabinet::BasicDB::typestring </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>type</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the description string of a database type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the database type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the string of the type name. </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Dec 11 01:50:27 2010 for Kyoto Cabinet by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>