<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>Kyoto Cabinet: kyotocabinet::AtomicInt64 Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Kyoto Cabinet </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.6.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main 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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespacekyotocabinet.html">kyotocabinet</a> </li> <li class="navelem"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">kyotocabinet::AtomicInt64 Class Reference</div> </div> </div><!--header--> <div class="contents"> <!-- doxytag: class="kyotocabinet::AtomicInt64" --> <p>Integer with atomic operations. <a href="classkyotocabinet_1_1AtomicInt64.html#details">More...</a></p> <p><code>#include <kcthread.h></code></p> <p><a href="classkyotocabinet_1_1AtomicInt64-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#aed5e139637bfe78839ca210ac601c752">AtomicInt64</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#aed5e139637bfe78839ca210ac601c752"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a019c063d95c87b12cd08469ad5072a54">AtomicInt64</a> (const <a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> &src)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#a019c063d95c87b12cd08469ad5072a54"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#ab6e3a1c11ba6c1defd459b3aa2e58fa6">AtomicInt64</a> (int64_t num)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#ab6e3a1c11ba6c1defd459b3aa2e58fa6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#ac53b6437083938849a8887c064a757dc">~AtomicInt64</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#ac53b6437083938849a8887c064a757dc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#affb9ed06b69f8315bfa7ad504b436e10">set</a> (int64_t val)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the new value. <a href="#affb9ed06b69f8315bfa7ad504b436e10"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a83ea94d20cb18e5a6219051b3283942b">add</a> (int64_t val)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a value. <a href="#a83ea94d20cb18e5a6219051b3283942b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a99c6226f34de492b3826cd6e61954dda">cas</a> (int64_t oval, int64_t nval)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform compare-and-swap. <a href="#a99c6226f34de492b3826cd6e61954dda"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a9af41b01111cd5dbd11394fc1a502c4d">get</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current value. <a href="#a9af41b01111cd5dbd11394fc1a502c4d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a0f6e7cad92cb54d71e49375a323a0492">operator=</a> (const <a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> &right)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator from the self type. <a href="#a0f6e7cad92cb54d71e49375a323a0492"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#ac2b46f9a816e7e806716b54639ed1ffc">operator=</a> (const int64_t &right)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator from integer. <a href="#ac2b46f9a816e7e806716b54639ed1ffc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#ae2f182d846df17b957e00ae026006436">operator int64_t</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cast operator to integer. <a href="#ae2f182d846df17b957e00ae026006436"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a4ed7006622dcdbbe8bdd00cc5826a74f">operator+=</a> (int64_t right)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Summation assignment operator by integer. <a href="#a4ed7006622dcdbbe8bdd00cc5826a74f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a4b465a8aff03775f93afee5e7d3344f6">operator-=</a> (int64_t right)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Subtraction assignment operator by integer. <a href="#a4b465a8aff03775f93afee5e7d3344f6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#af437a859e9e80879ff88ad1ed08587a5">secure_least</a> (int64_t val)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Secure the least value. <a href="#af437a859e9e80879ff88ad1ed08587a5"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Integer with atomic operations. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aed5e139637bfe78839ca210ac601c752"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::AtomicInt64" ref="aed5e139637bfe78839ca210ac601c752" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#aed5e139637bfe78839ca210ac601c752">kyotocabinet::AtomicInt64::AtomicInt64</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default constructor. </p> </div> </div> <a class="anchor" id="a019c063d95c87b12cd08469ad5072a54"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::AtomicInt64" ref="a019c063d95c87b12cd08469ad5072a54" args="(const AtomicInt64 &src)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#aed5e139637bfe78839ca210ac601c752">kyotocabinet::AtomicInt64::AtomicInt64</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> & </td> <td class="paramname"><em>src</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Copy constructor. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>the source object. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ab6e3a1c11ba6c1defd459b3aa2e58fa6"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::AtomicInt64" ref="ab6e3a1c11ba6c1defd459b3aa2e58fa6" args="(int64_t num)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#aed5e139637bfe78839ca210ac601c752">kyotocabinet::AtomicInt64::AtomicInt64</a> </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>num</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">num</td><td>the initial value. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac53b6437083938849a8887c064a757dc"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::~AtomicInt64" ref="ac53b6437083938849a8887c064a757dc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html#ac53b6437083938849a8887c064a757dc">kyotocabinet::AtomicInt64::~AtomicInt64</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="affb9ed06b69f8315bfa7ad504b436e10"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::set" ref="affb9ed06b69f8315bfa7ad504b436e10" args="(int64_t val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int64_t <a class="el" href="classkyotocabinet_1_1AtomicInt64.html#affb9ed06b69f8315bfa7ad504b436e10">kyotocabinet::AtomicInt64::set</a> </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>val</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the new value. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">val</td><td>the new value. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the old value. </dd></dl> </div> </div> <a class="anchor" id="a83ea94d20cb18e5a6219051b3283942b"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::add" ref="a83ea94d20cb18e5a6219051b3283942b" args="(int64_t val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int64_t <a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a83ea94d20cb18e5a6219051b3283942b">kyotocabinet::AtomicInt64::add</a> </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>val</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a value. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">val</td><td>the additional value. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the old value. </dd></dl> </div> </div> <a class="anchor" id="a99c6226f34de492b3826cd6e61954dda"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::cas" ref="a99c6226f34de492b3826cd6e61954dda" args="(int64_t oval, int64_t nval)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a99c6226f34de492b3826cd6e61954dda">kyotocabinet::AtomicInt64::cas</a> </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>oval</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int64_t </td> <td class="paramname"><em>nval</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Perform compare-and-swap. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">oval</td><td>the old value. </td></tr> <tr><td class="paramname">nval</td><td>the new value. </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="a9af41b01111cd5dbd11394fc1a502c4d"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::get" ref="a9af41b01111cd5dbd11394fc1a502c4d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int64_t <a class="el" href="classkyotocabinet_1_1AtomicInt64.html#a9af41b01111cd5dbd11394fc1a502c4d">kyotocabinet::AtomicInt64::get</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the current value. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>the current value. </dd></dl> </div> </div> <a class="anchor" id="a0f6e7cad92cb54d71e49375a323a0492"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::operator=" ref="a0f6e7cad92cb54d71e49375a323a0492" args="(const AtomicInt64 &right)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a>& kyotocabinet::AtomicInt64::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> & </td> <td class="paramname"><em>right</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Assignment operator from the self type. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">right</td><td>the right operand. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the reference to itself. </dd></dl> </div> </div> <a class="anchor" id="ac2b46f9a816e7e806716b54639ed1ffc"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::operator=" ref="ac2b46f9a816e7e806716b54639ed1ffc" args="(const int64_t &right)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a>& kyotocabinet::AtomicInt64::operator= </td> <td>(</td> <td class="paramtype">const int64_t & </td> <td class="paramname"><em>right</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Assignment operator from integer. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">right</td><td>the right operand. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the reference to itself. </dd></dl> </div> </div> <a class="anchor" id="ae2f182d846df17b957e00ae026006436"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::operator int64_t" ref="ae2f182d846df17b957e00ae026006436" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">kyotocabinet::AtomicInt64::operator int64_t </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Cast operator to integer. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>the current value. </dd></dl> </div> </div> <a class="anchor" id="a4ed7006622dcdbbe8bdd00cc5826a74f"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::operator+=" ref="a4ed7006622dcdbbe8bdd00cc5826a74f" args="(int64_t right)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a>& kyotocabinet::AtomicInt64::operator+= </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>right</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Summation assignment operator by integer. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">right</td><td>the right operand. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the reference to itself. </dd></dl> </div> </div> <a class="anchor" id="a4b465a8aff03775f93afee5e7d3344f6"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::operator-=" ref="a4b465a8aff03775f93afee5e7d3344f6" args="(int64_t right)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a>& kyotocabinet::AtomicInt64::operator-= </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>right</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Subtraction assignment operator by integer. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">right</td><td>the right operand. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the reference to itself. </dd></dl> </div> </div> <a class="anchor" id="af437a859e9e80879ff88ad1ed08587a5"></a><!-- doxytag: member="kyotocabinet::AtomicInt64::secure_least" ref="af437a859e9e80879ff88ad1ed08587a5" args="(int64_t val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int64_t <a class="el" href="classkyotocabinet_1_1AtomicInt64.html#af437a859e9e80879ff88ad1ed08587a5">kyotocabinet::AtomicInt64::secure_least</a> </td> <td>(</td> <td class="paramtype">int64_t </td> <td class="paramname"><em>val</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Secure the least value. </p> <dl class="params"><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">val</td><td>the least value </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the current value. </dd></dl> </div> </div> </div><!-- contents --> <hr class="footer"/><address class="footer"><small> Generated on Fri May 25 2012 01:21:36 for Kyoto Cabinet by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.7.6.1 </small></address> </body> </html>