<!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::AtomicInt64 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 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 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 class="navpath"><a class="el" href="namespacekyotocabinet.html">kyotocabinet</a>::<a class="el" href="classkyotocabinet_1_1AtomicInt64.html">AtomicInt64</a> </div> </div> <div class="contents"> <h1>kyotocabinet::AtomicInt64 Class Reference</h1><!-- doxytag: class="kyotocabinet::AtomicInt64" --> <p>Integer with atomic operations. <a href="#_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 border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>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"></a><h2>Detailed Description</h2> <p>Integer with atomic operations. </p> <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">kyotocabinet::AtomicInt64::AtomicInt64 </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">kyotocabinet::AtomicInt64::AtomicInt64 </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>src</em> </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">kyotocabinet::AtomicInt64::AtomicInt64 </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>num</em> </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">kyotocabinet::AtomicInt64::~AtomicInt64 </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 kyotocabinet::AtomicInt64::set </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>val</em> </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 kyotocabinet::AtomicInt64::add </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>val</em> </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 kyotocabinet::AtomicInt64::cas </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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></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>oval</em> </td><td>the old value. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nval</em> </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 kyotocabinet::AtomicInt64::get </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>right</em> </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>right</em> </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>right</em> </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>right</em> </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 kyotocabinet::AtomicInt64::secure_least </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><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>val</em> </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> <hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Dec 11 01:50:27 2010 for Kyoto Cabinet by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>