archeus/doc/doxygen/html/da/d10/src_2std_2chemical_8c.html

566 lines
41 KiB
HTML
Raw Normal View History

<!-- HTML header for doxygen 1.9.2-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" class="dark-mode">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Archeus: /home/herbglitch/programs/archeus/arc/src/std/chemical.c File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="../../doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="../../doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../doxygen-awesome-darkmode-toggle.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Archeus<span id="projectnumber">&#160;0.0.0</span>
</div>
<div id="projectbrief">A C library and game engine that focuses on documentation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('da/d10/src_2std_2chemical_8c.html','../../'); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">chemical.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="../../de/de8/chemical_8h_source.html">arc/std/chemical.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d1/d98/helpers_8h_source.html">arc/std/parser/helpers.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d8/d77/bool_8h_source.html">arc/std/bool.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../dd/d16/hashtable_8h_source.html">arc/std/hashtable.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d5/d36/parser_8h_source.html">arc/std/parser.h</a>&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div>
<p><a href="../../da/d10/src_2std_2chemical_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a91538413561eed08286d4618cf48cb4e" id="r_a91538413561eed08286d4618cf48cb4e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a91538413561eed08286d4618cf48cb4e">ARC_Chemical_InitLexerRulesFn</a> (<a class="el" href="../../d6/d2b/structARC__Lexer.html">ARC_Lexer</a> *lexer)</td></tr>
<tr class="separator:a91538413561eed08286d4618cf48cb4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6e410a437cdcc260088adb4184feba4" id="r_ac6e410a437cdcc260088adb4184feba4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac6e410a437cdcc260088adb4184feba4">ARC_Chemical_GetStringIdFn</a> (<a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *string)</td></tr>
<tr class="separator:ac6e410a437cdcc260088adb4184feba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36dd29a6ba7bf4d1de525e29084e9fa1" id="r_a36dd29a6ba7bf4d1de525e29084e9fa1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a36dd29a6ba7bf4d1de525e29084e9fa1">ARC_ChemicalData_CreateFn</a> (void **data, <a class="el" href="../../dc/d37/structARC__ParserTagToken.html">ARC_ParserTagToken</a> *parsedData, void *userData)</td></tr>
<tr class="separator:a36dd29a6ba7bf4d1de525e29084e9fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57285cb04aa534e1d031332dcaa1a870" id="r_a57285cb04aa534e1d031332dcaa1a870"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a57285cb04aa534e1d031332dcaa1a870">ARC_Chemical_Create</a> (<a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> **chemical)</td></tr>
<tr class="memdesc:a57285cb04aa534e1d031332dcaa1a870"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:a57285cb04aa534e1d031332dcaa1a870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a686a72bf4514fe44106185d4b5c588ef" id="r_a686a72bf4514fe44106185d4b5c588ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a686a72bf4514fe44106185d4b5c588ef">ARC_Chemical_Destroy</a> (<a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *chemical)</td></tr>
<tr class="memdesc:a686a72bf4514fe44106185d4b5c588ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:a686a72bf4514fe44106185d4b5c588ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a585e4d4a2bd7f2484fa3e6a308b483d3" id="r_a585e4d4a2bd7f2484fa3e6a308b483d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a585e4d4a2bd7f2484fa3e6a308b483d3">ARC_Chemical_RegisterType</a> (<a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *chemical, <a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *typeName, <a class="el" href="../../de/de8/chemical_8h.html#a878b92abe81c5c07d8adaf4685fdf5c8">ARC_ChemicalData_CopyToTypeFn</a> *copyToTypeFn, <a class="el" href="../../de/de8/chemical_8h.html#a6d9a36eaffba502a7ec8b17ff640787d">ARC_ParserCSV_DestroyTypeFn</a> destroyTypeFn)</td></tr>
<tr class="memdesc:a585e4d4a2bd7f2484fa3e6a308b483d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:a585e4d4a2bd7f2484fa3e6a308b483d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d6a498f3920dc4bed51fe2e855ef69f" id="r_a5d6a498f3920dc4bed51fe2e855ef69f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5d6a498f3920dc4bed51fe2e855ef69f">ARC_Chemical_SetGroup</a> (<a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *chemical, <a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *groupName)</td></tr>
<tr class="memdesc:a5d6a498f3920dc4bed51fe2e855ef69f"><td class="mdescLeft">&#160;</td><td class="mdescRight">sets current group in config <br /></td></tr>
<tr class="separator:a5d6a498f3920dc4bed51fe2e855ef69f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb8a34d9191beed01e6fed8a897151c3" id="r_adb8a34d9191beed01e6fed8a897151c3"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adb8a34d9191beed01e6fed8a897151c3">ARC_Chemical_Get</a> (<a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *chemical, <a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *element)</td></tr>
<tr class="memdesc:adb8a34d9191beed01e6fed8a897151c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a value from a given keyname <br /></td></tr>
<tr class="separator:adb8a34d9191beed01e6fed8a897151c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56505ede690711cbfd12c9e56864c4b3" id="r_a56505ede690711cbfd12c9e56864c4b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a56505ede690711cbfd12c9e56864c4b3">ARC_Chemical_LoadFromString</a> (<a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *path)</td></tr>
<tr class="memdesc:a56505ede690711cbfd12c9e56864c4b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:a56505ede690711cbfd12c9e56864c4b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12062638bce9e79bc5409a12c05e3023" id="r_a12062638bce9e79bc5409a12c05e3023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a12062638bce9e79bc5409a12c05e3023">ARC_Chemical_LoadFromFile</a> (<a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *path)</td></tr>
<tr class="memdesc:a12062638bce9e79bc5409a12c05e3023"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:a12062638bce9e79bc5409a12c05e3023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad875764e9e18d4aa3db2cf86081d2048" id="r_ad875764e9e18d4aa3db2cf86081d2048"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad875764e9e18d4aa3db2cf86081d2048">ARC_Chemical_UnloadFromString</a> (<a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *data)</td></tr>
<tr class="memdesc:ad875764e9e18d4aa3db2cf86081d2048"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:ad875764e9e18d4aa3db2cf86081d2048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43b69b30d57bdf40ffe674e4e0105157" id="r_a43b69b30d57bdf40ffe674e4e0105157"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a43b69b30d57bdf40ffe674e4e0105157">ARC_Chemical_UnloadFromFile</a> (<a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *data)</td></tr>
<tr class="memdesc:a43b69b30d57bdf40ffe674e4e0105157"><td class="mdescLeft">&#160;</td><td class="mdescRight">TODO: write this. <br /></td></tr>
<tr class="separator:a43b69b30d57bdf40ffe674e4e0105157"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a57285cb04aa534e1d031332dcaa1a870" name="a57285cb04aa534e1d031332dcaa1a870"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57285cb04aa534e1d031332dcaa1a870">&#9670;&#160;</a></span>ARC_Chemical_Create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> **</td> <td class="paramname"><span class="paramname"><em>chemical</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00036">36</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 36</span> {</div>
<div class="line"><span class="lineno"> 37</span> *chemical = (<a class="code hl_struct" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *)malloc(<span class="keyword">sizeof</span>(<a class="code hl_struct" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a>));</div>
<div class="line"><span class="lineno"> 38</span> </div>
<div class="line"><span class="lineno"> 39</span> <span class="comment">/* ~ define the language as a string ~ */</span></div>
<div class="line"><span class="lineno"> 40</span> <span class="keywordtype">char</span> *languageCString =</div>
<div class="line"><span class="lineno"> 41</span> <span class="stringliteral">&quot;&lt;language&gt; -&gt; &lt;group&gt; &lt;language&gt; | &lt;variableLine&gt; &lt;language&gt; | &lt;whitespace&gt; &lt;language&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 42</span> </div>
<div class="line"><span class="lineno"> 43</span> <span class="stringliteral">&quot;&lt;group&gt; -&gt; &lt;groupName&gt; &lt;whitespace&gt; &lt;variable&gt; &lt;whitespace&gt; LEFT_CURLY_BRACE &lt;whitespace&gt; &lt;variableLine&gt; &lt;whitespace&gt; RIGHT_CURLY_BRACE\n&quot;</span></div>
<div class="line"><span class="lineno"> 44</span> </div>
<div class="line"><span class="lineno"> 45</span> <span class="stringliteral">&quot;&lt;variableLine&gt; -&gt; &lt;type&gt; &lt;whitespace&gt; &lt;variable&gt; &lt;whitespace&gt; EQUALS &lt;whitespace&gt; value &lt;whitespace&gt; SEMICOLON &lt;whitespace&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 46</span> </div>
<div class="line"><span class="lineno"> 47</span> <span class="stringliteral">&quot;&lt;groupName&gt; -&gt; &lt;variable&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 48</span> <span class="stringliteral">&quot;&lt;type&gt; -&gt; &lt;variable&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 49</span> <span class="stringliteral">&quot;&lt;value&gt; -&gt; &lt;variable&gt; | &lt;number&gt; | &lt;nestedValue&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 50</span> <span class="stringliteral">&quot;&lt;nestedValue&gt; -&gt; OPEN_CURLY_BRACE &lt;whitespace&gt; &lt;valueArgs&gt; &lt;whitespace&gt; CLOSE_CURLY_BRACE\n&quot;</span></div>
<div class="line"><span class="lineno"> 51</span> <span class="stringliteral">&quot;&lt;valueArgs&gt; -&gt; &lt;value&gt; | &lt;value&gt; COMMA &lt;valueArgs&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 52</span> </div>
<div class="line"><span class="lineno"> 53</span> <span class="stringliteral">&quot;&lt;variable&gt; -&gt; ALPHA_UPPER_CHAR &lt;variableName&gt; | ALPHA_LOWER_CHAR &lt;variableName&gt; | UNDERSCORE &lt;variableName&gt;\n&quot;</span></div>
<div class="line"><span class="lineno"> 54</span> <span class="stringliteral">&quot;&lt;variableName&gt; -&gt; &lt;charOrNum&gt; &lt;variableName&gt; | LAMBDA\n&quot;</span></div>
<div class="line"><span class="lineno"> 55</span> <span class="stringliteral">&quot;&lt;charOrNum&gt; -&gt; ALPHA_UPPER_CHAR | ALPHA_LOWER_CHAR | UNDERSCORE | NUM\n&quot;</span></div>
<div class="line"><span class="lineno"> 56</span> </div>
<div class="line"><span class="lineno"> 57</span> <span class="stringliteral">&quot;&lt;number&gt; -&gt; NUMBER &lt;number&gt; | NUMBER LAMBDA\n&quot;</span></div>
<div class="line"><span class="lineno"> 58</span> </div>
<div class="line"><span class="lineno"> 59</span> <span class="stringliteral">&quot;&lt;whitespace&gt; -&gt; SPACE &lt;whitespace&gt; | TAB &lt;whitespace&gt; | NEWLINE &lt;whitespace&gt; | LAMBDA\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 60</span> </div>
<div class="line"><span class="lineno"> 61</span> <span class="comment">/* ~ define the language as a string ~ */</span></div>
<div class="line"><span class="lineno"> 62</span> <a class="code hl_struct" href="../../df/d06/structARC__String.html">ARC_String</a> *languageString;</div>
<div class="line"><span class="lineno"> 63</span> <a class="code hl_function" href="../../da/d66/string_8h.html#a5cc6bf2a8e4cba4e60f3ec51db3ea04f">ARC_String_CreateWithStrlen</a>(&amp;languageString, languageCString);</div>
<div class="line"><span class="lineno"> 64</span> </div>
<div class="line"><span class="lineno"> 65</span> <span class="comment">/* ~ init the userdata? ~ */</span></div>
<div class="line"><span class="lineno"> 66</span> </div>
<div class="line"><span class="lineno"> 67</span> <span class="comment">/* ~ create the language ~ */</span></div>
<div class="line"><span class="lineno"> 68</span> <span class="comment">//ARC_ParserData_CreateFn createCharFn = ARC_ChemicalData_CreateFn;</span></div>
<div class="line"><span class="lineno"> 69</span> <span class="comment">//ARC_ParserData_DestroyFn destroyCharFn = ARC_ChemicalData_DestroyFn;</span></div>
<div class="line"><span class="lineno"> 70</span> <span class="comment">//ARC_Parser_CreateFromString(parser, languageString, ARC_ParserCSV_InitLexerRulesFn, ARC_ParserCSV_GetStringIdFn, &amp;createCharFn, &amp;destroyCharFn, userdata);</span></div>
<div class="line"><span class="lineno"> 71</span> </div>
<div class="line"><span class="lineno"> 72</span> <span class="comment">//cleanup</span></div>
<div class="line"><span class="lineno"> 73</span> <a class="code hl_function" href="../../da/d66/string_8h.html#ac63d17182fd14297f5e7021488d74e35">ARC_String_Destroy</a>(languageString);</div>
<div class="line"><span class="lineno"> 74</span>}</div>
<div class="ttc" id="astring_8h_html_a5cc6bf2a8e4cba4e60f3ec51db3ea04f"><div class="ttname"><a href="../../da/d66/string_8h.html#a5cc6bf2a8e4cba4e60f3ec51db3ea04f">ARC_String_CreateWithStrlen</a></div><div class="ttdeci">void ARC_String_CreateWithStrlen(ARC_String **string, char *data)</div><div class="ttdoc">creates ARC_String type with strinlen</div><div class="ttdef"><b>Definition</b> <a href="../../d1/db0/string_8c_source.html#l00032">string.c:32</a></div></div>
<div class="ttc" id="astring_8h_html_ac63d17182fd14297f5e7021488d74e35"><div class="ttname"><a href="../../da/d66/string_8h.html#ac63d17182fd14297f5e7021488d74e35">ARC_String_Destroy</a></div><div class="ttdeci">void ARC_String_Destroy(ARC_String *string)</div><div class="ttdoc">destroys ARC_String type</div><div class="ttdef"><b>Definition</b> <a href="../../d1/db0/string_8c_source.html#l00052">string.c:52</a></div></div>
<div class="ttc" id="astructARC__Chemical_html"><div class="ttname"><a href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a></div><div class="ttdef"><b>Definition</b> <a href="../../da/d10/src_2std_2chemical_8c_source.html#l00010">chemical.c:10</a></div></div>
<div class="ttc" id="astructARC__String_html"><div class="ttname"><a href="../../df/d06/structARC__String.html">ARC_String</a></div><div class="ttdoc">substring position within a string</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/string_8h_source.html#l00014">string.h:14</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="../../d1/db0/string_8c_source.html#l00032">ARC_String_CreateWithStrlen()</a>, and <a class="el" href="../../d1/db0/string_8c_source.html#l00052">ARC_String_Destroy()</a>.</p>
<p class="reference">Referenced by <a class="el" href="../../d4/db5/tests_2std_2chemical_8c_source.html#l00007">ARC_TEST()</a>.</p>
</div>
</div>
<a id="a686a72bf4514fe44106185d4b5c588ef" name="a686a72bf4514fe44106185d4b5c588ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a686a72bf4514fe44106185d4b5c588ef">&#9670;&#160;</a></span>ARC_Chemical_Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_Destroy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *</td> <td class="paramname"><span class="paramname"><em>chemical</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00076">76</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 76</span> {</div>
<div class="line"><span class="lineno"> 77</span>}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="../../d4/db5/tests_2std_2chemical_8c_source.html#l00007">ARC_TEST()</a>.</p>
</div>
</div>
<a id="adb8a34d9191beed01e6fed8a897151c3" name="adb8a34d9191beed01e6fed8a897151c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb8a34d9191beed01e6fed8a897151c3">&#9670;&#160;</a></span>ARC_Chemical_Get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * ARC_Chemical_Get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *</td> <td class="paramname"><span class="paramname"><em>chemical</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>element</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>get a value from a given keyname </p>
<dl class="section note"><dt>Note</dt><dd>name may be prefaced with &lt;group&gt;:: to specify group</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">chemical</td><td><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> to get value from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">element</td><td>name of a variable that has been read in</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the stored element on success, or NULL on failure </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00085">85</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 85</span> {</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">return</span> NULL;</div>
<div class="line"><span class="lineno"> 87</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac6e410a437cdcc260088adb4184feba4" name="ac6e410a437cdcc260088adb4184feba4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6e410a437cdcc260088adb4184feba4">&#9670;&#160;</a></span>ARC_Chemical_GetStringIdFn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ARC_Chemical_GetStringIdFn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>string</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00019">19</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 19</span> {</div>
<div class="line"><span class="lineno"> 20</span> <span class="keywordflow">if</span>(<a class="code hl_function" href="../../da/d66/string_8h.html#a8263ad0461c0261c9d410264e80c6f63">ARC_String_EqualsCStringWithStrlen</a>(<span class="keywordtype">string</span>, <span class="stringliteral">&quot;LAMBDA&quot;</span>)){</div>
<div class="line"><span class="lineno"> 21</span> <span class="keywordflow">return</span> <a class="code hl_define" href="../../d5/d36/parser_8h.html#a49859e4f0658f564f4236d2c4b317852">ARC_PARSER_TAG_LAMBDA</a>;</div>
<div class="line"><span class="lineno"> 22</span> }</div>
<div class="line"><span class="lineno"> 23</span> </div>
<div class="line"><span class="lineno"> 24</span> <span class="keywordflow">return</span> ~(uint32_t)0;</div>
<div class="line"><span class="lineno"> 25</span>}</div>
<div class="ttc" id="aparser_8h_html_a49859e4f0658f564f4236d2c4b317852"><div class="ttname"><a href="../../d5/d36/parser_8h.html#a49859e4f0658f564f4236d2c4b317852">ARC_PARSER_TAG_LAMBDA</a></div><div class="ttdeci">#define ARC_PARSER_TAG_LAMBDA</div><div class="ttdoc">basic tag for letting the parser know it is ok to end</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d36/parser_8h_source.html#l00150">parser.h:150</a></div></div>
<div class="ttc" id="astring_8h_html_a8263ad0461c0261c9d410264e80c6f63"><div class="ttname"><a href="../../da/d66/string_8h.html#a8263ad0461c0261c9d410264e80c6f63">ARC_String_EqualsCStringWithStrlen</a></div><div class="ttdeci">ARC_Bool ARC_String_EqualsCStringWithStrlen(ARC_String *string, const char *cstring)</div><div class="ttdoc">check if ARC_String and cstring match</div><div class="ttdef"><b>Definition</b> <a href="../../d1/db0/string_8c_source.html#l00171">string.c:171</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="../../d5/d36/parser_8h_source.html#l00150">ARC_PARSER_TAG_LAMBDA</a>, and <a class="el" href="../../d1/db0/string_8c_source.html#l00171">ARC_String_EqualsCStringWithStrlen()</a>.</p>
</div>
</div>
<a id="a91538413561eed08286d4618cf48cb4e" name="a91538413561eed08286d4618cf48cb4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91538413561eed08286d4618cf48cb4e">&#9670;&#160;</a></span>ARC_Chemical_InitLexerRulesFn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_InitLexerRulesFn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d6/d2b/structARC__Lexer.html">ARC_Lexer</a> *</td> <td class="paramname"><span class="paramname"><em>lexer</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00016">16</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 16</span> {</div>
<div class="line"><span class="lineno"> 17</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a12062638bce9e79bc5409a12c05e3023" name="a12062638bce9e79bc5409a12c05e3023"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12062638bce9e79bc5409a12c05e3023">&#9670;&#160;</a></span>ARC_Chemical_LoadFromFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_LoadFromFile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00092">92</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 92</span> {</div>
<div class="line"><span class="lineno"> 93</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a56505ede690711cbfd12c9e56864c4b3" name="a56505ede690711cbfd12c9e56864c4b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56505ede690711cbfd12c9e56864c4b3">&#9670;&#160;</a></span>ARC_Chemical_LoadFromString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_LoadFromString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00089">89</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 89</span> {</div>
<div class="line"><span class="lineno"> 90</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a585e4d4a2bd7f2484fa3e6a308b483d3" name="a585e4d4a2bd7f2484fa3e6a308b483d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a585e4d4a2bd7f2484fa3e6a308b483d3">&#9670;&#160;</a></span>ARC_Chemical_RegisterType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_RegisterType </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *</td> <td class="paramname"><span class="paramname"><em>chemical</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>typeName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../de/de8/chemical_8h.html#a878b92abe81c5c07d8adaf4685fdf5c8">ARC_ChemicalData_CopyToTypeFn</a> *</td> <td class="paramname"><span class="paramname"><em>copyToTypeFn</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../de/de8/chemical_8h.html#a6d9a36eaffba502a7ec8b17ff640787d">ARC_ParserCSV_DestroyTypeFn</a></td> <td class="paramname"><span class="paramname"><em>destroyTypeFn</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00079">79</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 79</span> {</div>
<div class="line"><span class="lineno"> 80</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5d6a498f3920dc4bed51fe2e855ef69f" name="a5d6a498f3920dc4bed51fe2e855ef69f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d6a498f3920dc4bed51fe2e855ef69f">&#9670;&#160;</a></span>ARC_Chemical_SetGroup()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_SetGroup </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d74/structARC__Chemical.html">ARC_Chemical</a> *</td> <td class="paramname"><span class="paramname"><em>chemical</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>groupName</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>sets current group in config </p>
<dl class="section note"><dt>Note</dt><dd>ARC_Chemical_Get will use this set group</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">chemical</td><td><a class="el" href="../../d3/d3c/structARC__Config.html">ARC_Config</a> we are setting current group in </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">groupname</td><td>name of group that will be set </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00082">82</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 82</span> {</div>
<div class="line"><span class="lineno"> 83</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a43b69b30d57bdf40ffe674e4e0105157" name="a43b69b30d57bdf40ffe674e4e0105157"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43b69b30d57bdf40ffe674e4e0105157">&#9670;&#160;</a></span>ARC_Chemical_UnloadFromFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_UnloadFromFile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00098">98</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 98</span> {</div>
<div class="line"><span class="lineno"> 99</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad875764e9e18d4aa3db2cf86081d2048" name="ad875764e9e18d4aa3db2cf86081d2048"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad875764e9e18d4aa3db2cf86081d2048">&#9670;&#160;</a></span>ARC_Chemical_UnloadFromString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_Chemical_UnloadFromString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../df/d06/structARC__String.html">ARC_String</a> *</td> <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: write this. </p>
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00095">95</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 95</span> {</div>
<div class="line"><span class="lineno"> 96</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a36dd29a6ba7bf4d1de525e29084e9fa1" name="a36dd29a6ba7bf4d1de525e29084e9fa1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36dd29a6ba7bf4d1de525e29084e9fa1">&#9670;&#160;</a></span>ARC_ChemicalData_CreateFn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ARC_ChemicalData_CreateFn </td>
<td>(</td>
<td class="paramtype">void **</td> <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/d37/structARC__ParserTagToken.html">ARC_ParserTagToken</a> *</td> <td class="paramname"><span class="paramname"><em>parsedData</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *</td> <td class="paramname"><span class="paramname"><em>userData</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html#l00027">27</a> of file <a class="el" href="../../da/d10/src_2std_2chemical_8c_source.html">chemical.c</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 27</span> {</div>
<div class="line"><span class="lineno"> 28</span> *data = NULL;</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordflow">if</span>(data == NULL || userData == NULL){</div>
<div class="line"><span class="lineno"> 30</span> <span class="comment">//TODO: error here?</span></div>
<div class="line"><span class="lineno"> 31</span> *data = NULL;</div>
<div class="line"><span class="lineno"> 32</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 33</span> }</div>
<div class="line"><span class="lineno"> 34</span>}</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.9.2-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul><li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="../../dir_fe9004854c8f0f3cfbfe7f330be58a96.html">std</a></li><li class="navelem"><a class="el" href="../../da/d10/src_2std_2chemical_8c.html">chemical.c</a></li></ul>
</div>
<script type="text/javascript">
// script for doxygen 1.9.1
$(function() {
toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
toggleButton.title = "Toggle Light/Dark Mode"
$(document).ready(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
$(window).resize(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
})
</script>
</body>
</html>