diff options
Added files from project 2 (mirror)
1 files changed, 254 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/Project 2/docs/html/classCellFormula.html | 254 |
diff --git a/Year 1/Object-oriented Programming/Project 2/docs/html/classCellFormula.html b/Year 1/Object-oriented Programming/Project 2/docs/html/classCellFormula.html new file mode 100644 index 0000000..2fed2ce --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 2/docs/html/classCellFormula.html @@ -0,0 +1,254 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=11"/> +<meta name="generator" content="Doxygen 1.9.3"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>FMI Table: CellFormula Class Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr id="projectrow"> + <td id="projectalign"> + <div id="projectname">FMI Table + </div> + <div id="projectbrief">| Kamen Mladenov | FMI Computer Science Year 1 Group 6 | Project 2 | Project Topic 7 |</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.9.3 --> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ +var searchBox = new SearchBox("searchBox", "search",'Search','.html'); +/* @license-end */ +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +/* @license-end */ +</script> +<div id="main-nav"></div> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="classCellFormula-members.html">List of all members</a> </div> + <div class="headertitle"><div class="title">CellFormula Class Reference</div></div> +</div><!--header--> +<div class="contents"> + +<p>A table cell which contains a formula. + <a href="classCellFormula.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="CellFormula_8h_source.html">CellFormula.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for CellFormula:</div> +<div class="dyncontent"> + <div class="center"> + <img src="classCellFormula.png" usemap="#CellFormula_map" alt=""/> + <map id="CellFormula_map" name="CellFormula_map"> +<area href="classCell.html" title="Fully abstract class that represents a cell in the table." alt="Cell" shape="rect" coords="0,0,80,24"/> + </map> +</div></div> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:a4fb02122d6eec83fb4fa80fea56d5094"><td class="memItemLeft" align="right" valign="top"><a id="a4fb02122d6eec83fb4fa80fea56d5094" name="a4fb02122d6eec83fb4fa80fea56d5094"></a> + </td><td class="memItemRight" valign="bottom"><b>CellFormula</b> (const char *str, const <a class="el" href="classList.html">List</a>< <a class="el" href="classList.html">List</a>< <a class="el" href="classCell.html">Cell</a> * > > *tableCells)</td></tr> +<tr class="separator:a4fb02122d6eec83fb4fa80fea56d5094"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aea7ea04991b4ef15aa80ff3182bf1e74"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classCellFormula.html#aea7ea04991b4ef15aa80ff3182bf1e74">getNumeralValue</a> () const override</td></tr> +<tr class="separator:aea7ea04991b4ef15aa80ff3182bf1e74"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2f55209057eb939f3688a1f02f9fcb3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classString.html">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCellFormula.html#a2f55209057eb939f3688a1f02f9fcb3d">getValueForPrint</a> () const override</td></tr> +<tr class="separator:a2f55209057eb939f3688a1f02f9fcb3d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afecaac674bfb6bc2bbe1796c74643e31"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCellFormula.html#afecaac674bfb6bc2bbe1796c74643e31">parseAndSetValue</a> (const char *str) override</td></tr> +<tr class="separator:afecaac674bfb6bc2bbe1796c74643e31"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2883e300abc5153ce84f660f03050fdf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCellFormula.html#a2883e300abc5153ce84f660f03050fdf">writeToFile</a> (std::ofstream &file) override</td></tr> +<tr class="memdesc:a2883e300abc5153ce84f660f03050fdf"><td class="mdescLeft"> </td><td class="mdescRight">Writes value to a text file. <a href="classCellFormula.html#a2883e300abc5153ce84f660f03050fdf">More...</a><br /></td></tr> +<tr class="separator:a2883e300abc5153ce84f660f03050fdf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a10bf7a5e3486908f5e6b8b24c5a2e968"><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classCell.html#a10bf7a5e3486908f5e6b8b24c5a2e968">getNumeralValue</a> () const =0</td></tr> +<tr class="memdesc:a10bf7a5e3486908f5e6b8b24c5a2e968"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the cell as a double-precision floating point number. <a href="classCell.html#a10bf7a5e3486908f5e6b8b24c5a2e968">More...</a><br /></td></tr> +<tr class="separator:a10bf7a5e3486908f5e6b8b24c5a2e968"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aebc1f8f5965802b7a44ef3da7aa2ce75"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classString.html">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCell.html#aebc1f8f5965802b7a44ef3da7aa2ce75">getValueForPrint</a> () const =0</td></tr> +<tr class="memdesc:aebc1f8f5965802b7a44ef3da7aa2ce75"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the cell as a <a class="el" href="classString.html" title="A dynamically-allocated C-style string with extra features.">String</a>. <a href="classCell.html#aebc1f8f5965802b7a44ef3da7aa2ce75">More...</a><br /></td></tr> +<tr class="separator:aebc1f8f5965802b7a44ef3da7aa2ce75"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a732fcaeea7050f4afb3bcd6377432b95"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCell.html#a732fcaeea7050f4afb3bcd6377432b95">parseAndSetValue</a> (const char *str)=0</td></tr> +<tr class="memdesc:a732fcaeea7050f4afb3bcd6377432b95"><td class="mdescLeft"> </td><td class="mdescRight">Parses given C-style string and stores value. <a href="classCell.html#a732fcaeea7050f4afb3bcd6377432b95">More...</a><br /></td></tr> +<tr class="separator:a732fcaeea7050f4afb3bcd6377432b95"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a126ab727ef443f5fd8ef62832614f56b"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCell.html#a126ab727ef443f5fd8ef62832614f56b">writeToFile</a> (std::ofstream &file)=0</td></tr> +<tr class="memdesc:a126ab727ef443f5fd8ef62832614f56b"><td class="mdescLeft"> </td><td class="mdescRight">Writes value to a text file. <a href="classCell.html#a126ab727ef443f5fd8ef62832614f56b">More...</a><br /></td></tr> +<tr class="separator:a126ab727ef443f5fd8ef62832614f56b"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p >A table cell which contains a formula. </p> +<p >Implements the <a class="el" href="classCell.html" title="Fully abstract class that represents a cell in the table.">Cell</a> class by storing a formula as a <a class="el" href="classString.html" title="A dynamically-allocated C-style string with extra features.">String</a> and in a dynamic <a class="el" href="classList.html" title="Templated class that stores an array of elements in dynamic memory.">List</a> </p> +</div><h2 class="groupheader">Member Function Documentation</h2> +<a id="aea7ea04991b4ef15aa80ff3182bf1e74" name="aea7ea04991b4ef15aa80ff3182bf1e74"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aea7ea04991b4ef15aa80ff3182bf1e74">◆ </a></span>getNumeralValue()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">double CellFormula::getNumeralValue </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p >Value is recalculated every time this function is called (in case a referenced cell is changed).</p> +<dl class="section return"><dt>Returns</dt><dd>0 </dd></dl> + +<p>Implements <a class="el" href="classCell.html#a10bf7a5e3486908f5e6b8b24c5a2e968">Cell</a>.</p> + +</div> +</div> +<a id="a2f55209057eb939f3688a1f02f9fcb3d" name="a2f55209057eb939f3688a1f02f9fcb3d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2f55209057eb939f3688a1f02f9fcb3d">◆ </a></span>getValueForPrint()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classString.html">String</a> CellFormula::getValueForPrint </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p >Value is recalculated every time this function is called (in case a referenced cell is changed).</p> +<dl class="section return"><dt>Returns</dt><dd>"Error" </dd></dl> + +<p>Implements <a class="el" href="classCell.html#aebc1f8f5965802b7a44ef3da7aa2ce75">Cell</a>.</p> + +</div> +</div> +<a id="afecaac674bfb6bc2bbe1796c74643e31" name="afecaac674bfb6bc2bbe1796c74643e31"></a> +<h2 class="memtitle"><span class="permalink"><a href="#afecaac674bfb6bc2bbe1796c74643e31">◆ </a></span>parseAndSetValue()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void CellFormula::parseAndSetValue </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>str</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p >Each math operation is represented with a <a class="el" href="structPair.html" title="Stores two values of any types.">Pair</a> that holds indecies of cell reference and a character for the operation.</p> +<p >Negatve value for the operation character means it's with priority and the result get's calculated immediately (rather than recursively, taking into account other values).</p> +<dl class="exception"><dt>Exceptions</dt><dd> + <table class="exception"> + <tr><td class="paramname">std::logic_error("Error</td><td>Invalid column character!") Thrown when there is something between Rx and C in cell references +\exception std::logic_error("Error: Invalid value!") Thrown when met value isn't a cell reference or number +\exception throw std::logic_error("Error: Could not find operand!") Thrown when there isn't an operator character between two values </td></tr> + </table> + </dd> +</dl> + +<p>Implements <a class="el" href="classCell.html#a732fcaeea7050f4afb3bcd6377432b95">Cell</a>.</p> + +</div> +</div> +<a id="a2883e300abc5153ce84f660f03050fdf" name="a2883e300abc5153ce84f660f03050fdf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2883e300abc5153ce84f660f03050fdf">◆ </a></span>writeToFile()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void CellFormula::writeToFile </td> + <td>(</td> + <td class="paramtype">std::ofstream & </td> + <td class="paramname"><em>file</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Writes value to a text file. </p> + +<p>Implements <a class="el" href="classCell.html#a126ab727ef443f5fd8ef62832614f56b">Cell</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li>src/Models/<a class="el" href="CellFormula_8h_source.html">CellFormula.h</a></li> +<li>src/Models/CellFormula.cpp</li> +</ul> +</div><!-- contents --> +<!-- start footer part --> +<hr class="footer"/><address class="footer"><small> +Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3 +</small></address> +</body> +</html> |
