Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 54cac1c2268db633d66eeff1b4faa585 > files > 359

frepple-doc-0.8.1-3.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>C++ API frePPLe: frepple::utils::HasHierarchy&lt; T &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="../styles.css" rel="stylesheet"  type="text/css">
</head>
<body>
<div id="container">

<div id="menubar"> 
<div id="logo" align="center">
<br/><img src='../frepple.bmp' alt="frepple" /><br/>
<a href='http://www.frepple.com/'>
<strong>a Free<br/>Production Planning<br/>Library</strong>
</a>
</div>
<div id="menu">
<br/>
<h3><a href='../Main/HomePage.html'>Main</a></h3>
<h3><a href='../UI/Main.html'>User Manual</a></h3>
<h3><a href='../Tutorial/Main.html'>Tutorial</a></h3>
<h3><a href='../Frepple/Main.html'>Reference Manual</a></h3>
<h3><a href='../Main/FAQ.html'>FAQ</a></h3>
<h3><a href='index.html'>C++ API</a></h3>
<br/>
</div>  
</div>

<div id="content">
<br/>
<!-- Generated by Doxygen 1.6.1 -->
<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><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="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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"><a class="el" href="a00256.html">frepple</a>::<a class="el" href="a00257.html">utils</a>::<a class="el" href="a00083.html">HasHierarchy</a>
  </div>
</div>
<div class="contents">
<h1>frepple::utils::HasHierarchy&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="frepple::utils::HasHierarchy" --><!-- doxytag: inherits="frepple::utils::HasName" -->
<p>This is a base class for the main objects.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00252_source.html">utils.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for frepple::utils::HasHierarchy&lt; T &gt;:</div>
<div class="dynsection">
<div class="center"><img src="a00589.png" border="0" usemap="#frepple_1_1utils_1_1_has_hierarchy_3_01_t_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="frepple_1_1utils_1_1_has_hierarchy_3_01_t_01_4_inherit__map" id="frepple_1_1utils_1_1_has_hierarchy_3_01_t_01_4_inherit__map">
<area shape="rect" id="node2" href="a00085.html" title="Base class for objects using a string as their primary key." alt="" coords="205,161,392,189"/>
<area shape="rect" id="node4" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to..." alt="" coords="5,83,181,111"/>
<area shape="rect" id="node6" href="a00182.html" title="This class represents a node in the tree." alt="" coords="205,83,392,111"/>
<area shape="rect" id="node8" href="a00120.html" title="Object is the abstract base class for the main entities." alt="" coords="416,83,552,111"/>
<area shape="rect" id="node10" href="a00151.html" title="This is a base class for all Python extension types." alt="" coords="371,6,597,34"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a00590.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html">memberIterator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class models an STL-like iterator that allows us to iterate over the members.  <a href="a00113.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a41b02672884e4e1dcb08d64a46ad968d">beginElement</a> (<a class="el" href="a00186.html">XMLInput</a> &amp;, const <a class="el" href="a00002.html">Attribute</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00113.html">memberIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a7afe3a1b114b7f7a93ecd68f56005dac">beginMember</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#acd3a64f385bb9fd2fb56505c12918bb5">endElement</a> (<a class="el" href="a00186.html">XMLInput</a> &amp;, const <a class="el" href="a00002.html">Attribute</a> &amp;, const <a class="el" href="a00047.html">DataElement</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00113.html">memberIterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a3861adc09dde2deb2ea0466cf46634ac">endMember</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a25aadb2cd94cedb602d2ce827be34ef5">getHierarchyLevel</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a4bda4eb77f34c0528e176446886fcce1">getOwner</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a90697f944e532eafd4259aeb82c7c122">HasHierarchy</a> (const string &amp;n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a82647634fd837064ba411d51495cfbbd">hasOwner</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#ad4e04677c1fd0b008267a1a55225705d">isGroup</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a9072d43b9a5670ce1492f55fefdc4b7f">setOwner</a> (T *f)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#ac8cea6a1efacf5b4898866b1d3905c86">writeElement</a> (<a class="el" href="a00189.html">XMLOutput</a> *, const <a class="el" href="a00096.html">Keyword</a> &amp;, <a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398">mode</a>=DEFAULT) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a16bd62a7d368b6b2db9aa814a4852d8d">~HasHierarchy</a> ()</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#af604aa38df25c5555db2cee12da24a23">memberIterator</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br/>
 class frepple::utils::HasHierarchy&lt; T &gt;</h3>

<p>This is a base class for the main objects. </p>
<p>Instances of this class have the following properties:</p>
<ul>
<li>Unique name and global hashtable are inherited from the class <a class="el" href="a00085.html" title="Base class for objects using a string as their primary key.">HasName</a>.</li>
<li>Instances build up hierarchical trees of arbitrary depth.</li>
<li>Each object can have a single parent only.</li>
<li>Each object has a parent and can have children. This class thus implements the 'composite' design pattern. The internal data structure is a singly linked linear list, which is efficient provided the number of childre remains limited. </li>
</ul>

<p>Definition at line <a class="el" href="a00252_source.html#l04826">4826</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a90697f944e532eafd4259aeb82c7c122"></a><!-- doxytag: member="frepple::utils::HasHierarchy::HasHierarchy" ref="a90697f944e532eafd4259aeb82c7c122" args="(const string &amp;n)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::<a class="el" href="a00083.html">HasHierarchy</a> </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The one and only constructor. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l04885">4885</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a16bd62a7d368b6b2db9aa814a4852d8d"></a><!-- doxytag: member="frepple::utils::HasHierarchy::~HasHierarchy" ref="a16bd62a7d368b6b2db9aa814a4852d8d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::~<a class="el" href="a00083.html">HasHierarchy</a> </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor. When deleting a node of the hierarchy, the children will get the current parent as the new parent. In this way the deletion of nodes doesn't create "dangling branches" in the hierarchy. We just "collapse" a certain level. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l05496">5496</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a41b02672884e4e1dcb08d64a46ad968d"></a><!-- doxytag: member="frepple::utils::HasHierarchy::beginElement" ref="a41b02672884e4e1dcb08d64a46ad968d" args="(XMLInput &amp;, const Attribute &amp;)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::beginElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00186.html">XMLInput</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called while restoring the model from an XML-file.<br/>
 This is called for each element within the "this" element, for which the "this" element is immediate parent.<br/>
 It is called when the open element tag is encountered. </p>

<p>Reimplemented from <a class="el" href="a00120.html#ac17c9f7df359ee20839f5e09723d38f1">frepple::utils::Object</a>.</p>

<p>Reimplemented in <a class="el" href="a00108.html#a430a5428c04c0c1131466bc7de1dcb1f">frepple::Location</a>, <a class="el" href="a00044.html#abbd151a27329d6ae49946628c62c4c02">frepple::Customer</a>, <a class="el" href="a00088.html#a6594a41421a41d310536eb9105602f65">frepple::Item</a>, <a class="el" href="a00008.html#a140c1480d858f20fad672408f9e1a452">frepple::Buffer</a>, <a class="el" href="a00156.html#a3aebc6b1b8688cf955774731c842f3bc">frepple::Resource</a>, <a class="el" href="a00051.html#ab36bdb30d937580b89aae9ba23db0626">frepple::Demand</a>, and <a class="el" href="a00072.html#a79b5db1db684716961db9ff9a45339b2">module_forecast::Forecast</a>.</p>

<p>Definition at line <a class="el" href="a00252_source.html#l05466">5466</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7afe3a1b114b7f7a93ecd68f56005dac"></a><!-- doxytag: member="frepple::utils::HasHierarchy::beginMember" ref="a7afe3a1b114b7f7a93ecd68f56005dac" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00113.html">memberIterator</a> <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::beginMember </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l04896">4896</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="acd3a64f385bb9fd2fb56505c12918bb5"></a><!-- doxytag: member="frepple::utils::HasHierarchy::endElement" ref="acd3a64f385bb9fd2fb56505c12918bb5" args="(XMLInput &amp;, const Attribute &amp;, const DataElement &amp;)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::endElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00186.html">XMLInput</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00047.html">DataElement</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called while restoring the model from an XML-file.<br/>
 This is called when the corresponding close element tag is encountered, and the Data() member of pElement is valid. </p>

<p>Reimplemented from <a class="el" href="a00085.html#a431f09e6eaacebca17532dcf212fe4ac">frepple::utils::HasName&lt; T &gt;</a>.</p>

<p>Reimplemented in <a class="el" href="a00108.html#a4ed966c56ce9f0d36c2eafdf6d33c9a8">frepple::Location</a>, <a class="el" href="a00044.html#ad1392742a456d7eb2c9ca9e393cbfe5e">frepple::Customer</a>, <a class="el" href="a00088.html#a86f4b3f7c6e468862ecafaebac75ef1b">frepple::Item</a>, <a class="el" href="a00008.html#a561782e0a5a6fb84c62209aba172a241">frepple::Buffer</a>, <a class="el" href="a00012.html#a50c10dee04e69195b5cccf8d91f9a3e9">frepple::BufferProcure</a>, <a class="el" href="a00156.html#a9c2b68e465e4a45d7e1c0f2125172eb6">frepple::Resource</a>, <a class="el" href="a00051.html#a368aa3430232ac2886706f8c1c448c73">frepple::Demand</a>, and <a class="el" href="a00072.html#a7684ca786326565eb2f7ceed1a821c5d">module_forecast::Forecast</a>.</p>

<p>Definition at line <a class="el" href="a00252_source.html#l05476">5476</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3861adc09dde2deb2ea0466cf46634ac"></a><!-- doxytag: member="frepple::utils::HasHierarchy::endMember" ref="a3861adc09dde2deb2ea0466cf46634ac" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00113.html">memberIterator</a> <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::endMember </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l04898">4898</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a25aadb2cd94cedb602d2ce827be34ef5"></a><!-- doxytag: member="frepple::utils::HasHierarchy::getHierarchyLevel" ref="a25aadb2cd94cedb602d2ce827be34ef5" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">unsigned short <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::getHierarchyLevel </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the level in the hierarchy.<br/>
 Level 0 means the entity doesn't have any parent.<br/>
 Level 1 means the entity has a parent entity with level 0.<br/>
 Level "x" means the entity has a parent entity whose level is "x-1". </p>

<p>Definition at line <a class="el" href="a00252_source.html#l05530">5530</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4bda4eb77f34c0528e176446886fcce1"></a><!-- doxytag: member="frepple::utils::HasHierarchy::getOwner" ref="a4bda4eb77f34c0528e176446886fcce1" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T* <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::getOwner </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the owning entity. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l04917">4917</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a82647634fd837064ba411d51495cfbbd"></a><!-- doxytag: member="frepple::utils::HasHierarchy::hasOwner" ref="a82647634fd837064ba411d51495cfbbd" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::hasOwner </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns true if this entity belongs to a higher hierarchical level.<br/>
 An entity can have only a single owner, and can't belong to multiple hierarchies. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l04904">4904</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad4e04677c1fd0b008267a1a55225705d"></a><!-- doxytag: member="frepple::utils::HasHierarchy::isGroup" ref="ad4e04677c1fd0b008267a1a55225705d" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::isGroup </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns true if this entity has lower level entities belonging to it. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l04908">4908</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9072d43b9a5670ce1492f55fefdc4b7f"></a><!-- doxytag: member="frepple::utils::HasHierarchy::setOwner" ref="a9072d43b9a5670ce1492f55fefdc4b7f" args="(T *f)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::setOwner </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>f</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Changes the owner of the entity.<br/>
 The argument must be a valid pointer to an entity of the same type.<br/>
 A NULL pointer can be passed to clear the existing owner.<br/>
 </p>

<p>Definition at line <a class="el" href="a00252_source.html#l05397">5397</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac8cea6a1efacf5b4898866b1d3905c86"></a><!-- doxytag: member="frepple::utils::HasHierarchy::writeElement" ref="ac8cea6a1efacf5b4898866b1d3905c86" args="(XMLOutput *, const Keyword &amp;, mode=DEFAULT) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00083.html">frepple::utils::HasHierarchy</a>&lt; T &gt;::writeElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00189.html">XMLOutput</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00096.html">Keyword</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398">mode</a>&nbsp;</td>
          <td class="paramname"> = <code>DEFAULT</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called while writing the model into an XML-file. The user class should write itself out, using the IOutStream members for its "simple" members and calling writeElement recursively for any contained objects. Not all classes are expected to implement this method. In instances of such a class can be created but can't be persisted. E.g. <a class="el" href="a00025.html" title="Abstract base class for all commands.">Command</a> </p>

<p><p>Note that this function is never called on its own. It is always called from the <a class="el" href="a00083.html#ac8cea6a1efacf5b4898866b1d3905c86">writeElement()</a> method of a subclass. Therefore we don't need to worry about the refOnly or incHeader parameters.</p>
</p>

<p>Reimplemented from <a class="el" href="a00120.html#a324e43c334cb519909fcbdad0f8cbd82">frepple::utils::Object</a>.</p>

<p>Reimplemented in <a class="el" href="a00108.html#a67e5982fe4bf68635fb5ebbaa3bed6df">frepple::Location</a>, <a class="el" href="a00044.html#a965897378d171498bdc39f897857dede">frepple::Customer</a>, <a class="el" href="a00088.html#aafc2bddafc95d5a8381d98f76ea2aa45">frepple::Item</a>, <a class="el" href="a00008.html#a8e72becff5b6b068ce2cd9e008902209">frepple::Buffer</a>, <a class="el" href="a00010.html#a49b7c093cc51337c3f9536eca163416f">frepple::BufferInfinite</a>, <a class="el" href="a00012.html#a452abe7405e755e660a5b11a670c4996">frepple::BufferProcure</a>, <a class="el" href="a00156.html#a9b84a7753b5eca34228a34170d4b7174">frepple::Resource</a>, <a class="el" href="a00158.html#a5cde905609c6f34480bb33dfc0cd9add">frepple::ResourceInfinite</a>, <a class="el" href="a00051.html#af36c6828c858ed4bc7c26fa2ddc33c23">frepple::Demand</a>, and <a class="el" href="a00072.html#a0d4e1372b309d8a5d1efbe4e8049621c">module_forecast::Forecast</a>.</p>

<p>Definition at line <a class="el" href="a00252_source.html#l05446">5446</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="af604aa38df25c5555db2cee12da24a23"></a><!-- doxytag: member="frepple::utils::HasHierarchy::memberIterator" ref="af604aa38df25c5555db2cee12da24a23" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00113.html">memberIterator</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l04835">4835</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00252_source.html">utils.h</a></li>
</ul>
</div>
<hr size="1"/><address style="align: right;"><small>Documentation generated for frePPLe by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"/></a></small></address>
</div>
</div>
</body>
</html>