Sophie

Sophie

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

frepple-doc-0.8.1-3.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>C++ API frePPLe: frepple::utils::MetaClass Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="../styles.css" rel="stylesheet"  type="text/css">
</head>
<body>
<div id="container">

<div id="menubar"> 
<div id="logo" align="center">
<br/><img src='../frepple.bmp' alt="frepple" /><br/>
<a href='http://www.frepple.com/'>
<strong>a Free<br/>Production Planning<br/>Library</strong>
</a>
</div>
<div id="menu">
<br/>
<h3><a href='../Main/HomePage.html'>Main</a></h3>
<h3><a href='../UI/Main.html'>User Manual</a></h3>
<h3><a href='../Tutorial/Main.html'>Tutorial</a></h3>
<h3><a href='../Frepple/Main.html'>Reference Manual</a></h3>
<h3><a href='../Main/FAQ.html'>FAQ</a></h3>
<h3><a href='index.html'>C++ API</a></h3>
<br/>
</div>  
</div>

<div id="content">
<br/>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00256.html">frepple</a>::<a class="el" href="a00257.html">utils</a>::<a class="el" href="a00115.html">MetaClass</a>
  </div>
</div>
<div class="contents">
<h1>frepple::utils::MetaClass Class Reference</h1><!-- doxytag: class="frepple::utils::MetaClass" --><!-- doxytag: inherits="frepple::utils::NonCopyable" -->
<p>This class stores metadata about the classes in the library. The stored information goes well beyond the standard 'type_info'.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00252_source.html">utils.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for frepple::utils::MetaClass:</div>
<div class="dynsection">
<div class="center"><img src="a00603.png" border="0" usemap="#frepple_1_1utils_1_1_meta_class_inherit__map" alt="Inheritance graph"/></div>
<map name="frepple_1_1utils_1_1_meta_class_inherit__map" id="frepple_1_1utils_1_1_meta_class_inherit__map">
<area shape="rect" id="node5" href="a00114.html" title="A MetaCategory instance represents metadata for a category of object." alt="" coords="5,161,184,189"/>
<area shape="rect" id="node2" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to..." alt="" coords="7,6,183,34"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a00604.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00120.html">Object</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a> )()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00120.html">Object</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aae320b2c30725e0d6a9776deebdb948c">creatorString</a> )(const string &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ad2a5e80cf511491d59588c349da4db34">processorXMLInstruction</a> )(const char *d)</td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a3b33ad9061401a5bbf9824388d7d560e">connect</a> (<a class="el" href="a00079.html">Functor</a> *c, <a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">Signal</a> a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a657b9dc975969cb31b36b3576e197def">disconnect</a> (<a class="el" href="a00079.html">Functor</a> *c, <a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">Signal</a> a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a189cc8b07a70186c43b4e68eddd8e7e1">MetaClass</a> (const string &amp;cat, const string &amp;cls, <a class="el" href="a00115.html#ad2a5e80cf511491d59588c349da4db34">processorXMLInstruction</a> f, bool def=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a48981afc0ded1109b90b979a6423fb64">MetaClass</a> (const string &amp;cat, const string &amp;cls, <a class="el" href="a00115.html#aae320b2c30725e0d6a9776deebdb948c">creatorString</a> f, bool def=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ab3ccdda0aa519f30ac8b3b1529a86c64">MetaClass</a> (const string &amp;cat, const string &amp;cls, <a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a> f, bool def=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#acd1a24c2cef54a3f1eb7514b8f1b0b0d">MetaClass</a> (const string &amp;cat, const string &amp;cls, bool def=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a083edbca04bf94562c20e2477fc0856e">operator!=</a> (const <a class="el" href="a00115.html">MetaClass</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a2b165b1c5e160dbd18d6cf2f052ee176">operator&lt;</a> (const <a class="el" href="a00115.html">MetaClass</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a0ae63419507c1cf5855a0418c76dc9dd">operator==</a> (const <a class="el" href="a00115.html">MetaClass</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ae3e00d415acf61ed63fe0854ebc55ee3">raiseEvent</a> (<a class="el" href="a00120.html">Object</a> *v, <a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">Signal</a> a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a6f3ffe2fd965f271fcf683e1b767ef35">registerClass</a> (const string &amp;, const string &amp;, bool=false, <a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a>=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a286cf3d12451d786951f4946b85bb719">~MetaClass</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="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4">Action</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a5fb6af1238c308ca2c320ff4487744a2">decodeAction</a> (const <a class="el" href="a00003.html">AttributeList</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4">Action</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aafea050a7ec4ee812cfc0de5fe30ce19">decodeAction</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00115.html">MetaClass</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a9ad93304bf62c6141f2881bdd2bf914d">findClass</a> (const char *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a60d345941c4cc3743a23336015897913">printClasses</a> ()</td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" >union {</td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;<a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a>&nbsp;&nbsp;&nbsp;<a class="el" href="a00115.html#a89b6aced03f5425e5fbb85f4a15f9aad">factoryMethodDefault</a></td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;<a class="el" href="a00115.html#aae320b2c30725e0d6a9776deebdb948c">creatorString</a>&nbsp;&nbsp;&nbsp;<a class="el" href="a00115.html#a70daf864421b16d27ee4525b2b4321b9">factoryMethodString</a></td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;<a class="el" href="a00115.html#ad2a5e80cf511491d59588c349da4db34">processorXMLInstruction</a>&nbsp;&nbsp;&nbsp;<a class="el" href="a00115.html#a1428c918919eb6323c26425e9c9fe9ad">processingInstruction</a></td></tr>
<tr><td class="memItemLeft" valign="top">};&nbsp;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00114.html">MetaCategory</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a0183becf741251599d5d277a030a33c2">category</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">PyTypeObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ae3a4891b9ff78465b660a5ea48a4f503">pythonClass</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a1c94d25992dd871a1eee6825ab84d28a">type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00096.html">Keyword</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aace20f59ef5a9de3188cb9810398932b">typetag</a></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a33cae9cda7ac0433adb4e01142c15931">MetaClass</a> ()</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ac1f571a3f1fc4b1157e5901eeeb8f4f0">FunctorInstance</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a30dcf91bff726d3daedcfc7266ae246d">FunctorStatic</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aa523a16c6214b851b023c40eb1cdc5fa">MetaCategory</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This class stores metadata about the classes in the library. The stored information goes well beyond the standard 'type_info'. </p>
<p>A <a class="el" href="a00115.html" title="This class stores metadata about the classes in the library. The stored information...">MetaClass</a> instance represents metadata for a specific instance type. 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. For instance, 'Resource' is a category while 'ResourceDefault' and 'ResourceInfinite' are specific classes.<br/>
 The metadata class also maintains subscriptions to certain events. Registered classes and objects will receive callbacks when objects are being created, changed or deleted.<br/>
 The proper usage is to include the following code snippet in every class:<br/>
 </p>
<div class="fragment"><pre class="fragment">  In the header file:
    <span class="keyword">class </span>X : <span class="keyword">public</span> Object
    {
      <span class="keyword">public</span>:
        <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="a00115.html#a33cae9cda7ac0433adb4e01142c15931">MetaClass</a>&amp; getType() {<span class="keywordflow">return</span> *metadata;}
        <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="a00115.html#a33cae9cda7ac0433adb4e01142c15931">MetaClass</a> *metadata;
    }
  In the implementation file:
    <span class="keyword">const</span> <a class="code" href="a00115.html#a33cae9cda7ac0433adb4e01142c15931">MetaClass</a> *X::metadata;
</pre></div><p> Creating a <a class="el" href="a00115.html" title="This class stores metadata about the classes in the library. The stored information...">MetaClass</a> object isn't sufficient. It needs to be registered, typically in an initialization method: </p>
<div class="fragment"><pre class="fragment">    <span class="keywordtype">void</span> <a class="code" href="a00258.html#ab6da5933e0f8c7727413e2ec5d45654a">initialize</a>()
    {
      ...
      Y::metadata = <span class="keyword">new</span> <a class="code" href="a00115.html#aa523a16c6214b851b023c40eb1cdc5fa">MetaCategory</a>(<span class="stringliteral">&quot;Y&quot;</span>,<span class="stringliteral">&quot;Ys&quot;</span>, reader_method, writer_method);
      X::metadata = <span class="keyword">new</span> <a class="code" href="a00115.html#a33cae9cda7ac0433adb4e01142c15931">MetaClass</a>(<span class="stringliteral">&quot;Y&quot;</span>,<span class="stringliteral">&quot;X&quot;</span>, factory_method);
      ...
    }
</pre></div> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00114.html" title="A MetaCategory instance represents metadata for a category of object.">MetaCategory</a> </dd></dl>

<p>Definition at line <a class="el" href="a00252_source.html#l01180">1180</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a10c000ae8d53221db1bea78739ba6bf5"></a><!-- doxytag: member="frepple::utils::MetaClass::creatorDefault" ref="a10c000ae8d53221db1bea78739ba6bf5" args=")()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00120.html">Object</a>*(* <a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">frepple::utils::MetaClass::creatorDefault</a>)()</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Type definition for a factory method calling the default constructor.. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01189">1189</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="aae320b2c30725e0d6a9776deebdb948c"></a><!-- doxytag: member="frepple::utils::MetaClass::creatorString" ref="aae320b2c30725e0d6a9776deebdb948c" args=")(const string &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00120.html">Object</a>*(* <a class="el" href="a00115.html#aae320b2c30725e0d6a9776deebdb948c">frepple::utils::MetaClass::creatorString</a>)(const string &amp;)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Type definition for a factory method calling the constructor that takes a string as argument. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01193">1193</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad2a5e80cf511491d59588c349da4db34"></a><!-- doxytag: member="frepple::utils::MetaClass::processorXMLInstruction" ref="ad2a5e80cf511491d59588c349da4db34" args=")(const char *d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="a00115.html#ad2a5e80cf511491d59588c349da4db34">frepple::utils::MetaClass::processorXMLInstruction</a>)(const char *d)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Type definition for a method called to process an XML processing instruction. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01197">1197</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a286cf3d12451d786951f4946b85bb719"></a><!-- doxytag: member="frepple::utils::MetaClass::~MetaClass" ref="a286cf3d12451d786951f4946b85bb719" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual frepple::utils::MetaClass::~MetaClass </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</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#l01221">1221</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="acd1a24c2cef54a3f1eb7514b8f1b0b0d"></a><!-- doxytag: member="frepple::utils::MetaClass::MetaClass" ref="acd1a24c2cef54a3f1eb7514b8f1b0b0d" args="(const string &amp;cat, const string &amp;cls, bool def=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::MetaClass::MetaClass </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cls</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This constructor registers the metadata of a class. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01228">1228</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab3ccdda0aa519f30ac8b3b1529a86c64"></a><!-- doxytag: member="frepple::utils::MetaClass::MetaClass" ref="ab3ccdda0aa519f30ac8b3b1529a86c64" args="(const string &amp;cat, const string &amp;cls, creatorDefault f, bool def=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::MetaClass::MetaClass </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cls</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a>&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This constructor registers the metadata of a class, with a factory method that uses the default constructor of the class. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01236">1236</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a48981afc0ded1109b90b979a6423fb64"></a><!-- doxytag: member="frepple::utils::MetaClass::MetaClass" ref="a48981afc0ded1109b90b979a6423fb64" args="(const string &amp;cat, const string &amp;cls, creatorString f, bool def=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::MetaClass::MetaClass </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cls</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00115.html#aae320b2c30725e0d6a9776deebdb948c">creatorString</a>&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This constructor registers the metadata of a class, with a factory method that uses a constructor with a string argument. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01245">1245</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a189cc8b07a70186c43b4e68eddd8e7e1"></a><!-- doxytag: member="frepple::utils::MetaClass::MetaClass" ref="a189cc8b07a70186c43b4e68eddd8e7e1" args="(const string &amp;cat, const string &amp;cls, processorXMLInstruction f, bool def=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::MetaClass::MetaClass </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>cls</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00115.html#ad2a5e80cf511491d59588c349da4db34">processorXMLInstruction</a>&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This constructor registers the metadata of a class as an XML processing instruction. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01254">1254</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33cae9cda7ac0433adb4e01142c15931"></a><!-- doxytag: member="frepple::utils::MetaClass::MetaClass" ref="a33cae9cda7ac0433adb4e01142c15931" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::MetaClass::MetaClass </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Default constructor. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01337">1337</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="a3b33ad9061401a5bbf9824388d7d560e"></a><!-- doxytag: member="frepple::utils::MetaClass::connect" ref="a3b33ad9061401a5bbf9824388d7d560e" args="(Functor *c, Signal a) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::utils::MetaClass::connect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00079.html">Functor</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">Signal</a>&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Connect a new subscriber to the class. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01320">1320</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5fb6af1238c308ca2c320ff4487744a2"></a><!-- doxytag: member="frepple::utils::MetaClass::decodeAction" ref="a5fb6af1238c308ca2c320ff4487744a2" args="(const AttributeList &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4">Action</a> frepple::utils::MetaClass::decodeAction </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00003.html">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>atts</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method picks up the attribute named "ACTION" from the list and calls the method decodeAction(const XML_Char*) to analyze it. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>decodeAction(const XML_Char*) </dd></dl>

<p>Definition at line <a class="el" href="a00211_source.html#l00380">380</a> of file <a class="el" href="a00211_source.html">utils/library.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aafea050a7ec4ee812cfc0de5fe30ce19"></a><!-- doxytag: member="frepple::utils::MetaClass::decodeAction" ref="aafea050a7ec4ee812cfc0de5fe30ce19" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00257.html#a07f97ddf3e649a4d2aa13cb900b5dcf4">Action</a> frepple::utils::MetaClass::decodeAction </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>x</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This function will analyze the string being passed, and return the appropriate action. The string is expected to be one of the following:</p>
<ul>
<li>'A' for action ADD</li>
<li>'C' for action CHANGE</li>
<li>'AC' for action ADD_CHANGE</li>
<li>'R' for action REMOVE</li>
<li>Any other value will result in a data exception </li>
</ul>

<p>Definition at line <a class="el" href="a00211_source.html#l00368">368</a> of file <a class="el" href="a00211_source.html">utils/library.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a657b9dc975969cb31b36b3576e197def"></a><!-- doxytag: member="frepple::utils::MetaClass::disconnect" ref="a657b9dc975969cb31b36b3576e197def" args="(Functor *c, Signal a) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::utils::MetaClass::disconnect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00079.html">Functor</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">Signal</a>&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Disconnect a subscriber from the class. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01324">1324</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9ad93304bf62c6141f2881bdd2bf914d"></a><!-- doxytag: member="frepple::utils::MetaClass::findClass" ref="a9ad93304bf62c6141f2881bdd2bf914d" args="(const char *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00115.html">MetaClass</a> * frepple::utils::MetaClass::findClass </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>c</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Find a particular class by its name. If it can't be located the return value is NULL. </p>

<p>Definition at line <a class="el" href="a00211_source.html#l00331">331</a> of file <a class="el" href="a00211_source.html">utils/library.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a083edbca04bf94562c20e2477fc0856e"></a><!-- doxytag: member="frepple::utils::MetaClass::operator!=" ref="a083edbca04bf94562c20e2477fc0856e" args="(const MetaClass &amp;b) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool frepple::utils::MetaClass::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00115.html">MetaClass</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Compare two metaclass objects. We are not always sure that only a single instance of a metadata object exists in the system, and a pointer comparison is therefore not appropriate. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>operator == </dd>
<dd>
operator &lt; </dd></dl>

<p>Definition at line <a class="el" href="a00252_source.html#l01305">1305</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2b165b1c5e160dbd18d6cf2f052ee176"></a><!-- doxytag: member="frepple::utils::MetaClass::operator&lt;" ref="a2b165b1c5e160dbd18d6cf2f052ee176" args="(const MetaClass &amp;b) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool frepple::utils::MetaClass::operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00115.html">MetaClass</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sort two metaclass objects. This is used to sort entities on their type information in a stable and platform independent way. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>operator != </dd>
<dd>
operator == </dd></dl>

<p>Definition at line <a class="el" href="a00252_source.html#l01283">1283</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0ae63419507c1cf5855a0418c76dc9dd"></a><!-- doxytag: member="frepple::utils::MetaClass::operator==" ref="a0ae63419507c1cf5855a0418c76dc9dd" args="(const MetaClass &amp;b) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool frepple::utils::MetaClass::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00115.html">MetaClass</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Compare two metaclass objects. We are not always sure that only a single instance of a metadata object exists in the system, and a pointer comparison is therefore not appropriate. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>operator != </dd>
<dd>
operator &lt; </dd></dl>

<p>Definition at line <a class="el" href="a00252_source.html#l01294">1294</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a60d345941c4cc3743a23336015897913"></a><!-- doxytag: member="frepple::utils::MetaClass::printClasses" ref="a60d345941c4cc3743a23336015897913" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::utils::MetaClass::printClasses </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Print all registered factory methods to the standard output for debugging purposes. </p>

<p>Definition at line <a class="el" href="a00211_source.html#l00347">347</a> of file <a class="el" href="a00211_source.html">utils/library.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ae3e00d415acf61ed63fe0854ebc55ee3"></a><!-- doxytag: member="frepple::utils::MetaClass::raiseEvent" ref="ae3e00d415acf61ed63fe0854ebc55ee3" args="(Object *v, Signal a) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool frepple::utils::MetaClass::raiseEvent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00120.html">Object</a> *&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00257.html#aec6d4a238b0cd9ffc8be8f10fd9b652f">Signal</a>&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method should be called whenever objects of this class are being created, updated or deleted. It will run the callback method of all subscribers.<br/>
 If the function returns true, all callback methods approved of the event. If false is returned, one of the callbacks disapproved it and the event action should be allowed to execute. </p>

<p>Definition at line <a class="el" href="a00211_source.html#l00388">388</a> of file <a class="el" href="a00211_source.html">utils/library.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a6f3ffe2fd965f271fcf683e1b767ef35"></a><!-- doxytag: member="frepple::utils::MetaClass::registerClass" ref="a6f3ffe2fd965f271fcf683e1b767ef35" args="(const string &amp;, const string &amp;, bool=false, creatorDefault=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::utils::MetaClass::registerClass </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>def</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a>&nbsp;</td>
          <td class="paramname"> <em>f</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialize the data structure and register the class. </p>

<p>Definition at line <a class="el" href="a00211_source.html#l00220">220</a> of file <a class="el" href="a00211_source.html">utils/library.cpp</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="ac1f571a3f1fc4b1157e5901eeeb8f4f0"></a><!-- doxytag: member="frepple::utils::MetaClass::FunctorInstance" ref="ac1f571a3f1fc4b1157e5901eeeb8f4f0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00080.html">FunctorInstance</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l01184">1184</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a30dcf91bff726d3daedcfc7266ae246d"></a><!-- doxytag: member="frepple::utils::MetaClass::FunctorStatic" ref="a30dcf91bff726d3daedcfc7266ae246d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00081.html">FunctorStatic</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l01183">1183</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa523a16c6214b851b023c40eb1cdc5fa"></a><!-- doxytag: member="frepple::utils::MetaClass::MetaCategory" ref="aa523a16c6214b851b023c40eb1cdc5fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00114.html">MetaCategory</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l01182">1182</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="a8c3768a1ea7e595f0da8e92cf80210ca"></a><!-- doxytag: member="frepple::utils::MetaClass::@11" ref="a8c3768a1ea7e595f0da8e92cf80210ca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">union { ... } </td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A factory method for the registered class. </p>

</div>
</div>
<a class="anchor" id="a0183becf741251599d5d277a030a33c2"></a><!-- doxytag: member="frepple::utils::MetaClass::category" ref="a0183becf741251599d5d277a030a33c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00114.html">MetaCategory</a>* <a class="el" href="a00115.html#a0183becf741251599d5d277a030a33c2">frepple::utils::MetaClass::category</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The category of this class. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01207">1207</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a89b6aced03f5425e5fbb85f4a15f9aad"></a><!-- doxytag: member="frepple::utils::MetaClass::factoryMethodDefault" ref="a89b6aced03f5425e5fbb85f4a15f9aad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00115.html#a10c000ae8d53221db1bea78739ba6bf5">creatorDefault</a> <a class="el" href="a00115.html#a89b6aced03f5425e5fbb85f4a15f9aad">frepple::utils::MetaClass::factoryMethodDefault</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l01215">1215</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a70daf864421b16d27ee4525b2b4321b9"></a><!-- doxytag: member="frepple::utils::MetaClass::factoryMethodString" ref="a70daf864421b16d27ee4525b2b4321b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00115.html#aae320b2c30725e0d6a9776deebdb948c">creatorString</a> <a class="el" href="a00115.html#a70daf864421b16d27ee4525b2b4321b9">frepple::utils::MetaClass::factoryMethodString</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l01216">1216</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1428c918919eb6323c26425e9c9fe9ad"></a><!-- doxytag: member="frepple::utils::MetaClass::processingInstruction" ref="a1428c918919eb6323c26425e9c9fe9ad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00115.html#ad2a5e80cf511491d59588c349da4db34">processorXMLInstruction</a> <a class="el" href="a00115.html#a1428c918919eb6323c26425e9c9fe9ad">frepple::utils::MetaClass::processingInstruction</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l01217">1217</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae3a4891b9ff78465b660a5ea48a4f503"></a><!-- doxytag: member="frepple::utils::MetaClass::pythonClass" ref="ae3a4891b9ff78465b660a5ea48a4f503" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PyTypeObject* <a class="el" href="a00115.html#ae3a4891b9ff78465b660a5ea48a4f503">frepple::utils::MetaClass::pythonClass</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A pointer to the Python type. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01210">1210</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1c94d25992dd871a1eee6825ab84d28a"></a><!-- doxytag: member="frepple::utils::MetaClass::type" ref="a1c94d25992dd871a1eee6825ab84d28a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string <a class="el" href="a00115.html#a1c94d25992dd871a1eee6825ab84d28a">frepple::utils::MetaClass::type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A string specifying the object type, i.e. the subclass within the category. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01201">1201</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="aace20f59ef5a9de3188cb9810398932b"></a><!-- doxytag: member="frepple::utils::MetaClass::typetag" ref="aace20f59ef5a9de3188cb9810398932b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00096.html">Keyword</a>* <a class="el" href="a00115.html#aace20f59ef5a9de3188cb9810398932b">frepple::utils::MetaClass::typetag</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A reference to an <a class="el" href="a00096.html" title="This class defines a keyword for the frePPLe data model.">Keyword</a> of the base string. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l01204">1204</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>
</ul>
</div>
<hr size="1"/><address style="align: right;"><small>Documentation generated for frePPLe by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"/></a></small></address>
</div>
</div>
</body>
</html>