<!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: utils.h File 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><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><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="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_18992602582d7248789456d5a25e14d1.html">include</a> » <a class="el" href="dir_d7b4472e78ce4d9f89572afca2a9177a.html">frepple</a> </div> </div> <div class="contents"> <h1>utils.h File Reference</h1> <p>Header file for auxilary classes. <a href="#_details">More...</a></p> <code>#include "Python.h"</code><br/> <code>#include "datetime.h"</code><br/> <code>#include "<a class="el" href="a00249_source.html">frepple/tags.h</a>"</code><br/> <code>#include "frepple/entity.h"</code><br/> <code>#include "<a class="el" href="a00234_source.html">pythonutils.h</a>"</code><br/> <div class="dynheader"> Include dependency graph for utils.h:</div> <div class="dynsection"> <div class="center"><img src="a00331.png" border="0" usemap="#utils_8h_map" alt=""/></div> <map name="utils_8h_map" id="utils_8h"> <area shape="rect" id="node7" href="a00249.html" title="frepple/tags.h" alt="" coords="208,83,307,111"/> <area shape="rect" id="node11" href="a00234.html" title="Reusable functions for python functionality." alt="" coords="461,83,557,111"/> </map> </div> <div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dynsection"> <div class="center"><img src="a00332.png" border="0" usemap="#utils_8hdep_map" alt=""/></div> <map name="utils_8hdep_map" id="utils_8hdep"> <area shape="rect" id="node3" href="a00248.html" title="tags.cpp" alt="" coords="661,83,733,111"/> <area shape="rect" id="node5" href="a00193.html" title="actions.cpp" alt="" coords="757,83,845,111"/> <area shape="rect" id="node7" href="a00198.html" title="date.cpp" alt="" coords="869,83,941,111"/> <area shape="rect" id="node9" href="a00211.html" title="library.cpp" alt="" coords="965,83,1045,111"/> <area shape="rect" id="node11" href="a00222.html" title="name.cpp" alt="" coords="1069,83,1147,111"/> <area shape="rect" id="node13" href="a00233.html" title="Reusable functions for python functionality." alt="" coords="1171,83,1280,111"/> <area shape="rect" id="node15" href="a00255.html" title="xmlparser.cpp" alt="" coords="1304,83,1408,111"/> <area shape="rect" id="node17" href="a00218.html" title="model.h" alt="" coords="1432,83,1499,111"/> <area shape="rect" id="node100" href="a00234.html" title="Reusable functions for python functionality." alt="" coords="1523,83,1619,111"/> <area shape="rect" id="node19" href="a00192.html" title="actions.cpp" alt="" coords="5,161,93,189"/> <area shape="rect" id="node21" href="a00194.html" title="buffer.cpp" alt="" coords="117,161,195,189"/> <area shape="rect" id="node23" href="a00195.html" title="calendar.cpp" alt="" coords="219,161,315,189"/> <area shape="rect" id="node25" href="a00197.html" title="customer.cpp" alt="" coords="339,161,437,189"/> <area shape="rect" id="node27" href="a00199.html" title="demand.cpp" alt="" coords="461,161,552,189"/> <area shape="rect" id="node29" href="a00201.html" title="flow.cpp" alt="" coords="576,161,643,189"/> <area shape="rect" id="node31" href="a00202.html" title="flowplan.cpp" alt="" coords="667,161,757,189"/> <area shape="rect" id="node33" href="a00208.html" title="item.cpp" alt="" coords="781,161,853,189"/> <area shape="rect" id="node35" href="a00209.html" title="leveled.cpp" alt="" coords="877,161,963,189"/> <area shape="rect" id="node37" href="a00210.html" title="library.cpp" alt="" coords="987,161,1067,189"/> <area shape="rect" id="node39" href="a00212.html" title="load.cpp" alt="" coords="1091,161,1160,189"/> <area shape="rect" id="node41" href="a00213.html" title="loadplan.cpp" alt="" coords="1184,161,1277,189"/> <area shape="rect" id="node43" href="a00214.html" title="location.cpp" alt="" coords="1301,161,1392,189"/> <area shape="rect" id="node45" href="a00223.html" title="operation.cpp" alt="" coords="1416,161,1515,189"/> <area shape="rect" id="node47" href="a00224.html" title="operationplan.cpp" alt="" coords="1539,161,1661,189"/> <area shape="rect" id="node49" href="a00225.html" title="pegging.cpp" alt="" coords="1685,161,1776,189"/> <area shape="rect" id="node51" href="a00226.html" title="plan.cpp" alt="" coords="1800,161,1869,189"/> <area shape="rect" id="node53" href="a00227.html" title="problem.cpp" alt="" coords="1893,161,1984,189"/> <area shape="rect" id="node55" href="a00228.html" title="problems_buffer.cpp" alt="" coords="2008,161,2144,189"/> <area shape="rect" id="node57" href="a00229.html" title="problems_demand.cpp" alt="" coords="2168,161,2320,189"/> <area shape="rect" id="node59" href="a00230.html" title="problems_operationplan.cpp" alt="" coords="2344,161,2528,189"/> <area shape="rect" id="node61" href="a00231.html" title="problems_resource.cpp" alt="" coords="2552,161,2707,189"/> <area shape="rect" id="node63" href="a00235.html" title="resource.cpp" alt="" coords="2731,161,2827,189"/> <area shape="rect" id="node65" href="a00237.html" title="setupmatrix.cpp" alt="" coords="2851,161,2965,189"/> <area shape="rect" id="node67" href="a00238.html" title="solver.cpp" alt="" coords="2989,161,3069,189"/> <area shape="rect" id="node69" href="a00239.html" title="solver.h" alt="" coords="3093,161,3157,189"/> <area shape="rect" id="node87" href="a00206.html" title="Public header file for C++." alt="" coords="3571,238,3640,266"/> <area shape="rect" id="node71" href="a00240.html" title="solverbuffer.cpp" alt="" coords="2453,238,2563,266"/> <area shape="rect" id="node73" href="a00241.html" title="solverdemand.cpp" alt="" coords="2587,238,2712,266"/> <area shape="rect" id="node75" href="a00242.html" title="solverflow.cpp" alt="" coords="2736,238,2837,266"/> <area shape="rect" id="node77" href="a00243.html" title="solverload.cpp" alt="" coords="2861,238,2965,266"/> <area shape="rect" id="node79" href="a00244.html" title="solveroperation.cpp" alt="" coords="2989,238,3120,266"/> <area shape="rect" id="node81" href="a00245.html" title="solverplan.cpp" alt="" coords="3144,238,3248,266"/> <area shape="rect" id="node83" href="a00246.html" title="solverprocure.cpp" alt="" coords="3272,238,3395,266"/> <area shape="rect" id="node85" href="a00247.html" title="solverresource.cpp" alt="" coords="3419,238,3547,266"/> <area shape="rect" id="node89" href="a00200.html" title="dllmain.cpp" alt="" coords="3404,315,3492,343"/> <area shape="rect" id="node91" href="a00204.html" title="Header file for the module forecast." alt="" coords="3516,315,3593,343"/> <area shape="rect" id="node95" href="a00216.html" title="Header file for the module lp_solver." alt="" coords="3617,315,3692,343"/> <area shape="rect" id="node97" href="a00221.html" title="Header file for the module webservice." alt="" coords="3716,315,3791,343"/> <area shape="rect" id="node93" href="a00203.html" title="forecast.cpp" alt="" coords="3509,393,3600,421"/> </map> </div> <p><a href="a00252_source.html">Go to the source code of this file.</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="a00001.html">frepple::utils::Association< A, B, C ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This template class represents a data structure for a load or flow network. <a href="a00001.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html">frepple::utils::Attribute</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A class to model keyword instances. <a href="a00002.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html">frepple::utils::AttributeList</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a dictionary of keyword + value pairs. <a href="a00003.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">frepple::utils::Command</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract base class for all commands. <a href="a00025.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">frepple::utils::CommandList</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A container command to group a series of commands together. <a href="a00029.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">frepple::utils::CommandLoadLibrary</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a00025.html" title="Abstract base class for all commands.">Command</a> to dynamically load a shared library in frePPLe. <a href="a00030.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">frepple::utils::CommandPython</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This command executes Python code in the embedded interpreter. <a href="a00033.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html">frepple::utils::Association< A, B, C >::ListB::const_iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An <a class="el" href="a00092.html" title="An iterator over the associated objects.">iterator</a> over the associated objects. <a href="a00041.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html">frepple::utils::Association< A, B, C >::ListA::const_iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An <a class="el" href="a00091.html" title="An iterator over the associated objects.">iterator</a> over the associated objects. <a href="a00040.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html">frepple::utils::DataElement</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This abstract class represents a attribute and value pair for updating objects in frePPLe. <a href="a00047.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html">frepple::utils::DataException</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An exception of this type is thrown when data errors are found. <a href="a00048.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html">frepple::utils::Date</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a date and time with an accuracy of one second. <a href="a00049.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">frepple::utils::DateRange</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class defines a date-range, i.e. a start-date and end-date pair. <a href="a00050.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">frepple::utils::Environment</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class groups some functions used to interact with the operating system environment. <a href="a00057.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">frepple::utils::FreppleIterator< ME, ITERCLASS, DATACLASS ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A template class to expose iterators to Python. <a href="a00078.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">frepple::utils::Functor</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This abstract class is the base class used for callbacks. <a href="a00079.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">frepple::utils::FunctorInstance< T, U ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an object subscribing to a signal. <a href="a00080.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">frepple::utils::FunctorStatic< T, U ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a static subscription to a signal. <a href="a00081.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">frepple::utils::HasDescription</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is a decorator class for the main objects. <a href="a00082.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">frepple::utils::HasHierarchy< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is a base class for the main objects. <a href="a00083.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html">frepple::utils::HasName< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for objects using a string as their primary key. <a href="a00085.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html">frepple::utils::indent</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html">frepple::utils::Association< A, B, C >::ListB::iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An <a class="el" href="a00092.html" title="An iterator over the associated objects.">iterator</a> over the associated objects. <a href="a00092.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html">frepple::utils::Association< A, B, C >::ListA::iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An <a class="el" href="a00091.html" title="An iterator over the associated objects.">iterator</a> over the associated objects. <a href="a00091.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html">frepple::utils::HasName< T >::iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class models a STL-like <a class="el" href="a00094.html" title="This class models a STL-like iterator that allows us to iterate over the named entities...">iterator</a> that allows us to iterate over the named entities in a simple and safe way. <a href="a00094.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html">frepple::utils::Keyword</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class defines a keyword for the frePPLe data model. <a href="a00096.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html">frepple::utils::LibraryUtils</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class holds functions that used for maintenance of the library. <a href="a00099.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>frepple::utils::Association< A, B, C >::List</b></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A abstract base class for the internal representation of the association lists. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html">frepple::utils::Association< A, B, C >::ListA</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A list type of the "first" / "from" part of the association. <a href="a00101.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html">frepple::utils::Association< A, B, C >::ListB</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A list type of the "second" / "to" part of the association. <a href="a00102.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html">frepple::utils::LogicException</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An exception of this type is thrown when the library gets in an inconsistent state from which the normal course of action can't continue. <a href="a00111.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html">frepple::utils::HasHierarchy< T >::memberIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class models an STL-like iterator that allows us to iterate over the members. <a href="a00113.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html">frepple::utils::MetaCategory</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="a00114.html" title="A MetaCategory instance represents metadata for a category of object.">MetaCategory</a> instance represents metadata for a category of object. <a href="a00114.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html">frepple::utils::MetaClass</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class stores metadata about the classes in the library. The stored information goes well beyond the standard 'type_info'. <a href="a00115.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html">frepple::utils::Mutex</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class is a wrapper around platform specific mutex functions. <a href="a00117.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html">frepple::utils::Association< A, B, C >::Node</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A base class for the class representing the association itself. <a href="a00118.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html">frepple::utils::NonCopyable</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to...">NonCopyable</a> is a base class.<br/> Derive your own class from it when you want to prohibit copy construction and copy assignment. <a href="a00119.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html">frepple::utils::Object</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a00120.html" title="Object is the abstract base class for the main entities.">Object</a> is the abstract base class for the main entities. <a href="a00120.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html">frepple::utils::PythonAttributeList</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class is a wrapper around a Python dictionary. <a href="a00149.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html">frepple::utils::PythonExtension< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Template class to define Python extensions. <a href="a00150.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html">frepple::utils::PythonExtensionBase</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is a base class for all Python extension types. <a href="a00151.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00152.html">frepple::utils::PythonFunction</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This call is a wrapper around a Python function that can be called from the C++ code. <a href="a00152.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html">frepple::utils::PythonInterpreter</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used to maintain the Python interpreter. <a href="a00153.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00154.html">frepple::utils::PythonObject</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class handles two-way translation between the data types in C++ and Python. <a href="a00154.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html">frepple::utils::PythonType</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class is a thin wrapper around the type information in Python. <a href="a00155.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00162.html">frepple::utils::RuntimeException</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An exception of this type is thrown when the library runs into problems that are specific at runtime. <br/> These could either be memory problems, threading problems, file system problems, etc... <a href="a00162.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00163.html">frepple::utils::ScopeMutexLock</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is a convenience class that makes it easy (and exception-safe) to lock a mutex in a scope. <a href="a00163.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html">frepple::utils::Tags</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class holds a collection of all XML tags used by <a class="el" href="a00256.html" title="Core namespace.">frepple</a>. <a href="a00176.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00179.html">frepple::utils::TimePeriod</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a time duration with an accuracy of one second. <a href="a00179.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00180.html">frepple::utils::Timer</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used to measure the processor time used by the program. <a href="a00180.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00181.html">frepple::utils::Tree</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class implements a binary tree data structure. It is used as a container for entities keyed by their name. <a href="a00181.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00182.html">frepple::utils::Tree::TreeNode</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a node in the tree. <a href="a00182.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00183.html">frepple::utils::XMLAttributeList</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents a list of XML attributes. <a href="a00183.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00184.html">frepple::utils::XMLElement</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class represents an XML element being read in from the input file. <a href="a00184.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00185.html">frepple::utils::XMLEscape</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html">frepple::utils::XMLInput</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class will read in an XML-file and call the appropriate handler functions of the <a class="el" href="a00120.html" title="Object is the abstract base class for the main entities.">Object</a> classes and objects. <a href="a00186.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html">frepple::utils::XMLInputFile</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class reads XML data from a file system. <a href="a00187.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00188.html">frepple::utils::XMLInputString</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class reads XML data from a string. <a href="a00188.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html">frepple::utils::XMLOutput</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for writing XML formatted data to an output stream. <a href="a00189.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00190.html">frepple::utils::XMLOutputFile</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class writes XML data to a flat file. <a href="a00190.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00191.html">frepple::utils::XMLOutputString</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class writes XML data to a string. <a href="a00191.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00256.html">frepple</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Core namespace. </p> <br/></td></tr> </p> <tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html">frepple::utils</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Utilities for the frePPle core. </p> <br/></td></tr> </p> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#a99b94ab8c2f2a32277559c7b2b0a054c">DECLARE_EXPORT</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#a49d85811d1043ff1f3d7df4be3d90138">MODULE_EXPORT</a> extern "C"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#aa326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a> "0.8.1"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#aa5b5990f814eb53730c24c7f911f9132">PY_SSIZE_T_MAX</a> INT_MAX</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#a9fbcf3e88f34de99fb3bd045cffd6ce4">PY_SSIZE_T_MIN</a> INT_MIN</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#a42d90a6275119e1b4ce73c50f1867e60">ROUNDING_ERROR</a> 0.000001</td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#af8a429831281b355afd656cb83d31443">frepple::utils::hashtype</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00252.html#a47424a8953c340f500027db7e6c00173">Py_ssize_t</a></td></tr> <tr><td colspan="2"><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4">frepple::utils::Action</a> { <a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4a8f6183fcf54ca6985ff2b5ef80673a25">frepple::utils::ADD</a> = 0, <a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4a1b9888c025bb8f78e322471fd5e14423">frepple::utils::CHANGE</a> = 1, <a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4a6b9fb19e9a6595385dec31b63e0054e1">frepple::utils::REMOVE</a> = 2, <a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4a75b4aab762127e8083e16661b4021a00">frepple::utils::ADD_CHANGE</a> = 3 }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398">frepple::utils::mode</a> { <a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398a976ad2abb9fd10ca7e48fdff6bef2341">frepple::utils::DEFAULT</a> = 0, <a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398a874240ada53cc5b608466064d86d91ae">frepple::utils::REFERENCE</a> = 1, <a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398a2ad5e75fe119e297630882d182832243">frepple::utils::NOHEADER</a> = 2, <a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398ae6f8960699e19b8d77b093b7e2c48619">frepple::utils::FULL</a> = 3 }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">frepple::utils::Signal</a> { <a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652fa0002e13b1bc824daa2f7eba569780247">frepple::utils::SIG_ADD</a> = 0, <a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652fa6a5f44a606844db345f7c98cd402ecfb">frepple::utils::SIG_REMOVE</a> = 1 }</td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#af18793cf8f11dc5f84204b39bbf71141">frepple::utils::call_handler</a> (PyObject *self, PyObject *args, PyObject *kwds)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a28798e75e76078d3832b1c4ee0275291">frepple::utils::compare_handler</a> (PyObject *self, PyObject *other)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a606ff96836397c238a39f3281ed28045">frepple::utils::getattro_handler</a> (PyObject *self, PyObject *name)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#ae263cd0dae72bd875e83fb8f7a701e36">frepple::utils::iternext_handler</a> (PyObject *self)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a7aa7d128febae46b7ef265606e6d0a2c">frepple::utils::matchWildcard</a> (const char *wild, const char *str)</td></tr> <tr><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00257.html#af24742cc9c95565aa21cf0d8adf7209d">frepple::utils::operator<<</a> (ostream &o, const HasName< T > *n)</td></tr> <tr><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00257.html#ac3b7543bd0c7d36324809c5e26a7d696">frepple::utils::operator<<</a> (ostream &o, const HasName< T > &n)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#acb58d2b9b9562d2157c12a741171d3e3">frepple::utils::operator<<</a> (ostream &os, const XMLEscape &x)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#af7d5e0b248b6b5a6ed3aad6cd11824ef">frepple::utils::operator<<</a> (ostream &os, const DateRange &dr)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a8722649552fab942cfb2e178eb072d42">frepple::utils::operator<<</a> (ostream &os, const Date &d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a68859c1ce5dae650701e25189ac3d964">frepple::utils::operator<<</a> (ostream &os, const TimePeriod &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#abd856b5306f1863cd69294e2d2a33f9b">frepple::utils::operator<<</a> (ostream &os, const Timer &t)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#aa52ff31ed1fe01eca4870917643676e3">frepple::utils::operator<<</a> (ostream &os, const indent &i)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a1a940b928a369aaee027da7a7a5ae1c2">frepple::utils::operator<<</a> (ostream &os, const Signal &d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a40b8d96213b7286d0a406639fba2421c">frepple::utils::operator<<</a> (ostream &os, const Action &d)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#af7b56b985181f3fd7db6d5b17aa81355">frepple::utils::setattro_handler</a> (PyObject *self, PyObject *name, PyObject *value)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">PyObject * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a7f87427f25a82f58d676635ce0811539">frepple::utils::str_handler</a> (PyObject *self)</td></tr> <tr><td colspan="2"><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">ostream </td><td class="memItemRight" valign="bottom"><a class="el" href="a00257.html#a4af9f241e955122820c5e81ceb33edb5">frepple::utils::logger</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Header file for auxilary classes. </p> <p>Definition in file <a class="el" href="a00252_source.html">utils.h</a>.</p> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a99b94ab8c2f2a32277559c7b2b0a054c"></a><!-- doxytag: member="utils.h::DECLARE_EXPORT" ref="a99b94ab8c2f2a32277559c7b2b0a054c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DECLARE_EXPORT</td> </tr> </table> </div> <div class="memdoc"> <p>Used to define which symbols to export from a Windows DLL. </p> <p>Definition at line <a class="el" href="a00252_source.html#l00188">188</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a49d85811d1043ff1f3d7df4be3d90138"></a><!-- doxytag: member="utils.h::MODULE_EXPORT" ref="a49d85811d1043ff1f3d7df4be3d90138" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MODULE_EXPORT extern "C"</td> </tr> </table> </div> <div class="memdoc"> <p>Signature used for a module initialization routine. It assures the function is exported appropriately when running on Windows.<br/> A module will need to define a function with the following prototype: </p> <div class="fragment"><pre class="fragment"> <a class="code" href="a00252.html#a49d85811d1043ff1f3d7df4be3d90138">MODULE_EXPORT</a> <span class="keywordtype">string</span> <a class="code" href="a00258.html#ab6da5933e0f8c7727413e2ec5d45654a">initialize</a>(<span class="keyword">const</span> CommandLoadLibrary::ParameterList&); </pre></div> <p>Definition at line <a class="el" href="a00252_source.html#l00189">189</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="aa326a05d5e30f9e9a4bb0b4469d5d0c0"></a><!-- doxytag: member="utils.h::PACKAGE_VERSION" ref="aa326a05d5e30f9e9a4bb0b4469d5d0c0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PACKAGE_VERSION "0.8.1"</td> </tr> </table> </div> <div class="memdoc"> <p>Defines the version of frePPLe. </p> <p>Definition at line <a class="el" href="a00252_source.html#l00113">113</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="aa5b5990f814eb53730c24c7f911f9132"></a><!-- doxytag: member="utils.h::PY_SSIZE_T_MAX" ref="aa5b5990f814eb53730c24c7f911f9132" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PY_SSIZE_T_MAX INT_MAX</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00252_source.html#l00055">55</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a9fbcf3e88f34de99fb3bd045cffd6ce4"></a><!-- doxytag: member="utils.h::PY_SSIZE_T_MIN" ref="a9fbcf3e88f34de99fb3bd045cffd6ce4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PY_SSIZE_T_MIN INT_MIN</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00252_source.html#l00056">56</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <a class="anchor" id="a42d90a6275119e1b4ce73c50f1867e60"></a><!-- doxytag: member="utils.h::ROUNDING_ERROR" ref="a42d90a6275119e1b4ce73c50f1867e60" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ROUNDING_ERROR 0.000001</td> </tr> </table> </div> <div class="memdoc"> <p>This constant defines the magnitude of what can still be considered as a rounding error. </p> <p>Definition at line <a class="el" href="a00252_source.html#l00149">149</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a47424a8953c340f500027db7e6c00173"></a><!-- doxytag: member="utils.h::Py_ssize_t" ref="a47424a8953c340f500027db7e6c00173" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int <a class="el" href="a00252.html#a47424a8953c340f500027db7e6c00173">Py_ssize_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00252_source.html#l00054">54</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p> </div> </div> </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>