<!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::HasProblems 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="a00086.html">HasProblems</a> </div> </div> <div class="contents"> <h1>frepple::HasProblems Class Reference</h1><!-- doxytag: class="frepple::HasProblems" --> <p>Classes that keep track of problem conditions need to implement this class. <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::HasProblems:</div> <div class="dynsection"> <div class="center"><img src="a00430.png" border="0" usemap="#frepple_1_1_has_problems_inherit__map" alt="Inheritance graph"/></div> <map name="frepple_1_1_has_problems_inherit__map" id="frepple_1_1_has_problems_inherit__map"> <area shape="rect" id="node3" href="a00125.html" title="An operationplan is the key dynamic element of a plan. It represents a certain quantity..." alt="" coords="200,334,349,362"/> <area shape="rect" id="node5" href="a00133.html" title="This class needs to be implemented by all classes that implement dynamic behavior..." alt="" coords="213,385,336,413"/> <area shape="rect" id="node7" href="a00008.html" title="A buffer represents a combination of a item and location.  It is the entity for keeping..." alt="" coords="411,81,509,109"/> <area shape="rect" id="node15" href="a00051.html" title="Represents the (independent) demand in the system. It can represent a customer order..." alt="" coords="403,233,517,261"/> <area shape="rect" id="node23" href="a00121.html" title="An operation represents an activity: these consume and produce material, take time..." alt="" coords="399,385,521,413"/> <area shape="rect" id="node35" href="a00132.html" title="This is the (logical) top class of the complete model." alt="" coords="413,435,507,463"/> <area shape="rect" id="node37" href="a00156.html" title="This class represents a workcentre, a physical or logical representation of capacity..." alt="" coords="399,562,521,590"/> <area shape="rect" id="node9" href="a00009.html" title="This class is the default implementation of the abstract Buffer class." alt="" coords="609,5,748,33"/> <area shape="rect" id="node11" href="a00010.html" title="This class represents a material buffer with an infinite supply of extra material..." alt="" coords="611,55,747,83"/> <area shape="rect" id="node13" href="a00012.html" title="This class models a buffer that is replenish by an external supplier using a reorder-point..." alt="" coords="607,106,751,134"/> <area shape="rect" id="node17" href="a00052.html" title="This class is the default implementation of the abstract Demand class." alt="" coords="601,157,756,185"/> <area shape="rect" id="node19" href="a00072.html" title="This class represents a bucketized demand signal." alt="" coords="591,207,767,235"/> <area shape="rect" id="node21" href="a00073.html" title="This class represents a forecast value in a time bucket." alt="" coords="571,258,787,286"/> <area shape="rect" id="node25" href="a00122.html" title="This class represents a choice between multiple operations. The alternates are sorted..." alt="" coords="591,309,767,337"/> <area shape="rect" id="node27" href="a00123.html" title="Models an operation that takes a fixed amount of time, independent of the quantity..." alt="" coords="587,359,771,387"/> <area shape="rect" id="node29" href="a00128.html" title="Represents a routing operation, i.e. an operation consisting of multiple, sequential..." alt="" coords="595,410,763,438"/> <area shape="rect" id="node31" href="a00129.html" title="Models an operation to convert a setup on a resource." alt="" coords="600,461,757,489"/> <area shape="rect" id="node33" href="a00130.html" title="Models an operation whose duration is the sum of a constant time, plus a cetain time..." alt="" coords="593,511,764,539"/> <area shape="rect" id="node39" href="a00157.html" title="This class is the default implementation of the abstract Resource class." alt="" coords="597,562,760,590"/> <area shape="rect" id="node41" href="a00158.html" title="This class represents a resource that'll never have any capacity shortage." alt="" coords="599,613,759,641"/> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a00431.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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">EntityIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class models a iterator that walks over all available HasProblem entities. <a href="a00056.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">virtual <a class="el" href="a00133.html">Plannable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a97837ce18709d6ee5535f15f39b1676b">getEntity</a> () const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a07fea1fa4a89268a277a682fba5b68ef">HasProblems</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#aaa5a254f9a1c7aab3d423de333185b87">updateProblems</a> ()=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a3fe331407cebb546e766d8d7b4327270">~HasProblems</a> ()</td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00056.html">EntityIterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#adcb3e4396766daeac438fa874e0b92a8">beginEntity</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00056.html">EntityIterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a6ac8107c2f5208d4cdf46f20c3b41228">endEntity</a> ()</td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#acc081cc87e465ee811f25f9676550d09">Problem</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a9c557431b3c9c23bcb9d47f8a57533a1">Problem::const_iterator</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Classes that keep track of problem conditions need to implement this class. </p> <p>This class is closely related to the <a class="el" href="a00134.html" title="A problem represents infeasibilities, alerts and warnings in the plan.">Problem</a> class. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00134.html" title="A problem represents infeasibilities, alerts and warnings in the plan.">Problem</a> </dd></dl> <p>Definition at line <a class="el" href="a00218_source.html#l01018">1018</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a07fea1fa4a89268a277a682fba5b68ef"></a><!-- doxytag: member="frepple::HasProblems::HasProblems" ref="a07fea1fa4a89268a277a682fba5b68ef" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::HasProblems::HasProblems </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <p>Definition at line <a class="el" href="a00218_source.html#l01032">1032</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a3fe331407cebb546e766d8d7b4327270"></a><!-- doxytag: member="frepple::HasProblems::~HasProblems" ref="a3fe331407cebb546e766d8d7b4327270" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual frepple::HasProblems::~HasProblems </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. It needs to take care of making sure all problems objects are being deleted as well. </p> <p>Definition at line <a class="el" href="a00218_source.html#l01036">1036</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="adcb3e4396766daeac438fa874e0b92a8"></a><!-- doxytag: member="frepple::HasProblems::beginEntity" ref="adcb3e4396766daeac438fa874e0b92a8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00056.html">HasProblems::EntityIterator</a> frepple::HasProblems::beginEntity </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns an iterator pointing to the first HasProblem object. </p> <p>Definition at line <a class="el" href="a00227_source.html#l00479">479</a> of file <a class="el" href="a00227_source.html">problem.cpp</a>.</p> </div> </div> <a class="anchor" id="a6ac8107c2f5208d4cdf46f20c3b41228"></a><!-- doxytag: member="frepple::HasProblems::endEntity" ref="a6ac8107c2f5208d4cdf46f20c3b41228" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00056.html">HasProblems::EntityIterator</a> frepple::HasProblems::endEntity </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns an iterator pointing beyond the last HasProblem object. </p> <p>Definition at line <a class="el" href="a00227_source.html#l00485">485</a> of file <a class="el" href="a00227_source.html">problem.cpp</a>.</p> </div> </div> <a class="anchor" id="a97837ce18709d6ee5535f15f39b1676b"></a><!-- doxytag: member="frepple::HasProblems::getEntity" ref="a97837ce18709d6ee5535f15f39b1676b" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00133.html">Plannable</a>* frepple::HasProblems::getEntity </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the plannable entity relating to this problem container. </p> <p>Implemented in <a class="el" href="a00133.html#a31e0f131d2f97b203fc1dcab1d1dcd35">frepple::Plannable</a>, and <a class="el" href="a00125.html#a0279c586602394ac3027401b2702cbae">frepple::OperationPlan</a>.</p> </div> </div> <a class="anchor" id="aaa5a254f9a1c7aab3d423de333185b87"></a><!-- doxytag: member="frepple::HasProblems::updateProblems" ref="aaa5a254f9a1c7aab3d423de333185b87" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void frepple::HasProblems::updateProblems </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [pure 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>Implemented in <a class="el" href="a00121.html#af081f3c4838de6b84d45e708001cb9c6">frepple::Operation</a>, <a class="el" href="a00125.html#a065b07a37ca069de47577b2c7d009898">frepple::OperationPlan</a>, <a class="el" href="a00008.html#a9478d1fb6a4a964ee5edae5e5d6f1bbb">frepple::Buffer</a>, <a class="el" href="a00156.html#ac116e93a8091e58d4c9c7d73062e3688">frepple::Resource</a>, <a class="el" href="a00132.html#ada03a9129c46c22ac81a8e475b9d33bf">frepple::Plan</a>, and <a class="el" href="a00051.html#a67d94aa1ffe1f5f41b62a5dc26e07f20">frepple::Demand</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="acc081cc87e465ee811f25f9676550d09"></a><!-- doxytag: member="frepple::HasProblems::Problem" ref="acc081cc87e465ee811f25f9676550d09" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="a00134.html">Problem</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l01021">1021</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a9c557431b3c9c23bcb9d47f8a57533a1"></a><!-- doxytag: member="frepple::HasProblems::Problem::const_iterator" ref="a9c557431b3c9c23bcb9d47f8a57533a1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="a00039.html">Problem::const_iterator</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l01020">1020</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>