<!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::ProblemBeforeCurrent 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="a00256.html">frepple</a>::<a class="el" href="a00135.html">ProblemBeforeCurrent</a> </div> </div> <div class="contents"> <h1>frepple::ProblemBeforeCurrent Class Reference</h1><!-- doxytag: class="frepple::ProblemBeforeCurrent" --><!-- doxytag: inherits="frepple::Problem" --> <p>A problem of this class is created when an operationplan is being planned in the past, i.e. it starts before the "current" date of the plan. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00218_source.html">model.h</a>></code></p> <div class="dynheader"> Inheritance diagram for frepple::ProblemBeforeCurrent:</div> <div class="dynsection"> <div class="center"><img src="a00487.png" border="0" usemap="#frepple_1_1_problem_before_current_inherit__map" alt="Inheritance graph"/></div> <map name="frepple_1_1_problem_before_current_inherit__map" id="frepple_1_1_problem_before_current_inherit__map"> <area shape="rect" id="node2" href="a00134.html" title="A problem represents infeasibilities, alerts and warnings in the plan." alt="" coords="125,161,240,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="a00120.html" title="Object is the abstract base class for the main entities." alt="" coords="205,83,341,111"/> <area shape="rect" id="node8" href="a00151.html" title="This is a base class for all Python extension types." alt="" coords="160,6,387,34"/> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a00488.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">const <a class="el" href="a00050.html">DateRange</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#ae39b2ae37ed350393f7d84ed1969d498">getDates</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a3b624fbeb13f03d1d76f250f9d3e3ac1">getDescription</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a2539269b3eb9bc7867c4ed0e84a1e667">getEntity</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00120.html">Object</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a70ddc8dd9d0441628ff200e93db72e72">getOwner</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#afd181b2554c635d00ef61ab78e853d5d">getSize</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00115.html">MetaClass</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a20ab0616d899abc0d02436b49e9c5a00">getType</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a2a30d05e90c590a826acfab7b762bfc3">getWeight</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#aff50819db44955d4d5efc41d71b7d246">isFeasible</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#ae92df8cfd31fad0dc1d0496bf593eb59">ProblemBeforeCurrent</a> (<a class="el" href="a00121.html">Operation</a> *o, <a class="el" href="a00049.html">Date</a> st, <a class="el" href="a00049.html">Date</a> nd, double q)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a8360c7b693aa88d82e2082ee99615195">ProblemBeforeCurrent</a> (<a class="el" href="a00125.html">OperationPlan</a> *o, bool add=true)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#ae5d13b0c4f666865c22a438c87ae0b2f">~ProblemBeforeCurrent</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="a00115.html">MetaClass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#aa55a9bf686195db07c0fa8723c2479f2">metadata</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A problem of this class is created when an operationplan is being planned in the past, i.e. it starts before the "current" date of the plan. </p> <p>Definition at line <a class="el" href="a00218_source.html#l04925">4925</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a8360c7b693aa88d82e2082ee99615195"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::ProblemBeforeCurrent" ref="a8360c7b693aa88d82e2082ee99615195" args="(OperationPlan *o, bool add=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::ProblemBeforeCurrent::ProblemBeforeCurrent </td> <td>(</td> <td class="paramtype"><a class="el" href="a00125.html">OperationPlan</a> * </td> <td class="paramname"> <em>o</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>add</em> = <code>true</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l04939">4939</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="ae92df8cfd31fad0dc1d0496bf593eb59"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::ProblemBeforeCurrent" ref="ae92df8cfd31fad0dc1d0496bf593eb59" args="(Operation *o, Date st, Date nd, double q)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::ProblemBeforeCurrent::ProblemBeforeCurrent </td> <td>(</td> <td class="paramtype"><a class="el" href="a00121.html">Operation</a> * </td> <td class="paramname"> <em>o</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00049.html">Date</a> </td> <td class="paramname"> <em>st</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00049.html">Date</a> </td> <td class="paramname"> <em>nd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>q</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l04941">4941</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="ae5d13b0c4f666865c22a438c87ae0b2f"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::~ProblemBeforeCurrent" ref="ae5d13b0c4f666865c22a438c87ae0b2f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::ProblemBeforeCurrent::~ProblemBeforeCurrent </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l04943">4943</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ae39b2ae37ed350393f7d84ed1969d498"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getDates" ref="ae39b2ae37ed350393f7d84ed1969d498" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00050.html">DateRange</a> frepple::ProblemBeforeCurrent::getDates </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the duration of this problem. </p> <p>Implements <a class="el" href="a00134.html#af283f4815d85c0b33d112efe4435737b">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04947">4947</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a3b624fbeb13f03d1d76f250f9d3e3ac1"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getDescription" ref="a3b624fbeb13f03d1d76f250f9d3e3ac1" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">string frepple::ProblemBeforeCurrent::getDescription </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a text description of this problem. </p> <p>Implements <a class="el" href="a00134.html#a37253df6ba9ebdbea97e9f789dfb8bb2">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04928">4928</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a2539269b3eb9bc7867c4ed0e84a1e667"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getEntity" ref="a2539269b3eb9bc7867c4ed0e84a1e667" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">string frepple::ProblemBeforeCurrent::getEntity </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the object type having this problem. </p> <p>Implements <a class="el" href="a00134.html#a393e211b1d4da9fbc4cb1b1284248c1b">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04944">4944</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a70ddc8dd9d0441628ff200e93db72e72"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getOwner" ref="a70ddc8dd9d0441628ff200e93db72e72" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00120.html">Object</a>* frepple::ProblemBeforeCurrent::getOwner </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a pointer to the object that owns this problem. </p> <p>Implements <a class="el" href="a00134.html#a66e1a9cb011d009afffb32f428c06fdf">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04945">4945</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="afd181b2554c635d00ef61ab78e853d5d"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getSize" ref="afd181b2554c635d00ef61ab78e853d5d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t frepple::ProblemBeforeCurrent::getSize </td> <td>(</td> <td class="paramname"></td> <td> ) </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#l04958">4958</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a20ab0616d899abc0d02436b49e9c5a00"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getType" ref="a20ab0616d899abc0d02436b49e9c5a00" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00115.html">MetaClass</a>& frepple::ProblemBeforeCurrent::getType </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return a reference to the metadata structure. </p> <p>Reimplemented from <a class="el" href="a00134.html#a8a73cf77f0bed3a807e65f9844d9baf4">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04961">4961</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a2a30d05e90c590a826acfab7b762bfc3"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::getWeight" ref="a2a30d05e90c590a826acfab7b762bfc3" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double frepple::ProblemBeforeCurrent::getWeight </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a double number reflecting the magnitude of the problem. This allows us to focus on the significant problems and filter out the small ones. </p> <p>Implements <a class="el" href="a00134.html#aeac2c097edda9dee786247f8cd69bb4b">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04937">4937</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="aff50819db44955d4d5efc41d71b7d246"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::isFeasible" ref="aff50819db44955d4d5efc41d71b7d246" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool frepple::ProblemBeforeCurrent::isFeasible </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns true if the plan remains feasible even if it contains this problem, i.e. if the problems flags only a warning. Returns false if a certain problem points at an infeasibility of the plan. </p> <p>Implements <a class="el" href="a00134.html#a3ce24ef75c043698afa411a6f9eeca61">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04936">4936</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aa55a9bf686195db07c0fa8723c2479f2"></a><!-- doxytag: member="frepple::ProblemBeforeCurrent::metadata" ref="aa55a9bf686195db07c0fa8723c2479f2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00115.html">MetaClass</a> * <a class="el" href="a00135.html#aa55a9bf686195db07c0fa8723c2479f2">frepple::ProblemBeforeCurrent::metadata</a><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Storing metadata on this class. </p> <p>Reimplemented from <a class="el" href="a00134.html#a9e707be88274a5c5d7bc4c71f2ea1338">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l04964">4964</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="a00227_source.html">problem.cpp</a></li> </ul> </div> <hr size="1"/><address style="align: right;"><small>Documentation generated for frePPLe by <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>