Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 263386785cefb9ae5d63b926d214d809 > files > 931

mpqc-2.1.2-4mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>comptmpl.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:16:36 2002 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>comptmpl.h</h1><div class="fragment"><pre>00001 <font class="comment">//</font>
00002 <font class="comment">// comptmpl.h</font>
00003 <font class="comment">//</font>
00004 <font class="comment">// Copyright (C) 1996 Limit Point Systems, Inc.</font>
00005 <font class="comment">//</font>
00006 <font class="comment">// Author: Curtis Janssen &lt;cljanss@limitpt.com&gt;</font>
00007 <font class="comment">// Maintainer: LPS</font>
00008 <font class="comment">//</font>
00009 <font class="comment">// This file is part of the SC Toolkit.</font>
00010 <font class="comment">//</font>
00011 <font class="comment">// The SC Toolkit is free software; you can redistribute it and/or modify</font>
00012 <font class="comment">// it under the terms of the GNU Library General Public License as published by</font>
00013 <font class="comment">// the Free Software Foundation; either version 2, or (at your option)</font>
00014 <font class="comment">// any later version.</font>
00015 <font class="comment">//</font>
00016 <font class="comment">// The SC Toolkit is distributed in the hope that it will be useful,</font>
00017 <font class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</font>
00018 <font class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</font>
00019 <font class="comment">// GNU Library General Public License for more details.</font>
00020 <font class="comment">//</font>
00021 <font class="comment">// You should have received a copy of the GNU Library General Public License</font>
00022 <font class="comment">// along with the SC Toolkit; see the file COPYING.LIB.  If not, write to</font>
00023 <font class="comment">// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.</font>
00024 <font class="comment">//</font>
00025 <font class="comment">// The U.S. Government is granted a limited license as per AL 91-7.</font>
00026 <font class="comment">//</font>
00027 
00028 <font class="keyword">namespace </font>sc {
00029 
00034 template &lt;class T&gt;
<a name="l00035"></a><a class="code" href="class_sc__Result.html">00035</a> <font class="keyword">class </font>Result: <font class="keyword">public</font> ResultInfo {
00036   <font class="keyword">private</font>:
00037     T _result;
00038   <font class="keyword">public</font>:
00039     Result(Compute*c):ResultInfo(c)<font class="keyword"> </font>{};
00040     Result(<font class="keyword">const</font> Result&lt;T&gt; &amp;r, Compute*c):ResultInfo(c)<font class="keyword"></font>
00041 <font class="keyword">    </font>{ _result=r._result; }
00042     operator T&amp;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00043     T* operator -&gt;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> &amp;_result; };
00044     T&amp; result()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00045     T&amp; result_noupdate()<font class="keyword"> </font>{ <font class="keywordflow">return</font> _result; };
00046     <font class="keyword">const</font> T&amp; result_noupdate()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> _result; };
00047     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> T&amp; a)<font class="keyword"> </font>{ _result = a; }
00048     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> Result&lt;T&gt; &amp;r)<font class="keyword"></font>
00049 <font class="keyword">       </font>{ ResultInfo::operator=(r); _result = r._result; };
00050 };
00051 
00054 template &lt;class T&gt;
<a name="l00055"></a><a class="code" href="class_sc__NCResult.html">00055</a> <font class="keyword">class </font>NCResult: <font class="keyword">public</font> ResultInfo {
00056   <font class="keyword">private</font>:
00057     T _result;
00058   <font class="keyword">public</font>:
00059     NCResult(Compute*c):ResultInfo(c)<font class="keyword"> </font>{};
00060     NCResult(<font class="keyword">const</font> NCResult&lt;T&gt; &amp;r, Compute*c):ResultInfo(c)<font class="keyword"></font>
00061 <font class="keyword">    </font>{ _result=r._result; }
00062     operator T&amp;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00063     T&amp; result()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00064     T&amp; result_noupdate()<font class="keyword"> </font>{ <font class="keywordflow">return</font> _result; };
00065     <font class="keyword">const</font> T&amp; result_noupdate()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> _result; };
00066     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> T&amp; a)<font class="keyword"> </font>{ _result = a; }
00067     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> NCResult&lt;T&gt; &amp;r)<font class="keyword"></font>
00068 <font class="keyword">       </font>{ ResultInfo::operator=(r); _result = r._result; };
00069 };
00070 
00073 template &lt;class T&gt;
<a name="l00074"></a><a class="code" href="class_sc__AccResult.html">00074</a> <font class="keyword">class </font>AccResult: <font class="keyword">public</font> AccResultInfo {
00075   <font class="keyword">private</font>:
00076     T _result;
00077   <font class="keyword">public</font>:
00078     AccResult(Compute*c):AccResultInfo(c)<font class="keyword"> </font>{};
00079     AccResult(<font class="keyword">const</font> AccResult&lt;T&gt; &amp;r, Compute*c):AccResultInfo(c)<font class="keyword"></font>
00080 <font class="keyword">    </font>{ _result=r._result; }
00081     operator T&amp;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00082     T* operator -&gt;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> &amp;_result; };
00083     T&amp; result()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00084     T&amp; result_noupdate()<font class="keyword"> </font>{ <font class="keywordflow">return</font> _result; };
00085     <font class="keyword">const</font> T&amp; result_noupdate()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> _result; };
00086     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> T&amp; a)<font class="keyword"> </font>{ _result = a; }
00087     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> AccResult&lt;T&gt; &amp;r)<font class="keyword"></font>
00088 <font class="keyword">       </font>{ AccResultInfo::operator=(r); _result = r._result; };
00089     <font class="keywordtype">void</font> restore_state(StateIn&amp;s)<font class="keyword"> </font>{
00090       AccResultInfo::restore_state(s);
00091     }
00092     <font class="keywordtype">void</font> save_data_state(StateOut&amp;s)<font class="keyword"></font>
00093 <font class="keyword">    </font>{
00094       AccResultInfo::save_data_state(s);
00095     }
00096     AccResult(StateIn&amp;s,Compute*c): AccResultInfo(s,c)<font class="keyword"> </font>{}
00097 };
00098 
00101 template &lt;class T&gt;
<a name="l00102"></a><a class="code" href="class_sc__SSAccResult.html">00102</a> <font class="keyword">class </font>SSAccResult: <font class="keyword">public</font> AccResultInfo {
00103   <font class="keyword">private</font>:
00104     T _result;
00105   <font class="keyword">public</font>:
00106     SSAccResult(Compute*c):AccResultInfo(c)<font class="keyword"> </font>{};
00107     SSAccResult(<font class="keyword">const</font> SSAccResult&lt;T&gt; &amp;r, Compute*c):AccResultInfo(c)<font class="keyword"></font>
00108 <font class="keyword">    </font>{ _result=r._result; }
00109     operator T&amp;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00110     T* operator -&gt;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> &amp;_result; };
00111     T&amp; result()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00112     T&amp; result_noupdate()<font class="keyword"> </font>{ <font class="keywordflow">return</font> _result; };
00113     <font class="keyword">const</font> T&amp; result_noupdate()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> _result; };
00114     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> T&amp; a)<font class="keyword"> </font>{ _result = a; }
00115     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> SSAccResult&lt;T&gt; &amp;r)<font class="keyword"></font>
00116 <font class="keyword">       </font>{ AccResultInfo::operator=(r); _result = r._result; };
00117     <font class="keywordtype">void</font> restore_state(StateIn&amp;s)<font class="keyword"> </font>{
00118       AccResultInfo::restore_state(s);
00119       _result.restore_state(s);
00120     }
00121     <font class="keywordtype">void</font> save_data_state(StateOut&amp;s)<font class="keyword"></font>
00122 <font class="keyword">    </font>{
00123       AccResultInfo::save_data_state(s);
00124       _result.save_data_state(s);
00125     }
00126     SSAccResult(StateIn&amp;s,Compute*c): AccResultInfo(s,c), _result(s)<font class="keyword"> </font>{}
00127 };
00128 
00130 template &lt;class T&gt;
<a name="l00131"></a><a class="code" href="class_sc__NCAccResult.html">00131</a> <font class="keyword">class </font>NCAccResult: <font class="keyword">public</font> AccResultInfo {
00132   <font class="keyword">private</font>:
00133     T _result;
00134   <font class="keyword">public</font>:
00135     NCAccResult(Compute*c):AccResultInfo(c)<font class="keyword"> </font>{};
00136     NCAccResult(<font class="keyword">const</font> NCAccResult&lt;T&gt; &amp;r, Compute*c):AccResultInfo(c)<font class="keyword"></font>
00137 <font class="keyword">    </font>{ _result=r._result; }
00138     operator T&amp;()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00139     T&amp; result()<font class="keyword"> </font>{ update(); <font class="keywordflow">return</font> _result; };
00140     T&amp; result_noupdate()<font class="keyword"> </font>{ <font class="keywordflow">return</font> _result; };
00141     <font class="keyword">const</font> T&amp; result_noupdate()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> _result; };
00142     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> T&amp; a)<font class="keyword"> </font>{ _result = a; }
00143     <font class="keywordtype">void</font> operator=(<font class="keyword">const</font> NCAccResult&lt;T&gt; &amp;r)<font class="keyword"></font>
00144 <font class="keyword">       </font>{ AccResultInfo::operator=(r); _result = r._result; };
00145     <font class="keywordtype">void</font> restore_state(StateIn&amp;s)<font class="keyword"> </font>{
00146       AccResultInfo::restore_state(s);
00147       s.get(_result);
00148     }
00149     <font class="keywordtype">void</font> save_data_state(StateOut&amp;s)<font class="keyword"></font>
00150 <font class="keyword">    </font>{
00151       AccResultInfo::save_data_state(s);
00152       s.put(_result);
00153     }
00154     NCAccResult(StateIn&amp;s,Compute*c): AccResultInfo(s,c)<font class="keyword"> </font>{s.get(_result);}
00155 };
00156 
00157 }
00158 
00159 <font class="comment">// ///////////////////////////////////////////////////////////////////////////</font>
00160 
00161 <font class="comment">// Local Variables:</font>
00162 <font class="comment">// mode: c++</font>
00163 <font class="comment">// c-file-style: "CLJ"</font>
00164 <font class="comment">// End:</font>
</div></pre><hr>
<address>
<small>

Generated at Mon Oct 14 14:16:36 2002 for <a
href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a>
2.1.2 using the documentation package <a
href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a>
1.2.5.

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