Click here to Skip to main content
15,885,546 members
Articles / Desktop Programming / ATL

Visual Calc v3.0 - A new dimension for the desktop calculator

Rate me:
Please Sign up or sign in to vote.
3.62/5 (113 votes)
28 Apr 2006CPOL22 min read 351.3K   6.8K   104  
How to start programming a parser.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>VisualCalc Parser: CVCalcParser Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.5 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</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>
<h1>CVCalcParser Class Reference</h1><!-- doxytag: class="CVCalcParser" --><code>#include &lt;<a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>&gt;</code>
<p>
<a href="class_c_v_calc_parser-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
VisualCalc Parser. 
<p>
This is the VisualCalc Parser class which take a formula as input, and returns either the floating point result or an error describing what is wrong in the string to parse.<br>
<p>
The VisualCalc Parser is able to make the following actions, because of its data members :<ul>
<li>know what is the current Token during the parsing process,</li><li>know depending on the case either the Function/Variable/Constant name, the number value or the current operator,</li><li>raise a warning flag (non-blocking error during parsing),</li><li>store the mathematic functions defined to be used in the formula to be parsed,</li><li>store each variable name associated to its stored value,</li><li>store each formula correctly parsed and the related result.</li></ul>
<p>
There is a public interface compound of :<ul>
<li>the constructor/Desctructor,</li><li>the Functions/Variables/Answers lists handling member functions,</li><li>the Warnings handling member functions.</li><li>the <a class="el" href="class_c_v_calc_parser.html#53f8a16035a6f340e8ae6225da3ddaf7">Evaluate()</a> member function, which launches the parsing process.<br>
</li></ul>
<p>
All the other member functions are private :<ul>
<li>the mathematic functions presented as the functions that can be used in the formula to be parsed,</li><li>the 5 level functions and the 2 low level functions that actually make the parsing process. </li></ul>

<p>

<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00113">113</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#c29d130824de8e6217826f3bddb43f4c">CVCalcParser</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">VisualCalc Parser Constructor.  <a href="#c29d130824de8e6217826f3bddb43f4c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#32bdb3fe05a07512580b3eb6df53d076">~CVCalcParser</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">VisualCalc Parser Destructor.  <a href="#32bdb3fe05a07512580b3eb6df53d076"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#4676fc736cddb26564fcc55a3896dfef">ResetParserMembers</a> (const std::string)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the parser members state to default.  <a href="#4676fc736cddb26564fcc55a3896dfef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#8ca3bcfeffb2fe60d8ac00594ad113a6">ResetFunctions</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the functions list to its default state.  <a href="#8ca3bcfeffb2fe60d8ac00594ad113a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d6cfe52738a37f353a6bad466330b01e">ResetVariables</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the variables list to its default state.  <a href="#d6cfe52738a37f353a6bad466330b01e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#cd8c53feaf3e054085378c652b259f2d">ResetAnswersHistory</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the answers history list to its default state.  <a href="#cd8c53feaf3e054085378c652b259f2d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::list&lt; std::string &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d857340985c20f9f517f76b584ae2b97">GetFunctions</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the functions list.  <a href="#d857340985c20f9f517f76b584ae2b97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::map&lt; std::string,<br>
 <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#3acf05c52be0fb64215757f3e8c77efa">GetVariables</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the variables map.  <a href="#3acf05c52be0fb64215757f3e8c77efa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::deque&lt; <a class="el" href="struct_answer_item.html">AnswerItem</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#ad66c566cb621bad9a30830428478500">GetAnswersHistory</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the answers history.  <a href="#ad66c566cb621bad9a30830428478500"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#e5bbc359d1790e4e5b6599c588956469">HasWarning</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells if the parsing throws a warning.  <a href="#e5bbc359d1790e4e5b6599c588956469"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#78b0204cb38c8bd1aa3932257e333dd5">GetWarningMsg</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the warning message.  <a href="#78b0204cb38c8bd1aa3932257e333dd5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#f2628ce7dfbb18178fd65dc19091cb47">GetVersion</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the version of the Parser.  <a href="#f2628ce7dfbb18178fd65dc19091cb47"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#53f8a16035a6f340e8ae6225da3ddaf7">Evaluate</a> (const std::string &amp;Source)  throw (CVCalcParserException)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the result of the parsed formula.  <a href="#53f8a16035a6f340e8ae6225da3ddaf7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#ac4f8ba7577444b9dc8f3fd7e1ef999d">ffactor</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the factorial of the operand.  <a href="#ac4f8ba7577444b9dc8f3fd7e1ef999d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d419513e44bde20cbe781aebc38e49d8">nCp</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <em>p</em> combinations on <em>n</em>.  <a href="#d419513e44bde20cbe781aebc38e49d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#8f5e1a27fee1e8aea82de140cd8fc839">nAp</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <em>p</em> arrangements on <em>n</em>.  <a href="#8f5e1a27fee1e8aea82de140cd8fc839"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_answer_item.html">AnswerItem</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#217b97a3398d351cf3823bb3d8feef26">Ans</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> valIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required Answer in the history.  <a href="#217b97a3398d351cf3823bb3d8feef26"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#be249590e704ae956317cdfeddfcf2b1">abs</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the absolute value of the operand.  <a href="#be249590e704ae956317cdfeddfcf2b1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#a066fc0d8e21cf8854823cb6c63adb56">cos</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the cosine of the operand.  <a href="#a066fc0d8e21cf8854823cb6c63adb56"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#ccdc395b4777fe75b7aad79ec188868b">sin</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the sine of the operand.  <a href="#ccdc395b4777fe75b7aad79ec188868b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#41040fcd49f23a12d66e81ab8d29ec09">tan</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the tangent of the operand.  <a href="#41040fcd49f23a12d66e81ab8d29ec09"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#460a276dbda929bce5dcff28c49e4a37">cosh</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the hyperbolic cosine of the operand.  <a href="#460a276dbda929bce5dcff28c49e4a37"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d080f9fdcdd1d06022b6206429fe260e">sinh</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the hyperbolic sine of the operand.  <a href="#d080f9fdcdd1d06022b6206429fe260e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d0cb912f3527dbee24318528ab8823f0">tanh</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the hyperbolic tangent of the operand.  <a href="#d0cb912f3527dbee24318528ab8823f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#dd053deefb9c5b003703a6659c598946">Acos</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the arccosine of the operand.  <a href="#dd053deefb9c5b003703a6659c598946"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#4dd2bd839beb8986f034dca7e687d29f">Asin</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the arcsine of the operand.  <a href="#4dd2bd839beb8986f034dca7e687d29f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#28e75fc1e44eb3c4438256d392ea2fc9">Atan</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the arctangent of the operand.  <a href="#28e75fc1e44eb3c4438256d392ea2fc9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d4ab77a9c36608751a5c362dae6d8813">deg</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a radian angle converted into degrees.  <a href="#d4ab77a9c36608751a5c362dae6d8813"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#223e308cab7c1c8f3ed754f6a8bc6984">rad</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a degrees angle converted into radians.  <a href="#223e308cab7c1c8f3ed754f6a8bc6984"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#fe89dd21dcf2cd8d75d3c6d92196ded6">exp</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the exponential of the operand.  <a href="#fe89dd21dcf2cd8d75d3c6d92196ded6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d992912845097e4bb9e6cee3c81a7482">ln</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the natural logarithm of the operand.  <a href="#d992912845097e4bb9e6cee3c81a7482"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#4331a778a55adebb9a49d3203b761310">log</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the decimal logarithm of the operand.  <a href="#4331a778a55adebb9a49d3203b761310"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#417f1f76518ff1693a839712f443fa0a">logn</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the base-n logarithm of the operand.  <a href="#417f1f76518ff1693a839712f443fa0a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d80f90e6ebeeadde59f6d64290480062">sqrt</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the square root of the operand.  <a href="#d80f90e6ebeeadde59f6d64290480062"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#99566824e2739113c77413beb0a92645">sqrtn</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the n-order root of the operand.  <a href="#99566824e2739113c77413beb0a92645"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#e8f23056e0976c195beb61c92ad76243">pow</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the left operand raised to the power of the right operand.  <a href="#e8f23056e0976c195beb61c92ad76243"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#1e7a02838976ed64a7c3749822270c3a">mod</a> (<a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the reminder of the first operand out of the second operand.  <a href="#1e7a02838976ed64a7c3749822270c3a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#4faca6a612ecdc863804af33673966b2">sum</a> (std::string expr, std::string var, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> low, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> high)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the incremental sum of the expression.  <a href="#4faca6a612ecdc863804af33673966b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#12a524bd18bd4bff5f8cba3dcc308ee7">product</a> (std::string expr, std::string var, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> low, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> high)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the incremental product of the expression.  <a href="#12a524bd18bd4bff5f8cba3dcc308ee7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the 'addition' and 'subtraction' operators.  <a href="#cc210c2429fffad4700dbec2789ce90d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the 'multiplication' and 'division' operators.  <a href="#bde3aec010778dd4336bc58110bb9e77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the 'power' operator.  <a href="#f8c086f9e10a7e4a9b3cfa49be1c6634"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the 'modulus' operator.  <a href="#a182baf0ad51a7c63957a0ea113c12c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the 'factorial' and the "degree to radians" operators.  <a href="#d0ec6c12e48049b31768d9322da0540e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the 'parenthesis', 'Unary +' and 'Unary -' operators.  <a href="#1c323050e22744da030a014a861e03a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#0266b1a639975838e174584238b9bf1b">TokenValue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads the tokens from the input stream.  <a href="#5593665eab9b19f0eec6a62e4e50d3a5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#4b3679c0f0bedf36870bb4569d194be9">StepIndexForward</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Steps the stream reading index of one position further.  <a href="#4b3679c0f0bedf36870bb4569d194be9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#14d6bc58920086d6c3f8707c6ca4e0b4">m_PI</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#1bba65a4ef7ac2537f444674df28bddd">m_E</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#0266b1a639975838e174584238b9bf1b">TokenValue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#a0623aa02da54819cf4100ba7719dae9">m_tokCurrentToken</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#a0c7add01e5a5ca2b4dcc8297e4fac5b">m_strSource</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#0b3296194cfbc37bb2b5bddbecab2a5d">m_strIdentifierValue</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#9da21055ec1f7e972aceb1f5921f9363">m_strWarningMsg</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#2f571d7c799e8857aad7fddb011359e5">m_valNumberValue</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#de62d096cd40a44d83b20c0d281b7c4e">m_bWarningFlag</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#be462338d9d624357cd648b4e015d108">m_bEndEncountered</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#6177c1853c93e2d858cf3f9e21991023">m_iCurrentIndex</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::list&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#e57f128cfa2e581a977eb0af4bd2c0a1">m_lstFunctions</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::map&lt; std::string, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#9fb631992c6d02e5db9b29fa03765d05">m_mapVariables</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::deque&lt; <a class="el" href="struct_answer_item.html">AnswerItem</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#bf98769d76c70c0e1a8e201b2ce85f60">m_dqeAnswersHistory</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_v_calc_parser.html#f4fcdbbe5e0113f7c97e0cad9238a322">m_strParserVersion</a></td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="c29d130824de8e6217826f3bddb43f4c"></a><!-- doxytag: member="CVCalcParser::CVCalcParser" ref="c29d130824de8e6217826f3bddb43f4c" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">CVCalcParser::CVCalcParser           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
VisualCalc Parser Constructor. 
<p>
Constructs an instance of the VisualCalc Parser.<br>
 It initializes the constant members <em>m_PI</em>, <em>m_E</em> and the Parser version string.<br>
 The Functions, Variables and Answers lists are also reset (cleared), as the other data members are also set to their default value. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00022">22</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="32bdb3fe05a07512580b3eb6df53d076"></a><!-- doxytag: member="CVCalcParser::~CVCalcParser" ref="32bdb3fe05a07512580b3eb6df53d076" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">CVCalcParser::~CVCalcParser           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
VisualCalc Parser Destructor. 
<p>
As in the Constructor, the lists are reset to an empty content, and the other data members are set to a default state. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00039">39</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="be249590e704ae956317cdfeddfcf2b1"></a><!-- doxytag: member="CVCalcParser::abs" ref="be249590e704ae956317cdfeddfcf2b1" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::abs           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the absolute value of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Angle on which the absolute value is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The absolute value of the operand.</dd></dl>
This functions calculates the absolute value of its operand, and don't cause any error. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00379">379</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="dd053deefb9c5b003703a6659c598946"></a><!-- doxytag: member="CVCalcParser::Acos" ref="dd053deefb9c5b003703a6659c598946" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Acos           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the arccosine of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which the arccosine is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The Angle in radian which is the arcosine of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the arccosine of its operand which is a value in the range [-1 ; 1] and the resulting angle is in the interval [0 ; pi]. Otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00546">546</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="217b97a3398d351cf3823bb3d8feef26"></a><!-- doxytag: member="CVCalcParser::Ans" ref="217b97a3398d351cf3823bb3d8feef26" args="(VALUES_TYPE valIndex)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="struct_answer_item.html">AnswerItem</a> CVCalcParser::Ans           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valIndex</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the required Answer in the history. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valIndex</em>&nbsp;</td><td>Index of the answer in the history. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The Answer in the history at the position specified by the parameter. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_dom_parameter_must_be_positive_exception.html">CDomParameterMustBePositiveException</a></em>&nbsp;</td><td>If the parameter is not strictly greater than 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_dom_parameter_must_be_an_integer_exception.html">CDomParameterMustBeAnIntegerException</a></em>&nbsp;</td><td>If the parameter is not an integer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_answer_requested_not_found_exception.html">CAnswerRequestedNotFoundException</a></em>&nbsp;</td><td>If the parameter is not in the range [1 ; history_length].</td></tr>
  </table>
</dl>
It returns the <a class="el" href="struct_answer_item.html">AnswerItem</a> positionned in the answers history at the index specified by the parameter.<br>
 The Index parameter value must be between 1 and the number of elements stored in the history, otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00353">353</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="4dd2bd839beb8986f034dca7e687d29f"></a><!-- doxytag: member="CVCalcParser::Asin" ref="4dd2bd839beb8986f034dca7e687d29f" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Asin           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the arcsine of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which the arcsine is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The Angle in radian which is the arcsine of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the arcsine of its operand which is a value in the range [-1 ; 1] and the resulting angle is in the interval [-pi/2 ; pi/2]. Otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00567">567</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="28e75fc1e44eb3c4438256d392ea2fc9"></a><!-- doxytag: member="CVCalcParser::Atan" ref="28e75fc1e44eb3c4438256d392ea2fc9" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Atan           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the arctangent of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which the arctangent is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The Angle in radian which is the arctangent of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the arctangent of its operand and the resulting angle is in the interval [-pi/2 ; pi/2]. Otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00587">587</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a066fc0d8e21cf8854823cb6c63adb56"></a><!-- doxytag: member="CVCalcParser::cos" ref="a066fc0d8e21cf8854823cb6c63adb56" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::cos           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the cosine of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand in radian on which the cosine is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The cosine of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the cosine of its operand which is an angle in radians. If the angle is out of the range [-2^63 ; 2^63], the result may have a loss of significance. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00395">395</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="460a276dbda929bce5dcff28c49e4a37"></a><!-- doxytag: member="CVCalcParser::cosh" ref="460a276dbda929bce5dcff28c49e4a37" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::cosh           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the hyperbolic cosine of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Angle in radian on which the hyperbolic cosine is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The hyperbolic cosine of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the hyperbolic cosine of its operand which is an angle in radians :<br>
 <img class="formulaInl" alt="$ cosh(x) = \frac{ e^x + e^-x } { 2 } $" src="form_3.png"> <br>
 If the angle is out of the range [-2^63 ; 2^63], the result may have a loss of significance. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00469">469</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d4ab77a9c36608751a5c362dae6d8813"></a><!-- doxytag: member="CVCalcParser::deg" ref="d4ab77a9c36608751a5c362dae6d8813" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::deg           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a radian angle converted into degrees. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Radian Angle. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The equivalence of the angle in degree.</dd></dl>
This functions calculates the equivalent of its operand in degrees into radians. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00604">604</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="53f8a16035a6f340e8ae6225da3ddaf7"></a><!-- doxytag: member="CVCalcParser::Evaluate" ref="53f8a16035a6f340e8ae6225da3ddaf7" args="(const std::string &amp;Source)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Evaluate           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>strSource</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>  throw (<a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a>)</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the result of the parsed formula. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>strSource</em>&nbsp;</td><td>Formula to parse. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The result of formula parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class.</td></tr>
  </table>
</dl>
This function calculates the value of the formula passed in the strSource parameter.<br>
 If an error occured during the calculation, a meaningful exception is thrown describing the condition why this happend, and where it happened in the formula.<br>
 If the calculation succeed, the formula and its associated result are pushed in the Answers history. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00873">873</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="fe89dd21dcf2cd8d75d3c6d92196ded6"></a><!-- doxytag: member="CVCalcParser::exp" ref="fe89dd21dcf2cd8d75d3c6d92196ded6" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::exp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the exponential of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which is calculated the exponential. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The exponential of the operand.</dd></dl>
This functions calculates the exponential of its operand and the result is in the interval ]0 ; +inf[. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00631">631</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="ac4f8ba7577444b9dc8f3fd7e1ef999d"></a><!-- doxytag: member="CVCalcParser::ffactor" ref="ac4f8ba7577444b9dc8f3fd7e1ef999d" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::ffactor           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the factorial of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>The value on which the factorial is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The factorial of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_factorial_def_for_positive_ints_exception.html">CFactorialDefForPositiveIntsException</a></em>&nbsp;</td><td>If the operand is not greater than or equal to 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_an_integer_exception.html">CMathParameterMustBeAnIntegerException</a></em>&nbsp;</td><td>If the operand is not an integer.</td></tr>
  </table>
</dl>
It calculates the factorial of the operand as the following formula describes :<br>
 <img class="formulaInl" alt="$ x! = x \times (x - 1) $" src="form_0.png"> <br>
 As the mathematic factorial operator implies, the operand must be a positive operand, otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00224">224</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="ad66c566cb621bad9a30830428478500"></a><!-- doxytag: member="CVCalcParser::GetAnswersHistory" ref="ad66c566cb621bad9a30830428478500" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">const std::deque&lt; <a class="el" href="struct_answer_item.html">AnswerItem</a> &gt; &amp; CVCalcParser::GetAnswersHistory           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the answers history. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>A reference to the answers history.</dd></dl>
This function is a part of the public members of the Parser and interfaces the deque of the last formulas typed by the user which resulted into a valid answer, with their associated result. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00166">166</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d857340985c20f9f517f76b584ae2b97"></a><!-- doxytag: member="CVCalcParser::GetFunctions" ref="d857340985c20f9f517f76b584ae2b97" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">const std::list&lt; std::string &gt; &amp; CVCalcParser::GetFunctions           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the functions list. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>A reference to the functions list.</dd></dl>
This function is a part of the public members of the Parser and interfaces the list of the functions available for the user. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00140">140</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="5593665eab9b19f0eec6a62e4e50d3a5"></a><!-- doxytag: member="CVCalcParser::GetToken" ref="5593665eab9b19f0eec6a62e4e50d3a5" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#0266b1a639975838e174584238b9bf1b">TokenValue</a> CVCalcParser::GetToken           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reads the tokens from the input stream. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The token extracted from the input stream. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1()</a>, <a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a>, <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a>, <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a>, <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a>, <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a></dd></dl>
The main purpose of this function is to read the input stream character by character to extract the relative tokens.<br>
 The white spaces between 2 tokens are not taken in account and don't change at all the meaning of the formula parsed.<br>
<p>
It recognizes the following tokens :<ul>
<li>Operators : Whatever operator stored in TokenValue</li><li>Numbers : Whenever a digit or a period ('.') is read</li><li>Identifiers : When a letter or an underscore ('_') is read<br>
</li></ul>
<p>
Depending on the cases above, the relative token is stored whether in m_tokCurrentToken for any operator, m_valNumberValue for numbers and m_strIdentifierValue for identifiers.<p>
If an unknown character is read or if a number is being extracted with more than 1 period character ('.'), then a relative exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l01370">1370</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="3acf05c52be0fb64215757f3e8c77efa"></a><!-- doxytag: member="CVCalcParser::GetVariables" ref="3acf05c52be0fb64215757f3e8c77efa" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">const std::map&lt; std::string, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> &gt; &amp; CVCalcParser::GetVariables           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the variables map. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>A reference to the variables map.</dd></dl>
This function is a part of the public members of the Parser and interfaces the map of the variables typed by the user and the constants, with their associated value. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00153">153</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="f2628ce7dfbb18178fd65dc19091cb47"></a><!-- doxytag: member="CVCalcParser::GetVersion" ref="f2628ce7dfbb18178fd65dc19091cb47" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::string CVCalcParser::GetVersion           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the version of the Parser. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The version of the Parser.</dd></dl>
It simply returns as an informative data member a string which contains the version of the Parser. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00204">204</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="78b0204cb38c8bd1aa3932257e333dd5"></a><!-- doxytag: member="CVCalcParser::GetWarningMsg" ref="78b0204cb38c8bd1aa3932257e333dd5" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::string CVCalcParser::GetWarningMsg           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the warning message. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The warning message.</dd></dl>
If the parsing of a formula causes a warning (non blocking error) due to possible loss of data, then the flag is set and a descritpion message is exposed through this member function of the public interface of the Parser. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00192">192</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="e5bbc359d1790e4e5b6599c588956469"></a><!-- doxytag: member="CVCalcParser::HasWarning" ref="e5bbc359d1790e4e5b6599c588956469" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">bool CVCalcParser::HasWarning           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tells if the parsing throws a warning. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The warning flag.</dd></dl>
If the parsing of a formula causes a warning (non blocking error) due to possible loss of data, then the flag can be tested with this member function of the public interface of the Parser. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00179">179</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="cc210c2429fffad4700dbec2789ce90d"></a><!-- doxytag: member="CVCalcParser::Level_1" ref="cc210c2429fffad4700dbec2789ce90d" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Level_1           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Computes the 'addition' and 'subtraction' operators. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The result of the current expression parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a>, <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a>, <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a>, <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a>, <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a>, <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a></dd></dl>
This function is the first of 5 of the recursive descending levels of the Parser.<br>
 It computes the following operators :<ul>
<li>Addition : &lt;expr&gt; + &lt;expr&gt;</li><li>Subtraction : &lt;expr&gt; - &lt;expr&gt;<br>
</li></ul>
<p>
If the current operator is not in the ones below, then the result of <a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a> is returned. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00908">908</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="bde3aec010778dd4336bc58110bb9e77"></a><!-- doxytag: member="CVCalcParser::Level_2" ref="bde3aec010778dd4336bc58110bb9e77" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Level_2           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Computes the 'multiplication' and 'division' operators. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The result of the current expression parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1()</a>, <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a>, <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a>, <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a>, <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a>, <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a></dd></dl>
This function is the second of 5 of the recursive descending levels of the Parser.<br>
 It computes the following operators :<ul>
<li>Multiplication : &lt;expr&gt; * &lt;expr&gt;</li><li>Division : &lt;expr&gt; / &lt;expr&gt;<br>
</li></ul>
<p>
If the current operator is not in the ones below, then the result of <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a> is returned.<br>
 If the Parser tries to resolve a division which dividend is equal to 0, then the relative exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00951">951</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="f8c086f9e10a7e4a9b3cfa49be1c6634"></a><!-- doxytag: member="CVCalcParser::Level_3" ref="f8c086f9e10a7e4a9b3cfa49be1c6634" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Level_3           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Computes the 'power' operator. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The result of the current expression parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1()</a>, <a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a>, <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a>, <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a>, <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a>, <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a> <p>
<a class="el" href="class_c_v_calc_parser.html#e8f23056e0976c195beb61c92ad76243">CVCalcParser::pow()</a></dd></dl>
This function is the third of 5 of the recursive descending levels of the Parser.<br>
 It computes the following operators :<ul>
<li>Power : &lt;expr&gt; ^ &lt;expr&gt;<br>
</li></ul>
<p>
If the current operator is not in the ones below, then the result of <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a> is returned.<br>
 In the case of a Power evaluation, the parameters read from the input stream are passed to the <a class="el" href="class_c_v_calc_parser.html#e8f23056e0976c195beb61c92ad76243">pow()</a> member function, which can result in an exception if the conditions required for this calculation are not filled. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00999">999</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a182baf0ad51a7c63957a0ea113c12c9"></a><!-- doxytag: member="CVCalcParser::Level_4" ref="a182baf0ad51a7c63957a0ea113c12c9" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Level_4           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Computes the 'modulus' operator. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The result of the current expression parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1()</a>, <a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a>, <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a>, <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a>, <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a>, <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a> <p>
<a class="el" href="class_c_v_calc_parser.html#1e7a02838976ed64a7c3749822270c3a">CVCalcParser::mod()</a></dd></dl>
This function is the fourth of 5 of the recursive descending levels of the Parser.<br>
 It computes the following operators :<ul>
<li>Modulus : &lt;expr&gt; % &lt;expr&gt;<br>
</li></ul>
<p>
If the current operator is not in the ones below, then the result of <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a> is returned.<br>
 In the case of a Modulus evaluation, the parameters read from the input stream are passed to the <a class="el" href="class_c_v_calc_parser.html#1e7a02838976ed64a7c3749822270c3a">mod()</a> member function, which can result in an exception if the conditions required for this calculation are not filled. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l01034">1034</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d0ec6c12e48049b31768d9322da0540e"></a><!-- doxytag: member="CVCalcParser::Level_5" ref="d0ec6c12e48049b31768d9322da0540e" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Level_5           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Computes the 'factorial' and the "degree to radians" operators. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The result of the current expression parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1()</a>, <a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a>, <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a>, <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a>, <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a>, <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a> <p>
<a class="el" href="class_c_v_calc_parser.html#ac4f8ba7577444b9dc8f3fd7e1ef999d">CVCalcParser::ffactor()</a>, <a class="el" href="class_c_v_calc_parser.html#223e308cab7c1c8f3ed754f6a8bc6984">CVCalcParser::rad()</a></dd></dl>
This function is the fifth of 5 of the recursive descending levels of the Parser.<br>
 It computes the following operators :<ul>
<li>Factorial : &lt;expr&gt; !</li><li>Degree to radians : &lt;expr&gt; �<br>
</li></ul>
<p>
If the current operator is not in the ones below, then the result of <a class="el" href="class_c_v_calc_parser.html#1c323050e22744da030a014a861e03a4">Primary()</a> is returned.<br>
 In the case of a factorial evaluation, the only parameter read from the input stream is passed to the <a class="el" href="class_c_v_calc_parser.html#ac4f8ba7577444b9dc8f3fd7e1ef999d">ffactor()</a> member function.<br>
 In the case of a Degree to radians evaluation, the only parameter read from the input stream is passed to the <a class="el" href="class_c_v_calc_parser.html#223e308cab7c1c8f3ed754f6a8bc6984">rad()</a> member function.<br>
 Both cases can result in an exception if the conditions required for this calculation are not filled. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l01073">1073</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d992912845097e4bb9e6cee3c81a7482"></a><!-- doxytag: member="CVCalcParser::ln" ref="d992912845097e4bb9e6cee3c81a7482" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::ln           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the natural logarithm of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which is calculated the natural logarithm. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The natural logarithm of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></em>&nbsp;</td><td>If the parameter is not higher than or equal to 0.</td></tr>
  </table>
</dl>
This functions calculates the natural logarithm of its operand which must be in the interval ]0 ; +inf[.<br>
 The natural logarithm is a base-<em>e</em> logarithm : <img class="formulaInl" alt="$ ln(x) = \frac{ ln(x) } { ln(e) } | ln(e) = 1 $" src="form_6.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00648">648</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="4331a778a55adebb9a49d3203b761310"></a><!-- doxytag: member="CVCalcParser::log" ref="4331a778a55adebb9a49d3203b761310" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::log           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the decimal logarithm of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which is calculated the decimal logarithm. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The decimal logarithm of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></em>&nbsp;</td><td>If the parameter is not higher than or equal to 0.</td></tr>
  </table>
</dl>
This functions calculates the decimal logarithm of its operand which must be in the interval ]0 ; +inf[.<br>
 The decimal logarithm is a base-<em>10</em> logarithm : <img class="formulaInl" alt="$ log(x) = \frac{ ln(x) } { ln(10) } $" src="form_7.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00669">669</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="417f1f76518ff1693a839712f443fa0a"></a><!-- doxytag: member="CVCalcParser::logn" ref="417f1f76518ff1693a839712f443fa0a" args="(VALUES_TYPE, VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::logn           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valOperand</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valBase</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the base-n logarithm of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which is calculated the base-n logarithm. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>valBase</em>&nbsp;</td><td>Operand which determinates the base of the logarithm. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The base-n logarithm of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></em>&nbsp;</td><td>If the operand and/or the base parameter is/are not higher than or equal to 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_division_by_zero_exception.html">CDivisionByZeroException</a></em>&nbsp;</td><td>If the base parameter is equal to 0.</td></tr>
  </table>
</dl>
This functions calculates the base-n logarithm of its operand which must be in the interval ]0 ; +inf[.<br>
 This logarithm, as its name tells, is a base-<em>n</em> logarithm : <img class="formulaInl" alt="$ logn(x,n) = log_n(x) = \frac{ ln(x) } { ln(n) } $" src="form_8.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00693">693</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="1e7a02838976ed64a7c3749822270c3a"></a><!-- doxytag: member="CVCalcParser::mod" ref="1e7a02838976ed64a7c3749822270c3a" args="(VALUES_TYPE, VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::mod           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valLeftOperand</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valRightOperand</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the reminder of the first operand out of the second operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valLeftOperand</em>&nbsp;</td><td>Numerator of the division of which the reminder is calculated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>valRightOperand</em>&nbsp;</td><td>Denominator of the division of which the reminder is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Reminder of the first operand out of the second operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_division_by_zero_exception.html">CDivisionByZeroException</a></em>&nbsp;</td><td>If the right operand is equal to 0.</td></tr>
  </table>
</dl>
This functions calculates the reminder of the first operand out of the second operand. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00797">797</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="8f5e1a27fee1e8aea82de140cd8fc839"></a><!-- doxytag: member="CVCalcParser::nAp" ref="8f5e1a27fee1e8aea82de140cd8fc839" args="(VALUES_TYPE, VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::nAp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>p</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the <em>p</em> arrangements on <em>n</em>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>The set on wich are calculated the arrangements. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The number of arrangements on the n set. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The <em>p</em> arrangements on <em>n</em>. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_n_must_be_positive_exception.html">CNMustBePositiveException</a></em>&nbsp;</td><td>If <em>n</em> is not greater than or equal to 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_p_must_be_positive_exception.html">CPMustBePositiveException</a></em>&nbsp;</td><td>If <em>p</em> is not greater than or equal to 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_an_integer_exception.html">CMathParameterMustBeAnIntegerException</a></em>&nbsp;</td><td>If <em>n</em> and/or <em>p</em> are not integers. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_p_must_be_smaller_than_n_exception.html">CPMustBeSmallerThanNException</a></em>&nbsp;</td><td>If <em>p</em> is not smaller than or equal to <em>n</em>.</td></tr>
  </table>
</dl>
It calculates the <em>p</em> arrangements on <em>n</em> as the following formula describes :<br>
 <img class="formulaInl" alt="$ nAp(n,p) = \frac{ n! } { (n-p)! } $" src="form_2.png"> <br>
 As the mathematic nAp operator implies, the <em>n</em> and <em>p</em> operands must be positive integers, plus <em>p</em> must be smaller than <em>n</em>, otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00312">312</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d419513e44bde20cbe781aebc38e49d8"></a><!-- doxytag: member="CVCalcParser::nCp" ref="d419513e44bde20cbe781aebc38e49d8" args="(VALUES_TYPE, VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::nCp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>p</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the <em>p</em> combinations on <em>n</em>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>The set on wich are calculated the combinations. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The number of combinations on the n set. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The <em>p</em> combinations on <em>n</em>. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_n_must_be_positive_exception.html">CNMustBePositiveException</a></em>&nbsp;</td><td>If <em>n</em> is not greater than or equal to 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_p_must_be_positive_exception.html">CPMustBePositiveException</a></em>&nbsp;</td><td>If <em>p</em> is not greater than or equal to 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_an_integer_exception.html">CMathParameterMustBeAnIntegerException</a></em>&nbsp;</td><td>If <em>n</em> and/or <em>p</em> are not integers. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_p_must_be_smaller_than_n_exception.html">CPMustBeSmallerThanNException</a></em>&nbsp;</td><td>If <em>p</em> is not smaller than or equal to <em>n</em>.</td></tr>
  </table>
</dl>
It calculates the <em>p</em> combinations on <em>n</em> as the following formula describes :<br>
 <img class="formulaInl" alt="$ nCp(n,p) = \frac{ n! } { (n-p)! \times p! } $" src="form_1.png"> <br>
 As the mathematic nCp operator implies, the <em>n</em> and <em>p</em> operands must be positive integers, plus <em>p</em> must be smaller than <em>n</em>, otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00266">266</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="e8f23056e0976c195beb61c92ad76243"></a><!-- doxytag: member="CVCalcParser::pow" ref="e8f23056e0976c195beb61c92ad76243" args="(VALUES_TYPE, VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::pow           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valLeftOperand</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valRightOperand</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the left operand raised to the power of the right operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valLeftOperand</em>&nbsp;</td><td>Operand which is raised to the power of the right operand. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>valRightOperand</em>&nbsp;</td><td>Operand which raises the left operand to his power. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The power of the left operand by the right operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></em>&nbsp;</td><td>If the function tries to compute <em>0^y</em>, where <em>y</em> is a floating point decimal strictly lower than 0.</td></tr>
  </table>
</dl>
This functions computes the left operand raised to the power of the right operand.<br>
 If the function tries to compute <em>0^0</em>, the following warning is sent :<br>
 <em>Warning: 0^0 replaced by 1</em>. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00773">773</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="1c323050e22744da030a014a861e03a4"></a><!-- doxytag: member="CVCalcParser::Primary" ref="1c323050e22744da030a014a861e03a4" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::Primary           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Computes the 'parenthesis', 'Unary +' and 'Unary -' operators. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>The result of the current expression parsed. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_v_calc_parser_exception.html">CVCalcParserException</a></em>&nbsp;</td><td>Whatever exception inherited from VisualCalc Parser Exceptions base class. </td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_v_calc_parser.html#cc210c2429fffad4700dbec2789ce90d">Level_1()</a>, <a class="el" href="class_c_v_calc_parser.html#bde3aec010778dd4336bc58110bb9e77">Level_2()</a>, <a class="el" href="class_c_v_calc_parser.html#f8c086f9e10a7e4a9b3cfa49be1c6634">Level_3()</a>, <a class="el" href="class_c_v_calc_parser.html#a182baf0ad51a7c63957a0ea113c12c9">Level_4()</a>, <a class="el" href="class_c_v_calc_parser.html#d0ec6c12e48049b31768d9322da0540e">Level_5()</a>, <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a> <p>
<a class="el" href="class_c_v_calc_parser.html#ac4f8ba7577444b9dc8f3fd7e1ef999d">CVCalcParser::ffactor()</a>, <a class="el" href="class_c_v_calc_parser.html#223e308cab7c1c8f3ed754f6a8bc6984">CVCalcParser::rad()</a></dd></dl>
This function intervenes after the 5th level function of the Parser.<br>
 It computes the following operators :<ul>
<li>Parenthesis : ( &lt;expr&gt; )</li><li>Unary + : + &lt;expr&gt;</li><li>Unary - : - &lt;expr&gt;<br>
</li></ul>
<p>
It also perform the following additional actions :<ul>
<li>Calls to the user functions</li><li>Assignations/Recoverage of user variables<br>
</li></ul>
<p>
If the current operator is not in the ones below, then an exception is thrown saying that a mathematic expression is expected.<br>
 In the case of a user function handling, then the parameters read from the input are passed to the relative member function (each function presented in the user interface have its own private implementation within the parser class).<br>
 In the case of a user-defined variable handling, then either the data is retrieved if the variable aleady exists, otherwise it is assigned with a new value.<br>
 All cases can result in an exception if the conditions required for the handling are not filled. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l01129">1129</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="12a524bd18bd4bff5f8cba3dcc308ee7"></a><!-- doxytag: member="CVCalcParser::product" ref="12a524bd18bd4bff5f8cba3dcc308ee7" args="(std::string expr, std::string var, VALUES_TYPE low, VALUES_TYPE high)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::product           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">std::string&nbsp;</td>
          <td class="mdname" nowrap> <em>expr</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>std::string&nbsp;</td>
          <td class="mdname" nowrap> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>low</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>high</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the incremental product of the expression. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>expr</em>&nbsp;</td><td>Expression of which the product is to be avaluated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>Variable in the expression which varies by increments. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>low</em>&nbsp;</td><td>The integral lower bound of the sum. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>high</em>&nbsp;</td><td>The integral higher bound of the sum. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the incremental product of the expression. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_function_not_supported_exception.html">CFunctionNotSupportedException</a></em>&nbsp;</td><td>The function is not implemented yet. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>Not implemented yet.</dd></dl>
This functions calculates the incremental product of the expression in which the variable takes integral values from the lower to the higher bound :<br>
 <img class="formulaInl" alt="$ \product_x=low^high (expr(x))$" src="form_12.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00848">848</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="223e308cab7c1c8f3ed754f6a8bc6984"></a><!-- doxytag: member="CVCalcParser::rad" ref="223e308cab7c1c8f3ed754f6a8bc6984" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::rad           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a degrees angle converted into radians. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>degrees Angle. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The equivalence of the angle in radians.</dd></dl>
This functions calculates the arctangent of its operand and the resulting angle is in the interval [-pi/2 ; pi/2]. Otherwise, a consequent exception is thrown. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00618">618</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="cd8c53feaf3e054085378c652b259f2d"></a><!-- doxytag: member="CVCalcParser::ResetAnswersHistory" ref="cd8c53feaf3e054085378c652b259f2d" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void CVCalcParser::ResetAnswersHistory           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Resets the answers history list to its default state. 
<p>
The history of the formulas typed by the user and their relative result is cleared and reset to aa empty list. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00128">128</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="8ca3bcfeffb2fe60d8ac00594ad113a6"></a><!-- doxytag: member="CVCalcParser::ResetFunctions" ref="8ca3bcfeffb2fe60d8ac00594ad113a6" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void CVCalcParser::ResetFunctions           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Resets the functions list to its default state. 
<p>
It initializes the list of the functions exposed for and usable by the user (in the string to be parser) with the functions name as they have to be typed (the parser is case sensitive on identifiers). 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00079">79</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="4676fc736cddb26564fcc55a3896dfef"></a><!-- doxytag: member="CVCalcParser::ResetParserMembers" ref="4676fc736cddb26564fcc55a3896dfef" args="(const std::string)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void CVCalcParser::ResetParserMembers           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const std::string&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>strSource</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Resets the parser members state to default. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>strSource</em>&nbsp;</td><td>String to initialize the source member with.</td></tr>
  </table>
</dl>
Resets the parser data members ; it set them to a defaut value :<ul>
<li>Source string with the parameter value,</li><li>default token (end of the string to be parsed),</li><li>empty identifier value (used for function and variable names),</li><li>zero number value (used for calculated results),</li><li>no warning (no message, no flag set),</li><li>reading index placed at the begin of the Source string. </li></ul>

<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00059">59</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d6cfe52738a37f353a6bad466330b01e"></a><!-- doxytag: member="CVCalcParser::ResetVariables" ref="d6cfe52738a37f353a6bad466330b01e" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void CVCalcParser::ResetVariables           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Resets the variables list to its default state. 
<p>
The list of the variables used and defined by the user is cleared and reset to a default list.<br>
 The default list contains the mathematic constants <em>pi</em> and <em>e</em> (which cannot be removed from the variable list). 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00115">115</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="ccdc395b4777fe75b7aad79ec188868b"></a><!-- doxytag: member="CVCalcParser::sin" ref="ccdc395b4777fe75b7aad79ec188868b" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::sin           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the sine of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Angle in radian on which the sine is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The sine of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the sine of its operand which is an angle in radians. If the angle is out of the range [-2^63 ; 2^63], the result may have a loss of significance. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00419">419</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d080f9fdcdd1d06022b6206429fe260e"></a><!-- doxytag: member="CVCalcParser::sinh" ref="d080f9fdcdd1d06022b6206429fe260e" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::sinh           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the hyperbolic sine of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Angle in radian on which the hyperbolic sine is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The hyperbolic sine of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the hyperbolic sine of its operand which is an angle in radians :<br>
 <img class="formulaInl" alt="$ sinh(x) = \frac{ e^x - e^-x } { 2 } $" src="form_4.png"> <br>
 If the angle is out of the range [-2^63 ; 2^63], the result may have a loss of significance. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00495">495</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d80f90e6ebeeadde59f6d64290480062"></a><!-- doxytag: member="CVCalcParser::sqrt" ref="d80f90e6ebeeadde59f6d64290480062" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::sqrt           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the square root of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which is calculated the square root. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The square root of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></em>&nbsp;</td><td>If the operand is not higher than or equal to 0.</td></tr>
  </table>
</dl>
This functions calculates the square root of its operand which must be in the interval [0 ; +inf[ :<br>
 <img class="formulaInl" alt="$ sqrt(x) = sqrtn(x,2) = \sqrt(x) $" src="form_9.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00720">720</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="99566824e2739113c77413beb0a92645"></a><!-- doxytag: member="CVCalcParser::sqrtn" ref="99566824e2739113c77413beb0a92645" args="(VALUES_TYPE, VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::sqrtn           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valOperand</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>valOrder</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the n-order root of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Operand on which is calculated the n-order root. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>valOrder</em>&nbsp;</td><td>Operand which determinates the order of the root. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The n-order root of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_positive_exception.html">CMathParameterMustBePositiveException</a></em>&nbsp;</td><td>If the operand is not higher than or equal to 0, or if the order is not strictly higher than 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_math_parameter_must_be_an_integer_exception.html">CMathParameterMustBeAnIntegerException</a></em>&nbsp;</td><td>If the order is not an integer.</td></tr>
  </table>
</dl>
This functions calculates the n-order root of its operand which must be in the interval [0 ; +inf[, with an integral order :<br>
 <img class="formulaInl" alt="$ sqrtn(x,n) = \sqrt[n](x) $" src="form_10.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00744">744</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="4b3679c0f0bedf36870bb4569d194be9"></a><!-- doxytag: member="CVCalcParser::StepIndexForward" ref="4b3679c0f0bedf36870bb4569d194be9" args="(void)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">bool CVCalcParser::StepIndexForward           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Steps the stream reading index of one position further. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>A flag saying if the end of the formula was reached.</dd></dl>
This function was made to factorize some code of the <a class="el" href="class_c_v_calc_parser.html#5593665eab9b19f0eec6a62e4e50d3a5">GetToken()</a> function.<br>
 It increments the index on the stream and set the m_bEndEncountered flag to true if the end of the formula is encountered. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l01517">1517</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="4faca6a612ecdc863804af33673966b2"></a><!-- doxytag: member="CVCalcParser::sum" ref="4faca6a612ecdc863804af33673966b2" args="(std::string expr, std::string var, VALUES_TYPE low, VALUES_TYPE high)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::sum           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">std::string&nbsp;</td>
          <td class="mdname" nowrap> <em>expr</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>std::string&nbsp;</td>
          <td class="mdname" nowrap> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>low</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>high</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the incremental sum of the expression. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>expr</em>&nbsp;</td><td>Expression of which the sum is to be avaluated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>Variable in the expression which varies by increments. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>low</em>&nbsp;</td><td>The integral lower bound of the sum. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>high</em>&nbsp;</td><td>The integral higher bound of the sum. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the incremental sum of the expression. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_function_not_supported_exception.html">CFunctionNotSupportedException</a></em>&nbsp;</td><td>The function is not implemented yet. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>Not implemented yet.</dd></dl>
This functions calculates the incremental sum of the expression in which the variable takes integral values from the lower to the higher bound :<br>
 <img class="formulaInl" alt="$ \sum_x=low^high (expr(x))$" src="form_11.png"> 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00821">821</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="41040fcd49f23a12d66e81ab8d29ec09"></a><!-- doxytag: member="CVCalcParser::tan" ref="41040fcd49f23a12d66e81ab8d29ec09" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::tan           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the tangent of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Angle in radian on which the tangent is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The tangent of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the tangent of its operand which is an angle in radians. If the angle is out of the range [-2^63 ; 2^63], the result may have a loss of significance. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00443">443</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<a class="anchor" name="d0cb912f3527dbee24318528ab8823f0"></a><!-- doxytag: member="CVCalcParser::tanh" ref="d0cb912f3527dbee24318528ab8823f0" args="(VALUES_TYPE)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> CVCalcParser::tanh           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>valOperand</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [private]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the hyperbolic tangent of the operand. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>valOperand</em>&nbsp;</td><td>Angle in radian on which the hyperbolic tangent is calculated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The hyperbolic tangent of the operand. </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_c_parameter_out_of_range_exception.html">CParameterOutOfRangeException</a></em>&nbsp;</td><td>If an error occured during calculation.</td></tr>
  </table>
</dl>
This functions calculates the hyperbolic tangent of its operand which is an angle in radians :<br>
 <img class="formulaInl" alt="$ tanh(x) = \frac{ e^x - e^-x } { e^x + e^-x } $" src="form_5.png"> <br>
 If the angle is out of the range [-2^63 ; 2^63], the result may have a loss of significance. 
<p>
Definition at line <a class="el" href="_v_calc_parser_8cpp-source.html#l00521">521</a> of file <a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a>.    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="be462338d9d624357cd648b4e015d108"></a><!-- doxytag: member="CVCalcParser::m_bEndEncountered" ref="be462338d9d624357cd648b4e015d108" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">bool <a class="el" href="class_c_v_calc_parser.html#be462338d9d624357cd648b4e015d108">CVCalcParser::m_bEndEncountered</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The end of the input stream is reached 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00126">126</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="de62d096cd40a44d83b20c0d281b7c4e"></a><!-- doxytag: member="CVCalcParser::m_bWarningFlag" ref="de62d096cd40a44d83b20c0d281b7c4e" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">bool <a class="el" href="class_c_v_calc_parser.html#de62d096cd40a44d83b20c0d281b7c4e">CVCalcParser::m_bWarningFlag</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Non-interrupting low level message 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00125">125</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="bf98769d76c70c0e1a8e201b2ce85f60"></a><!-- doxytag: member="CVCalcParser::m_dqeAnswersHistory" ref="bf98769d76c70c0e1a8e201b2ce85f60" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::deque&lt;<a class="el" href="struct_answer_item.html">AnswerItem</a>&gt; <a class="el" href="class_c_v_calc_parser.html#bf98769d76c70c0e1a8e201b2ce85f60">CVCalcParser::m_dqeAnswersHistory</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Answers History mapping a formula with a result 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00131">131</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="1bba65a4ef7ac2537f444674df28bddd"></a><!-- doxytag: member="CVCalcParser::m_E" ref="1bba65a4ef7ac2537f444674df28bddd" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">const <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> <a class="el" href="class_c_v_calc_parser.html#1bba65a4ef7ac2537f444674df28bddd">CVCalcParser::m_E</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
32 digits <em>e</em> value : 2.7182818284590452353602874713527 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00117">117</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="6177c1853c93e2d858cf3f9e21991023"></a><!-- doxytag: member="CVCalcParser::m_iCurrentIndex" ref="6177c1853c93e2d858cf3f9e21991023" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">int <a class="el" href="class_c_v_calc_parser.html#6177c1853c93e2d858cf3f9e21991023">CVCalcParser::m_iCurrentIndex</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Index in the input stream 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00127">127</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="e57f128cfa2e581a977eb0af4bd2c0a1"></a><!-- doxytag: member="CVCalcParser::m_lstFunctions" ref="e57f128cfa2e581a977eb0af4bd2c0a1" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::list&lt;std::string&gt; <a class="el" href="class_c_v_calc_parser.html#e57f128cfa2e581a977eb0af4bd2c0a1">CVCalcParser::m_lstFunctions</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Supported functions 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00128">128</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="9fb631992c6d02e5db9b29fa03765d05"></a><!-- doxytag: member="CVCalcParser::m_mapVariables" ref="9fb631992c6d02e5db9b29fa03765d05" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::map&lt;std::string, <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a>&gt; <a class="el" href="class_c_v_calc_parser.html#9fb631992c6d02e5db9b29fa03765d05">CVCalcParser::m_mapVariables</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
User defined variables table mapping the identifier with a value 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00130">130</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="14d6bc58920086d6c3f8707c6ca4e0b4"></a><!-- doxytag: member="CVCalcParser::m_PI" ref="14d6bc58920086d6c3f8707c6ca4e0b4" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">const <a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> <a class="el" href="class_c_v_calc_parser.html#14d6bc58920086d6c3f8707c6ca4e0b4">CVCalcParser::m_PI</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
32 digits <em>pi</em> value : 3.1415926535897932384626433832795 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00116">116</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="0b3296194cfbc37bb2b5bddbecab2a5d"></a><!-- doxytag: member="CVCalcParser::m_strIdentifierValue" ref="0b3296194cfbc37bb2b5bddbecab2a5d" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::string <a class="el" href="class_c_v_calc_parser.html#0b3296194cfbc37bb2b5bddbecab2a5d">CVCalcParser::m_strIdentifierValue</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Identifier extracted as an IDENTIFIER token 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00122">122</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="f4fcdbbe5e0113f7c97e0cad9238a322"></a><!-- doxytag: member="CVCalcParser::m_strParserVersion" ref="f4fcdbbe5e0113f7c97e0cad9238a322" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::string <a class="el" href="class_c_v_calc_parser.html#f4fcdbbe5e0113f7c97e0cad9238a322">CVCalcParser::m_strParserVersion</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Version of the Parser 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00132">132</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a0c7add01e5a5ca2b4dcc8297e4fac5b"></a><!-- doxytag: member="CVCalcParser::m_strSource" ref="a0c7add01e5a5ca2b4dcc8297e4fac5b" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::string <a class="el" href="class_c_v_calc_parser.html#a0c7add01e5a5ca2b4dcc8297e4fac5b">CVCalcParser::m_strSource</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reference to the input stream 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00121">121</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="9da21055ec1f7e972aceb1f5921f9363"></a><!-- doxytag: member="CVCalcParser::m_strWarningMsg" ref="9da21055ec1f7e972aceb1f5921f9363" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">std::string <a class="el" href="class_c_v_calc_parser.html#9da21055ec1f7e972aceb1f5921f9363">CVCalcParser::m_strWarningMsg</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
To describe the warning 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00123">123</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a0623aa02da54819cf4100ba7719dae9"></a><!-- doxytag: member="CVCalcParser::m_tokCurrentToken" ref="a0623aa02da54819cf4100ba7719dae9" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#0266b1a639975838e174584238b9bf1b">TokenValue</a> <a class="el" href="class_c_v_calc_parser.html#a0623aa02da54819cf4100ba7719dae9">CVCalcParser::m_tokCurrentToken</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Current token extracted from the input stream 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00120">120</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="2f571d7c799e8857aad7fddb011359e5"></a><!-- doxytag: member="CVCalcParser::m_valNumberValue" ref="2f571d7c799e8857aad7fddb011359e5" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="_v_calc_parser_types_8h.html#4f8f973df1d3250e3882077b1a157e12">VALUES_TYPE</a> <a class="el" href="class_c_v_calc_parser.html#2f571d7c799e8857aad7fddb011359e5">CVCalcParser::m_valNumberValue</a><code> [private]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Number extracted as a NUMBER token 
<p>
Definition at line <a class="el" href="_v_calc_parser_8h-source.html#l00124">124</a> of file <a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_v_calc_parser_8h-source.html">VCalcParser.h</a><li><a class="el" href="_v_calc_parser_8cpp-source.html">VCalcParser.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon Feb 6 23:55:57 2006 for VisualCalc Parser by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Accenture Technology Solutions
France France

Toxcct is an electronics guy who felt in love with programming at the age of 10 when he discovered C to play with Texas-Instruments calculators.

Few years later, he discovered "The C++ Language" from Bjarne Stroustrup ; a true transformation in his life.

Now, toxcct is experiencing the Web by developing Siebel CRM Applications for a living. He also respects very much the Web Standards (YES, a HTML/CSS code MUST validate !), and plays around with HTML/CSS/Javascript/Ajax/PHP and such.

_____

After four years of services as a Codeproject MVP, toxcct is now taking some distance as he doesn't like how things are going on the forums. he particularly doesn't accept how some totally ignorant people got the MVP Reward by only being arrogant and insulting while replying on the technical forums.



Comments and Discussions