<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.6"/> <title>The Gnome Chemistry Utils: formula.h Source File</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="doxygen.css" rel="stylesheet" type="text/css" /> </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 style="padding-left: 0.5em;"> <div id="projectname">The Gnome Chemistry Utils  <span id="projectnumber">0.14.8</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.6 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</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> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <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 id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_6719ab1f1f7655efc2fa43f7eb574fd1.html">libs</a></li><li class="navelem"><a class="el" href="dir_a58dfd42f88c935731f32d659aed32ec.html">gcu</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">formula.h</div> </div> </div><!--header--> <div class="contents"> <a href="formula_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// -*- C++ -*-</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/*</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Gnome Chemistry Utils</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * formula.h</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (C) 2005-2010 Jean Bréfort <jean.brefort@normalesup.org></span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * This program is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * modify it under the terms of the GNU General Public License as</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * published by the Free Software Foundation; either version 3 of the</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * License, or (at your option) any later version.</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> *</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * GNU General Public License for more details.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * USA</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef GCU_FORMULA_H</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span><span class="preprocessor">#define GCU_FORMULA_H</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <map></span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <list></span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdexcept></span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="isotope_8h.html">isotope.h</a>"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="macros_8h.html">macros.h</a>"</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="value_8h.html">value.h</a>"</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span>gcu</div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="namespacegcu.html#a49392c345f0740efd3167eb30aca570e"> 52</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  GCU_FORMULA_PARSE_GUESS,</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GCU_FORMULA_PARSE_ATOM,</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GCU_FORMULA_PARSE_RESIDUE,</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  GCU_FORMULA_PARSE_ASK,</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  GCU_FORMULA_PARSE_NO_CASE=8</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span> } <a class="code" href="namespacegcu.html#a49392c345f0740efd3167eb30aca570e">FormulaParseMode</a>;</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classgcu_1_1parse__error.html"> 65</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1parse__error.html">parse_error</a>: <span class="keyword">public</span> std::exception</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">explicit</span></div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="classgcu_1_1parse__error.html#a67d6ea5315e55a0ba5aaf0e71e8e7f89">parse_error</a> (<span class="keyword">const</span> std::string& __arg, <span class="keywordtype">int</span> start, <span class="keywordtype">int</span> length);</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">virtual</span></div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  ~<a class="code" href="classgcu_1_1parse__error.html">parse_error</a> () <span class="keywordflow">throw</span> ();</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>*</div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="classgcu_1_1parse__error.html#aee39bffc5241d2976eae9c21591f2e53">what</a> () <span class="keyword">const</span> <span class="keywordflow">throw</span> ();</div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>*</div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classgcu_1_1parse__error.html#aee39bffc5241d2976eae9c21591f2e53">what</a> (<span class="keywordtype">int</span>& start, <span class="keywordtype">int</span>& length) <span class="keyword">const</span> <span class="keywordflow">throw</span> ();</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> <div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classgcu_1_1parse__error.html#a4639987ffe080e3b0e8d44be2b7647bd"> 91</a></span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1parse__error.html#a4639987ffe080e3b0e8d44be2b7647bd">add_offset</a> (<span class="keywordtype">int</span> offset) {m_start += offset;}</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  std::string m_msg;</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">int</span> m_start, m_length;</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> };</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div> <div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaElt.html"> 103</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1FormulaElt.html">FormulaElt</a></div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> {</div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="classgcu_1_1FormulaElt.html#af1eab0c0e8e950ce5c3a3211fb171fc2">FormulaElt</a> ();</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1FormulaElt.html#acadada2049798143f988afe7cabbe2a7">~FormulaElt</a> ();</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">virtual</span> std::string <a class="code" href="classgcu_1_1FormulaElt.html#a76cc52d2a13c7c6d793f84fe4128f07a">Markup</a> ();</div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">virtual</span> std::string <a class="code" href="classgcu_1_1FormulaElt.html#a8e42ff57439e027ce915d154ce25426f">Text</a> ();</div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1FormulaElt.html#a08a50700b8e01a8e8dc7e7de0d57b455">BuildRawFormula</a> (std::map<int, int> &raw) = 0;</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classgcu_1_1FormulaElt.html#a912a90e4b8ffb4771247361a00abf537">GetValence</a> () = 0;</div> <div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaElt.html#a7f55ccd3dee7068ab604ecba0d9c4a4b"> 136</a></span>  <span class="keywordtype">int</span> <a class="code" href="classgcu_1_1FormulaElt.html#a7f55ccd3dee7068ab604ecba0d9c4a4b">stoich</a>;</div> <div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaElt.html#a2bba7b1588a7a029af6cdc31b2b25c65"> 140</a></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classgcu_1_1FormulaElt.html#a2bba7b1588a7a029af6cdc31b2b25c65">start</a>;</div> <div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaElt.html#a32d28fde9104f82a6495e87403691b8a"> 144</a></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classgcu_1_1FormulaElt.html#a32d28fde9104f82a6495e87403691b8a">end</a>;</div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span> };</div> <div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div> <div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaAtom.html"> 151</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1FormulaAtom.html">FormulaAtom</a>: <span class="keyword">public</span> <a class="code" href="classgcu_1_1FormulaElt.html">FormulaElt</a></div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="classgcu_1_1FormulaAtom.html#a22967d0473697eecb1c56b7210f4eba7">FormulaAtom</a> (<span class="keywordtype">int</span> Z);</div> <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1FormulaAtom.html#af73d0e436957c60490f0a8c7dacdd2c3">~FormulaAtom</a> ();</div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  std::string <a class="code" href="classgcu_1_1FormulaAtom.html#a0bbe8e6741b6584a4264b3497bc777f9">Markup</a> ();</div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  std::string <a class="code" href="classgcu_1_1FormulaAtom.html#aaed2da3254eed84843258f75fa239e9f">Text</a> ();</div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1FormulaAtom.html#a087c6dc30e4faf8ad12c07d1380b8211">BuildRawFormula</a> (std::map<int, int> &raw);</div> <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordtype">int</span> <a class="code" href="classgcu_1_1FormulaAtom.html#afc657924ed05abc49b383d9820d5bfce">GetValence</a> ();</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordtype">int</span> elt;</div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> };</div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> <div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaBlock.html"> 189</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1FormulaBlock.html">FormulaBlock</a>: <span class="keyword">public</span> <a class="code" href="classgcu_1_1FormulaElt.html">FormulaElt</a></div> <div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div> <div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classgcu_1_1FormulaBlock.html">FormulaBlock</a> ();</div> <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1FormulaBlock.html#a6cfd916a2670c08ed029ae1af3a495d1">~FormulaBlock</a> ();</div> <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  std::string <a class="code" href="classgcu_1_1FormulaBlock.html#acf651c6e064d87682dc5686e94240473">Markup</a> ();</div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  std::string <a class="code" href="classgcu_1_1FormulaBlock.html#a29d128ae409d114119b4e70b8952448a">Text</a> ();</div> <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1FormulaBlock.html#a8d381366d13f20e982aea9320aa15b6f">BuildRawFormula</a> (std::map<int, int> &raw);</div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordtype">int</span> <a class="code" href="classgcu_1_1FormulaBlock.html#a30012ed31f4d7c2bd95ccf7528b0be17">GetValence</a> ();</div> <div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaBlock.html#aba4805e38d8d08e2a1d3ca505be41efc"> 221</a></span>  std::list<FormulaElt *> <a class="code" href="classgcu_1_1FormulaBlock.html#aba4805e38d8d08e2a1d3ca505be41efc">children</a>;</div> <div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaBlock.html#a3ad275a4ea5dffac2032cc75c5f41b63"> 225</a></span>  <span class="keywordtype">int</span> <a class="code" href="classgcu_1_1FormulaBlock.html#a3ad275a4ea5dffac2032cc75c5f41b63">parenthesis</a>;</div> <div class="line"><a name="l00226"></a><span class="lineno"> 226</span> };</div> <div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Residue.html">Residue</a>;</div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div> <div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaResidue.html"> 236</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1FormulaResidue.html">FormulaResidue</a>: <span class="keyword">public</span> <a class="code" href="classgcu_1_1FormulaElt.html">FormulaElt</a></div> <div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="classgcu_1_1FormulaResidue.html#ac97865ff1970377a9eff9ad5a9fb1872">FormulaResidue</a> (<a class="code" href="classgcu_1_1Residue.html">Residue</a> <span class="keyword">const</span> *res, <span class="keywordtype">char</span> <span class="keyword">const</span> *symbol, <span class="keywordtype">int</span> Z);</div> <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1FormulaResidue.html#ac8c7a2880a27a74bab5abbffc011284a">~FormulaResidue</a> ();</div> <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  std::string <a class="code" href="classgcu_1_1FormulaResidue.html#aea9d0af58133907701496bdf8a39f216">Markup</a> ();</div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  std::string <a class="code" href="classgcu_1_1FormulaResidue.html#aad3fca53d48084689db755595dcf2244">Text</a> ();</div> <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1FormulaResidue.html#a6f58c8a43bde3d4c9f9fa47caa462795">BuildRawFormula</a> (std::map<int, int> &raw);</div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordtype">int</span> <a class="code" href="classgcu_1_1FormulaResidue.html#ac0f8028a11ddabeabf57c990edda4fd8">GetValence</a> ();</div> <div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaResidue.html#a369b1201247ea8fd82c6d6aa58ac8990"> 271</a></span>  <a class="code" href="classgcu_1_1Residue.html">Residue</a> <span class="keyword">const</span> *<a class="code" href="classgcu_1_1FormulaResidue.html#a369b1201247ea8fd82c6d6aa58ac8990">residue</a>;</div> <div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaResidue.html#aadc733b09d3163992efbebb3a3b21b25"> 275</a></span>  std::string <a class="code" href="classgcu_1_1FormulaResidue.html#aadc733b09d3163992efbebb3a3b21b25">Symbol</a>;</div> <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classgcu_1_1FormulaResidue.html#a868a29cbb195af080a57e8bacd321c6a"> 279</a></span> <a class="code" href="macros_8h.html#ae59df402113b58e8e28a7898e09a19a2">GCU_RO_PROP</a> (<span class="keywordtype">int</span>, Z);</div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span> };</div> <div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div> <div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classgcu_1_1Formula.html"> 288</a></span> <span class="keyword">class </span><a class="code" href="classgcu_1_1Formula.html">Formula</a></div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span> {</div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="classgcu_1_1Formula.html#ae1c51535d0054f7c5cbdd057534d11e7">Formula</a> (std::string entry, <a class="code" href="namespacegcu.html#a49392c345f0740efd3167eb30aca570e">FormulaParseMode</a> mode = GCU_FORMULA_PARSE_GUESS) <span class="keywordflow">throw</span> (<a class="code" href="classgcu_1_1parse__error.html">parse_error</a>);</div> <div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div> <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keyword">virtual</span> <a class="code" href="classgcu_1_1Formula.html#ac5ebbcba608d87e5fcb30eb80f3f0a7a">~Formula</a> ();</div> <div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="classgcu_1_1Formula.html#a11e89053abc2f9633e0664a3579a5deb">GetMarkup</a> ();</div> <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  std::map<int,int> &<a class="code" href="classgcu_1_1Formula.html#ab1c834fc7ba943809bf26976e938fca9">GetRawFormula</a> ();</div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="classgcu_1_1Formula.html#a08f21e12b0f6bf643a0ac12422f7d6f3">GetRawMarkup</a> ();</div> <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Formula.html#a890a3386514b2dffec1f7f1562d9cc72">SetFormula</a> (std::string entry) <span class="keywordflow">throw</span> (<a class="code" href="classgcu_1_1parse__error.html">parse_error</a>);</div> <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Formula.html#a71a32179a7a25aaa067b2340a3dd6cdc">Clear</a> ();</div> <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="classgcu_1_1DimensionalValue.html">DimensionalValue</a> <a class="code" href="classgcu_1_1Formula.html#a4c72c8bedf531762c85a2350b049d571">GetMolecularWeight</a> (<span class="keywordtype">bool</span> &artificial);</div> <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordtype">void</span> <a class="code" href="classgcu_1_1Formula.html#a8672e0b7f13cfe9e925c7cf4a5098f63">CalculateIsotopicPattern</a> (<a class="code" href="classgcu_1_1IsotopicPattern.html">IsotopicPattern</a> &pattern);</div> <div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div> <div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classgcu_1_1Formula.html#ab36e337dd70844ef94ce2cb79be12c2b"> 343</a></span>  std::list<FormulaElt *> <span class="keyword">const</span> &<a class="code" href="classgcu_1_1Formula.html#ab36e337dd70844ef94ce2cb79be12c2b">GetElements</a> ()<span class="keyword"> const </span>{<span class="keywordflow">return</span> Details;}</div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div> <div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">bool</span> BuildConnectivity ();</div> <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordtype">void</span> Parse (std::string &formula, std::list<FormulaElt *>&result) <span class="keywordflow">throw</span> (<a class="code" href="classgcu_1_1parse__error.html">parse_error</a>);</div> <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordtype">bool</span> AnalString (<span class="keywordtype">char</span> *sz, std::list<FormulaElt *> &result, <span class="keywordtype">bool</span> &ambiguous, <span class="keywordtype">int</span> offset);</div> <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordtype">bool</span> TryReplace (std::list<FormulaElt *> &result, std::list<FormulaElt *>::iterator it);</div> <div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div> <div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  std::string Entry, Markup, RawMarkup;</div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  std::map<int,int> Raw;</div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  std::list<FormulaElt *> Details;</div> <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="classgcu_1_1DimensionalValue.html">DimensionalValue</a> m_Weight;</div> <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordtype">bool</span> m_WeightCached;</div> <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordtype">bool</span> m_Artificial;</div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordtype">bool</span> m_ConnectivityCached;</div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div> <div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classgcu_1_1Formula.html#a690dd9ba76a7475a2b6e764d6c7f888a"> 371</a></span> <a class="code" href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a> (<a class="code" href="namespacegcu.html#a49392c345f0740efd3167eb30aca570e">FormulaParseMode</a>, ParseMode);</div> <div class="line"><a name="l00372"></a><span class="lineno"> 372</span> };</div> <div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div> <div class="line"><a name="l00374"></a><span class="lineno"> 374</span> }</div> <div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div> <div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor">#endif // GCU_FORMULA_H</span></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_a6f58c8a43bde3d4c9f9fa47caa462795"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#a6f58c8a43bde3d4c9f9fa47caa462795">gcu::FormulaResidue::BuildRawFormula</a></div><div class="ttdeci">void BuildRawFormula(std::map< int, int > &raw)</div></div> <div class="ttc" id="classgcu_1_1DimensionalValue_html"><div class="ttname"><a href="classgcu_1_1DimensionalValue.html">gcu::DimensionalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="value_8h_source.html#l00120">value.h:120</a></div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a32d28fde9104f82a6495e87403691b8a"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a32d28fde9104f82a6495e87403691b8a">gcu::FormulaElt::end</a></div><div class="ttdeci">unsigned end</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00144">formula.h:144</a></div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_ac8c7a2880a27a74bab5abbffc011284a"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#ac8c7a2880a27a74bab5abbffc011284a">gcu::FormulaResidue::~FormulaResidue</a></div><div class="ttdeci">virtual ~FormulaResidue()</div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_aea9d0af58133907701496bdf8a39f216"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#aea9d0af58133907701496bdf8a39f216">gcu::FormulaResidue::Markup</a></div><div class="ttdeci">std::string Markup()</div></div> <div class="ttc" id="macros_8h_html_ae59df402113b58e8e28a7898e09a19a2"><div class="ttname"><a href="macros_8h.html#ae59df402113b58e8e28a7898e09a19a2">GCU_RO_PROP</a></div><div class="ttdeci">#define GCU_RO_PROP(type, member)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00117">macros.h:117</a></div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a8e42ff57439e027ce915d154ce25426f"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a8e42ff57439e027ce915d154ce25426f">gcu::FormulaElt::Text</a></div><div class="ttdeci">virtual std::string Text()</div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_ac97865ff1970377a9eff9ad5a9fb1872"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#ac97865ff1970377a9eff9ad5a9fb1872">gcu::FormulaResidue::FormulaResidue</a></div><div class="ttdeci">FormulaResidue(Residue const *res, char const *symbol, int Z)</div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a7f55ccd3dee7068ab604ecba0d9c4a4b"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a7f55ccd3dee7068ab604ecba0d9c4a4b">gcu::FormulaElt::stoich</a></div><div class="ttdeci">int stoich</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00136">formula.h:136</a></div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html_afc657924ed05abc49b383d9820d5bfce"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html#afc657924ed05abc49b383d9820d5bfce">gcu::FormulaAtom::GetValence</a></div><div class="ttdeci">int GetValence()</div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html"><div class="ttname"><a href="classgcu_1_1FormulaElt.html">gcu::FormulaElt</a></div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00103">formula.h:103</a></div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_aadc733b09d3163992efbebb3a3b21b25"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#aadc733b09d3163992efbebb3a3b21b25">gcu::FormulaResidue::Symbol</a></div><div class="ttdeci">std::string Symbol</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00275">formula.h:275</a></div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_aad3fca53d48084689db755595dcf2244"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#aad3fca53d48084689db755595dcf2244">gcu::FormulaResidue::Text</a></div><div class="ttdeci">std::string Text()</div></div> <div class="ttc" id="isotope_8h_html"><div class="ttname"><a href="isotope_8h.html">isotope.h</a></div></div> <div class="ttc" id="classgcu_1_1Formula_html_ab36e337dd70844ef94ce2cb79be12c2b"><div class="ttname"><a href="classgcu_1_1Formula.html#ab36e337dd70844ef94ce2cb79be12c2b">gcu::Formula::GetElements</a></div><div class="ttdeci">std::list< FormulaElt * > const & GetElements() const </div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00343">formula.h:343</a></div></div> <div class="ttc" id="macros_8h_html"><div class="ttname"><a href="macros_8h.html">macros.h</a></div></div> <div class="ttc" id="classgcu_1_1Formula_html_ac5ebbcba608d87e5fcb30eb80f3f0a7a"><div class="ttname"><a href="classgcu_1_1Formula.html#ac5ebbcba608d87e5fcb30eb80f3f0a7a">gcu::Formula::~Formula</a></div><div class="ttdeci">virtual ~Formula()</div></div> <div class="ttc" id="namespacegcu_html_a49392c345f0740efd3167eb30aca570e"><div class="ttname"><a href="namespacegcu.html#a49392c345f0740efd3167eb30aca570e">gcu::FormulaParseMode</a></div><div class="ttdeci">FormulaParseMode</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00052">formula.h:52</a></div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html">gcu::FormulaBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00189">formula.h:189</a></div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html_af73d0e436957c60490f0a8c7dacdd2c3"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html#af73d0e436957c60490f0a8c7dacdd2c3">gcu::FormulaAtom::~FormulaAtom</a></div><div class="ttdeci">virtual ~FormulaAtom()</div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html_a22967d0473697eecb1c56b7210f4eba7"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html#a22967d0473697eecb1c56b7210f4eba7">gcu::FormulaAtom::FormulaAtom</a></div><div class="ttdeci">FormulaAtom(int Z)</div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html">gcu::FormulaAtom</a></div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00151">formula.h:151</a></div></div> <div class="ttc" id="classgcu_1_1Formula_html_ae1c51535d0054f7c5cbdd057534d11e7"><div class="ttname"><a href="classgcu_1_1Formula.html#ae1c51535d0054f7c5cbdd057534d11e7">gcu::Formula::Formula</a></div><div class="ttdeci">Formula(std::string entry, FormulaParseMode mode=GCU_FORMULA_PARSE_GUESS)</div></div> <div class="ttc" id="classgcu_1_1Formula_html_ab1c834fc7ba943809bf26976e938fca9"><div class="ttname"><a href="classgcu_1_1Formula.html#ab1c834fc7ba943809bf26976e938fca9">gcu::Formula::GetRawFormula</a></div><div class="ttdeci">std::map< int, int > & GetRawFormula()</div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_aba4805e38d8d08e2a1d3ca505be41efc"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#aba4805e38d8d08e2a1d3ca505be41efc">gcu::FormulaBlock::children</a></div><div class="ttdeci">std::list< FormulaElt * > children</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00221">formula.h:221</a></div></div> <div class="ttc" id="classgcu_1_1Formula_html"><div class="ttname"><a href="classgcu_1_1Formula.html">gcu::Formula</a></div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00288">formula.h:288</a></div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a912a90e4b8ffb4771247361a00abf537"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a912a90e4b8ffb4771247361a00abf537">gcu::FormulaElt::GetValence</a></div><div class="ttdeci">virtual int GetValence()=0</div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html_a087c6dc30e4faf8ad12c07d1380b8211"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html#a087c6dc30e4faf8ad12c07d1380b8211">gcu::FormulaAtom::BuildRawFormula</a></div><div class="ttdeci">void BuildRawFormula(std::map< int, int > &raw)</div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a2bba7b1588a7a029af6cdc31b2b25c65"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a2bba7b1588a7a029af6cdc31b2b25c65">gcu::FormulaElt::start</a></div><div class="ttdeci">unsigned start</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00140">formula.h:140</a></div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_af1eab0c0e8e950ce5c3a3211fb171fc2"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#af1eab0c0e8e950ce5c3a3211fb171fc2">gcu::FormulaElt::FormulaElt</a></div><div class="ttdeci">FormulaElt()</div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_acadada2049798143f988afe7cabbe2a7"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#acadada2049798143f988afe7cabbe2a7">gcu::FormulaElt::~FormulaElt</a></div><div class="ttdeci">virtual ~FormulaElt()</div></div> <div class="ttc" id="classgcu_1_1IsotopicPattern_html"><div class="ttname"><a href="classgcu_1_1IsotopicPattern.html">gcu::IsotopicPattern</a></div><div class="ttdef"><b>Definition:</b> <a href="isotope_8h_source.html#l00061">isotope.h:61</a></div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_ac0f8028a11ddabeabf57c990edda4fd8"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#ac0f8028a11ddabeabf57c990edda4fd8">gcu::FormulaResidue::GetValence</a></div><div class="ttdeci">int GetValence()</div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_a29d128ae409d114119b4e70b8952448a"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#a29d128ae409d114119b4e70b8952448a">gcu::FormulaBlock::Text</a></div><div class="ttdeci">std::string Text()</div></div> <div class="ttc" id="classgcu_1_1Formula_html_a890a3386514b2dffec1f7f1562d9cc72"><div class="ttname"><a href="classgcu_1_1Formula.html#a890a3386514b2dffec1f7f1562d9cc72">gcu::Formula::SetFormula</a></div><div class="ttdeci">void SetFormula(std::string entry)</div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a08a50700b8e01a8e8dc7e7de0d57b455"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a08a50700b8e01a8e8dc7e7de0d57b455">gcu::FormulaElt::BuildRawFormula</a></div><div class="ttdeci">virtual void BuildRawFormula(std::map< int, int > &raw)=0</div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_a30012ed31f4d7c2bd95ccf7528b0be17"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#a30012ed31f4d7c2bd95ccf7528b0be17">gcu::FormulaBlock::GetValence</a></div><div class="ttdeci">int GetValence()</div></div> <div class="ttc" id="classgcu_1_1Formula_html_a71a32179a7a25aaa067b2340a3dd6cdc"><div class="ttname"><a href="classgcu_1_1Formula.html#a71a32179a7a25aaa067b2340a3dd6cdc">gcu::Formula::Clear</a></div><div class="ttdeci">void Clear()</div></div> <div class="ttc" id="classgcu_1_1Formula_html_a8672e0b7f13cfe9e925c7cf4a5098f63"><div class="ttname"><a href="classgcu_1_1Formula.html#a8672e0b7f13cfe9e925c7cf4a5098f63">gcu::Formula::CalculateIsotopicPattern</a></div><div class="ttdeci">void CalculateIsotopicPattern(IsotopicPattern &pattern)</div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html">gcu::FormulaResidue</a></div><div class="ttdoc">Residue. </div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00236">formula.h:236</a></div></div> <div class="ttc" id="classgcu_1_1FormulaResidue_html_a369b1201247ea8fd82c6d6aa58ac8990"><div class="ttname"><a href="classgcu_1_1FormulaResidue.html#a369b1201247ea8fd82c6d6aa58ac8990">gcu::FormulaResidue::residue</a></div><div class="ttdeci">Residue const * residue</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00271">formula.h:271</a></div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_a8d381366d13f20e982aea9320aa15b6f"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#a8d381366d13f20e982aea9320aa15b6f">gcu::FormulaBlock::BuildRawFormula</a></div><div class="ttdeci">void BuildRawFormula(std::map< int, int > &raw)</div></div> <div class="ttc" id="classgcu_1_1Residue_html"><div class="ttname"><a href="classgcu_1_1Residue.html">gcu::Residue</a></div><div class="ttdef"><b>Definition:</b> <a href="gcu_2residue_8h_source.html#l00067">gcu/residue.h:67</a></div></div> <div class="ttc" id="value_8h_html"><div class="ttname"><a href="value_8h.html">value.h</a></div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_a3ad275a4ea5dffac2032cc75c5f41b63"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#a3ad275a4ea5dffac2032cc75c5f41b63">gcu::FormulaBlock::parenthesis</a></div><div class="ttdeci">int parenthesis</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00225">formula.h:225</a></div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_a6cfd916a2670c08ed029ae1af3a495d1"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#a6cfd916a2670c08ed029ae1af3a495d1">gcu::FormulaBlock::~FormulaBlock</a></div><div class="ttdeci">virtual ~FormulaBlock()</div></div> <div class="ttc" id="classgcu_1_1FormulaElt_html_a76cc52d2a13c7c6d793f84fe4128f07a"><div class="ttname"><a href="classgcu_1_1FormulaElt.html#a76cc52d2a13c7c6d793f84fe4128f07a">gcu::FormulaElt::Markup</a></div><div class="ttdeci">virtual std::string Markup()</div></div> <div class="ttc" id="macros_8h_html_a2e6e8322502a538f4583d41206cea297"><div class="ttname"><a href="macros_8h.html#a2e6e8322502a538f4583d41206cea297">GCU_PROP</a></div><div class="ttdeci">#define GCU_PROP(type, member)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00050">macros.h:50</a></div></div> <div class="ttc" id="classgcu_1_1FormulaBlock_html_acf651c6e064d87682dc5686e94240473"><div class="ttname"><a href="classgcu_1_1FormulaBlock.html#acf651c6e064d87682dc5686e94240473">gcu::FormulaBlock::Markup</a></div><div class="ttdeci">std::string Markup()</div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html_aaed2da3254eed84843258f75fa239e9f"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html#aaed2da3254eed84843258f75fa239e9f">gcu::FormulaAtom::Text</a></div><div class="ttdeci">std::string Text()</div></div> <div class="ttc" id="classgcu_1_1FormulaAtom_html_a0bbe8e6741b6584a4264b3497bc777f9"><div class="ttname"><a href="classgcu_1_1FormulaAtom.html#a0bbe8e6741b6584a4264b3497bc777f9">gcu::FormulaAtom::Markup</a></div><div class="ttdeci">std::string Markup()</div></div> <div class="ttc" id="classgcu_1_1parse__error_html"><div class="ttname"><a href="classgcu_1_1parse__error.html">gcu::parse_error</a></div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00065">formula.h:65</a></div></div> <div class="ttc" id="classgcu_1_1parse__error_html_a4639987ffe080e3b0e8d44be2b7647bd"><div class="ttname"><a href="classgcu_1_1parse__error.html#a4639987ffe080e3b0e8d44be2b7647bd">gcu::parse_error::add_offset</a></div><div class="ttdeci">void add_offset(int offset)</div><div class="ttdef"><b>Definition:</b> <a href="formula_8h_source.html#l00091">formula.h:91</a></div></div> <div class="ttc" id="classgcu_1_1Formula_html_a11e89053abc2f9633e0664a3579a5deb"><div class="ttname"><a href="classgcu_1_1Formula.html#a11e89053abc2f9633e0664a3579a5deb">gcu::Formula::GetMarkup</a></div><div class="ttdeci">char const * GetMarkup()</div></div> <div class="ttc" id="classgcu_1_1parse__error_html_aee39bffc5241d2976eae9c21591f2e53"><div class="ttname"><a href="classgcu_1_1parse__error.html#aee39bffc5241d2976eae9c21591f2e53">gcu::parse_error::what</a></div><div class="ttdeci">virtual const char * what() const </div></div> <div class="ttc" id="classgcu_1_1Formula_html_a08f21e12b0f6bf643a0ac12422f7d6f3"><div class="ttname"><a href="classgcu_1_1Formula.html#a08f21e12b0f6bf643a0ac12422f7d6f3">gcu::Formula::GetRawMarkup</a></div><div class="ttdeci">char const * GetRawMarkup()</div></div> <div class="ttc" id="classgcu_1_1parse__error_html_a67d6ea5315e55a0ba5aaf0e71e8e7f89"><div class="ttname"><a href="classgcu_1_1parse__error.html#a67d6ea5315e55a0ba5aaf0e71e8e7f89">gcu::parse_error::parse_error</a></div><div class="ttdeci">parse_error(const std::string &__arg, int start, int length)</div></div> <div class="ttc" id="classgcu_1_1Formula_html_a4c72c8bedf531762c85a2350b049d571"><div class="ttname"><a href="classgcu_1_1Formula.html#a4c72c8bedf531762c85a2350b049d571">gcu::Formula::GetMolecularWeight</a></div><div class="ttdeci">DimensionalValue GetMolecularWeight(bool &artificial)</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu May 8 2014 09:55:00 for The Gnome Chemistry Utils by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> </body> </html>