Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 425

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPQC: sc::MemoryGrpBuf&lt; data_t &gt; Class Template 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.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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="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"><b>sc</b>::<a class="el" href="classsc_1_1MemoryGrpBuf.html">MemoryGrpBuf</a>
  </div>
</div>
<div class="contents">
<h1>sc::MemoryGrpBuf&lt; data_t &gt; Class Template Reference</h1><!-- doxytag: class="sc::MemoryGrpBuf" -->The <a class="el" href="classsc_1_1MemoryGrpBuf.html" title="The MemoryGrpBuf class provides access to pieces of the global shared memory that...">MemoryGrpBuf</a> class provides access to pieces of the global shared memory that have been obtained with <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a>.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="memory_8h_source.html">memory.h</a>&gt;</code>
<p>

<p>
<a href="classsc_1_1MemoryGrpBuf-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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#abdd09a39ba4f22a0ca295fb3d4c4b5d">MemoryGrpBuf</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1MemoryGrp.html">MemoryGrp</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classsc_1_1MemoryGrpBuf.html" title="The MemoryGrpBuf class provides access to pieces of the global shared memory that...">MemoryGrpBuf</a> given a <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a> reference.  <a href="#abdd09a39ba4f22a0ca295fb3d4c4b5d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#ce536f26e642f09eac0e31a8b81b10a5">writeonly</a> (distsize_t offset, int length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request write only access to global memory at the global address offset and with size length.  <a href="#ce536f26e642f09eac0e31a8b81b10a5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#7f070fd74eeacf3f9f77ed929994cf7f">readwrite</a> (distsize_t offset, int length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request read write access to global memory at the global address offset and with size length.  <a href="#7f070fd74eeacf3f9f77ed929994cf7f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#aba979ed25ec96c2771beea923f345d7">readonly</a> (distsize_t offset, int length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request read only access to global memory at the global address offset and with size length.  <a href="#aba979ed25ec96c2771beea923f345d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#c7045040edf4d6ec71aefeb8f01994a8">writeonly_on_node</a> (size_t offset, int length, int node=-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node.  <a href="#c7045040edf4d6ec71aefeb8f01994a8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1982fd4a006467106ac2ca806ae5d3c6"></a><!-- doxytag: member="sc::MemoryGrpBuf::readwrite_on_node" ref="1982fd4a006467106ac2ca806ae5d3c6" args="(size_t offset, int length, int node=&#45;1)" -->
data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>readwrite_on_node</b> (size_t offset, int length, int node=-1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b59bdcda1bb550b3c1b5dedbe4888a8"></a><!-- doxytag: member="sc::MemoryGrpBuf::readonly_on_node" ref="7b59bdcda1bb550b3c1b5dedbe4888a8" args="(size_t offset, int length, int node=&#45;1)" -->
const data_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>readonly_on_node</b> (size_t offset, int length, int node=-1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#a7389d8fc9ec334db770be2b254a2300">release</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release the access to the chunk of global memory that was obtained with writeonly, readwrite, readonly, writeonly_on_node, readwrite_on_node, and readonly_on_node.  <a href="#a7389d8fc9ec334db770be2b254a2300"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03d557a160399d3d73009a6c92f3d8c5"></a><!-- doxytag: member="sc::MemoryGrpBuf::length" ref="03d557a160399d3d73009a6c92f3d8c5" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1MemoryGrpBuf.html#03d557a160399d3d73009a6c92f3d8c5">length</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of the current bit of memory. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class data_t&gt;<br>
 class sc::MemoryGrpBuf&lt; data_t &gt;</h3>

The <a class="el" href="classsc_1_1MemoryGrpBuf.html" title="The MemoryGrpBuf class provides access to pieces of the global shared memory that...">MemoryGrpBuf</a> class provides access to pieces of the global shared memory that have been obtained with <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a>. 
<p>
<a class="el" href="classsc_1_1MemoryGrpBuf.html" title="The MemoryGrpBuf class provides access to pieces of the global shared memory that...">MemoryGrpBuf</a> is a template class that is parameterized on data_t. All lengths and offsets of given in terms of sizeof(data_t). <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="abdd09a39ba4f22a0ca295fb3d4c4b5d"></a><!-- doxytag: member="sc::MemoryGrpBuf::MemoryGrpBuf" ref="abdd09a39ba4f22a0ca295fb3d4c4b5d" args="(const Ref&lt; MemoryGrp &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class data_t &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classsc_1_1MemoryGrpBuf.html">sc::MemoryGrpBuf</a>&lt; data_t &gt;::<a class="el" href="classsc_1_1MemoryGrpBuf.html">MemoryGrpBuf</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1MemoryGrp.html">MemoryGrp</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>grp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a new <a class="el" href="classsc_1_1MemoryGrpBuf.html" title="The MemoryGrpBuf class provides access to pieces of the global shared memory that...">MemoryGrpBuf</a> given a <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a> reference. 
<p>
This is a template class parameterized on data_t. 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="aba979ed25ec96c2771beea923f345d7"></a><!-- doxytag: member="sc::MemoryGrpBuf::readonly" ref="aba979ed25ec96c2771beea923f345d7" args="(distsize_t offset, int length)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class data_t &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const data_t * <a class="el" href="classsc_1_1MemoryGrpBuf.html">sc::MemoryGrpBuf</a>&lt; data_t &gt;::readonly           </td>
          <td>(</td>
          <td class="paramtype">distsize_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Request read only access to global memory at the global address offset and with size length. 
<p>
Writing to the specified region without an intervening sync of the <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a> will have undefined results. 
<p>References <a class="el" href="memory_8h_source.html#l00369">sc::MemoryGrpBuf&lt; data_t &gt;::release()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f070fd74eeacf3f9f77ed929994cf7f"></a><!-- doxytag: member="sc::MemoryGrpBuf::readwrite" ref="7f070fd74eeacf3f9f77ed929994cf7f" args="(distsize_t offset, int length)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class data_t &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">data_t * <a class="el" href="classsc_1_1MemoryGrpBuf.html">sc::MemoryGrpBuf</a>&lt; data_t &gt;::readwrite           </td>
          <td>(</td>
          <td class="paramtype">distsize_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Request read write access to global memory at the global address offset and with size length. 
<p>
This will lock the memory it uses until release is called unless locking has been turned off in the <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a> object. 
<p>References <a class="el" href="memory_8h_source.html#l00369">sc::MemoryGrpBuf&lt; data_t &gt;::release()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a7389d8fc9ec334db770be2b254a2300"></a><!-- doxytag: member="sc::MemoryGrpBuf::release" ref="a7389d8fc9ec334db770be2b254a2300" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class data_t &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classsc_1_1MemoryGrpBuf.html">sc::MemoryGrpBuf</a>&lt; data_t &gt;::release           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Release the access to the chunk of global memory that was obtained with writeonly, readwrite, readonly, writeonly_on_node, readwrite_on_node, and readonly_on_node. 
<p>

<p>Referenced by <a class="el" href="memory_8h_source.html#l00332">sc::MemoryGrpBuf&lt; data_t &gt;::readonly()</a>, <a class="el" href="memory_8h_source.html#l00319">sc::MemoryGrpBuf&lt; data_t &gt;::readwrite()</a>, and <a class="el" href="memory_8h_source.html#l00306">sc::MemoryGrpBuf&lt; data_t &gt;::writeonly()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ce536f26e642f09eac0e31a8b81b10a5"></a><!-- doxytag: member="sc::MemoryGrpBuf::writeonly" ref="ce536f26e642f09eac0e31a8b81b10a5" args="(distsize_t offset, int length)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class data_t &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">data_t * <a class="el" href="classsc_1_1MemoryGrpBuf.html">sc::MemoryGrpBuf</a>&lt; data_t &gt;::writeonly           </td>
          <td>(</td>
          <td class="paramtype">distsize_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Request write only access to global memory at the global address offset and with size length. 
<p>
Writing the same bit of memory twice without an intervening sync of the <a class="el" href="classsc_1_1MemoryGrp.html" title="The MemoryGrp abstract class provides a way of accessing distributed memory in a...">MemoryGrp</a> will have undefined results. 
<p>References <a class="el" href="memory_8h_source.html#l00369">sc::MemoryGrpBuf&lt; data_t &gt;::release()</a>.</p>

<p>Referenced by <a class="el" href="memory_8h_source.html#l00345">sc::MemoryGrpBuf&lt; data_t &gt;::writeonly_on_node()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c7045040edf4d6ec71aefeb8f01994a8"></a><!-- doxytag: member="sc::MemoryGrpBuf::writeonly_on_node" ref="c7045040edf4d6ec71aefeb8f01994a8" args="(size_t offset, int length, int node=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class data_t &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">data_t * <a class="el" href="classsc_1_1MemoryGrpBuf.html">sc::MemoryGrpBuf</a>&lt; data_t &gt;::writeonly_on_node           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>node</em> = <code>-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node. 
<p>
If node = -1, then the local node is used. 
<p>References <a class="el" href="memory_8h_source.html#l00306">sc::MemoryGrpBuf&lt; data_t &gt;::writeonly()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="memory_8h_source.html">memory.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:16 2009 for <a
href="http://www.mpqc.org">MPQC</a>
2.3.1 using the documentation package <a
href="http://www.doxygen.org">Doxygen</a>
1.5.9.

</small>
</address>
</body>
</html>