<!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::PythonExtensionBase 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="a00257.html">utils</a>::<a class="el" href="a00151.html">PythonExtensionBase</a> </div> </div> <div class="contents"> <h1>frepple::utils::PythonExtensionBase Class Reference</h1><!-- doxytag: class="frepple::utils::PythonExtensionBase" --> <p>This is a base class for all Python extension types. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00252_source.html">utils.h</a>></code></p> <div class="dynheader"> Inheritance diagram for frepple::utils::PythonExtensionBase:</div> <div class="dynsection"> <div class="center"><img src="a00616.png" border="0" usemap="#frepple_1_1utils_1_1_python_extension_base_inherit__map" alt="Inheritance graph"/></div> <map name="frepple_1_1utils_1_1_python_extension_base_inherit__map" id="frepple_1_1utils_1_1_python_extension_base_inherit__map"> <area shape="rect" id="node3" href="a00068.html" title="A flowplan represents a planned material flow in or out of a buffer." alt="" coords="416,410,536,438"/> <area shape="rect" id="node5" href="a00105.html" title="This class represents the resource capacity of an operationplan." alt="" coords="416,461,536,489"/> <area shape="rect" id="node7" href="a00120.html" title="Object is the abstract base class for the main entities." alt="" coords="408,511,544,539"/> <area shape="rect" id="node47" href="a00150.html" title="Template class to define Python extensions." alt="" coords="361,562,591,590"/> <area shape="rect" id="node49" href="a00150.html" title="frepple::utils::PythonExtension\< BufferIterator \>" alt="" coords="328,613,624,641"/> <area shape="rect" id="node53" href="a00150.html" title="frepple::utils::PythonExtension\< CalendarBucketIterator \>" alt="" coords="299,663,653,691"/> <area shape="rect" id="node57" href="a00150.html" title="frepple::utils::PythonExtension\< CalendarEventIterator \>" alt="" coords="304,714,648,742"/> <area shape="rect" id="node59" href="a00150.html" title="frepple::utils::PythonExtension\< CalendarIterator \>" alt="" coords="320,765,632,793"/> <area shape="rect" id="node61" href="a00150.html" title="frepple::utils::PythonExtension\< CustomerIterator \>" alt="" coords="317,815,635,843"/> <area shape="rect" id="node63" href="a00150.html" title="frepple::utils::PythonExtension\< DemandIterator \>" alt="" coords="321,866,631,894"/> <area shape="rect" id="node65" href="a00150.html" title="frepple::utils::PythonExtension\< DemandPlanIterator \>" alt="" coords="308,917,644,945"/> <area shape="rect" id="node67" href="a00150.html" title="frepple::utils::PythonExtension\< FlowIterator \>" alt="" coords="332,967,620,995"/> <area shape="rect" id="node69" href="a00150.html" title="frepple::utils::PythonExtension\< FlowPlanIterator \>" alt="" coords="319,1018,633,1046"/> <area shape="rect" id="node71" href="a00150.html" title="frepple::utils::PythonExtension\< FreppleCategory\< T \> \>" alt="" coords="303,1069,649,1097"/> <area shape="rect" id="node73" href="a00150.html" title="frepple::utils::PythonExtension\< FreppleClass\< ME, BASE \> \>" alt="" coords="283,1119,669,1147"/> <area shape="rect" id="node75" href="a00150.html" title="frepple::utils::PythonExtension\< ItemIterator \>" alt="" coords="332,1170,620,1198"/> <area shape="rect" id="node77" href="a00150.html" title="frepple::utils::PythonExtension\< LoadIterator \>" alt="" coords="331,1221,621,1249"/> <area shape="rect" id="node79" href="a00150.html" title="frepple::utils::PythonExtension\< LoadPlanIterator \>" alt="" coords="319,1271,633,1299"/> <area shape="rect" id="node81" href="a00150.html" title="frepple::utils::PythonExtension\< LocationIterator \>" alt="" coords="320,1322,632,1350"/> <area shape="rect" id="node83" href="a00150.html" title="frepple::utils::PythonExtension\< ME \>" alt="" coords="355,1373,597,1401"/> <area shape="rect" id="node85" href="a00150.html" title="frepple::utils::PythonExtension\< OperationIterator \>" alt="" coords="317,1423,635,1451"/> <area shape="rect" id="node87" href="a00150.html" title="frepple::utils::PythonExtension\< OperationPlanIterator \>" alt="" coords="304,1474,648,1502"/> <area shape="rect" id="node89" href="a00150.html" title="frepple::utils::PythonExtension\< ProblemIterator \>" alt="" coords="321,1525,631,1553"/> <area shape="rect" id="node91" href="a00150.html" title="frepple::utils::PythonExtension\< ResourceIterator \>" alt="" coords="317,1575,635,1603"/> <area shape="rect" id="node93" href="a00150.html" title="frepple::utils::PythonExtension\< SetupMatrixIterator \>" alt="" coords="311,1626,641,1654"/> <area shape="rect" id="node95" href="a00150.html" title="frepple::utils::PythonExtension\< SetupMatrixRuleIterator \>" alt="" coords="297,1677,655,1705"/> <area shape="rect" id="node97" href="a00150.html" title="frepple::utils::PythonExtension\< SolverIterator \>" alt="" coords="328,1727,624,1755"/> <area shape="rect" id="node9" href="a00004.html" title="This class represents a time bucket as a part of a calendar." alt="" coords="839,5,1007,33"/> <area shape="rect" id="node11" href="a00065.html" title="This class defines a material flow to/from a buffer, linked with an operation. This..." alt="" coords="876,55,969,83"/> <area shape="rect" id="node13" href="a00103.html" title="This class links a resource to a certain operation." alt="" coords="875,106,971,134"/> <area shape="rect" id="node15" href="a00125.html" title="An operationplan is the key dynamic element of a plan. It represents a certain quantity..." alt="" coords="848,157,997,185"/> <area shape="rect" id="node17" href="a00131.html" title="This class allows upstream and downstream navigation through the plan." alt="" coords="845,207,1000,235"/> <area shape="rect" id="node19" href="a00132.html" title="This is the (logical) top class of the complete model." alt="" coords="876,258,969,286"/> <area shape="rect" id="node21" href="a00134.html" title="A problem represents infeasibilities, alerts and warnings in the plan." alt="" coords="865,309,980,337"/> <area shape="rect" id="node23" href="a00160.html" title="An specific changeover rule in a setup matrix." alt="" coords="837,359,1008,387"/> <area shape="rect" id="node25" href="a00085.html" title="Base class for objects using a string as their primary key." alt="" coords="829,410,1016,438"/> <area shape="rect" id="node27" href="a00085.html" title="frepple::utils::HasName\< Buffer \>" alt="" coords="816,461,1029,489"/> <area shape="rect" id="node29" href="a00085.html" title="frepple::utils::HasName\< Calendar \>" alt="" coords="807,511,1039,539"/> <area shape="rect" id="node31" href="a00085.html" title="frepple::utils::HasName\< Customer \>" alt="" coords="805,562,1040,590"/> <area shape="rect" id="node33" href="a00085.html" title="frepple::utils::HasName\< Demand \>" alt="" coords="809,613,1036,641"/> <area shape="rect" id="node35" href="a00085.html" title="frepple::utils::HasName\< Item \>" alt="" coords="820,663,1025,691"/> <area shape="rect" id="node37" href="a00085.html" title="frepple::utils::HasName\< Location \>" alt="" coords="808,714,1037,742"/> <area shape="rect" id="node39" href="a00085.html" title="frepple::utils::HasName\< Operation \>" alt="" coords="805,765,1040,793"/> <area shape="rect" id="node41" href="a00085.html" title="frepple::utils::HasName\< Resource \>" alt="" coords="805,815,1040,843"/> <area shape="rect" id="node43" href="a00085.html" title="frepple::utils::HasName\< SetupMatrix \>" alt="" coords="797,866,1048,894"/> <area shape="rect" id="node45" href="a00085.html" title="frepple::utils::HasName\< Solver \>" alt="" coords="815,917,1031,945"/> <area shape="rect" id="node51" href="a00078.html" title="frepple::utils::FreppleIterator\< BufferIterator, Buffer::iterator, Buffer \>" alt="" coords="719,967,1127,995"/> <area shape="rect" id="node55" href="a00015.html" title="frepple::CalendarBucketIterator" alt="" coords="823,1018,1023,1046"/> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a00617.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">virtual PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a685ab10593f4b278d0bf6915981dcb40">call</a> (const <a class="el" href="a00154.html">PythonObject</a> &args, const <a class="el" href="a00154.html">PythonObject</a> &kwds)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a5f7e4126cc181a0c359dba281f54e95f">compare</a> (const PyObject *other) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#af3cfc29003472070ba9e133bcf5eb335">getattro</a> (const <a class="el" href="a00002.html">Attribute</a> &attr)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a3810c6f2d325a75bd6c94eaae27448c3">initType</a> (PyTypeObject *t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ae5f2cd7cfa5367e07b3de396fe98fbfd">initType</a> (const <a class="el" href="a00115.html">MetaClass</a> *t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a9f386d029e66cd76c317f5575abd4686">iternext</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ac388f4ebbe0a1ef0c357c6716296ed56">PythonExtensionBase</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a0a1bd051198a1b82fd23d3ca04c3ee8d">setattro</a> (const <a class="el" href="a00002.html">Attribute</a> &attr, const <a class="el" href="a00154.html">PythonObject</a> &field)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a5107e1ef282ff7f6b4e9cd47e74bb069">str</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a97cfe271690b9dd3a2985c574cb8d912">~PythonExtensionBase</a> ()</td></tr> <tr><td colspan="2"><h2>Static Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00155.html">PythonType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a052b89b0a21ae6da1a4a8dbeb2a97a6c">registerPythonType</a> (int, const type_info *)</td></tr> <tr><td colspan="2"><h2>Static Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static vector< <a class="el" href="a00155.html">PythonType</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#a67eb776e52371040a3b5eb76683a4760">table</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This is a base class for all Python extension types. </p> <p>When creating you own extensions, inherit from the <a class="el" href="a00150.html" title="Template class to define Python extensions.">PythonExtension</a> template class instead of this one.</p> <p>It inherits from the PyObject C struct, defined in the Python C API.<br/> These functions aren't called directly from Python. Python first calls a handler C-function and the handler function will use a virtual call to run the correct C++-method.</p> <p>Our extensions don't use the usual Python heap allocator. They are created and initialized with the regular C++ new and delete. A special deallocator is called from Python to delete objects when their reference count reaches zero. </p> <p>Definition at line <a class="el" href="a00252_source.html#l03149">3149</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ac388f4ebbe0a1ef0c357c6716296ed56"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::PythonExtensionBase" ref="ac388f4ebbe0a1ef0c357c6716296ed56" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::utils::PythonExtensionBase::PythonExtensionBase </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default constructor </p> <p>Definition at line <a class="el" href="a00252_source.html#l03153">3153</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a97cfe271690b9dd3a2985c574cb8d912"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::~PythonExtensionBase" ref="a97cfe271690b9dd3a2985c574cb8d912" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual frepple::utils::PythonExtensionBase::~PythonExtensionBase </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> <p>Definition at line <a class="el" href="a00252_source.html#l03156">3156</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="a685ab10593f4b278d0bf6915981dcb40"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::call" ref="a685ab10593f4b278d0bf6915981dcb40" args="(const PythonObject &args, const PythonObject &kwds)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual PyObject* frepple::utils::PythonExtensionBase::call </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00154.html">PythonObject</a> & </td> <td class="paramname"> <em>args</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00154.html">PythonObject</a> & </td> <td class="paramname"> <em>kwds</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default call method. <br/> Subclasses are expected to implement an override if the type supports calls. </p> <p>Definition at line <a class="el" href="a00252_source.html#l03220">3220</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a5f7e4126cc181a0c359dba281f54e95f"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::compare" ref="a5f7e4126cc181a0c359dba281f54e95f" args="(const PyObject *other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int frepple::utils::PythonExtensionBase::compare </td> <td>(</td> <td class="paramtype">const PyObject * </td> <td class="paramname"> <em>other</em></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default compare method. <br/> Subclasses are expected to implement an override if the type supports compare. </p> <p>Reimplemented in <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< T ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Item ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Location ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Calendar ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Solver ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< SetupMatrix ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Demand ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Customer ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Resource ></a>, <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Operation ></a>, and <a class="el" href="a00085.html#a1dd5c411d61d9ed47104058f948c9f44">frepple::utils::HasName< Buffer ></a>.</p> <p>Definition at line <a class="el" href="a00252_source.html#l03200">3200</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="af3cfc29003472070ba9e133bcf5eb335"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::getattro" ref="af3cfc29003472070ba9e133bcf5eb335" args="(const Attribute &attr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual PyObject* frepple::utils::PythonExtensionBase::getattro </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> & </td> <td class="paramname"> <em>attr</em></td> <td> ) </td> <td><code> [inline, 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 in <a class="el" href="a00004.html#a05cd3bbccc162fb0b2f1f3b8b455fa20">frepple::Calendar::Bucket</a>, <a class="el" href="a00013.html#a6442a6ddc64df28e310a8ed23eee53ad">frepple::Calendar</a>, <a class="el" href="a00016.html#ac3d3a78412cbb6d7fba4dfc8bd75c4e2">frepple::CalendarDouble</a>, <a class="el" href="a00018.html#a9b7480fd3fde9bbd3223724dc4cccbce">frepple::CalendarInt</a>, <a class="el" href="a00014.html#a46a0799cf04a4f95cfd313c65bea577d">frepple::CalendarBool</a>, <a class="el" href="a00022.html#af64080a52d06472941bb0bc448d2744b">frepple::CalendarString</a>, <a class="el" href="a00020.html#a9db7563f67b7ed94af7d513e1607d4b1">frepple::CalendarOperation</a>, <a class="el" href="a00134.html#a0e4d549feb1341e3e0a24a6dc554ee4a">frepple::Problem</a>, <a class="el" href="a00171.html#adfd5b71beb06efcdd5f382734df6dcd9">frepple::Solver</a>, <a class="el" href="a00108.html#a15125fad576444b4360ef28cb6efa096">frepple::Location</a>, <a class="el" href="a00044.html#a047a380178082731d71876cd40051ff8">frepple::Customer</a>, <a class="el" href="a00121.html#a0681225944aef2db5421e5a5f7f710c1">frepple::Operation</a>, <a class="el" href="a00125.html#af0927db9852c532d8613b2aadf0caeb4">frepple::OperationPlan</a>, <a class="el" href="a00123.html#ac5f14aa11baf05605a6db60ecef1b288">frepple::OperationFixedTime</a>, <a class="el" href="a00130.html#ab848b039e95e902500a35497babc9cf5">frepple::OperationTimePer</a>, <a class="el" href="a00128.html#a5d33554349a36ca63ed8062504e8759c">frepple::OperationRouting</a>, <a class="el" href="a00122.html#aca0c41e63d37719114c08f1c0e709664">frepple::OperationAlternate</a>, <a class="el" href="a00088.html#a5892cc59203d5f3c815e39076d8e4cd3">frepple::Item</a>, <a class="el" href="a00008.html#ab843613e4155345fc443d514e2a5733c">frepple::Buffer</a>, <a class="el" href="a00012.html#af131c8bbe4797a65df984c7715ebb07a">frepple::BufferProcure</a>, <a class="el" href="a00160.html#ae9aef1dfff28ff034dfeee764a212f6b">frepple::SetupMatrix::Rule</a>, <a class="el" href="a00165.html#a95cfcffab5777c42c5594f52f54e24cf">frepple::SetupMatrix</a>, <a class="el" href="a00156.html#a9d6cf8567db1286e8903a9370010274d">frepple::Resource</a>, <a class="el" href="a00103.html#a9bcc4b30fb83164c39ffb294b86c2832">frepple::Load</a>, <a class="el" href="a00132.html#adb96bf22aea81017e5a22e1a79e66346">frepple::Plan</a>, <a class="el" href="a00051.html#a24cb2ab980abd3b6d69b4d8356c5df0d">frepple::Demand</a>, <a class="el" href="a00105.html#a9a3adbd225be3dac4ff62f622b1b6a66">frepple::LoadPlan</a>, <a class="el" href="a00173.html#a7cde63ea91a5b9a65e2454093c160b70">frepple::SolverMRP</a>, <a class="el" href="a00072.html#aec8f8c238a8cb202cd176332b71ebd3b">module_forecast::Forecast</a>, <a class="el" href="a00073.html#ade3f84f6ad92522fff6f76792b24c796">module_forecast::ForecastBucket</a>, and <a class="el" href="a00112.html#a05c791c87438080ee3dccf793d1d7e51">module_lp_solver::LPSolver</a>.</p> <p>Definition at line <a class="el" href="a00252_source.html#l03180">3180</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a3810c6f2d325a75bd6c94eaae27448c3"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::initType" ref="a3810c6f2d325a75bd6c94eaae27448c3" args="(PyTypeObject *t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void frepple::utils::PythonExtensionBase::initType </td> <td>(</td> <td class="paramtype">PyTypeObject * </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Initialize the object to a certain Python type. </p> <p>Definition at line <a class="el" href="a00252_source.html#l03171">3171</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="ae5f2cd7cfa5367e07b3de396fe98fbfd"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::initType" ref="ae5f2cd7cfa5367e07b3de396fe98fbfd" args="(const MetaClass *t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void frepple::utils::PythonExtensionBase::initType </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00115.html">MetaClass</a> * </td> <td class="paramname"> <em>t</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Initialize the object to a certain Python type. </p> <p>Definition at line <a class="el" href="a00252_source.html#l03165">3165</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a9f386d029e66cd76c317f5575abd4686"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::iternext" ref="a9f386d029e66cd76c317f5575abd4686" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual PyObject* frepple::utils::PythonExtensionBase::iternext </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default iternext method. <br/> Subclasses are expected to implement an override if the type supports iteration. </p> <p>Definition at line <a class="el" href="a00252_source.html#l03210">3210</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a052b89b0a21ae6da1a4a8dbeb2a97a6c"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::registerPythonType" ref="a052b89b0a21ae6da1a4a8dbeb2a97a6c" args="(int, const type_info *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00155.html">PythonType</a> * frepple::utils::PythonExtensionBase::registerPythonType </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const type_info * </td> <td class="paramname"> <em>t</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00233_source.html#l00446">446</a> of file <a class="el" href="a00233_source.html">pythonutils.cpp</a>.</p> </div> </div> <a class="anchor" id="a0a1bd051198a1b82fd23d3ca04c3ee8d"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::setattro" ref="a0a1bd051198a1b82fd23d3ca04c3ee8d" args="(const Attribute &attr, const PythonObject &field)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int frepple::utils::PythonExtensionBase::setattro </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> & </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> & </td> <td class="paramname"> <em>field</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, 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 in <a class="el" href="a00004.html#a970aa8fef3b7045bec049267f319a534">frepple::Calendar::Bucket</a>, <a class="el" href="a00013.html#a4de02e90183c800fa2adf3d12dfc88f3">frepple::Calendar</a>, <a class="el" href="a00016.html#ad2e6773d2dff5537d63bd47b7b68881f">frepple::CalendarDouble</a>, <a class="el" href="a00018.html#adc2a7dcf7eafdf8e600e82978587f836">frepple::CalendarInt</a>, <a class="el" href="a00014.html#aa7f58a34fede66c8807adc645f406813">frepple::CalendarBool</a>, <a class="el" href="a00022.html#a31b8b92061fd8874785b07356080b93e">frepple::CalendarString</a>, <a class="el" href="a00020.html#a0d49b6951511edf6574a258ecb943120">frepple::CalendarOperation</a>, <a class="el" href="a00171.html#a238d13fba4132fee44d612f3e2d5b335">frepple::Solver</a>, <a class="el" href="a00108.html#ab9d19fa69867261f7dc77acd98899421">frepple::Location</a>, <a class="el" href="a00044.html#a8157599f29ca0b90287dae1b194e0ab9">frepple::Customer</a>, <a class="el" href="a00121.html#a494bac93a19785d858ed4553eb444166">frepple::Operation</a>, <a class="el" href="a00125.html#aa8b58849f7ad109c44163e97cfb0676c">frepple::OperationPlan</a>, <a class="el" href="a00123.html#aa34a37033c58f0777fc76a3824f35586">frepple::OperationFixedTime</a>, <a class="el" href="a00130.html#a943a4be921c6a204fbd101a4878609d4">frepple::OperationTimePer</a>, <a class="el" href="a00122.html#a4adc5f876e7f8719b61f27770e0ed4e0">frepple::OperationAlternate</a>, <a class="el" href="a00088.html#a18892d863689b8ea0f87d2e8721fec5c">frepple::Item</a>, <a class="el" href="a00008.html#af128af0e9d1496b37f07f1c514e3772a">frepple::Buffer</a>, <a class="el" href="a00012.html#a658c30657777eef355b7207b9b1d13b1">frepple::BufferProcure</a>, <a class="el" href="a00160.html#ab36d248ccce512ee2687ed0912345a3b">frepple::SetupMatrix::Rule</a>, <a class="el" href="a00165.html#adf66d9dae820a2b0f1e7b1ae3b544232">frepple::SetupMatrix</a>, <a class="el" href="a00156.html#a3fc21124733af95e743bd8259a9f54ad">frepple::Resource</a>, <a class="el" href="a00103.html#af71ff01487d4c328888ff9730bc06d50">frepple::Load</a>, <a class="el" href="a00132.html#aaa8813a55cf233ef424fea26df99d12f">frepple::Plan</a>, <a class="el" href="a00051.html#a088c9f23e4be2ff8413c9de6449f4c74">frepple::Demand</a>, <a class="el" href="a00173.html#a0ff1f4d1312dca29b36e01ac052643ae">frepple::SolverMRP</a>, <a class="el" href="a00072.html#a2427de0bf9ce7f2ca779b8740deced52">module_forecast::Forecast</a>, <a class="el" href="a00073.html#ab457351555ddc014de20f2412411ea49">module_forecast::ForecastBucket</a>, and <a class="el" href="a00112.html#a4717526cb4db2ca217646e8af799de8b">module_lp_solver::LPSolver</a>.</p> <p>Definition at line <a class="el" href="a00252_source.html#l03190">3190</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a5107e1ef282ff7f6b4e9cd47e74bb069"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::str" ref="a5107e1ef282ff7f6b4e9cd47e74bb069" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual PyObject* frepple::utils::PythonExtensionBase::str </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default str method. <br/> Subclasses are expected to implement an override if the type supports conversion to a string. </p> <p>Reimplemented in <a class="el" href="a00134.html#a9ce2fc49c64c0067e9e6c210bbcd1ce9">frepple::Problem</a>, <a class="el" href="a00125.html#a1b1f4e51ed96e2f9899b10d9ae124454">frepple::OperationPlan</a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< T ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Item ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Location ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Calendar ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Solver ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< SetupMatrix ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Demand ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Customer ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Resource ></a>, <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Operation ></a>, and <a class="el" href="a00085.html#aab52641207b1b912edea8a3e1d0cb08b">frepple::utils::HasName< Buffer ></a>.</p> <p>Definition at line <a class="el" href="a00252_source.html#l03230">3230</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a67eb776e52371040a3b5eb76683a4760"></a><!-- doxytag: member="frepple::utils::PythonExtensionBase::table" ref="a67eb776e52371040a3b5eb76683a4760" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector< <a class="el" href="a00155.html">PythonType</a> * > <a class="el" href="a00151.html#a67eb776e52371040a3b5eb76683a4760">frepple::utils::PythonExtensionBase::table</a><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00252_source.html#l03237">3237</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 files:<ul> <li><a class="el" href="a00252_source.html">utils.h</a></li> <li><a class="el" href="a00211_source.html">utils/library.cpp</a></li> <li><a class="el" href="a00233_source.html">pythonutils.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>