Sophie

Sophie

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

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::Plan Class 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="a00132.html">Plan</a>
  </div>
</div>
<div class="contents">
<h1>frepple::Plan Class Reference</h1><!-- doxytag: class="frepple::Plan" --><!-- doxytag: inherits="frepple::Plannable,frepple::utils::Object" -->
<p>This is the (logical) top class of the complete model.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00218_source.html">model.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for frepple::Plan:</div>
<div class="dynsection">
<div class="center"><img src="a00479.png" border="0" usemap="#frepple_1_1_plan_inherit__map" alt="Inheritance graph"/></div>
<map name="frepple_1_1_plan_inherit__map" id="frepple_1_1_plan_inherit__map">
<area shape="rect" id="node2" href="a00133.html" title="This class needs to be implemented by all classes that implement dynamic behavior..." alt="" coords="169,83,292,111"/>
<area shape="rect" id="node4" href="a00086.html" title="Classes that keep track of problem conditions need to implement this class." alt="" coords="5,6,149,34"/>
<area shape="rect" id="node6" href="a00170.html" title="This class needs to be implemented by all classes that implement dynamic behavior..." alt="" coords="173,6,288,34"/>
<area shape="rect" id="node8" href="a00120.html" title="Object is the abstract base class for the main entities." alt="" coords="336,83,472,111"/>
<area shape="rect" id="node10" href="a00151.html" title="This is a base class for all Python extension types." alt="" coords="312,6,539,34"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a00480.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<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="a00132.html#a69390b798aac12228870a8d00cf57139">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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a728ace4034264f9e326eaeeab2e27464">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">PyObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#adb96bf22aea81017e5a22e1a79e66346">getattro</a> (const <a class="el" href="a00002.html">Attribute</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00049.html">Date</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a6a07002deb9c4f380a54a3e3465e487b">getCurrent</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#aa258fa8c73cc6f011b929d3a38d16e6d">getDescription</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#ad9e672a1adfed1ac541fe9e716189717">getName</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a38abcdb5ec8be568c5f5c0888f264f86">getSize</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00115.html">MetaClass</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#ae2ddb7d3b960abdd7b48780fb22f77e9">getType</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#aaa8813a55cf233ef424fea26df99d12f">setattro</a> (const <a class="el" href="a00002.html">Attribute</a> &amp;, const <a class="el" href="a00154.html">PythonObject</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a87c02047a5498e35f90aed3ee68baafd">setCurrent</a> (<a class="el" href="a00049.html">Date</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a2fa52b6e7ff72c5aad7db51c67385333">setDescription</a> (const string &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a33e28fd899ebacbe1719a4c986cb5abc">setName</a> (const string &amp;s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a544cf2b66a6c03c2e209fbe8f2ec1bee">solve</a> (<a class="el" href="a00171.html">Solver</a> &amp;s, void *v=NULL) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#ada03a9129c46c22ac81a8e475b9d33bf">updateProblems</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#abf19f56523e84d1ff33187bb7af4ba6b">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="a00132.html#a1c0599bc9b82961927871d3d94763eee">~Plan</a> ()</td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#a8b9cb720dcd2e2e00e5b12d774f05eab">initialize</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00132.html">Plan</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#ab297b1f299d472a457784f8022849303">instance</a> ()</td></tr>
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00114.html">MetaCategory</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00132.html#afaa64bb4e333f99bc73c823453a46aea">metadata</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This is the (logical) top class of the complete model. </p>
<p>This is a singleton class: only a single instance can be created. The data model has other limitations that make it not obvious to support building multiple models/plans in memory of the same application: e.g. the operations, resources, problems, operationplans... etc are all implemented in static, global lists. An entity can't be simply linked with a particular plan if multiple ones would exist. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04210">4210</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1c0599bc9b82961927871d3d94763eee"></a><!-- doxytag: member="frepple::Plan::~Plan" ref="a1c0599bc9b82961927871d3d94763eee" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::Plan::~Plan </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>In multi threaded applications, the destructor is never called and the plan object leaks when we exit the application. In single-threaded applications this function is called properly, when the static plan variable is deleted. </dd></dl>

<p>Definition at line <a class="el" href="a00226_source.html#l00065">65</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a69390b798aac12228870a8d00cf57139"></a><!-- doxytag: member="frepple::Plan::beginElement" ref="a69390b798aac12228870a8d00cf57139" args="(XMLInput &amp;, const Attribute &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::Plan::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> [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>Definition at line <a class="el" href="a00226_source.html#l00123">123</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a728ace4034264f9e326eaeeab2e27464"></a><!-- doxytag: member="frepple::Plan::endElement" ref="a728ace4034264f9e326eaeeab2e27464" args="(XMLInput &amp;, const Attribute &amp;, const DataElement &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::Plan::endElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00186.html">XMLInput</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pIn</em>, </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"> <em>pAttr</em>, </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"> <em>pElement</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>Reimplemented from <a class="el" href="a00133.html#adbaec4d97d9773b4eb1d63ea935d75ba">frepple::Plannable</a>.</p>

<p>Definition at line <a class="el" href="a00226_source.html#l00108">108</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="adb96bf22aea81017e5a22e1a79e66346"></a><!-- doxytag: member="frepple::Plan::getattro" ref="adb96bf22aea81017e5a22e1a79e66346" args="(const Attribute &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PyObject * frepple::Plan::getattro </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Default getattro method. <br/>
 Subclasses are expected to implement an override if the type supports gettattro. </p>

<p>Reimplemented from <a class="el" href="a00151.html#af3cfc29003472070ba9e133bcf5eb335">frepple::utils::PythonExtensionBase</a>.</p>

<p>Definition at line <a class="el" href="a00226_source.html#l00140">140</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a6a07002deb9c4f380a54a3e3465e487b"></a><!-- doxytag: member="frepple::Plan::getCurrent" ref="a6a07002deb9c4f380a54a3e3465e487b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00049.html">Date</a>&amp; frepple::Plan::getCurrent </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 current Date of the plan. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04252">4252</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa258fa8c73cc6f011b929d3a38d16e6d"></a><!-- doxytag: member="frepple::Plan::getDescription" ref="aa258fa8c73cc6f011b929d3a38d16e6d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const string&amp; frepple::Plan::getDescription </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 description of the plan. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04261">4261</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad9e672a1adfed1ac541fe9e716189717"></a><!-- doxytag: member="frepple::Plan::getName" ref="ad9e672a1adfed1ac541fe9e716189717" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const string&amp; frepple::Plan::getName </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 plan name. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04246">4246</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a38abcdb5ec8be568c5f5c0888f264f86"></a><!-- doxytag: member="frepple::Plan::getSize" ref="a38abcdb5ec8be568c5f5c0888f264f86" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t frepple::Plan::getSize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the memory size of the object in bytes. </p>

<p>Implements <a class="el" href="a00120.html#ae381655a0e700d1e0d9ef72379792872">frepple::utils::Object</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l04287">4287</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae2ddb7d3b960abdd7b48780fb22f77e9"></a><!-- doxytag: member="frepple::Plan::getType" ref="ae2ddb7d3b960abdd7b48780fb22f77e9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00115.html">MetaClass</a>&amp; frepple::Plan::getType </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This returns the type information on the object, a bit similar to the standard type_info information. </p>

<p>Implements <a class="el" href="a00120.html#a2e5ff5e5d9c32647f692abd04a0d72d2">frepple::utils::Object</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l04285">4285</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8b9cb720dcd2e2e00e5b12d774f05eab"></a><!-- doxytag: member="frepple::Plan::initialize" ref="a8b9cb720dcd2e2e00e5b12d774f05eab" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int frepple::Plan::initialize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialize the class. </p>

<p>Definition at line <a class="el" href="a00226_source.html#l00039">39</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ab297b1f299d472a457784f8022849303"></a><!-- doxytag: member="frepple::Plan::instance" ref="ab297b1f299d472a457784f8022849303" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00132.html">Plan</a>&amp; frepple::Plan::instance </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a pointer to the singleton plan object. The singleton object is created during the initialization of the library. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04235">4235</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaa8813a55cf233ef424fea26df99d12f"></a><!-- doxytag: member="frepple::Plan::setattro" ref="aaa8813a55cf233ef424fea26df99d12f" args="(const Attribute &amp;, const PythonObject &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int frepple::Plan::setattro </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00154.html">PythonObject</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>field</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>Default setattro method. <br/>
 Subclasses are expected to implement an override if the type supports settattro. </p>

<p>Reimplemented from <a class="el" href="a00151.html#a0a1bd051198a1b82fd23d3ca04c3ee8d">frepple::utils::PythonExtensionBase</a>.</p>

<p>Definition at line <a class="el" href="a00226_source.html#l00154">154</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a87c02047a5498e35f90aed3ee68baafd"></a><!-- doxytag: member="frepple::Plan::setCurrent" ref="a87c02047a5498e35f90aed3ee68baafd" args="(Date)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::Plan::setCurrent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00049.html">Date</a>&nbsp;</td>
          <td class="paramname"> <em>l</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Updates the current date of the plan. This method can be relatively heavy in a plan where operationplans already exist, since the detection for BeforeCurrent problems needs to be rerun. </p>

<p>Definition at line <a class="el" href="a00226_source.html#l00075">75</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2fa52b6e7ff72c5aad7db51c67385333"></a><!-- doxytag: member="frepple::Plan::setDescription" ref="a2fa52b6e7ff72c5aad7db51c67385333" args="(const string &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::Plan::setDescription </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Updates the description of the plan. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04264">4264</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33e28fd899ebacbe1719a4c986cb5abc"></a><!-- doxytag: member="frepple::Plan::setName" ref="a33e28fd899ebacbe1719a4c986cb5abc" args="(const string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::Plan::setName </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Updates the plan name. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l04249">4249</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a544cf2b66a6c03c2e209fbe8f2ec1bee"></a><!-- doxytag: member="frepple::Plan::solve" ref="a544cf2b66a6c03c2e209fbe8f2ec1bee" args="(Solver &amp;s, void *v=NULL) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void frepple::Plan::solve </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00171.html">Solver</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>v</em> = <code>NULL</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>This method basically solves the whole planning problem. </p>

<p>Reimplemented from <a class="el" href="a00170.html#a35ad0dc1632fbfaee0ecc55752980c29">frepple::Solvable</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l04283">4283</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="ada03a9129c46c22ac81a8e475b9d33bf"></a><!-- doxytag: member="frepple::Plan::updateProblems" ref="ada03a9129c46c22ac81a8e475b9d33bf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void frepple::Plan::updateProblems </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called to update the list of problems. The function will only be called when:</p>
<ul>
<li>the list of problems is being recomputed</li>
<li>AND, problem detection is enabled for this object</li>
<li>AND, the object has changed since the last problem computation </li>
</ul>

<p>Implements <a class="el" href="a00086.html#aaa5a254f9a1c7aab3d423de333185b87">frepple::HasProblems</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l04280">4280</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="abf19f56523e84d1ff33187bb7af4ba6b"></a><!-- doxytag: member="frepple::Plan::writeElement" ref="abf19f56523e84d1ff33187bb7af4ba6b" args="(XMLOutput *, const Keyword &amp;, mode=DEFAULT) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::Plan::writeElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00189.html">XMLOutput</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em>, </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"> <em>tag</em>, </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"> <em>m</em> = <code>DEFAULT</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method writes out the model information. Depending on a flag in the XMLOutput object a complete model is written, or only the dynamic plan information. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00036.html" title="This command writes the complete model to an XML-file.">CommandSave</a>, <a class="el" href="a00037.html" title="This command writes the dynamic part of the plan to an text file.">CommandSavePlan</a> </dd></dl>

<p>Reimplemented from <a class="el" href="a00133.html#af52c6c3386a937db2bc91a1950622462">frepple::Plannable</a>.</p>

<p>Definition at line <a class="el" href="a00226_source.html#l00087">87</a> of file <a class="el" href="a00226_source.html">plan.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="afaa64bb4e333f99bc73c823453a46aea"></a><!-- doxytag: member="frepple::Plan::metadata" ref="afaa64bb4e333f99bc73c823453a46aea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00114.html">MetaCategory</a> * <a class="el" href="a00132.html#afaa64bb4e333f99bc73c823453a46aea">frepple::Plan::metadata</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00218_source.html#l04286">4286</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="a00218_source.html">model.h</a></li>
<li><a class="el" href="a00226_source.html">plan.cpp</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>