Sophie

Sophie

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

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::StateOut 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.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_1StateOut.html">StateOut</a>
  </div>
</div>
<div class="contents">
<h1>sc::StateOut Class Reference</h1><!-- doxytag: class="sc::StateOut" --><!-- doxytag: inherits="sc::DescribedClass" -->Serializes objects that derive from <a class="el" href="classsc_1_1SavableState.html" title="Base class for objects that can save/restore state.">SavableState</a>.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="stateout_8h_source.html">stateout.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::StateOut:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1StateOut.png" usemap="#sc::StateOut_map" border="0" alt=""></center>
<map name="sc::StateOut_map">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="195,112,315,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="195,56,315,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="195,0,315,24">
<area href="classsc_1_1MsgStateSend.html" alt="sc::MsgStateSend" shape="rect" coords="65,224,185,248">
<area href="classsc_1_1StateOutFile.html" alt="sc::StateOutFile" shape="rect" coords="325,224,445,248">
<area href="classsc_1_1BcastStateSend.html" alt="sc::BcastStateSend" shape="rect" coords="0,280,120,304">
<area href="classsc_1_1StateSend.html" alt="sc::StateSend" shape="rect" coords="130,280,250,304">
<area href="classsc_1_1StateOutBin.html" alt="sc::StateOutBin" shape="rect" coords="260,280,380,304">
<area href="classsc_1_1StateOutText.html" alt="sc::StateOutText" shape="rect" coords="390,280,510,304">
</map>
</div>

<p>
<a href="classsc_1_1StateOut-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"><a class="anchor" name="ae7189c3581f8536a46346b9d1a8f077"></a><!-- doxytag: member="sc::StateOut::put_header" ref="ae7189c3581f8536a46346b9d1a8f077" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#ae7189c3581f8536a46346b9d1a8f077">put_header</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write out header information. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#5d6a62cef6fd5d76a9c1e7c12db4aeb2">putstring</a> (const char *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is like put except the length of the char array is determined by interpreting the character array as a character string.  <a href="#5d6a62cef6fd5d76a9c1e7c12db4aeb2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eda6272d7f964bc50c8c32831edec2e5"></a><!-- doxytag: member="sc::StateOut::put" ref="eda6272d7f964bc50c8c32831edec2e5" args="(const std::string &amp;)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#eda6272d7f964bc50c8c32831edec2e5">put</a> (const std::string &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write out a std::string object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="366376e4e7a52139bce73fd8f4479731"></a><!-- doxytag: member="sc::StateOut::put" ref="366376e4e7a52139bce73fd8f4479731" args="(char r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#366376e4e7a52139bce73fd8f4479731">put</a> (char r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the given datum. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62bb6c0f29c7173de4be26eb4eab6c37"></a><!-- doxytag: member="sc::StateOut::put" ref="62bb6c0f29c7173de4be26eb4eab6c37" args="(unsigned int r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (unsigned int r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8896f46de079700357f685f9cb3917d3"></a><!-- doxytag: member="sc::StateOut::put" ref="8896f46de079700357f685f9cb3917d3" args="(int r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (int r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e4cec74ef15eb72d49feb590b151356"></a><!-- doxytag: member="sc::StateOut::put" ref="0e4cec74ef15eb72d49feb590b151356" args="(bool r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (bool r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="424fef2f29a100db00e1391fdc3224f6"></a><!-- doxytag: member="sc::StateOut::put" ref="424fef2f29a100db00e1391fdc3224f6" args="(unsigned long r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (unsigned long r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25b4324e10dd523832d0cc3474ef58c0"></a><!-- doxytag: member="sc::StateOut::put" ref="25b4324e10dd523832d0cc3474ef58c0" args="(float r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (float r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55d52b1e0e96cb7a75451b51b1d1c6d5"></a><!-- doxytag: member="sc::StateOut::put" ref="55d52b1e0e96cb7a75451b51b1d1c6d5" args="(double r)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (double r)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#dbf03916c62010d0251de90e60dca46c">put</a> (const char *, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the given array data.  <a href="#dbf03916c62010d0251de90e60dca46c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6daec92cbd918701f805f922b3c5d118"></a><!-- doxytag: member="sc::StateOut::put" ref="6daec92cbd918701f805f922b3c5d118" args="(const unsigned int *, int)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (const unsigned int *, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02eac7668d2b6f3a91a18ff715910862"></a><!-- doxytag: member="sc::StateOut::put" ref="02eac7668d2b6f3a91a18ff715910862" args="(const int *, int)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (const int *, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0161108eac96dde45f20fe7c684c961"></a><!-- doxytag: member="sc::StateOut::put" ref="e0161108eac96dde45f20fe7c684c961" args="(const float *, int)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (const float *, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a95311cc8ba24eafc94b28aa34e8f843"></a><!-- doxytag: member="sc::StateOut::put" ref="a95311cc8ba24eafc94b28aa34e8f843" args="(const double *, int)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put</b> (const double *, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#350b1462bd0375a27249b36dab9c0e93">put_array_char</a> (const char *p, int size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Put arrays of data.  <a href="#350b1462bd0375a27249b36dab9c0e93"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ae5c7f71b7e0f2e950a9fc74073a36c"></a><!-- doxytag: member="sc::StateOut::put_array_uint" ref="2ae5c7f71b7e0f2e950a9fc74073a36c" args="(const unsigned int *p, int size)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put_array_uint</b> (const unsigned int *p, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38cd2bc450cc29b459baef04b35ac1d4"></a><!-- doxytag: member="sc::StateOut::put_array_int" ref="38cd2bc450cc29b459baef04b35ac1d4" args="(const int *p, int size)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put_array_int</b> (const int *p, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e9bd686aea403a1935dce24334d038c"></a><!-- doxytag: member="sc::StateOut::put_array_float" ref="9e9bd686aea403a1935dce24334d038c" args="(const float *p, int size)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put_array_float</b> (const float *p, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71436e4786fc8eebbd96ad3b30fa4984"></a><!-- doxytag: member="sc::StateOut::put_array_double" ref="71436e4786fc8eebbd96ad3b30fa4984" args="(const double *p, int size)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put_array_double</b> (const double *p, int size)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d838206f15161c509ef4b9ec3b44fb6b"></a><!-- doxytag: member="sc::StateOut::put" ref="d838206f15161c509ef4b9ec3b44fb6b" args="(typename std::vector&lt; T &gt; &amp;v)" -->
template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#d838206f15161c509ef4b9ec3b44fb6b">put</a> (typename std::vector&lt; T &gt; &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write an STL vector of data. <br></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_1StateOut.html#bde7f4d7ab20c6d6a11e9b7698f46034">forget_references</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Don't keep track of pointers to objects.  <a href="#bde7f4d7ab20c6d6a11e9b7698f46034"></a><br></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_1StateOut.html#0738a805531667e6aec4d61fe2088d99">copy_references</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If a reference to an object that has already been written is encountered, copy it instead of generating a reference to the first object.  <a href="#0738a805531667e6aec4d61fe2088d99"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bdd9125db6df177eef2b06ade39b463c"></a><!-- doxytag: member="sc::StateOut::use_directory" ref="bdd9125db6df177eef2b06ade39b463c" args="()" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#bdd9125db6df177eef2b06ade39b463c">use_directory</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if this object uses a directory. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b561c95818fbd2f5094661f2fafe170"></a><!-- doxytag: member="sc::StateOut::flush" ref="0b561c95818fbd2f5094661f2fafe170" args="()" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#0b561c95818fbd2f5094661f2fafe170">flush</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush out any remaining data. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#11e3bd77eb2ae738a5d026658f21913d">node_to_node</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if this is a node to node save/restore.  <a href="#11e3bd77eb2ae738a5d026658f21913d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#4ab8319018ac939e50b926d905682277">tell</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current position in the file.  <a href="#4ab8319018ac939e50b926d905682277"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#fb97930b80ca2b021deea3de828fe8ea">seek</a> (int loc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the current position in the file.  <a href="#fb97930b80ca2b021deea3de828fe8ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#c26beeda97950b0d1f6dd05c8e782226">seekable</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return non-zero if tell and seek do anything sensible.  <a href="#c26beeda97950b0d1f6dd05c8e782226"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a2619462fefbd9f8a098386ee07a45f"></a><!-- doxytag: member="sc::StateOut::put_array_void" ref="5a2619462fefbd9f8a098386ee07a45f" args="(const void *, int)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>put_array_void</b> (const void *, int)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dcd58b3b82d71b4606471d356bac14d1"></a><!-- doxytag: member="sc::StateOut::putparents" ref="dcd58b3b82d71b4606471d356bac14d1" args="(const ClassDesc *)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><b>putparents</b> (const <a class="el" href="classsc_1_1ClassDesc.html">ClassDesc</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e3c21afbf6c008f2308a8803de13eb2a"></a><!-- doxytag: member="sc::StateOut::put_directory" ref="e3c21afbf6c008f2308a8803de13eb2a" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>put_directory</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e731310a020655ba14bbe7b63012e40a"></a><!-- doxytag: member="sc::StateOut::have_classdesc" ref="e731310a020655ba14bbe7b63012e40a" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>have_classdesc</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f083a69da58020ff373eac43a8efc40"></a><!-- doxytag: member="sc::StateOut::need_classdesc" ref="6f083a69da58020ff373eac43a8efc40" args="()" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>need_classdesc</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#f39b5e2067f12dbcafd6bdf3ff054635">putobject</a> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SavableState.html">SavableState</a> &gt; &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This will prepare <a class="el" href="classsc_1_1StateOut.html" title="Serializes objects that derive from SavableState.">StateOut</a> to output a pointer to data.  <a href="#f39b5e2067f12dbcafd6bdf3ff054635"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8d021ee9372bcfe7fbefc81619dd8e0"></a><!-- doxytag: member="sc::StateOut::put" ref="c8d021ee9372bcfe7fbefc81619dd8e0" args="(const ClassDesc *)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1StateOut.html#c8d021ee9372bcfe7fbefc81619dd8e0">put</a> (const <a class="el" href="classsc_1_1ClassDesc.html">ClassDesc</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write out information about the given <a class="el" href="classsc_1_1ClassDesc.html" title="This class is used to contain information about classes.">ClassDesc</a>. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa923ff73860258b56fd7321b58a95e4"></a><!-- doxytag: member="sc::StateOut::dir_loc_loc_" ref="aa923ff73860258b56fd7321b58a95e4" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dir_loc_loc_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47a378cd7d35ac80d6b139c788c05e38"></a><!-- doxytag: member="sc::StateOut::translate_" ref="47a378cd7d35ac80d6b139c788c05e38" args="" -->
<a class="el" href="classsc_1_1TranslateDataOut.html">TranslateDataOut</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>translate_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="878e97cb82f185b3c444e9a71a9e4f55"></a><!-- doxytag: member="sc::StateOut::copy_references_" ref="878e97cb82f185b3c444e9a71a9e4f55" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>copy_references_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0cd5da05d7fcfa87fa30070df035d242"></a><!-- doxytag: member="sc::StateOut::next_object_number_" ref="0cd5da05d7fcfa87fa30070df035d242" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>next_object_number_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f40e86205a8c0d45c6747a36882a39d8"></a><!-- doxytag: member="sc::StateOut::ps_" ref="f40e86205a8c0d45c6747a36882a39d8" args="" -->
std::map&lt; <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SavableState.html">SavableState</a> &gt;<br class="typebreak">
, StateOutData &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>ps_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3b1c085999e68d7d03ccb68c59faed8"></a><!-- doxytag: member="sc::StateOut::classidmap_" ref="d3b1c085999e68d7d03ccb68c59faed8" args="" -->
std::map&lt; <a class="el" href="classsc_1_1ClassDesc.html">ClassDescP</a>, int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>classidmap_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c8279c5963736c288a653ba47eb6e05"></a><!-- doxytag: member="sc::StateOut::nextclassid_" ref="6c8279c5963736c288a653ba47eb6e05" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>nextclassid_</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ff8637ed78651d7a7551169903eef33"></a><!-- doxytag: member="sc::StateOut::node_to_node_" ref="3ff8637ed78651d7a7551169903eef33" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>node_to_node_</b></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6cf6a00f69e3f54a81e965a9122a3dbe"></a><!-- doxytag: member="sc::StateOut::SavableState" ref="6cf6a00f69e3f54a81e965a9122a3dbe" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>SavableState</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f419cb0f9427426b757395bf9fba6a1f"></a><!-- doxytag: member="sc::StateOut::TranslateDataOut" ref="f419cb0f9427426b757395bf9fba6a1f" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>TranslateDataOut</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Serializes objects that derive from <a class="el" href="classsc_1_1SavableState.html" title="Base class for objects that can save/restore state.">SavableState</a>. 
<p>
<a class="el" href="classsc_1_1StateOut.html" title="Serializes objects that derive from SavableState.">StateOut</a> keeps track of pointers to data so that two references to the same piece of data do not result in that data being sent to the output device two times. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0738a805531667e6aec4d61fe2088d99"></a><!-- doxytag: member="sc::StateOut::copy_references" ref="0738a805531667e6aec4d61fe2088d99" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::StateOut::copy_references           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If a reference to an object that has already been written is encountered, copy it instead of generating a reference to the first object. 
<p>
The directory will not be updated with new objects. 
</div>
</div><p>
<a class="anchor" name="bde7f4d7ab20c6d6a11e9b7698f46034"></a><!-- doxytag: member="sc::StateOut::forget_references" ref="bde7f4d7ab20c6d6a11e9b7698f46034" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::StateOut::forget_references           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Don't keep track of pointers to objects. 
<p>
Calling this causes duplicated references to objects to be copied. The directory will not contain the forgotten objects. 
</div>
</div><p>
<a class="anchor" name="11e3bd77eb2ae738a5d026658f21913d"></a><!-- doxytag: member="sc::StateOut::node_to_node" ref="11e3bd77eb2ae738a5d026658f21913d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::StateOut::node_to_node           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
True if this is a node to node save/restore. 
<p>
This is necessary for classes that try to avoid saving databases to files that can otherwise be read in, but want to avoid reading the database from disk on all nodes. 
</div>
</div><p>
<a class="anchor" name="dbf03916c62010d0251de90e60dca46c"></a><!-- doxytag: member="sc::StateOut::put" ref="dbf03916c62010d0251de90e60dca46c" args="(const char *, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::StateOut::put           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write the given array data. 
<p>
Size information is also saved. The data is allocated and read by the get(T*&amp;) routines. 
<p>Reimplemented in <a class="el" href="classsc_1_1MsgStateSend.html#0df1f1f0287ff4aceef3098629f08200">sc::MsgStateSend</a>, and <a class="el" href="classsc_1_1StateOutText.html#5b89dcce88687518d04eab58292296c9">sc::StateOutText</a>.</p>

</div>
</div><p>
<a class="anchor" name="350b1462bd0375a27249b36dab9c0e93"></a><!-- doxytag: member="sc::StateOut::put_array_char" ref="350b1462bd0375a27249b36dab9c0e93" args="(const char *p, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::StateOut::put_array_char           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Put arrays of data. 
<p>
No size information is stored. This data is read by the get_array_T routines. 
<p>Reimplemented in <a class="el" href="classsc_1_1StateOutText.html#6d2364e77d5844f31dfec737df8762be">sc::StateOutText</a>.</p>

</div>
</div><p>
<a class="anchor" name="f39b5e2067f12dbcafd6bdf3ff054635"></a><!-- doxytag: member="sc::StateOut::putobject" ref="f39b5e2067f12dbcafd6bdf3ff054635" args="(const Ref&lt; SavableState &gt; &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::StateOut::putobject           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1SavableState.html">SavableState</a> &gt; &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This will prepare <a class="el" href="classsc_1_1StateOut.html" title="Serializes objects that derive from SavableState.">StateOut</a> to output a pointer to data. 
<p>
It first checks to see if the data has already been saved. If it has, then a reference to this data is saved. Otherwise the object is written out. 
<p>Reimplemented in <a class="el" href="classsc_1_1StateOutText.html#0be8232ffe3ee0d8fff30203cf82308f">sc::StateOutText</a>.</p>

</div>
</div><p>
<a class="anchor" name="5d6a62cef6fd5d76a9c1e7c12db4aeb2"></a><!-- doxytag: member="sc::StateOut::putstring" ref="5d6a62cef6fd5d76a9c1e7c12db4aeb2" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::StateOut::putstring           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This is like put except the length of the char array is determined by interpreting the character array as a character string. 
<p>

<p>Reimplemented in <a class="el" href="classsc_1_1StateOutText.html#c0f0beda9a26a42018fcd77747ddacd3">sc::StateOutText</a>.</p>

</div>
</div><p>
<a class="anchor" name="fb97930b80ca2b021deea3de828fe8ea"></a><!-- doxytag: member="sc::StateOut::seek" ref="fb97930b80ca2b021deea3de828fe8ea" args="(int loc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc::StateOut::seek           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>loc</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the current position in the file. 
<p>
The default implementation does nothing. 
<p>Reimplemented in <a class="el" href="classsc_1_1StateOutBin.html#ebbc93997920aa237bd3508a68952fd3">sc::StateOutBin</a>.</p>

</div>
</div><p>
<a class="anchor" name="c26beeda97950b0d1f6dd05c8e782226"></a><!-- doxytag: member="sc::StateOut::seekable" ref="c26beeda97950b0d1f6dd05c8e782226" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::StateOut::seekable           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return non-zero if tell and seek do anything sensible. 
<p>
The default implementation returns 0. 
<p>Reimplemented in <a class="el" href="classsc_1_1StateOutBin.html#1abb42cbdda682430dc21c583ccaba22">sc::StateOutBin</a>.</p>

</div>
</div><p>
<a class="anchor" name="4ab8319018ac939e50b926d905682277"></a><!-- doxytag: member="sc::StateOut::tell" ref="4ab8319018ac939e50b926d905682277" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int sc::StateOut::tell           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the current position in the file. 
<p>
The default implementation returns 0. 
<p>Reimplemented in <a class="el" href="classsc_1_1StateOutBin.html#1f77187a21982f56db7e610b419c23a1">sc::StateOutBin</a>.</p>

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

Generated at Wed Oct 14 14:12:17 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>