Share Library (C++)
Detail souboru
Zdrojový kód
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ShareLibrary: Share::DefaultRefCounter Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.2 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</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>
<li><a href="pages.html"><span>Related Pages</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class List</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="nav">
<a class="el" href="namespaceShare.html">Share</a>::<a class="el" href="classShare_1_1DefaultRefCounter.html">DefaultRefCounter</a></div>
<h1>Share::DefaultRefCounter Class Reference<br>
<small>
[<a class="el" href="group__backend.html">Internal library classes</a>]</small>
</h1><!-- doxytag: class="Share::DefaultRefCounter" -->Reference counter for shared segment.
<a href="#_details">More...</a>
<p>
<code>#include <<a class="el" href="DefaultRefCounter_8h-source.html">DefaultRefCounter.h</a>></code>
<p>
<a href="classShare_1_1DefaultRefCounter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#f945a351558328effc2f8aefa88fc36b">DefaultRefCounter</a> () throw (ShareException)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#7156f84d3fd55cecffc1048faffd7a69">~DefaultRefCounter</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#c2cb8806adb7a346016e13db2ed253a9">notifyAttach</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#5bbd50ee39c7e65d4fd75da6dcb0f569">notifyDetach</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#1405a003d86e36bfc376c3b12e2c8d79">refCount</a> () const</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#e4bb998e231eb8434526c6edadac85f5">unlink</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#2db6771e98812d38d6fd308f1502daa5">isUnlinked</a> () const</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1DefaultRefCounter.html#6d360308e958abde5e666e0bf59f8a98">shouldBeDestroyed</a> () const</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Reference counter for shared segment.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This class can be replaced with more efficient class with equivalet interface by changing <a class="el" href="namespaceShare.html#a154be94e58d198527ec2a5f2aa3ee36" title="Change this typedef to use another reference counter.">Share::TSegmentRefCounter</a> </dd></dl>
<p>
<p>
Definition at line <a class="el" href="DefaultRefCounter_8h-source.html#l00021">21</a> of file <a class="el" href="DefaultRefCounter_8h-source.html">DefaultRefCounter.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="f945a351558328effc2f8aefa88fc36b"></a><!-- doxytag: member="Share::DefaultRefCounter::DefaultRefCounter" ref="f945a351558328effc2f8aefa88fc36b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Share::DefaultRefCounter::DefaultRefCounter </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classShare_1_1ShareException.html" title="General exception carrying text message inside.">ShareException</a></em> </td><td>Library-specific exception derived from std::bad_alloc </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="7156f84d3fd55cecffc1048faffd7a69"></a><!-- doxytag: member="Share::DefaultRefCounter::~DefaultRefCounter" ref="7156f84d3fd55cecffc1048faffd7a69" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Share::DefaultRefCounter::~DefaultRefCounter </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="c2cb8806adb7a346016e13db2ed253a9"></a><!-- doxytag: member="Share::DefaultRefCounter::notifyAttach" ref="c2cb8806adb7a346016e13db2ed253a9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Share::DefaultRefCounter::notifyAttach </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Client attach notification. This increase reference count.
</div>
</div><p>
<a class="anchor" name="5bbd50ee39c7e65d4fd75da6dcb0f569"></a><!-- doxytag: member="Share::DefaultRefCounter::notifyDetach" ref="5bbd50ee39c7e65d4fd75da6dcb0f569" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Share::DefaultRefCounter::notifyDetach </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Client detach notification. This decrease reference count.
</div>
</div><p>
<a class="anchor" name="1405a003d86e36bfc376c3b12e2c8d79"></a><!-- doxytag: member="Share::DefaultRefCounter::refCount" ref="1405a003d86e36bfc376c3b12e2c8d79" args="() const" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Share::DefaultRefCounter::refCount </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return current count of references. </dd></dl>
</div>
</div><p>
<a class="anchor" name="e4bb998e231eb8434526c6edadac85f5"></a><!-- doxytag: member="Share::DefaultRefCounter::unlink" ref="e4bb998e231eb8434526c6edadac85f5" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Share::DefaultRefCounter::unlink </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Mark segment to be destroyed.
</div>
</div><p>
<a class="anchor" name="2db6771e98812d38d6fd308f1502daa5"></a><!-- doxytag: member="Share::DefaultRefCounter::isUnlinked" ref="2db6771e98812d38d6fd308f1502daa5" args="() const" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Share::DefaultRefCounter::isUnlinked </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return true if segment is marked to be destroyed. </dd></dl>
</div>
</div><p>
<a class="anchor" name="6d360308e958abde5e666e0bf59f8a98"></a><!-- doxytag: member="Share::DefaultRefCounter::shouldBeDestroyed" ref="6d360308e958abde5e666e0bf59f8a98" args="() const" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Share::DefaultRefCounter::shouldBeDestroyed </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return true if segment should be destroyed. This means, segment is unlinked and references count is zero. </dd></dl>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>sharelib/<a class="el" href="DefaultRefCounter_8h-source.html">DefaultRefCounter.h</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Aug 26 17:43:02 2007 for ShareLibrary by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
</body>
</html>