English
Kamil Dudka

Share Library (C++)

Detail souboru

Jméno:StáhnoutclassShare_1_1SharedObject.html [Stáhnout]
Umístění: sharelib > api
Velikost:18.4 KB
Poslední změna:2022-09-09 13:06

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::SharedObject 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&nbsp;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&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</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="nav">
<a class="el" href="namespaceShare.html">Share</a>::<a class="el" href="classShare_1_1SharedObject.html">SharedObject</a></div>
<h1>Share::SharedObject Class Reference<br>
<small>
[<a class="el" href="group__core.html">Core library classes</a>]</small>
</h1><!-- doxytag: class="Share::SharedObject" -->Shareable object <b>base</b> <b>class</b>.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="sharelib_8h-source.html">sharelib.h</a>&gt;</code>
<p>
Inheritance diagram for Share::SharedObject:<p><center><img src="classShare_1_1SharedObject__inherit__graph.png" border="0" usemap="#Share_1_1SharedObject__inherit__map" alt="Inheritance graph"></center>
<map name="Share_1_1SharedObject__inherit__map">
<area shape="rect" href="classShare_1_1RelocPtr.html" title="Relocable pointer type." alt="" coords="6,80,174,107"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classShare_1_1SharedObject-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#9904976649f43ebff33161352f1a2bb6">operator new</a> (size_t size)  throw (ShareException)</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#a17cf35fdefcbf1f0e3839d7ee420cd4">operator new[]</a> (size_t size)  throw (ShareException)</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#2d2cb37fccdfd8e577aa30de9cd93716">operator delete</a> (void *addr, size_t)  throw ()</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#187eca9cef72c40f92d3191f203a342f">operator delete[]</a> (void *addr, size_t)  throw ()</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#9cbd4718acbcf4acfb0200da53dd901b">alloc</a> (size_t size)  throw (ShareException)</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#c701f606810daf91df59ca8c2d296aa9">alloc</a> (size_t size, size_t count)  throw (ShareException)</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#e3d21ebb81a40f59799c320bbf61cae2">free</a> (void *addr)  throw ()</td></tr>
 
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#a1e9b0abd3f83edf7144258bcf199e8c">SharedObject</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is base class only and could not be instantiated direct.  <a href="#a1e9b0abd3f83edf7144258bcf199e8c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classShare_1_1SharedObject.html#4bbc5942b4cb3e2a8f9b79732fe939eb">~SharedObject</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is base class only and could not be deleted direct.  <a href="#4bbc5942b4cb3e2a8f9b79732fe939eb"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Shareable object <b>base</b> <b>class</b>. 
<p>
It overload operators <b>new</b> and <b>delete</b> for derived class. 
<p>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00346">346</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a1e9b0abd3f83edf7144258bcf199e8c"></a><!-- doxytag: member="Share::SharedObject::SharedObject" ref="a1e9b0abd3f83edf7144258bcf199e8c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Share::SharedObject::SharedObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
This is base class only and could not be instantiated direct. 
<p>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00413">413</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
</div>
</div><p>
<a class="anchor" name="4bbc5942b4cb3e2a8f9b79732fe939eb"></a><!-- doxytag: member="Share::SharedObject::~SharedObject" ref="4bbc5942b4cb3e2a8f9b79732fe939eb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Share::SharedObject::~SharedObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
This is base class only and could not be deleted direct. 
<p>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00414">414</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="9904976649f43ebff33161352f1a2bb6"></a><!-- doxytag: member="Share::SharedObject::operator new" ref="9904976649f43ebff33161352f1a2bb6" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* Share::SharedObject::operator new           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Overloaded operator new <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>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00352">352</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="sharelib_8h-source.html#l00388">alloc()</a>.
</div>
</div><p>
<a class="anchor" name="a17cf35fdefcbf1f0e3839d7ee420cd4"></a><!-- doxytag: member="Share::SharedObject::operator new[]" ref="a17cf35fdefcbf1f0e3839d7ee420cd4" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* Share::SharedObject::operator new[]           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Overloaded operator new[] <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>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00361">361</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="sharelib_8h-source.html#l00388">alloc()</a>.
</div>
</div><p>
<a class="anchor" name="2d2cb37fccdfd8e577aa30de9cd93716"></a><!-- doxytag: member="Share::SharedObject::operator delete" ref="2d2cb37fccdfd8e577aa30de9cd93716" args="(void *addr, size_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void Share::SharedObject::operator delete           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%">  throw ()<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Overloaded opeartor delete 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00369">369</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="sharelib_8h-source.html#l00407">free()</a>.
</div>
</div><p>
<a class="anchor" name="187eca9cef72c40f92d3191f203a342f"></a><!-- doxytag: member="Share::SharedObject::operator delete[]" ref="187eca9cef72c40f92d3191f203a342f" args="(void *addr, size_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void Share::SharedObject::operator delete[]           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%">  throw ()<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Overloaded operator delete[] 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00377">377</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="sharelib_8h-source.html#l00407">free()</a>.
</div>
</div><p>
<a class="anchor" name="9cbd4718acbcf4acfb0200da53dd901b"></a><!-- doxytag: member="Share::SharedObject::alloc" ref="9cbd4718acbcf4acfb0200da53dd901b" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* Share::SharedObject::alloc           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Allocate block of memory inside shared segment. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Desired size of block to allocate. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return local address of allocated block on success. </dd></dl>
<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>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00388">388</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="classShare_1_1ShareManager.html#9a3f4b7db3b1e9150b3288e7ff5d996a">Share::ShareManager::instance()</a>.
<p>
Referenced by <a class="el" href="sharelib_8h-source.html#l00398">alloc()</a>, <a class="el" href="sharelib_8h-source.html#l00352">operator new()</a>, and <a class="el" href="sharelib_8h-source.html#l00361">operator new[]()</a>.
</div>
</div><p>
<a class="anchor" name="c701f606810daf91df59ca8c2d296aa9"></a><!-- doxytag: member="Share::SharedObject::alloc" ref="c701f606810daf91df59ca8c2d296aa9" args="(size_t size, size_t count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* Share::SharedObject::alloc           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%">  throw (<a class="el" href="classShare_1_1ShareException.html">ShareException</a>)<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Allocate block of memory inside shared segment. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Desired size of block to allocate. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return local address of allocated block on success. </dd></dl>
<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>&nbsp;</td><td>Library-specific exception derived from std::bad_alloc </td></tr>
  </table>
</dl>
 <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Objects count to allocate. </td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Used for STL allocator. </dd></dl>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00398">398</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="sharelib_8h-source.html#l00388">alloc()</a>.
</div>
</div><p>
<a class="anchor" name="e3d21ebb81a40f59799c320bbf61cae2"></a><!-- doxytag: member="Share::SharedObject::free" ref="e3d21ebb81a40f59799c320bbf61cae2" args="(void *addr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void Share::SharedObject::free           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>addr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">  throw ()<code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Free block of memory previously allocated by <a class="el" href="classShare_1_1SharedObject.html#9cbd4718acbcf4acfb0200da53dd901b">alloc()</a> method. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>addr</em>&nbsp;</td><td>Address of block returned by <a class="el" href="classShare_1_1SharedObject.html#9cbd4718acbcf4acfb0200da53dd901b">alloc()</a> method. </td></tr>
  </table>
</dl>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>All attached application may crash if this method is called with invalid address as parameter </dd></dl>
 
<p>
Definition at line <a class="el" href="sharelib_8h-source.html#l00407">407</a> of file <a class="el" href="sharelib_8h-source.html">sharelib.h</a>.
<p>
References <a class="el" href="classShare_1_1ShareManager.html#9a3f4b7db3b1e9150b3288e7ff5d996a">Share::ShareManager::instance()</a>.
<p>
Referenced by <a class="el" href="sharelib_8h-source.html#l00369">operator delete()</a>, and <a class="el" href="sharelib_8h-source.html#l00377">operator delete[]()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>sharelib/<a class="el" href="sharelib_8h-source.html">sharelib.h</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Aug 26 17:43:03 2007 for ShareLibrary by&nbsp;
<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>