Built doxygen

This commit is contained in:
Leonetienne 2021-06-03 12:22:37 +02:00
parent ccfee5f98e
commit c8cf9c3748
520 changed files with 29054 additions and 0 deletions

View File

@ -0,0 +1,127 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Abbreviations.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Abbreviations.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;CppUnitTest.h&quot;</code><br />
<code>#include &quot;<a class="el" href="helper_8h_source.html">helper.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="Hazelnupp_8h_source.html">../Hazelnupp/Hazelnupp.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Abbreviations.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="Abbreviations_8cpp__incl.png" border="0" usemap="#Test__Hazelnupp_2Abbreviations_8cpp" alt=""/></div>
<map name="Test__Hazelnupp_2Abbreviations_8cpp" id="Test__Hazelnupp_2Abbreviations_8cpp">
<area shape="rect" title=" " alt="" coords="32,5,277,32"/>
<area shape="rect" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" href="helper_8h.html" title=" " alt="" coords="180,229,255,256"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="261,80,449,107"/>
<area shape="rect" title=" " alt="" coords="354,304,417,331"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="561,155,661,181"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="393,155,535,181"/>
<area shape="rect" title=" " alt="" coords="193,155,317,181"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="577,229,647,256"/>
<area shape="rect" title=" " alt="" coords="593,304,669,331"/>
<area shape="rect" title=" " alt="" coords="493,229,552,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="463,304,558,331"/>
</map>
</div>
</div>
<p><a href="Abbreviations_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceTestHazelnupp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html">TestHazelnupp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a1c3e0a8a5cc379baebcf2fa6d5e1dbfe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html#a1c3e0a8a5cc379baebcf2fa6d5e1dbfe">TestHazelnupp::TEST_CLASS</a> (_Abbreviations)</td></tr>
<tr class="separator:a1c3e0a8a5cc379baebcf2fa6d5e1dbfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,14 @@
<map id="Test_Hazelnupp/Abbreviations.cpp" name="Test_Hazelnupp/Abbreviations.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="32,5,277,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" id="node3" href="$helper_8h.html" title=" " alt="" coords="180,229,255,256"/>
<area shape="rect" id="node5" href="$Hazelnupp_8h.html" title=" " alt="" coords="261,80,449,107"/>
<area shape="rect" id="node4" title=" " alt="" coords="354,304,417,331"/>
<area shape="rect" id="node6" href="$Parameter_8h.html" title=" " alt="" coords="561,155,661,181"/>
<area shape="rect" id="node11" href="$ParamConstraint_8h.html" title=" " alt="" coords="393,155,535,181"/>
<area shape="rect" id="node12" title=" " alt="" coords="193,155,317,181"/>
<area shape="rect" id="node7" href="$Value_8h.html" title=" " alt="" coords="577,229,647,256"/>
<area shape="rect" id="node9" title=" " alt="" coords="593,304,669,331"/>
<area shape="rect" id="node10" title=" " alt="" coords="493,229,552,256"/>
<area shape="rect" id="node8" href="$DataType_8h.html" title=" " alt="" coords="463,304,558,331"/>
</map>

View File

@ -0,0 +1 @@
104f1fc85c82d50f566784751bc221be

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,262 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Abbreviations.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Abbreviations.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Abbreviations_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;CppUnitTest.h&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="helper_8h.html">helper.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/Hazelnupp.h&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">using namespace </span>Microsoft::VisualStudio::CppUnitTestFramework;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="namespaceTestHazelnupp.html"> 7</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceTestHazelnupp.html">TestHazelnupp</a></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;{</div>
<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="namespaceTestHazelnupp.html#a1c3e0a8a5cc379baebcf2fa6d5e1dbfe"> 9</a></span>&#160; <a class="code" href="namespaceTestHazelnupp.html#a1c3e0a8a5cc379baebcf2fa6d5e1dbfe">TEST_CLASS</a>(_Abbreviations)</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; {</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="comment">// Tests keys exist after parsing</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; TEST_METHOD(KeysExist)</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;-ms&quot;</span>,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;-mv&quot;</span>,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="stringliteral">&quot;-mf&quot;</span>,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="stringliteral">&quot;-mi&quot;</span>,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="stringliteral">&quot;-mnl&quot;</span>,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="stringliteral">&quot;-msl&quot;</span>,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; });</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-ms&quot;</span>, <span class="stringliteral">&quot;--my_string&quot;</span>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mv&quot;</span>, <span class="stringliteral">&quot;--my_void&quot;</span>);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mi&quot;</span>, <span class="stringliteral">&quot;--my_int&quot;</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mf&quot;</span>, <span class="stringliteral">&quot;--my_float&quot;</span>);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mnl&quot;</span>, <span class="stringliteral">&quot;--my_num_list&quot;</span>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-msl&quot;</span>, <span class="stringliteral">&quot;--my_str_list&quot;</span>);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_string&quot;</span>));</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_void&quot;</span>));</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_float&quot;</span>));</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_int&quot;</span>));</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_num_list&quot;</span>));</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_str_list&quot;</span>));</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Tests keys are of the correct type after parsing</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; TEST_METHOD(CorrectType)</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="stringliteral">&quot;-ms&quot;</span>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="stringliteral">&quot;-mv&quot;</span>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="stringliteral">&quot;-mf&quot;</span>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="stringliteral">&quot;-mi&quot;</span>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="stringliteral">&quot;-mnl&quot;</span>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="stringliteral">&quot;-msl&quot;</span>,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; });</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-ms&quot;</span>, <span class="stringliteral">&quot;--my_string&quot;</span>);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mv&quot;</span>, <span class="stringliteral">&quot;--my_void&quot;</span>);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mi&quot;</span>, <span class="stringliteral">&quot;--my_int&quot;</span>);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mf&quot;</span>, <span class="stringliteral">&quot;--my_float&quot;</span>);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mnl&quot;</span>, <span class="stringliteral">&quot;--my_num_list&quot;</span>);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-msl&quot;</span>, <span class="stringliteral">&quot;--my_str_list&quot;</span>);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_string&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_void&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_float&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_int&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// Tests keys have the correct value after parsing</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; TEST_METHOD(CorrectValues)</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="stringliteral">&quot;-ms&quot;</span>,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="stringliteral">&quot;-mv&quot;</span>,</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="stringliteral">&quot;-mf&quot;</span>,</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="stringliteral">&quot;-mi&quot;</span>,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="stringliteral">&quot;-mnl&quot;</span>,</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="stringliteral">&quot;-msl&quot;</span>,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; });</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-ms&quot;</span>, <span class="stringliteral">&quot;--my_string&quot;</span>);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mv&quot;</span>, <span class="stringliteral">&quot;--my_void&quot;</span>);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mi&quot;</span>, <span class="stringliteral">&quot;--my_int&quot;</span>);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mf&quot;</span>, <span class="stringliteral">&quot;--my_float&quot;</span>);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-mnl&quot;</span>, <span class="stringliteral">&quot;--my_num_list&quot;</span>);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; nupp.RegisterAbbreviation(<span class="stringliteral">&quot;-msl&quot;</span>, <span class="stringliteral">&quot;--my_str_list&quot;</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_string&quot;</span>].GetString(), std::string(<span class="stringliteral">&quot;billybob&quot;</span>));</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_float&quot;</span>].GetFloat32(), -23.199);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_int&quot;</span>].GetInt32(), 199);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[0]-&gt;GetInt32(), 1);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[1]-&gt;GetInt32(), 2);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[2]-&gt;GetInt32(), 3);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[3]-&gt;GetInt32(), 4);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetList()[0]-&gt;GetString(), std::string(<span class="stringliteral">&quot;apple&quot;</span>));</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetList()[1]-&gt;GetString(), std::string(<span class="stringliteral">&quot;banana&quot;</span>));</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetList()[2]-&gt;GetString(), std::string(<span class="stringliteral">&quot;pumpkin&quot;</span>));</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; };</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html"><div class="ttname"><a href="namespaceTestHazelnupp.html">TestHazelnupp</a></div><div class="ttdef"><b>Definition:</b> <a href="Abbreviations_8cpp_source.html#l00007">Abbreviations.cpp:7</a></div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html_a1c3e0a8a5cc379baebcf2fa6d5e1dbfe"><div class="ttname"><a href="namespaceTestHazelnupp.html#a1c3e0a8a5cc379baebcf2fa6d5e1dbfe">TestHazelnupp::TEST_CLASS</a></div><div class="ttdeci">TEST_CLASS(_Abbreviations)</div><div class="ttdef"><b>Definition:</b> <a href="Abbreviations_8cpp_source.html#l00009">Abbreviations.cpp:9</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="ahelper_8h_html_afb631a54ed93a93015e671fcbec7ac81"><div class="ttname"><a href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a></div><div class="ttdeci">#define C_Ify(vector)</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00004">helper.h:4</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a17845623ca686caa51f3c8254e85551e"><div class="ttname"><a href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">Hazelnupp::SetCrashOnFail</a></div><div class="ttdeci">void SetCrashOnFail(bool crashOnFail)</div><div class="ttdoc">Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00379">Hazelnupp.cpp:379</a></div></div>
<div class="ttc" id="ahelper_8h_html_ae87ff642ae2445b823a32470b938cd0e"><div class="ttname"><a href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a></div><div class="ttdeci">std::vector&lt; const char * &gt; ArgList</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00006">helper.h:6</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a></div><div class="ttdeci">@ STRING</div></div>
<div class="ttc" id="aclassHazelnupp_html"><div class="ttname"><a href="classHazelnupp.html">Hazelnupp</a></div><div class="ttdoc">The main class to interface with.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8h_source.html#l00009">Hazelnupp.h:9</a></div></div>
<div class="ttc" id="ahelper_8h_html"><div class="ttname"><a href="helper_8h.html">helper.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

130
docs/Basics_8cpp.html Normal file
View File

@ -0,0 +1,130 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Basics.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Basics.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;CppUnitTest.h&quot;</code><br />
<code>#include &quot;<a class="el" href="helper_8h_source.html">helper.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="Hazelnupp_8h_source.html">../Hazelnupp/Hazelnupp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">../Hazelnupp/HazelnuppException.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Basics.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="Basics_8cpp__incl.png" border="0" usemap="#Test__Hazelnupp_2Basics_8cpp" alt=""/></div>
<map name="Test__Hazelnupp_2Basics_8cpp" id="Test__Hazelnupp_2Basics_8cpp">
<area shape="rect" title=" " alt="" coords="131,5,328,32"/>
<area shape="rect" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" href="helper_8h.html" title=" " alt="" coords="93,229,168,256"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="211,80,399,107"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="511,80,763,107"/>
<area shape="rect" title=" " alt="" coords="281,304,343,331"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="558,155,658,181"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="391,155,534,181"/>
<area shape="rect" title=" " alt="" coords="243,155,367,181"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="545,229,615,256"/>
<area shape="rect" title=" " alt="" coords="578,304,654,331"/>
<area shape="rect" title=" " alt="" coords="461,229,520,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="411,304,506,331"/>
<area shape="rect" title=" " alt="" coords="682,155,769,181"/>
</map>
</div>
</div>
<p><a href="Basics_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceTestHazelnupp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html">TestHazelnupp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a2163ee69b4cb3c5c79bf83f511d84ae3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html#a2163ee69b4cb3c5c79bf83f511d84ae3">TestHazelnupp::TEST_CLASS</a> (_Basics)</td></tr>
<tr class="separator:a2163ee69b4cb3c5c79bf83f511d84ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,16 @@
<map id="Test_Hazelnupp/Basics.cpp" name="Test_Hazelnupp/Basics.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="131,5,328,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" id="node3" href="$helper_8h.html" title=" " alt="" coords="93,229,168,256"/>
<area shape="rect" id="node5" href="$Hazelnupp_8h.html" title=" " alt="" coords="211,80,399,107"/>
<area shape="rect" id="node13" href="$HazelnuppException_8h.html" title=" " alt="" coords="511,80,763,107"/>
<area shape="rect" id="node4" title=" " alt="" coords="281,304,343,331"/>
<area shape="rect" id="node6" href="$Parameter_8h.html" title=" " alt="" coords="558,155,658,181"/>
<area shape="rect" id="node11" href="$ParamConstraint_8h.html" title=" " alt="" coords="391,155,534,181"/>
<area shape="rect" id="node12" title=" " alt="" coords="243,155,367,181"/>
<area shape="rect" id="node7" href="$Value_8h.html" title=" " alt="" coords="545,229,615,256"/>
<area shape="rect" id="node9" title=" " alt="" coords="578,304,654,331"/>
<area shape="rect" id="node10" title=" " alt="" coords="461,229,520,256"/>
<area shape="rect" id="node8" href="$DataType_8h.html" title=" " alt="" coords="411,304,506,331"/>
<area shape="rect" id="node14" title=" " alt="" coords="682,155,769,181"/>
</map>

View File

@ -0,0 +1 @@
7637a15ad95d868d907efc4ded5bee64

BIN
docs/Basics_8cpp__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -0,0 +1,350 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Basics.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Basics.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Basics_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;CppUnitTest.h&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="helper_8h.html">helper.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/Hazelnupp.h&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/HazelnuppException.h&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="keyword">using namespace </span>Microsoft::VisualStudio::CppUnitTestFramework;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceTestHazelnupp.html">TestHazelnupp</a></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;{</div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespaceTestHazelnupp.html#a2163ee69b4cb3c5c79bf83f511d84ae3"> 10</a></span>&#160; <a class="code" href="namespaceTestHazelnupp.html#a2163ee69b4cb3c5c79bf83f511d84ae3">TEST_CLASS</a>(_Basics)</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="comment">// Tests the application path gets exported correctly</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; TEST_METHOD(ApplicationPathWorks)</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; });</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; Assert::AreEqual(std::string(<span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>), nupp.GetExecutableName());</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; }</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="comment">// Edgecase test: We only have one param.</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; TEST_METHOD(Only_One_Param)</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; });</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--dummy&quot;</span>));</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// Edgecase test: We begin with an actual value, instead of an argument.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; TEST_METHOD(Weird_Case_1)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="stringliteral">&quot;dummy&quot;</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; });</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Verify (no exception)</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Edgecase test: We begin with first an actual value, and then an argument.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; TEST_METHOD(Weird_Case_2)</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;dummy&quot;</span>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; });</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--dummy&quot;</span>), L<span class="stringliteral">&quot;Failed has-param&quot;</span>);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--dummy&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>, L<span class="stringliteral">&quot;Failed type&quot;</span>);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// Tests keys exist after parsing</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; TEST_METHOD(KeysExist)</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="stringliteral">&quot;--my_string&quot;</span>,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="stringliteral">&quot;--my_void&quot;</span>,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="stringliteral">&quot;--my_float&quot;</span>,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="stringliteral">&quot;--my_int&quot;</span>,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="stringliteral">&quot;--my_num_list&quot;</span>,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="stringliteral">&quot;--my_str_list&quot;</span>,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; });</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_string&quot;</span>));</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_void&quot;</span>));</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_float&quot;</span>));</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_int&quot;</span>));</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_num_list&quot;</span>));</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--my_str_list&quot;</span>));</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">// Tests keys are of the correct type after parsing</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; TEST_METHOD(CorrectType)</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="stringliteral">&quot;--my_string&quot;</span>,</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="stringliteral">&quot;--my_void&quot;</span>,</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="stringliteral">&quot;--my_float&quot;</span>,</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="stringliteral">&quot;--my_int&quot;</span>,</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="stringliteral">&quot;--my_num_list&quot;</span>,</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="stringliteral">&quot;--my_str_list&quot;</span>,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; });</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_string&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_void&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_float&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_int&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="comment">// Tests keys have the correct value after parsing</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; TEST_METHOD(CorrectValues)</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="stringliteral">&quot;--my_string&quot;</span>,</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="stringliteral">&quot;--my_void&quot;</span>,</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="stringliteral">&quot;--my_float&quot;</span>,</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="stringliteral">&quot;--my_int&quot;</span>,</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="stringliteral">&quot;--my_num_list&quot;</span>,</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="stringliteral">&quot;--my_str_list&quot;</span>,</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; });</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_string&quot;</span>].GetString(), std::string(<span class="stringliteral">&quot;billybob&quot;</span>));</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_float&quot;</span>].GetFloat32(), -23.199);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_int&quot;</span>].GetInt32(), 199);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[0]-&gt;GetInt32(), 1);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[1]-&gt;GetInt32(), 2);</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[2]-&gt;GetInt32(), 3);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_num_list&quot;</span>].GetList()[3]-&gt;GetInt32(), 4);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetList()[0]-&gt;GetString(), std::string(<span class="stringliteral">&quot;apple&quot;</span>));</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetList()[1]-&gt;GetString(), std::string(<span class="stringliteral">&quot;banana&quot;</span>));</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--my_str_list&quot;</span>].GetList()[2]-&gt;GetString(), std::string(<span class="stringliteral">&quot;pumpkin&quot;</span>));</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="comment">// Tests that an HazelnuppInvalidKeyException gets raised, if an invalid gey is tried to access</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; TEST_METHOD(Exception_On_Invalid_Key)</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="stringliteral">&quot;--my_string&quot;</span>,</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="stringliteral">&quot;billybob&quot;</span>,</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="stringliteral">&quot;--my_void&quot;</span>,</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="stringliteral">&quot;--my_float&quot;</span>,</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="stringliteral">&quot;-23.199&quot;</span>,</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="stringliteral">&quot;--my_int&quot;</span>,</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="stringliteral">&quot;199&quot;</span>,</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="stringliteral">&quot;--my_num_list&quot;</span>,</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="stringliteral">&quot;--my_str_list&quot;</span>,</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="stringliteral">&quot;pumpkin&quot;</span>,</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; });</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="comment">// Exercise, Verify</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; Assert::ExpectException&lt;HazelnuppInvalidKeyException&gt;(</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; [args]</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; nupp[<span class="stringliteral">&quot;--borrnana&quot;</span>];</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; );</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; };</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html"><div class="ttname"><a href="namespaceTestHazelnupp.html">TestHazelnupp</a></div><div class="ttdef"><b>Definition:</b> <a href="Abbreviations_8cpp_source.html#l00007">Abbreviations.cpp:7</a></div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html_a2163ee69b4cb3c5c79bf83f511d84ae3"><div class="ttname"><a href="namespaceTestHazelnupp.html#a2163ee69b4cb3c5c79bf83f511d84ae3">TestHazelnupp::TEST_CLASS</a></div><div class="ttdeci">TEST_CLASS(_Basics)</div><div class="ttdef"><b>Definition:</b> <a href="Basics_8cpp_source.html#l00010">Basics.cpp:10</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="ahelper_8h_html_afb631a54ed93a93015e671fcbec7ac81"><div class="ttname"><a href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a></div><div class="ttdeci">#define C_Ify(vector)</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00004">helper.h:4</a></div></div>
<div class="ttc" id="ahelper_8h_html_ae87ff642ae2445b823a32470b938cd0e"><div class="ttname"><a href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a></div><div class="ttdeci">std::vector&lt; const char * &gt; ArgList</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00006">helper.h:6</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a></div><div class="ttdeci">@ STRING</div></div>
<div class="ttc" id="aclassHazelnupp_html"><div class="ttname"><a href="classHazelnupp.html">Hazelnupp</a></div><div class="ttdoc">The main class to interface with.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8h_source.html#l00009">Hazelnupp.h:9</a></div></div>
<div class="ttc" id="ahelper_8h_html"><div class="ttname"><a href="helper_8h.html">helper.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

130
docs/Constraints_8cpp.html Normal file
View File

@ -0,0 +1,130 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Constraints.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Constraints.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;CppUnitTest.h&quot;</code><br />
<code>#include &quot;<a class="el" href="helper_8h_source.html">helper.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="Hazelnupp_8h_source.html">../Hazelnupp/Hazelnupp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">../Hazelnupp/HazelnuppException.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Constraints.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="Constraints_8cpp__incl.png" border="0" usemap="#Test__Hazelnupp_2Constraints_8cpp" alt=""/></div>
<map name="Test__Hazelnupp_2Constraints_8cpp" id="Test__Hazelnupp_2Constraints_8cpp">
<area shape="rect" title=" " alt="" coords="115,5,344,32"/>
<area shape="rect" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" href="helper_8h.html" title=" " alt="" coords="93,229,168,256"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="211,80,399,107"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="511,80,763,107"/>
<area shape="rect" title=" " alt="" coords="281,304,343,331"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="558,155,658,181"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="391,155,534,181"/>
<area shape="rect" title=" " alt="" coords="243,155,367,181"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="545,229,615,256"/>
<area shape="rect" title=" " alt="" coords="578,304,654,331"/>
<area shape="rect" title=" " alt="" coords="461,229,520,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="411,304,506,331"/>
<area shape="rect" title=" " alt="" coords="682,155,769,181"/>
</map>
</div>
</div>
<p><a href="Constraints_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceTestHazelnupp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html">TestHazelnupp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a952bc97963c4ccd410e9632121d6f60d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html#a952bc97963c4ccd410e9632121d6f60d">TestHazelnupp::TEST_CLASS</a> (_Constraints)</td></tr>
<tr class="separator:a952bc97963c4ccd410e9632121d6f60d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,16 @@
<map id="Test_Hazelnupp/Constraints.cpp" name="Test_Hazelnupp/Constraints.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="115,5,344,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" id="node3" href="$helper_8h.html" title=" " alt="" coords="93,229,168,256"/>
<area shape="rect" id="node5" href="$Hazelnupp_8h.html" title=" " alt="" coords="211,80,399,107"/>
<area shape="rect" id="node13" href="$HazelnuppException_8h.html" title=" " alt="" coords="511,80,763,107"/>
<area shape="rect" id="node4" title=" " alt="" coords="281,304,343,331"/>
<area shape="rect" id="node6" href="$Parameter_8h.html" title=" " alt="" coords="558,155,658,181"/>
<area shape="rect" id="node11" href="$ParamConstraint_8h.html" title=" " alt="" coords="391,155,534,181"/>
<area shape="rect" id="node12" title=" " alt="" coords="243,155,367,181"/>
<area shape="rect" id="node7" href="$Value_8h.html" title=" " alt="" coords="545,229,615,256"/>
<area shape="rect" id="node9" title=" " alt="" coords="578,304,654,331"/>
<area shape="rect" id="node10" title=" " alt="" coords="461,229,520,256"/>
<area shape="rect" id="node8" href="$DataType_8h.html" title=" " alt="" coords="411,304,506,331"/>
<area shape="rect" id="node14" title=" " alt="" coords="682,155,769,181"/>
</map>

View File

@ -0,0 +1 @@
62c377b56c814420aa9bd5d3797e756b

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,425 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Constraints.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Constraints.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Constraints_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;CppUnitTest.h&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="helper_8h.html">helper.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/Hazelnupp.h&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/HazelnuppException.h&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="keyword">using namespace </span>Microsoft::VisualStudio::CppUnitTestFramework;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceTestHazelnupp.html">TestHazelnupp</a></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;{</div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespaceTestHazelnupp.html#a952bc97963c4ccd410e9632121d6f60d"> 10</a></span>&#160; <a class="code" href="namespaceTestHazelnupp.html#a952bc97963c4ccd410e9632121d6f60d">TEST_CLASS</a>(_Constraints)</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="comment">// Tests that default values get added</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; TEST_METHOD(DefaultValues_GetAdded)</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;123&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; });</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; nupp.RegisterConstraints({</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--elenor-int&quot;</span>, {<span class="stringliteral">&quot;5994&quot;</span>}),</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--federich-float&quot;</span>, {<span class="stringliteral">&quot;420.69&quot;</span>}),</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--siegbert-string&quot;</span>, {<span class="stringliteral">&quot;banana&quot;</span>}),</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--lieber-liste&quot;</span>, {<span class="stringliteral">&quot;banana&quot;</span>, <span class="stringliteral">&quot;apple&quot;</span>, <span class="stringliteral">&quot;59&quot;</span>})</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; });</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--elenor-int&quot;</span>));</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--elenor-int&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--elenor-int&quot;</span>].GetInt32(), 5994);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--federich-float&quot;</span>));</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--federich-float&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--federich-float&quot;</span>].GetFloat32(), 420.69);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--siegbert-string&quot;</span>));</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--siegbert-string&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--siegbert-string&quot;</span>].GetString(), std::string(<span class="stringliteral">&quot;banana&quot;</span>));</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--lieber-liste&quot;</span>));</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetList()[0]-&gt;GetString(), std::string(<span class="stringliteral">&quot;banana&quot;</span>));</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetList()[1]-&gt;GetString(), std::string(<span class="stringliteral">&quot;apple&quot;</span>));</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetList()[2]-&gt;GetInt32(), 59);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// Tests that the default values do not override actually set values</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; TEST_METHOD(DefaultValues_DefaultDoesntOverride)</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="stringliteral">&quot;--elenor-int&quot;</span>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="stringliteral">&quot;5994&quot;</span>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="stringliteral">&quot;--federich-float&quot;</span>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="stringliteral">&quot;420.69&quot;</span>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="stringliteral">&quot;--siegbert-string&quot;</span>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="stringliteral">&quot;--lieber-liste&quot;</span>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;59&quot;</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; });</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; nupp.RegisterConstraints({</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--elenor-int&quot;</span>, {<span class="stringliteral">&quot;6871&quot;</span>}),</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--federich-float&quot;</span>, {<span class="stringliteral">&quot;-199.44&quot;</span>}),</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--siegbert-string&quot;</span>, {<span class="stringliteral">&quot;bornana&quot;</span>}),</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--lieber-liste&quot;</span>, {<span class="stringliteral">&quot;bornana&quot;</span>, <span class="stringliteral">&quot;ollpe&quot;</span>, <span class="stringliteral">&quot;5&quot;</span>})</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; });</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--elenor-int&quot;</span>));</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--elenor-int&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--elenor-int&quot;</span>].GetInt32(), 5994);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--federich-float&quot;</span>));</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--federich-float&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--federich-float&quot;</span>].GetFloat32(), 420.69);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--siegbert-string&quot;</span>));</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--siegbert-string&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--siegbert-string&quot;</span>].GetString(), std::string(<span class="stringliteral">&quot;banana&quot;</span>));</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--lieber-liste&quot;</span>));</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetList()[0]-&gt;GetString(), std::string(<span class="stringliteral">&quot;banana&quot;</span>));</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetList()[1]-&gt;GetString(), std::string(<span class="stringliteral">&quot;apple&quot;</span>));</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--lieber-liste&quot;</span>].GetList()[2]-&gt;GetInt32(), 59);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// Tests that data types get forced according to the constraints</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; TEST_METHOD(ForceTypes)</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="stringliteral">&quot;--num-apples&quot;</span>,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="stringliteral">&quot;39.75&quot;</span>,</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="stringliteral">&quot;--table-height&quot;</span>,</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="stringliteral">&quot;400&quot;</span>,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="stringliteral">&quot;--license-plate&quot;</span>,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="stringliteral">&quot;193273&quot;</span>,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="stringliteral">&quot;--fav-fruits&quot;</span>,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="stringliteral">&quot;--indices&quot;</span>,</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="stringliteral">&quot;9&quot;</span>,</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="stringliteral">&quot;--force&quot;</span>,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="stringliteral">&quot;plsdontuseme&quot;</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; });</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; nupp.RegisterConstraints({</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--num-apples&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>),</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--table-height&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>),</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--license-plate&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>),</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--fav-fruits&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>),</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--indices&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>),</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--force&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>),</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; });</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--num-apples&quot;</span>));</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--num-apples&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--num-apples&quot;</span>].GetInt32(), 39);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--table-height&quot;</span>));</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--table-height&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--table-height&quot;</span>].GetFloat32(), 400.0);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--license-plate&quot;</span>));</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--license-plate&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--license-plate&quot;</span>].GetString(), std::string(<span class="stringliteral">&quot;193273&quot;</span>));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--fav-fruits&quot;</span>));</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--fav-fruits&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--fav-fruits&quot;</span>].GetList()[0]-&gt;GetString(), std::string(<span class="stringliteral">&quot;apple&quot;</span>));</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--indices&quot;</span>));</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--indices&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; Assert::AreEqual(nupp[<span class="stringliteral">&quot;--indices&quot;</span>].GetList()[0]-&gt;GetInt32(), 9);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; Assert::IsTrue(nupp.HasParam(<span class="stringliteral">&quot;--force&quot;</span>));</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--force&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// Tests that an HazelnuppConstraintMissingValue gets raised if a required parameter</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// is missing and does not have a default parameter</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; TEST_METHOD(Exception_MissingImportant_Parameter_WithoutDefault)</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="stringliteral">&quot;--federich-float&quot;</span>,</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="stringliteral">&quot;420.69&quot;</span>,</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="stringliteral">&quot;--siegbert-string&quot;</span>,</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="stringliteral">&quot;--lieber-liste&quot;</span>,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="stringliteral">&quot;59&quot;</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; });</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; Assert::ExpectException&lt;HazelnuppConstraintMissingValue&gt;(</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; [args]</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">RegisterConstraints</a>({</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a>(<span class="stringliteral">&quot;--elenor-int&quot;</span>),</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; });</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Parse</a>(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; );</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="comment">// Tests that an HazelnuppConstraintTypeMissmatch gets raised if a required parameter</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="comment">// is missing of the wrong type and cannot be converted</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; TEST_METHOD(Exception_TypeMismatch_Parameter_NotConvertable)</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="stringliteral">&quot;--elenor-int&quot;</span>,</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="stringliteral">&quot;hello&quot;</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="stringliteral">&quot;--federich-float&quot;</span>,</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="stringliteral">&quot;420.69&quot;</span>,</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="stringliteral">&quot;--siegbert-string&quot;</span>,</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="stringliteral">&quot;--lieber-liste&quot;</span>,</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="stringliteral">&quot;banana&quot;</span>,</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="stringliteral">&quot;59&quot;</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; });</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; Assert::ExpectException&lt;HazelnuppConstraintTypeMissmatch&gt;(</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; [args]</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">RegisterConstraints</a>({</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--elenor-int&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>),</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; });</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Parse</a>(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; );</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// Tests that everything can be converted to void</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; TEST_METHOD(Weird_Load_Conversions_ToVoid)</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="stringliteral">&quot;--void1&quot;</span>,</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="stringliteral">&quot;--void2&quot;</span>,</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="stringliteral">&quot;12&quot;</span>,</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="stringliteral">&quot;--void3&quot;</span>,</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="stringliteral">&quot;9.5&quot;</span>,</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="stringliteral">&quot;--void4&quot;</span>,</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="stringliteral">&quot;hello&quot;</span>,</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="stringliteral">&quot;--void5&quot;</span>,</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="stringliteral">&quot;foo&quot;</span>,</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="stringliteral">&quot;baz&quot;</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; });</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; </div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; nupp.RegisterConstraints({</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--void1&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>),</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--void2&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>),</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--void3&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>),</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--void4&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>),</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--void5&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>)</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; });</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--void1&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--void2&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--void3&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--void4&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--void5&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; </div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="comment">// Tests that everything a void can be converted to an empty list</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; TEST_METHOD(Weird_Load_Conversions_VoidToEmptyList)</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="stringliteral">&quot;--dummy&quot;</span>,</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="stringliteral">&quot;--empty-list&quot;</span>,</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; });</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; </div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; nupp.<a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; </div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; nupp.RegisterConstraints({</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a>(<span class="stringliteral">&quot;--empty-list&quot;</span>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>),</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; });</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; </div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; nupp.Parse(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; </div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; Assert::IsTrue(nupp[<span class="stringliteral">&quot;--empty-list&quot;</span>].GetDataType() == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>);</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; Assert::AreEqual(std::size_t(0), nupp[<span class="stringliteral">&quot;--empty-list&quot;</span>].GetList().size());</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; </div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; };</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="aclassHazelnupp_html_a8a3331836b9ea1f920e77f6d332019d5"><div class="ttname"><a href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">Hazelnupp::RegisterConstraints</a></div><div class="ttdeci">void RegisterConstraints(const std::vector&lt; ParamConstraint &gt; &amp;constraints)</div><div class="ttdoc">Will register parameter constraints.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00352">Hazelnupp.cpp:352</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html"><div class="ttname"><a href="namespaceTestHazelnupp.html">TestHazelnupp</a></div><div class="ttdef"><b>Definition:</b> <a href="Abbreviations_8cpp_source.html#l00007">Abbreviations.cpp:7</a></div></div>
<div class="ttc" id="astructParamConstraint_html_a3ecbccdce5be2529712e0866725c7cd5"><div class="ttname"><a href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a></div><div class="ttdeci">static ParamConstraint TypeSafety(const std::string &amp;key, DATA_TYPE wantedType, bool constrainType=true)</div><div class="ttdoc">Constructs a type-safety constraint.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00025">ParamConstraint.h:25</a></div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html_a952bc97963c4ccd410e9632121d6f60d"><div class="ttname"><a href="namespaceTestHazelnupp.html#a952bc97963c4ccd410e9632121d6f60d">TestHazelnupp::TEST_CLASS</a></div><div class="ttdeci">TEST_CLASS(_Constraints)</div><div class="ttdef"><b>Definition:</b> <a href="Constraints_8cpp_source.html#l00010">Constraints.cpp:10</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="astructParamConstraint_html_a40e47d3ad68cadbe785551c4aaad828c"><div class="ttname"><a href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a></div><div class="ttdeci">static ParamConstraint Require(const std::string &amp;key, const std::vector&lt; std::string &gt; &amp;defaultValue={}, bool required=true)</div><div class="ttdoc">Constructs a require constraint.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00014">ParamConstraint.h:14</a></div></div>
<div class="ttc" id="ahelper_8h_html_afb631a54ed93a93015e671fcbec7ac81"><div class="ttname"><a href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a></div><div class="ttdeci">#define C_Ify(vector)</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00004">helper.h:4</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a17845623ca686caa51f3c8254e85551e"><div class="ttname"><a href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">Hazelnupp::SetCrashOnFail</a></div><div class="ttdeci">void SetCrashOnFail(bool crashOnFail)</div><div class="ttdoc">Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00379">Hazelnupp.cpp:379</a></div></div>
<div class="ttc" id="ahelper_8h_html_ae87ff642ae2445b823a32470b938cd0e"><div class="ttname"><a href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a></div><div class="ttdeci">std::vector&lt; const char * &gt; ArgList</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00006">helper.h:6</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a></div><div class="ttdeci">@ STRING</div></div>
<div class="ttc" id="aclassHazelnupp_html"><div class="ttname"><a href="classHazelnupp.html">Hazelnupp</a></div><div class="ttdoc">The main class to interface with.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8h_source.html#l00009">Hazelnupp.h:9</a></div></div>
<div class="ttc" id="ahelper_8h_html"><div class="ttname"><a href="helper_8h.html">helper.h</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a1ccb88faca1a8deb77161888479c300b"><div class="ttname"><a href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Hazelnupp::Parse</a></div><div class="ttdeci">void Parse(const int argc, const char *const *argv)</div><div class="ttdoc">Will parse command line arguments.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00033">Hazelnupp.cpp:33</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

130
docs/Conversion_8cpp.html Normal file
View File

@ -0,0 +1,130 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Conversion.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Conversion.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;CppUnitTest.h&quot;</code><br />
<code>#include &quot;<a class="el" href="helper_8h_source.html">helper.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="Hazelnupp_8h_source.html">../Hazelnupp/Hazelnupp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">../Hazelnupp/HazelnuppException.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Conversion.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="Conversion_8cpp__incl.png" border="0" usemap="#Test__Hazelnupp_2Conversion_8cpp" alt=""/></div>
<map name="Test__Hazelnupp_2Conversion_8cpp" id="Test__Hazelnupp_2Conversion_8cpp">
<area shape="rect" title=" " alt="" coords="115,5,343,32"/>
<area shape="rect" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" href="helper_8h.html" title=" " alt="" coords="93,229,168,256"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="211,80,399,107"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="511,80,763,107"/>
<area shape="rect" title=" " alt="" coords="281,304,343,331"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="558,155,658,181"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="391,155,534,181"/>
<area shape="rect" title=" " alt="" coords="243,155,367,181"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="545,229,615,256"/>
<area shape="rect" title=" " alt="" coords="578,304,654,331"/>
<area shape="rect" title=" " alt="" coords="461,229,520,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="411,304,506,331"/>
<area shape="rect" title=" " alt="" coords="682,155,769,181"/>
</map>
</div>
</div>
<p><a href="Conversion_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceTestHazelnupp"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html">TestHazelnupp</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad040c32371250ca95d1bbf50c7998b8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceTestHazelnupp.html#ad040c32371250ca95d1bbf50c7998b8f">TestHazelnupp::TEST_CLASS</a> (_Conversion)</td></tr>
<tr class="separator:ad040c32371250ca95d1bbf50c7998b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,16 @@
<map id="Test_Hazelnupp/Conversion.cpp" name="Test_Hazelnupp/Conversion.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="115,5,343,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,80,117,107"/>
<area shape="rect" id="node3" href="$helper_8h.html" title=" " alt="" coords="93,229,168,256"/>
<area shape="rect" id="node5" href="$Hazelnupp_8h.html" title=" " alt="" coords="211,80,399,107"/>
<area shape="rect" id="node13" href="$HazelnuppException_8h.html" title=" " alt="" coords="511,80,763,107"/>
<area shape="rect" id="node4" title=" " alt="" coords="281,304,343,331"/>
<area shape="rect" id="node6" href="$Parameter_8h.html" title=" " alt="" coords="558,155,658,181"/>
<area shape="rect" id="node11" href="$ParamConstraint_8h.html" title=" " alt="" coords="391,155,534,181"/>
<area shape="rect" id="node12" title=" " alt="" coords="243,155,367,181"/>
<area shape="rect" id="node7" href="$Value_8h.html" title=" " alt="" coords="545,229,615,256"/>
<area shape="rect" id="node9" title=" " alt="" coords="578,304,654,331"/>
<area shape="rect" id="node10" title=" " alt="" coords="461,229,520,256"/>
<area shape="rect" id="node8" href="$DataType_8h.html" title=" " alt="" coords="411,304,506,331"/>
<area shape="rect" id="node14" title=" " alt="" coords="682,155,769,181"/>
</map>

View File

@ -0,0 +1 @@
d5db07f8e0783c171b7745265e2ec834

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,353 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Conversion.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a4e10305c1b03e566e1d27ef3ea61492.html">Test_Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Conversion.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Conversion_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;CppUnitTest.h&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="helper_8h.html">helper.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/Hazelnupp.h&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;../Hazelnupp/HazelnuppException.h&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="keyword">using namespace </span>Microsoft::VisualStudio::CppUnitTestFramework;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceTestHazelnupp.html">TestHazelnupp</a></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;{</div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="namespaceTestHazelnupp.html#ad040c32371250ca95d1bbf50c7998b8f"> 10</a></span>&#160; <a class="code" href="namespaceTestHazelnupp.html#ad040c32371250ca95d1bbf50c7998b8f">TEST_CLASS</a>(_Conversion)</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="comment">// Tests that string conversion methods work</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; TEST_METHOD(Convert_String)</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="stringliteral">&quot;--pud&quot;</span>,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;hello&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; });</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="classHazelnupp.html">Hazelnupp</a>* ptnupp = &amp;nupp;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt64();</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; }</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; , L<span class="stringliteral">&quot;Int64&quot;</span>);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt32();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; , L<span class="stringliteral">&quot;Int32&quot;</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat64();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; , L<span class="stringliteral">&quot;Float64&quot;</span>);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat32();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; , L<span class="stringliteral">&quot;Float32&quot;</span>);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetList();</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; , L<span class="stringliteral">&quot;List&quot;</span>);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">// Tests that void conversion methods work</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; TEST_METHOD(Convert_Void)</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;--pud&quot;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; });</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="classHazelnupp.html">Hazelnupp</a>* ptnupp = &amp;nupp;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt64();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; , L<span class="stringliteral">&quot;Int64&quot;</span>);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt32();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; , L<span class="stringliteral">&quot;Int32&quot;</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat64();</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; , L<span class="stringliteral">&quot;Float64&quot;</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat32();</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; , L<span class="stringliteral">&quot;Float32&quot;</span>);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetString();</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; , L<span class="stringliteral">&quot;String&quot;</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetList();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; , L<span class="stringliteral">&quot;List&quot;</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">// Tests that int conversion methods work</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; TEST_METHOD(Convert_Int)</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="stringliteral">&quot;--pud&quot;</span>,</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="stringliteral">&quot;39&quot;</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; });</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">const</span> <a class="code" href="classHazelnupp.html">Hazelnupp</a>* ptnupp = &amp;nupp;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; Assert::AreEqual(39ll, nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt64(), L<span class="stringliteral">&quot;Int64&quot;</span>);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; Assert::AreEqual(39, nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt32(), L<span class="stringliteral">&quot;Int32&quot;</span>);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; Assert::IsTrue(39.0l == nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat64(), L<span class="stringliteral">&quot;Float64&quot;</span>);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; Assert::AreEqual(39.0, nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat32(), L<span class="stringliteral">&quot;Float32&quot;</span>);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; Assert::AreEqual(std::string(<span class="stringliteral">&quot;39&quot;</span>), nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetString(), L<span class="stringliteral">&quot;String&quot;</span>);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetList();</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; , L<span class="stringliteral">&quot;List&quot;</span>);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// Tests that float conversion methods work</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; TEST_METHOD(Convert_Float)</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="stringliteral">&quot;--pud&quot;</span>,</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="stringliteral">&quot;39.5&quot;</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; });</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">const</span> <a class="code" href="classHazelnupp.html">Hazelnupp</a>* ptnupp = &amp;nupp;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; Assert::AreEqual(39ll, nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt64(), L<span class="stringliteral">&quot;Int64&quot;</span>);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; Assert::AreEqual(39, nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt32(), L<span class="stringliteral">&quot;Int32&quot;</span>);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; Assert::IsTrue(39.5l == nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat64(), L<span class="stringliteral">&quot;Float64&quot;</span>);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; Assert::AreEqual(39.5, nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat32(), L<span class="stringliteral">&quot;Float32&quot;</span>);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; Assert::AreEqual(std::string(<span class="stringliteral">&quot;39.5&quot;</span>), nupp[<span class="stringliteral">&quot;--pud&quot;</span>].GetString(), L<span class="stringliteral">&quot;String&quot;</span>);</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetList();</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; , L<span class="stringliteral">&quot;List&quot;</span>);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// Tests that list conversion methods work</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; TEST_METHOD(Convert_List)</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="comment">// Setup</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a> args({</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="stringliteral">&quot;/my/fake/path/wahoo.out&quot;</span>,</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="stringliteral">&quot;--pud&quot;</span>,</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="stringliteral">&quot;apple&quot;</span>,</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="stringliteral">&quot;3&quot;</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; });</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="comment">// Exercise</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classHazelnupp.html">Hazelnupp</a> nupp(<a class="code" href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a>(args));</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; nupp.SetCrashOnFail(<span class="keyword">false</span>);</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// Verify</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">const</span> <a class="code" href="classHazelnupp.html">Hazelnupp</a>* ptnupp = &amp;nupp;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; </div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt64();</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; , L<span class="stringliteral">&quot;Int64&quot;</span>);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetInt32();</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; , L<span class="stringliteral">&quot;Int32&quot;</span>);</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat64();</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; , L<span class="stringliteral">&quot;Float64&quot;</span>);</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetFloat32();</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; , L<span class="stringliteral">&quot;Float32&quot;</span>);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; Assert::ExpectException&lt;HazelnuppValueNotConvertibleException&gt;(</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; [ptnupp]</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; (*ptnupp)[<span class="stringliteral">&quot;--pud&quot;</span>].GetString();</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; , L<span class="stringliteral">&quot;String&quot;</span>);</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; };</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="anamespaceTestHazelnupp_html"><div class="ttname"><a href="namespaceTestHazelnupp.html">TestHazelnupp</a></div><div class="ttdef"><b>Definition:</b> <a href="Abbreviations_8cpp_source.html#l00007">Abbreviations.cpp:7</a></div></div>
<div class="ttc" id="anamespaceTestHazelnupp_html_ad040c32371250ca95d1bbf50c7998b8f"><div class="ttname"><a href="namespaceTestHazelnupp.html#ad040c32371250ca95d1bbf50c7998b8f">TestHazelnupp::TEST_CLASS</a></div><div class="ttdeci">TEST_CLASS(_Conversion)</div><div class="ttdef"><b>Definition:</b> <a href="Conversion_8cpp_source.html#l00010">Conversion.cpp:10</a></div></div>
<div class="ttc" id="ahelper_8h_html_afb631a54ed93a93015e671fcbec7ac81"><div class="ttname"><a href="helper_8h.html#afb631a54ed93a93015e671fcbec7ac81">C_Ify</a></div><div class="ttdeci">#define C_Ify(vector)</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00004">helper.h:4</a></div></div>
<div class="ttc" id="ahelper_8h_html_ae87ff642ae2445b823a32470b938cd0e"><div class="ttname"><a href="helper_8h.html#ae87ff642ae2445b823a32470b938cd0e">ArgList</a></div><div class="ttdeci">std::vector&lt; const char * &gt; ArgList</div><div class="ttdef"><b>Definition:</b> <a href="helper_8h_source.html#l00006">helper.h:6</a></div></div>
<div class="ttc" id="aclassHazelnupp_html"><div class="ttname"><a href="classHazelnupp.html">Hazelnupp</a></div><div class="ttdoc">The main class to interface with.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8h_source.html#l00009">Hazelnupp.h:9</a></div></div>
<div class="ttc" id="ahelper_8h_html"><div class="ttname"><a href="helper_8h.html">helper.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

180
docs/DataType_8h.html Normal file
View File

@ -0,0 +1,180 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/DataType.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">DataType.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="DataType_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2DataType_8hdep" alt=""/></div>
<map name="Hazelnupp_2DataType_8hdep" id="Hazelnupp_2DataType_8hdep">
<area shape="rect" title=" " alt="" coords="918,5,1086,32"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="829,80,972,107"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="1129,80,1344,107"/>
<area shape="rect" href="FloatValue_8h.html" title=" " alt="" coords="909,155,1085,181"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="1109,155,1282,181"/>
<area shape="rect" href="VoidValue_8h.html" title=" " alt="" coords="339,155,510,181"/>
<area shape="rect" href="IntValue_8h.html" title=" " alt="" coords="1473,229,1633,256"/>
<area shape="rect" href="StringValue_8h.html" title=" " alt="" coords="134,155,315,181"/>
<area shape="rect" href="ListValue_8h.html" title=" " alt="" coords="535,155,701,181"/>
<area shape="rect" href="Value_8cpp.html" title=" " alt="" coords="725,155,884,181"/>
<area shape="rect" href="FloatValue_8cpp.html" title=" " alt="" coords="845,229,1036,256"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="687,304,877,331"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="1273,229,1449,256"/>
<area shape="rect" href="Parameter_8cpp.html" title=" " alt="" coords="1060,229,1248,256"/>
<area shape="rect" href="main_8cpp.html" title=" " alt="" coords="1285,304,1439,331"/>
<area shape="rect" href="VoidValue_8cpp.html" title=" " alt="" coords="277,229,463,256"/>
<area shape="rect" href="IntValue_8cpp.html" title=" " alt="" coords="1465,304,1640,331"/>
<area shape="rect" href="StringValue_8cpp.html" title=" " alt="" coords="5,229,201,256"/>
<area shape="rect" href="ListValue_8cpp.html" title=" " alt="" coords="538,229,719,256"/>
</map>
</div>
</div>
<p><a href="DataType_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aa082c000e4eff6ed512714ea0a33d27b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a> { <br />
&#160;&#160;<a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>,
<a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>,
<a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>,
<a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>,
<br />
&#160;&#160;<a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>
<br />
}</td></tr>
<tr class="memdesc:aa082c000e4eff6ed512714ea0a33d27b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The different data types a paramater can be. <a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">More...</a><br /></td></tr>
<tr class="separator:aa082c000e4eff6ed512714ea0a33d27b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="aa082c000e4eff6ed512714ea0a33d27b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa082c000e4eff6ed512714ea0a33d27b">&#9670;&nbsp;</a></span>DATA_TYPE</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The different data types a paramater can be. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"></a>VOID&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"></a>INT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"></a>FLOAT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"></a>STRING&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"></a>LIST&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="DataType_8h_source.html#l00005">5</a> of file <a class="el" href="DataType_8h_source.html">DataType.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;{</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">VOID</a>,</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">INT</a>,</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">FLOAT</a>,</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">STRING</a>,</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">LIST</a></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;};</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a></div><div class="ttdeci">@ STRING</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,21 @@
<map id="Hazelnupp/DataType.h" name="Hazelnupp/DataType.h">
<area shape="rect" id="node1" title=" " alt="" coords="918,5,1086,32"/>
<area shape="rect" id="node2" href="$Value_8h.html" title=" " alt="" coords="829,80,972,107"/>
<area shape="rect" id="node19" href="$ParamConstraint_8h.html" title=" " alt="" coords="1129,80,1344,107"/>
<area shape="rect" id="node3" href="$FloatValue_8h.html" title=" " alt="" coords="909,155,1085,181"/>
<area shape="rect" id="node6" href="$Parameter_8h.html" title=" " alt="" coords="1109,155,1282,181"/>
<area shape="rect" id="node10" href="$VoidValue_8h.html" title=" " alt="" coords="339,155,510,181"/>
<area shape="rect" id="node12" href="$IntValue_8h.html" title=" " alt="" coords="1473,229,1633,256"/>
<area shape="rect" id="node14" href="$StringValue_8h.html" title=" " alt="" coords="134,155,315,181"/>
<area shape="rect" id="node16" href="$ListValue_8h.html" title=" " alt="" coords="535,155,701,181"/>
<area shape="rect" id="node18" href="$Value_8cpp.html" title=" " alt="" coords="725,155,884,181"/>
<area shape="rect" id="node4" href="$FloatValue_8cpp.html" title=" " alt="" coords="845,229,1036,256"/>
<area shape="rect" id="node5" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="687,304,877,331"/>
<area shape="rect" id="node7" href="$Hazelnupp_8h.html" title=" " alt="" coords="1273,229,1449,256"/>
<area shape="rect" id="node9" href="$Parameter_8cpp.html" title=" " alt="" coords="1060,229,1248,256"/>
<area shape="rect" id="node8" href="$main_8cpp.html" title=" " alt="" coords="1285,304,1439,331"/>
<area shape="rect" id="node11" href="$VoidValue_8cpp.html" title=" " alt="" coords="277,229,463,256"/>
<area shape="rect" id="node13" href="$IntValue_8cpp.html" title=" " alt="" coords="1465,304,1640,331"/>
<area shape="rect" id="node15" href="$StringValue_8cpp.html" title=" " alt="" coords="5,229,201,256"/>
<area shape="rect" id="node17" href="$ListValue_8cpp.html" title=" " alt="" coords="538,229,719,256"/>
</map>

View File

@ -0,0 +1 @@
53cc32d8b6240e57e0be50e31234d161

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,105 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/DataType.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">DataType.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="DataType_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b"> 5</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;{</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">VOID</a>,</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">INT</a>,</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">FLOAT</a>,</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">STRING</a>,</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">LIST</a></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27b"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></div><div class="ttdeci">DATA_TYPE</div><div class="ttdoc">The different data types a paramater can be.</div><div class="ttdef"><b>Definition:</b> <a href="DataType_8h_source.html#l00005">DataType.h:5</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a></div><div class="ttdeci">@ STRING</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:20 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Debug/Hazelnupp.vcxproj.FileListAbsolute.txt File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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="headertitle">
<div class="title">Hazelnupp/Debug/Hazelnupp.vcxproj.FileListAbsolute.txt File Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Test_Hazelnupp/Debug/Test_Hazelnupp.vcxproj.FileListAbsolute.txt File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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="headertitle">
<div class="title">Test_Hazelnupp/Debug/Test_Hazelnupp.vcxproj.FileListAbsolute.txt File Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:11:52 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

110
docs/FloatValue_8cpp.html Normal file
View File

@ -0,0 +1,110 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/FloatValue.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">FloatValue.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="FloatValue_8h_source.html">FloatValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">HazelnuppException.h</a>&quot;</code><br />
<code>#include &lt;sstream&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for FloatValue.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="FloatValue_8cpp__incl.png" border="0" usemap="#Hazelnupp_2FloatValue_8cpp" alt=""/></div>
<map name="Hazelnupp_2FloatValue_8cpp" id="Hazelnupp_2FloatValue_8cpp">
<area shape="rect" title=" " alt="" coords="231,5,421,32"/>
<area shape="rect" href="FloatValue_8h.html" title=" " alt="" coords="116,80,219,107"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="243,80,409,107"/>
<area shape="rect" title=" " alt="" coords="434,80,509,107"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="128,155,199,181"/>
<area shape="rect" title=" " alt="" coords="211,229,287,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" title=" " alt="" coords="124,229,187,256"/>
<area shape="rect" title=" " alt="" coords="283,155,369,181"/>
</map>
</div>
</div>
<p><a href="FloatValue_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,11 @@
<map id="Hazelnupp/FloatValue.cpp" name="Hazelnupp/FloatValue.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="231,5,421,32"/>
<area shape="rect" id="node2" href="$FloatValue_8h.html" title=" " alt="" coords="116,80,219,107"/>
<area shape="rect" id="node7" href="$HazelnuppException_8h.html" title=" " alt="" coords="243,80,409,107"/>
<area shape="rect" id="node9" title=" " alt="" coords="434,80,509,107"/>
<area shape="rect" id="node3" href="$Value_8h.html" title=" " alt="" coords="128,155,199,181"/>
<area shape="rect" id="node5" title=" " alt="" coords="211,229,287,256"/>
<area shape="rect" id="node4" href="$DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" id="node6" title=" " alt="" coords="124,229,187,256"/>
<area shape="rect" id="node8" title=" " alt="" coords="283,155,369,181"/>
</map>

View File

@ -0,0 +1 @@
b3f9cd4cf82115a6509a6170e6bc592c

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,178 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/FloatValue.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">FloatValue.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="FloatValue_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FloatValue_8h.html">FloatValue.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="HazelnuppException_8h.html">HazelnuppException.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44"> 5</a></span>&#160;<a class="code" href="classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44">FloatValue::FloatValue</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span>&amp; value)</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; :</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <a class="code" href="classValue.html">Value</a>(<a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a>::<a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">FLOAT</a>),</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; value { value }</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;{</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;}</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0"> 13</a></span>&#160;<a class="code" href="classValue.html">Value</a>* <a class="code" href="classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0">FloatValue::Deepcopy</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44">FloatValue</a>(value);</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;}</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c"> 18</a></span>&#160;std::string <a class="code" href="classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c">FloatValue::GetAsOsString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; std::stringstream ss;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; ss &lt;&lt; <span class="stringliteral">&quot;FloatValue: &quot;</span> &lt;&lt; value;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f"> 25</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span>&amp; <a class="code" href="classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f">FloatValue::GetValue</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;}</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classFloatValue.html#ad0d4c589190fbab7e6c4d8fcc130ac1b"> 30</a></span>&#160;FloatValue::operator <span class="keywordtype">long</span> double()<span class="keyword"> const</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classFloatValue.html#ae02de376bbb2b76e0f9d16b1fc4de06d"> 35</a></span>&#160;FloatValue::operator double()<span class="keyword"> const</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)value;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183"> 42</a></span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183">FloatValue::GetInt64</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>)value;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99"> 47</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99">FloatValue::GetInt32</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)value;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9"> 52</a></span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9">FloatValue::GetFloat64</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81"> 57</a></span>&#160;<span class="keywordtype">double</span> <a class="code" href="classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81">FloatValue::GetFloat32</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)value;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classFloatValue.html#afd5d078683f410cb9d450c61f12f250d"> 62</a></span>&#160;std::string <a class="code" href="classFloatValue.html#afd5d078683f410cb9d450c61f12f250d">FloatValue::GetString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; std::stringstream ss;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; ss &lt;&lt; value;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1"> 70</a></span>&#160;<span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1">FloatValue::GetList</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aHazelnuppException_8h_html"><div class="ttname"><a href="HazelnuppException_8h.html">HazelnuppException.h</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27b"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></div><div class="ttdeci">DATA_TYPE</div><div class="ttdoc">The different data types a paramater can be.</div><div class="ttdef"><b>Definition:</b> <a href="DataType_8h_source.html#l00005">DataType.h:5</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a2ad79d8bfe75e45120d1fce132a89b8f"><div class="ttname"><a href="classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f">FloatValue::GetValue</a></div><div class="ttdeci">const long double &amp; GetValue() const</div><div class="ttdoc">Will return the raw value.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00025">FloatValue.cpp:25</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassFloatValue_html_afd5d078683f410cb9d450c61f12f250d"><div class="ttname"><a href="classFloatValue.html#afd5d078683f410cb9d450c61f12f250d">FloatValue::GetString</a></div><div class="ttdeci">std::string GetString() const override</div><div class="ttdoc">Will return the data as a string.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00062">FloatValue.cpp:62</a></div></div>
<div class="ttc" id="aclassFloatValue_html_ab071916339a0d5a266d821ebbc8f12b0"><div class="ttname"><a href="classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0">FloatValue::Deepcopy</a></div><div class="ttdeci">Value * Deepcopy() const override</div><div class="ttdoc">Will return a deeopopy of this object.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00013">FloatValue.cpp:13</a></div></div>
<div class="ttc" id="aclassHazelnuppValueNotConvertibleException_html"><div class="ttname"><a href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a></div><div class="ttdoc">Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00033">HazelnuppException.h:33</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a6c9a4b70a7618252f56d9062c483531c"><div class="ttname"><a href="classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c">FloatValue::GetAsOsString</a></div><div class="ttdeci">std::string GetAsOsString() const override</div><div class="ttdoc">Will return a string suitable for an std::ostream;.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00018">FloatValue.cpp:18</a></div></div>
<div class="ttc" id="aclassFloatValue_html_add33b370ef691ccb2f0957d0fe4ef6f9"><div class="ttname"><a href="classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9">FloatValue::GetFloat64</a></div><div class="ttdeci">long double GetFloat64() const override</div><div class="ttdoc">Will return the data as a long double.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00052">FloatValue.cpp:52</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a6bb35564e3331a3feb57b08caad0df44"><div class="ttname"><a href="classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44">FloatValue::FloatValue</a></div><div class="ttdeci">FloatValue(const long double &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00005">FloatValue.cpp:5</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a565741e80cd99a4d2af861ddc3c2dc99"><div class="ttname"><a href="classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99">FloatValue::GetInt32</a></div><div class="ttdeci">int GetInt32() const override</div><div class="ttdoc">Will return the data as an int.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00047">FloatValue.cpp:47</a></div></div>
<div class="ttc" id="aFloatValue_8h_html"><div class="ttname"><a href="FloatValue_8h.html">FloatValue.h</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a762520d504d4564c48cf3bbefbb0f183"><div class="ttname"><a href="classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183">FloatValue::GetInt64</a></div><div class="ttdeci">long long int GetInt64() const override</div><div class="ttdoc">Will return the data as a long long int.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00042">FloatValue.cpp:42</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a60b2698f28f1aacac0b67b6453c89fd1"><div class="ttname"><a href="classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1">FloatValue::GetList</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetList() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00070">FloatValue.cpp:70</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a1653ab3f4fa1700cf1b618ac6552ea81"><div class="ttname"><a href="classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81">FloatValue::GetFloat32</a></div><div class="ttdeci">double GetFloat32() const override</div><div class="ttdoc">Will return the data as a double.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00057">FloatValue.cpp:57</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

124
docs/FloatValue_8h.html Normal file
View File

@ -0,0 +1,124 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/FloatValue.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">FloatValue.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="Value_8h_source.html">Value.h</a>&quot;</code><br />
<code>#include &lt;ostream&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for FloatValue.h:</div>
<div class="dyncontent">
<div class="center"><img src="FloatValue_8h__incl.png" border="0" usemap="#Hazelnupp_2FloatValue_8h" alt=""/></div>
<map name="Hazelnupp_2FloatValue_8h" id="Hazelnupp_2FloatValue_8h">
<area shape="rect" title=" " alt="" coords="113,5,289,32"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="129,80,200,107"/>
<area shape="rect" title=" " alt="" coords="211,155,287,181"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,155,100,181"/>
<area shape="rect" title=" " alt="" coords="124,155,187,181"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="FloatValue_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2FloatValue_8hdep" alt=""/></div>
<map name="Hazelnupp_2FloatValue_8hdep" id="Hazelnupp_2FloatValue_8hdep">
<area shape="rect" title=" " alt="" coords="119,5,295,32"/>
<area shape="rect" href="FloatValue_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="220,80,411,107"/>
</map>
</div>
</div>
<p><a href="FloatValue_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFloatValue.html">FloatValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specializations for floating point values (uses long double) <a href="classFloatValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,5 @@
<map id="Hazelnupp/FloatValue.h" name="Hazelnupp/FloatValue.h">
<area shape="rect" id="node1" title=" " alt="" coords="119,5,295,32"/>
<area shape="rect" id="node2" href="$FloatValue_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" id="node3" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="220,80,411,107"/>
</map>

View File

@ -0,0 +1 @@
6cf23af62c7641b0c347b14a52c8bd43

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,7 @@
<map id="Hazelnupp/FloatValue.h" name="Hazelnupp/FloatValue.h">
<area shape="rect" id="node1" title=" " alt="" coords="113,5,289,32"/>
<area shape="rect" id="node2" href="$Value_8h.html" title=" " alt="" coords="129,80,200,107"/>
<area shape="rect" id="node4" title=" " alt="" coords="211,155,287,181"/>
<area shape="rect" id="node3" href="$DataType_8h.html" title=" " alt="" coords="5,155,100,181"/>
<area shape="rect" id="node5" title=" " alt="" coords="124,155,187,181"/>
</map>

View File

@ -0,0 +1 @@
9b604a14942d77e96210b43e148cde7d

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,135 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/FloatValue.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">FloatValue.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="FloatValue_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Value_8h.html">Value.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="classFloatValue.html"> 7</a></span>&#160;<span class="keyword">class </span><a class="code" href="classFloatValue.html">FloatValue</a> : <span class="keyword">public</span> <a class="code" href="classValue.html">Value</a></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;{</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44">FloatValue</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span>&amp; value);</div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="classFloatValue.html#a5c6c7a2c805ac0207d325edd28a5db1c"> 11</a></span>&#160; <a class="code" href="classFloatValue.html#a5c6c7a2c805ac0207d325edd28a5db1c">~FloatValue</a>()<span class="keyword"> override </span>{};</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <a class="code" href="classValue.html">Value</a>* <a class="code" href="classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0">Deepcopy</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; std::string <a class="code" href="classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c">GetAsOsString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span>&amp; <a class="code" href="classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f">GetValue</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">operator</span> <span class="keywordtype">long</span> double () <span class="keyword">const</span>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">operator</span> double() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183">GetInt64</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99">GetInt32</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9">GetFloat64</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81">GetFloat32</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; std::string <a class="code" href="classFloatValue.html#afd5d078683f410cb9d450c61f12f250d">GetString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1">GetList</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">double</span> value;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassFloatValue_html_a2ad79d8bfe75e45120d1fce132a89b8f"><div class="ttname"><a href="classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f">FloatValue::GetValue</a></div><div class="ttdeci">const long double &amp; GetValue() const</div><div class="ttdoc">Will return the raw value.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00025">FloatValue.cpp:25</a></div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a5c6c7a2c805ac0207d325edd28a5db1c"><div class="ttname"><a href="classFloatValue.html#a5c6c7a2c805ac0207d325edd28a5db1c">FloatValue::~FloatValue</a></div><div class="ttdeci">~FloatValue() override</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8h_source.html#l00011">FloatValue.h:11</a></div></div>
<div class="ttc" id="aclassFloatValue_html_afd5d078683f410cb9d450c61f12f250d"><div class="ttname"><a href="classFloatValue.html#afd5d078683f410cb9d450c61f12f250d">FloatValue::GetString</a></div><div class="ttdeci">std::string GetString() const override</div><div class="ttdoc">Will return the data as a string.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00062">FloatValue.cpp:62</a></div></div>
<div class="ttc" id="aclassFloatValue_html_ab071916339a0d5a266d821ebbc8f12b0"><div class="ttname"><a href="classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0">FloatValue::Deepcopy</a></div><div class="ttdeci">Value * Deepcopy() const override</div><div class="ttdoc">Will return a deeopopy of this object.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00013">FloatValue.cpp:13</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a6c9a4b70a7618252f56d9062c483531c"><div class="ttname"><a href="classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c">FloatValue::GetAsOsString</a></div><div class="ttdeci">std::string GetAsOsString() const override</div><div class="ttdoc">Will return a string suitable for an std::ostream;.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00018">FloatValue.cpp:18</a></div></div>
<div class="ttc" id="aclassFloatValue_html_add33b370ef691ccb2f0957d0fe4ef6f9"><div class="ttname"><a href="classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9">FloatValue::GetFloat64</a></div><div class="ttdeci">long double GetFloat64() const override</div><div class="ttdoc">Will return the data as a long double.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00052">FloatValue.cpp:52</a></div></div>
<div class="ttc" id="aclassFloatValue_html"><div class="ttname"><a href="classFloatValue.html">FloatValue</a></div><div class="ttdoc">Specializations for floating point values (uses long double)</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8h_source.html#l00007">FloatValue.h:7</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a6bb35564e3331a3feb57b08caad0df44"><div class="ttname"><a href="classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44">FloatValue::FloatValue</a></div><div class="ttdeci">FloatValue(const long double &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00005">FloatValue.cpp:5</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a565741e80cd99a4d2af861ddc3c2dc99"><div class="ttname"><a href="classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99">FloatValue::GetInt32</a></div><div class="ttdeci">int GetInt32() const override</div><div class="ttdoc">Will return the data as an int.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00047">FloatValue.cpp:47</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a762520d504d4564c48cf3bbefbb0f183"><div class="ttname"><a href="classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183">FloatValue::GetInt64</a></div><div class="ttdeci">long long int GetInt64() const override</div><div class="ttdoc">Will return the data as a long long int.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00042">FloatValue.cpp:42</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a60b2698f28f1aacac0b67b6453c89fd1"><div class="ttname"><a href="classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1">FloatValue::GetList</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetList() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00070">FloatValue.cpp:70</a></div></div>
<div class="ttc" id="aclassFloatValue_html_a1653ab3f4fa1700cf1b618ac6552ea81"><div class="ttname"><a href="classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81">FloatValue::GetFloat32</a></div><div class="ttdeci">double GetFloat32() const override</div><div class="ttdoc">Will return the data as a double.</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8cpp_source.html#l00057">FloatValue.cpp:57</a></div></div>
<div class="ttc" id="aValue_8h_html"><div class="ttname"><a href="Value_8h.html">Value.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,139 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/HazelnuppException.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">HazelnuppException.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdexcept&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for HazelnuppException.h:</div>
<div class="dyncontent">
<div class="center"><img src="HazelnuppException_8h__incl.png" border="0" usemap="#Hazelnupp_2HazelnuppException_8h" alt=""/></div>
<map name="Hazelnupp_2HazelnuppException_8h" id="Hazelnupp_2HazelnuppException_8h">
<area shape="rect" title=" " alt="" coords="5,5,245,32"/>
<area shape="rect" title=" " alt="" coords="82,80,169,107"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="HazelnuppException_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2HazelnuppException_8hdep" alt=""/></div>
<map name="Hazelnupp_2HazelnuppException_8hdep" id="Hazelnupp_2HazelnuppException_8hdep">
<area shape="rect" title=" " alt="" coords="503,5,743,32"/>
<area shape="rect" href="FloatValue_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="220,80,411,107"/>
<area shape="rect" href="IntValue_8cpp.html" title=" " alt="" coords="435,80,609,107"/>
<area shape="rect" href="ListValue_8cpp.html" title=" " alt="" coords="634,80,815,107"/>
<area shape="rect" href="StringValue_8cpp.html" title=" " alt="" coords="840,80,1036,107"/>
<area shape="rect" href="VoidValue_8cpp.html" title=" " alt="" coords="1061,80,1247,107"/>
</map>
</div>
</div>
<p><a href="HazelnuppException_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnuppException.html">HazelnuppException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic hazelnupp exception. <a href="classHazelnuppException.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnuppInvalidKeyException.html">HazelnuppInvalidKeyException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets thrown when an non-existent key gets dereferenced. <a href="classHazelnuppInvalidKeyException.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible. <a href="classHazelnuppValueNotConvertibleException.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets thrown something bad happens because of parameter constraints. <a href="classHazelnuppConstraintException.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it. <a href="classHazelnuppConstraintTypeMissmatch.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnuppConstraintMissingValue.html">HazelnuppConstraintMissingValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets thrown when a parameter constrained to be required is not provided, and has no default value set. <a href="classHazelnuppConstraintMissingValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,9 @@
<map id="Hazelnupp/HazelnuppException.h" name="Hazelnupp/HazelnuppException.h">
<area shape="rect" id="node1" title=" " alt="" coords="503,5,743,32"/>
<area shape="rect" id="node2" href="$FloatValue_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" id="node3" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="220,80,411,107"/>
<area shape="rect" id="node4" href="$IntValue_8cpp.html" title=" " alt="" coords="435,80,609,107"/>
<area shape="rect" id="node5" href="$ListValue_8cpp.html" title=" " alt="" coords="634,80,815,107"/>
<area shape="rect" id="node6" href="$StringValue_8cpp.html" title=" " alt="" coords="840,80,1036,107"/>
<area shape="rect" id="node7" href="$VoidValue_8cpp.html" title=" " alt="" coords="1061,80,1247,107"/>
</map>

View File

@ -0,0 +1 @@
57d355773249b6d7455978a59686235f

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,4 @@
<map id="Hazelnupp/HazelnuppException.h" name="Hazelnupp/HazelnuppException.h">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,245,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="82,80,169,107"/>
</map>

View File

@ -0,0 +1 @@
7497987f6e78b96fc05595540da5a488

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,161 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/HazelnuppException.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">HazelnuppException.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="HazelnuppException_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="classHazelnuppException.html"> 6</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnuppException.html">HazelnuppException</a> : <span class="keyword">public</span> std::exception </div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="classHazelnuppException.html#a90d10b00ec056b721c102a70b629a779"> 9</a></span>&#160; <a class="code" href="classHazelnuppException.html#a90d10b00ec056b721c102a70b629a779">HazelnuppException</a>() {};</div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="classHazelnuppException.html#a864a84c0498870ae0a76fb8c3542fa74"> 10</a></span>&#160; <a class="code" href="classHazelnuppException.html#a864a84c0498870ae0a76fb8c3542fa74">HazelnuppException</a>(<span class="keyword">const</span> std::string&amp; msg) : <a class="code" href="classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf">message</a>{ msg } {};</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6"> 13</a></span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6">What</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf">message</a>;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; }</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf"> 19</a></span>&#160; std::string <a class="code" href="classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf">message</a>;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;};</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classHazelnuppInvalidKeyException.html"> 24</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnuppInvalidKeyException.html">HazelnuppInvalidKeyException</a> : <span class="keyword">public</span> <a class="code" href="classHazelnuppException.html">HazelnuppException</a></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;{</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classHazelnuppInvalidKeyException.html#ac0c3a84356647817b5076f92e55874e7"> 27</a></span>&#160; <a class="code" href="classHazelnuppInvalidKeyException.html#ac0c3a84356647817b5076f92e55874e7">HazelnuppInvalidKeyException</a>() : <a class="code" href="classHazelnuppException.html">HazelnuppException</a>() {};</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classHazelnuppInvalidKeyException.html#a5be8550858e8ba5754958055803120bc"> 28</a></span>&#160; <a class="code" href="classHazelnuppInvalidKeyException.html#a5be8550858e8ba5754958055803120bc">HazelnuppInvalidKeyException</a>(<span class="keyword">const</span> std::string&amp; msg) : <a class="code" href="classHazelnuppException.html">HazelnuppException</a>(msg) {};</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;};</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classHazelnuppValueNotConvertibleException.html"> 33</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a> : <span class="keyword">public</span> <a class="code" href="classHazelnuppException.html">HazelnuppException</a></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classHazelnuppValueNotConvertibleException.html#a459233c9ed4ca577f596761abb2f46e7"> 36</a></span>&#160; <a class="code" href="classHazelnuppValueNotConvertibleException.html#a459233c9ed4ca577f596761abb2f46e7">HazelnuppValueNotConvertibleException</a>() : <a class="code" href="classHazelnuppException.html">HazelnuppException</a>() {};</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classHazelnuppValueNotConvertibleException.html#a77dfcc974a767b77aefdaef86e9ad60c"> 37</a></span>&#160; <a class="code" href="classHazelnuppValueNotConvertibleException.html#a77dfcc974a767b77aefdaef86e9ad60c">HazelnuppValueNotConvertibleException</a>(<span class="keyword">const</span> std::string&amp; msg) : <a class="code" href="classHazelnuppException.html">HazelnuppException</a>(msg) {};</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;};</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintException.html"> 42</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a> : <span class="keyword">public</span> <a class="code" href="classHazelnuppException.html">HazelnuppException</a></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintException.html#ad434d9b9d78d36cc4008bad70270f844"> 45</a></span>&#160; <a class="code" href="classHazelnuppConstraintException.html#ad434d9b9d78d36cc4008bad70270f844">HazelnuppConstraintException</a>() : <a class="code" href="classHazelnuppException.html">HazelnuppException</a>() {};</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintException.html#a1bf58e4aa510f3e5cdebdfcbff2a1e53"> 46</a></span>&#160; <a class="code" href="classHazelnuppConstraintException.html#a1bf58e4aa510f3e5cdebdfcbff2a1e53">HazelnuppConstraintException</a>(<span class="keyword">const</span> std::string&amp; msg) : <a class="code" href="classHazelnuppException.html">HazelnuppException</a>(msg) {};</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;};</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintTypeMissmatch.html"> 51</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a> : <span class="keyword">public</span> <a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintTypeMissmatch.html#aa81de4d809dd7b00516716574e959c09"> 54</a></span>&#160; <a class="code" href="classHazelnuppConstraintTypeMissmatch.html#aa81de4d809dd7b00516716574e959c09">HazelnuppConstraintTypeMissmatch</a>() : <a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a>() {};</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintTypeMissmatch.html#ab8d0f32a3423239e06d8c44631098306"> 55</a></span>&#160; <a class="code" href="classHazelnuppConstraintTypeMissmatch.html#ab8d0f32a3423239e06d8c44631098306">HazelnuppConstraintTypeMissmatch</a>(<span class="keyword">const</span> std::string&amp; msg) : <a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a>(msg) {};</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;};</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintMissingValue.html"> 60</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnuppConstraintMissingValue.html">HazelnuppConstraintMissingValue</a> : <span class="keyword">public</span> <a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintMissingValue.html#a022da2aca494f6853a7c013e94f5796f"> 63</a></span>&#160; <a class="code" href="classHazelnuppConstraintMissingValue.html#a022da2aca494f6853a7c013e94f5796f">HazelnuppConstraintMissingValue</a>() : <a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a>() {};</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classHazelnuppConstraintMissingValue.html#a8d3ea192a75f993abe2845444cdb1bca"> 64</a></span>&#160; <a class="code" href="classHazelnuppConstraintMissingValue.html#a8d3ea192a75f993abe2845444cdb1bca">HazelnuppConstraintMissingValue</a>(<span class="keyword">const</span> std::string&amp; msg) : <a class="code" href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a>(msg) {};</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassHazelnuppException_html_ac087d5190a9b3f6964120cc35321c3a6"><div class="ttname"><a href="classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6">HazelnuppException::What</a></div><div class="ttdeci">const std::string &amp; What() const</div><div class="ttdoc">Will return an error message.</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00013">HazelnuppException.h:13</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintMissingValue_html_a8d3ea192a75f993abe2845444cdb1bca"><div class="ttname"><a href="classHazelnuppConstraintMissingValue.html#a8d3ea192a75f993abe2845444cdb1bca">HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue</a></div><div class="ttdeci">HazelnuppConstraintMissingValue(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00064">HazelnuppException.h:64</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintException_html"><div class="ttname"><a href="classHazelnuppConstraintException.html">HazelnuppConstraintException</a></div><div class="ttdoc">Gets thrown something bad happens because of parameter constraints.</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00042">HazelnuppException.h:42</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintTypeMissmatch_html_ab8d0f32a3423239e06d8c44631098306"><div class="ttname"><a href="classHazelnuppConstraintTypeMissmatch.html#ab8d0f32a3423239e06d8c44631098306">HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch</a></div><div class="ttdeci">HazelnuppConstraintTypeMissmatch(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00055">HazelnuppException.h:55</a></div></div>
<div class="ttc" id="aclassHazelnuppInvalidKeyException_html_a5be8550858e8ba5754958055803120bc"><div class="ttname"><a href="classHazelnuppInvalidKeyException.html#a5be8550858e8ba5754958055803120bc">HazelnuppInvalidKeyException::HazelnuppInvalidKeyException</a></div><div class="ttdeci">HazelnuppInvalidKeyException(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00028">HazelnuppException.h:28</a></div></div>
<div class="ttc" id="aclassHazelnuppException_html"><div class="ttname"><a href="classHazelnuppException.html">HazelnuppException</a></div><div class="ttdoc">Generic hazelnupp exception.</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00006">HazelnuppException.h:6</a></div></div>
<div class="ttc" id="aclassHazelnuppInvalidKeyException_html_ac0c3a84356647817b5076f92e55874e7"><div class="ttname"><a href="classHazelnuppInvalidKeyException.html#ac0c3a84356647817b5076f92e55874e7">HazelnuppInvalidKeyException::HazelnuppInvalidKeyException</a></div><div class="ttdeci">HazelnuppInvalidKeyException()</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00027">HazelnuppException.h:27</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintTypeMissmatch_html"><div class="ttname"><a href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a></div><div class="ttdoc">Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00051">HazelnuppException.h:51</a></div></div>
<div class="ttc" id="aclassHazelnuppException_html_a864a84c0498870ae0a76fb8c3542fa74"><div class="ttname"><a href="classHazelnuppException.html#a864a84c0498870ae0a76fb8c3542fa74">HazelnuppException::HazelnuppException</a></div><div class="ttdeci">HazelnuppException(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00010">HazelnuppException.h:10</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintMissingValue_html"><div class="ttname"><a href="classHazelnuppConstraintMissingValue.html">HazelnuppConstraintMissingValue</a></div><div class="ttdoc">Gets thrown when a parameter constrained to be required is not provided, and has no default value set...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00060">HazelnuppException.h:60</a></div></div>
<div class="ttc" id="aclassHazelnuppValueNotConvertibleException_html"><div class="ttname"><a href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a></div><div class="ttdoc">Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00033">HazelnuppException.h:33</a></div></div>
<div class="ttc" id="aclassHazelnuppValueNotConvertibleException_html_a459233c9ed4ca577f596761abb2f46e7"><div class="ttname"><a href="classHazelnuppValueNotConvertibleException.html#a459233c9ed4ca577f596761abb2f46e7">HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException</a></div><div class="ttdeci">HazelnuppValueNotConvertibleException()</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00036">HazelnuppException.h:36</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintMissingValue_html_a022da2aca494f6853a7c013e94f5796f"><div class="ttname"><a href="classHazelnuppConstraintMissingValue.html#a022da2aca494f6853a7c013e94f5796f">HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue</a></div><div class="ttdeci">HazelnuppConstraintMissingValue()</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00063">HazelnuppException.h:63</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintException_html_ad434d9b9d78d36cc4008bad70270f844"><div class="ttname"><a href="classHazelnuppConstraintException.html#ad434d9b9d78d36cc4008bad70270f844">HazelnuppConstraintException::HazelnuppConstraintException</a></div><div class="ttdeci">HazelnuppConstraintException()</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00045">HazelnuppException.h:45</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintTypeMissmatch_html_aa81de4d809dd7b00516716574e959c09"><div class="ttname"><a href="classHazelnuppConstraintTypeMissmatch.html#aa81de4d809dd7b00516716574e959c09">HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch</a></div><div class="ttdeci">HazelnuppConstraintTypeMissmatch()</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00054">HazelnuppException.h:54</a></div></div>
<div class="ttc" id="aclassHazelnuppInvalidKeyException_html"><div class="ttname"><a href="classHazelnuppInvalidKeyException.html">HazelnuppInvalidKeyException</a></div><div class="ttdoc">Gets thrown when an non-existent key gets dereferenced.</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00024">HazelnuppException.h:24</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintException_html_a1bf58e4aa510f3e5cdebdfcbff2a1e53"><div class="ttname"><a href="classHazelnuppConstraintException.html#a1bf58e4aa510f3e5cdebdfcbff2a1e53">HazelnuppConstraintException::HazelnuppConstraintException</a></div><div class="ttdeci">HazelnuppConstraintException(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00046">HazelnuppException.h:46</a></div></div>
<div class="ttc" id="aclassHazelnuppValueNotConvertibleException_html_a77dfcc974a767b77aefdaef86e9ad60c"><div class="ttname"><a href="classHazelnuppValueNotConvertibleException.html#a77dfcc974a767b77aefdaef86e9ad60c">HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException</a></div><div class="ttdeci">HazelnuppValueNotConvertibleException(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00037">HazelnuppException.h:37</a></div></div>
<div class="ttc" id="aclassHazelnuppException_html_a90d10b00ec056b721c102a70b629a779"><div class="ttname"><a href="classHazelnuppException.html#a90d10b00ec056b721c102a70b629a779">HazelnuppException::HazelnuppException</a></div><div class="ttdeci">HazelnuppException()</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00009">HazelnuppException.h:9</a></div></div>
<div class="ttc" id="aclassHazelnuppException_html_a4d80f59d2732975461ee480642c4addf"><div class="ttname"><a href="classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf">HazelnuppException::message</a></div><div class="ttdeci">std::string message</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00019">HazelnuppException.h:19</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

130
docs/Hazelnupp_8cpp.html Normal file
View File

@ -0,0 +1,130 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Hazelnupp.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="Hazelnupp_8h_source.html">Hazelnupp.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="VoidValue_8h_source.html">VoidValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="IntValue_8h_source.html">IntValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="FloatValue_8h_source.html">FloatValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="StringValue_8h_source.html">StringValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="ListValue_8h_source.html">ListValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">HazelnuppException.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="StringTools_8h_source.html">StringTools.h</a>&quot;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;cstdlib&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Hazelnupp.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="Hazelnupp_8cpp__incl.png" border="0" usemap="#Hazelnupp_2Hazelnupp_8cpp" alt=""/></div>
<map name="Hazelnupp_2Hazelnupp_8cpp" id="Hazelnupp_2Hazelnupp_8cpp">
<area shape="rect" title=" " alt="" coords="393,5,584,32"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="483,80,585,107"/>
<area shape="rect" href="VoidValue_8h.html" title=" " alt="" coords="234,80,333,107"/>
<area shape="rect" href="IntValue_8h.html" title=" " alt="" coords="112,80,199,107"/>
<area shape="rect" href="FloatValue_8h.html" title=" " alt="" coords="5,155,108,181"/>
<area shape="rect" href="StringValue_8h.html" title=" " alt="" coords="352,155,460,181"/>
<area shape="rect" href="ListValue_8h.html" title=" " alt="" coords="234,155,327,181"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="661,80,828,107"/>
<area shape="rect" href="StringTools_8h.html" title=" " alt="" coords="975,155,1080,181"/>
<area shape="rect" title=" " alt="" coords="853,80,933,107"/>
<area shape="rect" title=" " alt="" coords="957,80,1023,107"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="484,155,584,181"/>
<area shape="rect" title=" " alt="" coords="648,304,711,331"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="608,155,751,181"/>
<area shape="rect" title=" " alt="" coords="775,155,899,181"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="249,229,320,256"/>
<area shape="rect" title=" " alt="" coords="247,304,323,331"/>
<area shape="rect" title=" " alt="" coords="525,229,583,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="481,304,576,331"/>
<area shape="rect" title=" " alt="" coords="1104,155,1191,181"/>
<area shape="rect" title=" " alt="" coords="1025,229,1099,256"/>
<area shape="rect" title=" " alt="" coords="1124,229,1187,256"/>
</map>
</div>
</div>
<p><a href="Hazelnupp_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,24 @@
<map id="Hazelnupp/Hazelnupp.cpp" name="Hazelnupp/Hazelnupp.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="393,5,584,32"/>
<area shape="rect" id="node2" href="$Hazelnupp_8h.html" title=" " alt="" coords="483,80,585,107"/>
<area shape="rect" id="node11" href="$VoidValue_8h.html" title=" " alt="" coords="234,80,333,107"/>
<area shape="rect" id="node12" href="$IntValue_8h.html" title=" " alt="" coords="112,80,199,107"/>
<area shape="rect" id="node13" href="$FloatValue_8h.html" title=" " alt="" coords="5,155,108,181"/>
<area shape="rect" id="node14" href="$StringValue_8h.html" title=" " alt="" coords="352,155,460,181"/>
<area shape="rect" id="node15" href="$ListValue_8h.html" title=" " alt="" coords="234,155,327,181"/>
<area shape="rect" id="node16" href="$HazelnuppException_8h.html" title=" " alt="" coords="661,80,828,107"/>
<area shape="rect" id="node18" href="$StringTools_8h.html" title=" " alt="" coords="975,155,1080,181"/>
<area shape="rect" id="node21" title=" " alt="" coords="853,80,933,107"/>
<area shape="rect" id="node22" title=" " alt="" coords="957,80,1023,107"/>
<area shape="rect" id="node3" href="$Parameter_8h.html" title=" " alt="" coords="484,155,584,181"/>
<area shape="rect" id="node7" title=" " alt="" coords="648,304,711,331"/>
<area shape="rect" id="node9" href="$ParamConstraint_8h.html" title=" " alt="" coords="608,155,751,181"/>
<area shape="rect" id="node10" title=" " alt="" coords="775,155,899,181"/>
<area shape="rect" id="node4" href="$Value_8h.html" title=" " alt="" coords="249,229,320,256"/>
<area shape="rect" id="node6" title=" " alt="" coords="247,304,323,331"/>
<area shape="rect" id="node8" title=" " alt="" coords="525,229,583,256"/>
<area shape="rect" id="node5" href="$DataType_8h.html" title=" " alt="" coords="481,304,576,331"/>
<area shape="rect" id="node17" title=" " alt="" coords="1104,155,1191,181"/>
<area shape="rect" id="node19" title=" " alt="" coords="1025,229,1099,256"/>
<area shape="rect" id="node20" title=" " alt="" coords="1124,229,1187,256"/>
</map>

View File

@ -0,0 +1 @@
4d63500dc473ffaa933a4e0479de4f4c

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@ -0,0 +1,527 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Hazelnupp.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Hazelnupp_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Hazelnupp_8h.html">Hazelnupp.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="VoidValue_8h.html">VoidValue.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IntValue_8h.html">IntValue.h</a>&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FloatValue_8h.html">FloatValue.h</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="StringValue_8h.html">StringValue.h</a>&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ListValue_8h.html">ListValue.h</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="HazelnuppException_8h.html">HazelnuppException.h</a>&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="StringTools_8h.html">StringTools.h</a>&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d"> 12</a></span>&#160;<a class="code" href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp::Hazelnupp</a>()</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;{</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;}</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a6d14c60f03b571f5f794c3549e75e435"> 17</a></span>&#160;<a class="code" href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp::Hazelnupp</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span>* argv)</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <a class="code" href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Parse</a>(argc, argv);</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;}</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be"> 23</a></span>&#160;<a class="code" href="classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be">Hazelnupp::~Hazelnupp</a>()</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;{</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; it : parameters)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">delete</span> it.second;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; parameters.clear();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b"> 33</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Hazelnupp::Parse</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span>* argv)</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// Populate raw arguments</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; PopulateRawArgs(argc, argv);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Expand abbreviations</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; ExpandAbbreviations();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; executableName = std::string(rawArgs[0]);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; std::size_t i = 1;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">while</span> (i &lt; rawArgs.size())</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> ((rawArgs[i].length() &gt; 2) &amp;&amp; (rawArgs[i].substr(0, 2) == <span class="stringliteral">&quot;--&quot;</span>))</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classParameter.html">Parameter</a>* param = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; i = ParseNextParameter(i, param);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; parameters.insert(std::pair&lt;std::string, Parameter*&gt;(param-&gt;<a class="code" href="classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6">Key</a>(), param));</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; i++;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// Apply constraints such as default values, and required parameters.</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Types have already been enforced.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; ApplyConstraints();</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code" href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a>&amp; hctm)</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (crashOnFail)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;Fatal error: Command-line parameter value-type mismatch at \&quot;&quot;</span> &lt;&lt; hctm.<a class="code" href="classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6">What</a>() &lt;&lt; <span class="stringliteral">&quot;\&quot;!&quot;</span>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; quick_exit(-1009);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">throw</span> hctm; <span class="comment">// yeet</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code" href="classHazelnuppConstraintMissingValue.html">HazelnuppConstraintMissingValue</a>&amp; hctm)</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> (crashOnFail)</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; std::cerr &lt;&lt; <span class="stringliteral">&quot;Fatal error: Missing required command-line parameter \&quot;&quot;</span> &lt;&lt; hctm.<a class="code" href="classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6">What</a>() &lt;&lt; <span class="stringliteral">&quot;\&quot;!&quot;</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; quick_exit(-1010);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">throw</span> hctm; <span class="comment">// yeet</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;std::size_t Hazelnupp::ParseNextParameter(<span class="keyword">const</span> std::size_t parIndex, <a class="code" href="classParameter.html">Parameter</a>*&amp; out_Par)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; std::size_t i = parIndex;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">const</span> std::string key = rawArgs[parIndex];</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; std::vector&lt;std::string&gt; values;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// Get values</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">for</span> (i++; i &lt; rawArgs.size(); i++)</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// If not another parameter</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">if</span> ((rawArgs[i].length() &lt; 2) || (rawArgs[i].substr(0, 2) != <span class="stringliteral">&quot;--&quot;</span>))</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; values.emplace_back(rawArgs[i]);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// Fetch constraint info</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a>* pcn = GetConstraintForKey(key);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classValue.html">Value</a>* parsedVal = ParseValue(values, pcn);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (parsedVal != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; out_Par = <span class="keyword">new</span> <a class="code" href="classParameter.html">Parameter</a>(key, parsedVal);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">delete</span> parsedVal;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; parsedVal = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">&quot;Unable to parse parameter!&quot;</span>);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span> i;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;}</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keywordtype">void</span> Hazelnupp::PopulateRawArgs(<span class="keyword">const</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span>* argv)</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;{</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; rawArgs.clear();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; rawArgs.reserve(argc);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; argc; i++)</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; rawArgs.emplace_back(std::string(argv[i]));</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;}</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keywordtype">void</span> Hazelnupp::ExpandAbbreviations()</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// Abort if no abbreviations</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (abbreviations.size() == 0)</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">for</span> (std::string&amp; arg : rawArgs)</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// Is arg registered as an abbreviation?</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">auto</span> abbr = abbreviations.find(arg);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (abbr != abbreviations.end())</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// Yes: replace arg with the long form</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; arg = abbr-&gt;second;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040"> 151</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040">Hazelnupp::HasParam</a>(<span class="keyword">const</span> std::string&amp; key)<span class="keyword"> const</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> parameters.find(key) != parameters.end();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<a class="code" href="classValue.html">Value</a>* Hazelnupp::ParseValue(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; values, <span class="keyword">const</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a>* constraint)</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// Constraint values</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> constrainType = (constraint != <span class="keyword">nullptr</span>) &amp;&amp; (constraint-&gt;<a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a>);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// Void-type</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (values.size() == 0)</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// Is a list forced via a constraint? If yes, return an empty list</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">if</span> ((constrainType) &amp;&amp;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>))</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classListValue.html">ListValue</a>();</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classVoidValue.html">VoidValue</a>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// Force void type by constraint</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> ((constrainType) &amp;&amp;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>))</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classVoidValue.html">VoidValue</a>;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="comment">// List-type</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (values.size() &gt; 1)</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">// Should the type be something other than list?</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> ((constrainType) &amp;&amp;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> != <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>))</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a>(values[0] + <span class="stringliteral">&quot; &quot;</span> + values[1]);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classListValue.html">ListValue</a>* newList = <span class="keyword">new</span> <a class="code" href="classListValue.html">ListValue</a>();</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> std::string&amp; val : values)</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classValue.html">Value</a>* tmp = ParseValue({ val });</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; newList-&gt;<a class="code" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">AddValue</a>(tmp);</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">delete</span> tmp;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> newList;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="comment">// Now we&#39;re only dealing with a single value</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keyword">const</span> std::string&amp; val = values[0];</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="comment">// String</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classStringTools.html#a6cd093feaca2d978c23774cf87d86e68">StringTools::IsNumeric</a>(val, <span class="keyword">true</span>))</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// Is the type not supposed to be a string?</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="comment">// void and list are already sorted out</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> ((constrainType) &amp;&amp;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> != <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>))</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="comment">// We can only force a list-value from here</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a>)</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="classListValue.html">ListValue</a>* list = <span class="keyword">new</span> <a class="code" href="classListValue.html">ListValue</a>();</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classValue.html">Value</a>* tmp = ParseValue({ val });</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; list-&gt;<a class="code" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">AddValue</a>(tmp);</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">delete</span> tmp;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; tmp = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> list;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// Else it not possible to convert to a numeric</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a>(val);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classStringValue.html">StringValue</a>(val);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">// In this case we have a numeric value.</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="comment">// We should still produce a string if requested</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span> ((constrainType) &amp;&amp;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a>))</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classStringValue.html">StringValue</a>(val);</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// Numeric</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordtype">bool</span> isInt;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">double</span> num;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classStringTools.html#ab661223da5bbbb75039e168409466c82">StringTools::ParseNumber</a>(val, isInt, num))</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// Is the type constrained?</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="comment">// (only int and float left)</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> (constrainType)</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">// Must it be an integer?</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a>)</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classIntValue.html">IntValue</a>((<span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>)num);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// Must it be a floating point?</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (constraint-&gt;<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> == <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a>)</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classFloatValue.html">FloatValue</a>(num);</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="comment">// Else it must be a List</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="classListValue.html">ListValue</a>* list = <span class="keyword">new</span> <a class="code" href="classListValue.html">ListValue</a>();</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classValue.html">Value</a>* tmp = ParseValue({ val });</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; list-&gt;<a class="code" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">AddValue</a>(tmp);</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">delete</span> tmp;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; tmp = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> list;</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="comment">// Type is not constrained</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// Integer</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (isInt)</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classIntValue.html">IntValue</a>((<span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>)num);</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">// Double</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classFloatValue.html">FloatValue</a>(num);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">// Failed</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7"> 277</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7">Hazelnupp::GetCrashOnFail</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> crashOnFail;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="keywordtype">void</span> Hazelnupp::ApplyConstraints()</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="comment">// Enforce required parameters / default values</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; pc : constraints)</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="comment">// Parameter in question is not supplied</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040">HasParam</a>(pc.second.key))</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="comment">// Do we have a default value?</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (pc.second.defaultValue.size() &gt; 0)</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="comment">// Then create it now, by its default value</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; </div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="classValue.html">Value</a>* tmp = ParseValue(pc.second.defaultValue, &amp;pc.second);</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; parameters.insert(std::pair&lt;std::string, Parameter*&gt;(</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; pc.second.key,</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keyword">new</span> <a class="code" href="classParameter.html">Parameter</a>(pc.second.key, tmp)</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; ));</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">delete</span> tmp;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; tmp = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// So we do not have a default value...</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="comment">// Is it important to have the missing parameter?</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (pc.second.required)</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="comment">// Throw an error message then</span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppConstraintMissingValue.html">HazelnuppConstraintMissingValue</a>(pc.second.key);</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; </div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;}</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; </div>
<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469"> 316</a></span>&#160;<span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469">Hazelnupp::GetExecutableName</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">return</span> executableName;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;}</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; </div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5"> 321</a></span>&#160;<span class="keyword">const</span> <a class="code" href="classValue.html">Value</a>&amp; <a class="code" href="classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5">Hazelnupp::operator[]</a>(<span class="keyword">const</span> std::string&amp; key)<span class="keyword"> const</span></div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="comment">// Throw exception if param is unknown</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040">HasParam</a>(key))</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppInvalidKeyException.html">HazelnuppInvalidKeyException</a>();</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; </div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> *parameters.find(key)-&gt;second-&gt;GetValue();</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; </div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124"> 330</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124">Hazelnupp::RegisterAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev, <span class="keyword">const</span> std::string&amp; target)</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; abbreviations.insert(std::pair&lt;std::string, std::string&gt;(abbrev, target));</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;}</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; </div>
<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5"> 336</a></span>&#160;<span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5">Hazelnupp::GetAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev)<span class="keyword"> const</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> abbreviations.find(abbrev)-&gt;second;</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; </div>
<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a46df7d396fb56e30351c9a7308792200"> 341</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classHazelnupp.html#a46df7d396fb56e30351c9a7308792200">Hazelnupp::HasAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev)<span class="keyword"> const</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> abbreviations.find(abbrev) != abbreviations.end();</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;}</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; </div>
<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a5175869b025468324cefad487081e91d"> 346</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a5175869b025468324cefad487081e91d">Hazelnupp::ClearAbbreviations</a>()</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;{</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; abbreviations.clear();</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;}</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5"> 352</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">Hazelnupp::RegisterConstraints</a>(<span class="keyword">const</span> std::vector&lt;ParamConstraint&gt;&amp; constraints)</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;{</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a>&amp; pc : constraints)</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="comment">// Does this constraint already exist?</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> constraint = this-&gt;constraints.find(pc.key);</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="comment">// If yes, replace it.</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">if</span> (constraint != this-&gt;constraints.end())</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; constraint-&gt;second = pc;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; </div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="comment">// Else, create a new pair</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; this-&gt;constraints.insert(std::pair&lt;std::string, ParamConstraint&gt;(</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; pc.key,</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; pc</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; ));</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; }</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;}</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a3970b74583def49c6632fe08a4499809"> 373</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a3970b74583def49c6632fe08a4499809">Hazelnupp::ClearConstraints</a>()</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;{</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; constraints.clear();</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e"> 379</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">Hazelnupp::SetCrashOnFail</a>(<span class="keywordtype">bool</span> crashOnFail)</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; this-&gt;crashOnFail = crashOnFail;</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;}</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="keyword">const</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a>* Hazelnupp::GetConstraintForKey(<span class="keyword">const</span> std::string&amp; key)<span class="keyword"> const</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> constraint = constraints.find(key);</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; </div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (constraint == constraints.end())</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">return</span> &amp;constraint-&gt;second;</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassHazelnuppException_html_ac087d5190a9b3f6964120cc35321c3a6"><div class="ttname"><a href="classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6">HazelnuppException::What</a></div><div class="ttdeci">const std::string &amp; What() const</div><div class="ttdoc">Will return an error message.</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00013">HazelnuppException.h:13</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a20ac0ebcfd4df7f320a7bbcaeed6e54d"><div class="ttname"><a href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp::Hazelnupp</a></div><div class="ttdeci">Hazelnupp()</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00012">Hazelnupp.cpp:12</a></div></div>
<div class="ttc" id="aHazelnuppException_8h_html"><div class="ttname"><a href="HazelnuppException_8h.html">HazelnuppException.h</a></div></div>
<div class="ttc" id="aclassListValue_html_af8787d266aa353d3f96e2c76cce76c41"><div class="ttname"><a href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">ListValue::AddValue</a></div><div class="ttdeci">void AddValue(const Value *value)</div><div class="ttdoc">Will add this value to the list.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00031">ListValue.cpp:31</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="aclassHazelnupp_html_abf1e0ebf0207ca2327fcde81f7372124"><div class="ttname"><a href="classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124">Hazelnupp::RegisterAbbreviation</a></div><div class="ttdeci">void RegisterAbbreviation(const std::string &amp;abbrev, const std::string &amp;target)</div><div class="ttdoc">Will register an abbreviation (like -f for force)</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00330">Hazelnupp.cpp:330</a></div></div>
<div class="ttc" id="aclassStringTools_html_a6cd093feaca2d978c23774cf87d86e68"><div class="ttname"><a href="classStringTools.html#a6cd093feaca2d978c23774cf87d86e68">StringTools::IsNumeric</a></div><div class="ttdeci">static bool IsNumeric(const std::string &amp;str, const bool allowDecimalPoint=false)</div><div class="ttdoc">Will return true if the given string consists only of digits (including signage)</div><div class="ttdef"><b>Definition:</b> <a href="StringTools_8cpp_source.html#l00054">StringTools.cpp:54</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a3970b74583def49c6632fe08a4499809"><div class="ttname"><a href="classHazelnupp.html#a3970b74583def49c6632fe08a4499809">Hazelnupp::ClearConstraints</a></div><div class="ttdeci">void ClearConstraints()</div><div class="ttdoc">Will delete all constraints.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00373">Hazelnupp.cpp:373</a></div></div>
<div class="ttc" id="aclassIntValue_html"><div class="ttname"><a href="classIntValue.html">IntValue</a></div><div class="ttdoc">Specializations for integer values (uses long long int)</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8h_source.html#l00006">IntValue.h:6</a></div></div>
<div class="ttc" id="aclassListValue_html"><div class="ttname"><a href="classListValue.html">ListValue</a></div><div class="ttdoc">Specializations for list values (uses std::vector&lt;Value*&gt;)</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8h_source.html#l00007">ListValue.h:7</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a8a3331836b9ea1f920e77f6d332019d5"><div class="ttname"><a href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">Hazelnupp::RegisterConstraints</a></div><div class="ttdeci">void RegisterConstraints(const std::vector&lt; ParamConstraint &gt; &amp;constraints)</div><div class="ttdoc">Will register parameter constraints.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00352">Hazelnupp.cpp:352</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aStringValue_8h_html"><div class="ttname"><a href="StringValue_8h.html">StringValue.h</a></div></div>
<div class="ttc" id="aIntValue_8h_html"><div class="ttname"><a href="IntValue_8h.html">IntValue.h</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintTypeMissmatch_html"><div class="ttname"><a href="classHazelnuppConstraintTypeMissmatch.html">HazelnuppConstraintTypeMissmatch</a></div><div class="ttdoc">Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00051">HazelnuppException.h:51</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6">DATA_TYPE::FLOAT</a></div><div class="ttdeci">@ FLOAT</div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassHazelnuppConstraintMissingValue_html"><div class="ttname"><a href="classHazelnuppConstraintMissingValue.html">HazelnuppConstraintMissingValue</a></div><div class="ttdoc">Gets thrown when a parameter constrained to be required is not provided, and has no default value set...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00060">HazelnuppException.h:60</a></div></div>
<div class="ttc" id="aclassParameter_html"><div class="ttname"><a href="classParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8h_source.html#l00006">Parameter.h:6</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a579e78129f19cb9f17a6075366ababe5"><div class="ttname"><a href="classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5">Hazelnupp::GetAbbreviation</a></div><div class="ttdeci">const std::string &amp; GetAbbreviation(const std::string &amp;abbrev) const</div><div class="ttdoc">Will return the long form of an abbreviation (like force for -f)</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00336">Hazelnupp.cpp:336</a></div></div>
<div class="ttc" id="aclassParameter_html_a7acd68ce06eec06ab286b1a062f9c8d6"><div class="ttname"><a href="classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6">Parameter::Key</a></div><div class="ttdeci">const std::string &amp; Key() const</div><div class="ttdoc">Will return the key of this parameter.</div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8cpp_source.html#l00019">Parameter.cpp:19</a></div></div>
<div class="ttc" id="aclassVoidValue_html"><div class="ttname"><a href="classVoidValue.html">VoidValue</a></div><div class="ttdoc">Specializations for void values.</div><div class="ttdef"><b>Definition:</b> <a href="VoidValue_8h_source.html#l00006">VoidValue.h:6</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a46df7d396fb56e30351c9a7308792200"><div class="ttname"><a href="classHazelnupp.html#a46df7d396fb56e30351c9a7308792200">Hazelnupp::HasAbbreviation</a></div><div class="ttdeci">bool HasAbbreviation(const std::string &amp;abbrev) const</div><div class="ttdoc">Will check wether or not an abbreviation is registered.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00341">Hazelnupp.cpp:341</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="aListValue_8h_html"><div class="ttname"><a href="ListValue_8h.html">ListValue.h</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_af6bb41fb079131f8b91fe981f63f7469"><div class="ttname"><a href="classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469">Hazelnupp::GetExecutableName</a></div><div class="ttdeci">const std::string &amp; GetExecutableName() const</div><div class="ttdoc">Will return argv[0], the name of the executable.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00316">Hazelnupp.cpp:316</a></div></div>
<div class="ttc" id="aclassFloatValue_html"><div class="ttname"><a href="classFloatValue.html">FloatValue</a></div><div class="ttdoc">Specializations for floating point values (uses long double)</div><div class="ttdef"><b>Definition:</b> <a href="FloatValue_8h_source.html#l00007">FloatValue.h:7</a></div></div>
<div class="ttc" id="aclassStringValue_html"><div class="ttname"><a href="classStringValue.html">StringValue</a></div><div class="ttdoc">Specializations for string values (uses std::string)</div><div class="ttdef"><b>Definition:</b> <a href="StringValue_8h_source.html#l00007">StringValue.h:7</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a25f8810d24d647b6a57e2dd00ead42be"><div class="ttname"><a href="classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be">Hazelnupp::~Hazelnupp</a></div><div class="ttdeci">~Hazelnupp()</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00023">Hazelnupp.cpp:23</a></div></div>
<div class="ttc" id="aVoidValue_8h_html"><div class="ttname"><a href="VoidValue_8h.html">VoidValue.h</a></div></div>
<div class="ttc" id="aclassStringTools_html_ab661223da5bbbb75039e168409466c82"><div class="ttname"><a href="classStringTools.html#ab661223da5bbbb75039e168409466c82">StringTools::ParseNumber</a></div><div class="ttdeci">static bool ParseNumber(const std::string &amp;str, bool &amp;out_isInt, long double &amp;out_number)</div><div class="ttdoc">Will convert the number in str to a number.</div><div class="ttdef"><b>Definition:</b> <a href="StringTools_8cpp_source.html#l00080">StringTools.cpp:80</a></div></div>
<div class="ttc" id="aHazelnupp_8h_html"><div class="ttname"><a href="Hazelnupp_8h.html">Hazelnupp.h</a></div></div>
<div class="ttc" id="aclassHazelnuppInvalidKeyException_html"><div class="ttname"><a href="classHazelnuppInvalidKeyException.html">HazelnuppInvalidKeyException</a></div><div class="ttdoc">Gets thrown when an non-existent key gets dereferenced.</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00024">HazelnuppException.h:24</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a1b810cc7db2cf64aecaa70c686b14bb7"><div class="ttname"><a href="classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7">Hazelnupp::GetCrashOnFail</a></div><div class="ttdeci">bool GetCrashOnFail() const</div><div class="ttdoc">Gets whether the application crashes on an exception whilst parsing, and prints to stderr.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00277">Hazelnupp.cpp:277</a></div></div>
<div class="ttc" id="aFloatValue_8h_html"><div class="ttname"><a href="FloatValue_8h.html">FloatValue.h</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a17845623ca686caa51f3c8254e85551e"><div class="ttname"><a href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">Hazelnupp::SetCrashOnFail</a></div><div class="ttdeci">void SetCrashOnFail(bool crashOnFail)</div><div class="ttdoc">Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00379">Hazelnupp.cpp:379</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a8b79a79d40420ae748c108c691111040"><div class="ttname"><a href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040">Hazelnupp::HasParam</a></div><div class="ttdeci">bool HasParam(const std::string &amp;key) const</div><div class="ttdoc">Will check wether a parameter exists given a key, or not.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00151">Hazelnupp.cpp:151</a></div></div>
<div class="ttc" id="astructParamConstraint_html_ab35444d2957439bc52c2056a829145a2"><div class="ttname"><a href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">ParamConstraint::constrainType</a></div><div class="ttdeci">bool constrainType</div><div class="ttdoc">Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00052">ParamConstraint.h:52</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949">DATA_TYPE::STRING</a></div><div class="ttdeci">@ STRING</div></div>
<div class="ttc" id="astructParamConstraint_html_ae8875e054a074241f0c0bf3328a0915a"><div class="ttname"><a href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">ParamConstraint::wantedType</a></div><div class="ttdeci">DATA_TYPE wantedType</div><div class="ttdoc">Constrain the parameter to this value. Requires constrainType to be set to true.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00055">ParamConstraint.h:55</a></div></div>
<div class="ttc" id="astructParamConstraint_html"><div class="ttname"><a href="structParamConstraint.html">ParamConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00006">ParamConstraint.h:6</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a1ccb88faca1a8deb77161888479c300b"><div class="ttname"><a href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Hazelnupp::Parse</a></div><div class="ttdeci">void Parse(const int argc, const char *const *argv)</div><div class="ttdoc">Will parse command line arguments.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00033">Hazelnupp.cpp:33</a></div></div>
<div class="ttc" id="aStringTools_8h_html"><div class="ttname"><a href="StringTools_8h.html">StringTools.h</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a419ccdc6bad00b0fc3e17ed9b41f5dc5"><div class="ttname"><a href="classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5">Hazelnupp::operator[]</a></div><div class="ttdeci">const Value &amp; operator[](const std::string &amp;key) const</div><div class="ttdoc">Will return the value given a key.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00321">Hazelnupp.cpp:321</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a5175869b025468324cefad487081e91d"><div class="ttname"><a href="classHazelnupp.html#a5175869b025468324cefad487081e91d">Hazelnupp::ClearAbbreviations</a></div><div class="ttdeci">void ClearAbbreviations()</div><div class="ttdoc">Will delete all abbreviations.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00346">Hazelnupp.cpp:346</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

130
docs/Hazelnupp_8h.html Normal file
View File

@ -0,0 +1,130 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">Hazelnupp.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="Parameter_8h_source.html">Parameter.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="ParamConstraint_8h_source.html">ParamConstraint.h</a>&quot;</code><br />
<code>#include &lt;unordered_map&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Hazelnupp.h:</div>
<div class="dyncontent">
<div class="center"><img src="Hazelnupp_8h__incl.png" border="0" usemap="#Hazelnupp_2Hazelnupp_8h" alt=""/></div>
<map name="Hazelnupp_2Hazelnupp_8h" id="Hazelnupp_2Hazelnupp_8h">
<area shape="rect" title=" " alt="" coords="86,5,262,32"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="198,80,298,107"/>
<area shape="rect" title=" " alt="" coords="12,229,75,256"/>
<area shape="rect" href="ParamConstraint_8h.html" title=" " alt="" coords="31,80,174,107"/>
<area shape="rect" title=" " alt="" coords="322,80,446,107"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="215,155,286,181"/>
<area shape="rect" title=" " alt="" coords="268,229,344,256"/>
<area shape="rect" title=" " alt="" coords="132,155,190,181"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="132,229,227,256"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="Hazelnupp_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2Hazelnupp_8hdep" alt=""/></div>
<map name="Hazelnupp_2Hazelnupp_8hdep" id="Hazelnupp_2Hazelnupp_8hdep">
<area shape="rect" title=" " alt="" coords="111,5,287,32"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" href="main_8cpp.html" title=" " alt="" coords="221,80,375,107"/>
</map>
</div>
</div>
<p><a href="Hazelnupp_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHazelnupp.html">Hazelnupp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main class to interface with. <a href="classHazelnupp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,5 @@
<map id="Hazelnupp/Hazelnupp.h" name="Hazelnupp/Hazelnupp.h">
<area shape="rect" id="node1" title=" " alt="" coords="111,5,287,32"/>
<area shape="rect" id="node2" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" id="node3" href="$main_8cpp.html" title=" " alt="" coords="221,80,375,107"/>
</map>

View File

@ -0,0 +1 @@
5d6fe09e5292b77269845d454a648df4

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,11 @@
<map id="Hazelnupp/Hazelnupp.h" name="Hazelnupp/Hazelnupp.h">
<area shape="rect" id="node1" title=" " alt="" coords="86,5,262,32"/>
<area shape="rect" id="node2" href="$Parameter_8h.html" title=" " alt="" coords="198,80,298,107"/>
<area shape="rect" id="node6" title=" " alt="" coords="12,229,75,256"/>
<area shape="rect" id="node8" href="$ParamConstraint_8h.html" title=" " alt="" coords="31,80,174,107"/>
<area shape="rect" id="node9" title=" " alt="" coords="322,80,446,107"/>
<area shape="rect" id="node3" href="$Value_8h.html" title=" " alt="" coords="215,155,286,181"/>
<area shape="rect" id="node5" title=" " alt="" coords="268,229,344,256"/>
<area shape="rect" id="node7" title=" " alt="" coords="132,155,190,181"/>
<area shape="rect" id="node4" href="$DataType_8h.html" title=" " alt="" coords="132,229,227,256"/>
</map>

View File

@ -0,0 +1 @@
1ce9845c7ab32e24bfb9df598b5bdad8

BIN
docs/Hazelnupp_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,174 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Hazelnupp.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="Hazelnupp_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Parameter_8h.html">Parameter.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ParamConstraint_8h.html">ParamConstraint.h</a>&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="classHazelnupp.html"> 9</a></span>&#160;<span class="keyword">class </span><a class="code" href="classHazelnupp.html">Hazelnupp</a></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;{</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <a class="code" href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp</a>();</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <a class="code" href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span>* argv);</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be">~Hazelnupp</a>();</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Parse</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span>* argv);</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469">GetExecutableName</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">const</span> <a class="code" href="classValue.html">Value</a>&amp; <a class="code" href="classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5">operator[]</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040">HasParam</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="comment">// Abbreviations</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124">RegisterAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev, <span class="keyword">const</span> std::string&amp; target);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5">GetAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classHazelnupp.html#a46df7d396fb56e30351c9a7308792200">HasAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a5175869b025468324cefad487081e91d">ClearAbbreviations</a>();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">RegisterConstraints</a>(<span class="keyword">const</span> std::vector&lt;ParamConstraint&gt;&amp; constraints);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a3970b74583def49c6632fe08a4499809">ClearConstraints</a>();</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keywordtype">bool</span> crashOnFail);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7">GetCrashOnFail</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">void</span> PopulateRawArgs(<span class="keyword">const</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span>* argv);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">void</span> ExpandAbbreviations();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; std::size_t ParseNextParameter(<span class="keyword">const</span> std::size_t parIndex, <a class="code" href="classParameter.html">Parameter</a>*&amp; out_Par);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classValue.html">Value</a>* ParseValue(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; values, <span class="keyword">const</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a>* constraint = <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">void</span> ApplyConstraints();</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">const</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a>* GetConstraintForKey(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; std::string executableName; </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; std::unordered_map&lt;std::string, Parameter*&gt; parameters;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// These are abbreviations. Like, -f for --force.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; std::unordered_map&lt;std::string, std::string&gt; abbreviations;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// Parameter constraints, mapped to keys</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; std::unordered_map&lt;std::string, ParamConstraint&gt; constraints;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; std::vector&lt;std::string&gt; rawArgs;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">bool</span> crashOnFail = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassHazelnupp_html_a20ac0ebcfd4df7f320a7bbcaeed6e54d"><div class="ttname"><a href="classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp::Hazelnupp</a></div><div class="ttdeci">Hazelnupp()</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00012">Hazelnupp.cpp:12</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_abf1e0ebf0207ca2327fcde81f7372124"><div class="ttname"><a href="classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124">Hazelnupp::RegisterAbbreviation</a></div><div class="ttdeci">void RegisterAbbreviation(const std::string &amp;abbrev, const std::string &amp;target)</div><div class="ttdoc">Will register an abbreviation (like -f for force)</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00330">Hazelnupp.cpp:330</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a3970b74583def49c6632fe08a4499809"><div class="ttname"><a href="classHazelnupp.html#a3970b74583def49c6632fe08a4499809">Hazelnupp::ClearConstraints</a></div><div class="ttdeci">void ClearConstraints()</div><div class="ttdoc">Will delete all constraints.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00373">Hazelnupp.cpp:373</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a8a3331836b9ea1f920e77f6d332019d5"><div class="ttname"><a href="classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">Hazelnupp::RegisterConstraints</a></div><div class="ttdeci">void RegisterConstraints(const std::vector&lt; ParamConstraint &gt; &amp;constraints)</div><div class="ttdoc">Will register parameter constraints.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00352">Hazelnupp.cpp:352</a></div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aParamConstraint_8h_html"><div class="ttname"><a href="ParamConstraint_8h.html">ParamConstraint.h</a></div></div>
<div class="ttc" id="aclassParameter_html"><div class="ttname"><a href="classParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8h_source.html#l00006">Parameter.h:6</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a579e78129f19cb9f17a6075366ababe5"><div class="ttname"><a href="classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5">Hazelnupp::GetAbbreviation</a></div><div class="ttdeci">const std::string &amp; GetAbbreviation(const std::string &amp;abbrev) const</div><div class="ttdoc">Will return the long form of an abbreviation (like force for -f)</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00336">Hazelnupp.cpp:336</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a46df7d396fb56e30351c9a7308792200"><div class="ttname"><a href="classHazelnupp.html#a46df7d396fb56e30351c9a7308792200">Hazelnupp::HasAbbreviation</a></div><div class="ttdeci">bool HasAbbreviation(const std::string &amp;abbrev) const</div><div class="ttdoc">Will check wether or not an abbreviation is registered.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00341">Hazelnupp.cpp:341</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_af6bb41fb079131f8b91fe981f63f7469"><div class="ttname"><a href="classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469">Hazelnupp::GetExecutableName</a></div><div class="ttdeci">const std::string &amp; GetExecutableName() const</div><div class="ttdoc">Will return argv[0], the name of the executable.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00316">Hazelnupp.cpp:316</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a25f8810d24d647b6a57e2dd00ead42be"><div class="ttname"><a href="classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be">Hazelnupp::~Hazelnupp</a></div><div class="ttdeci">~Hazelnupp()</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00023">Hazelnupp.cpp:23</a></div></div>
<div class="ttc" id="aParameter_8h_html"><div class="ttname"><a href="Parameter_8h.html">Parameter.h</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a1b810cc7db2cf64aecaa70c686b14bb7"><div class="ttname"><a href="classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7">Hazelnupp::GetCrashOnFail</a></div><div class="ttdeci">bool GetCrashOnFail() const</div><div class="ttdoc">Gets whether the application crashes on an exception whilst parsing, and prints to stderr.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00277">Hazelnupp.cpp:277</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a17845623ca686caa51f3c8254e85551e"><div class="ttname"><a href="classHazelnupp.html#a17845623ca686caa51f3c8254e85551e">Hazelnupp::SetCrashOnFail</a></div><div class="ttdeci">void SetCrashOnFail(bool crashOnFail)</div><div class="ttdoc">Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00379">Hazelnupp.cpp:379</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a8b79a79d40420ae748c108c691111040"><div class="ttname"><a href="classHazelnupp.html#a8b79a79d40420ae748c108c691111040">Hazelnupp::HasParam</a></div><div class="ttdeci">bool HasParam(const std::string &amp;key) const</div><div class="ttdoc">Will check wether a parameter exists given a key, or not.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00151">Hazelnupp.cpp:151</a></div></div>
<div class="ttc" id="aclassHazelnupp_html"><div class="ttname"><a href="classHazelnupp.html">Hazelnupp</a></div><div class="ttdoc">The main class to interface with.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8h_source.html#l00009">Hazelnupp.h:9</a></div></div>
<div class="ttc" id="astructParamConstraint_html"><div class="ttname"><a href="structParamConstraint.html">ParamConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00006">ParamConstraint.h:6</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a1ccb88faca1a8deb77161888479c300b"><div class="ttname"><a href="classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Hazelnupp::Parse</a></div><div class="ttdeci">void Parse(const int argc, const char *const *argv)</div><div class="ttdoc">Will parse command line arguments.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00033">Hazelnupp.cpp:33</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a419ccdc6bad00b0fc3e17ed9b41f5dc5"><div class="ttname"><a href="classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5">Hazelnupp::operator[]</a></div><div class="ttdeci">const Value &amp; operator[](const std::string &amp;key) const</div><div class="ttdoc">Will return the value given a key.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00321">Hazelnupp.cpp:321</a></div></div>
<div class="ttc" id="aclassHazelnupp_html_a5175869b025468324cefad487081e91d"><div class="ttname"><a href="classHazelnupp.html#a5175869b025468324cefad487081e91d">Hazelnupp::ClearAbbreviations</a></div><div class="ttdeci">void ClearAbbreviations()</div><div class="ttdoc">Will delete all abbreviations.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00346">Hazelnupp.cpp:346</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

110
docs/IntValue_8cpp.html Normal file
View File

@ -0,0 +1,110 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/IntValue.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">IntValue.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="IntValue_8h_source.html">IntValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">HazelnuppException.h</a>&quot;</code><br />
<code>#include &lt;sstream&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntValue.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="IntValue_8cpp__incl.png" border="0" usemap="#Hazelnupp_2IntValue_8cpp" alt=""/></div>
<map name="Hazelnupp_2IntValue_8cpp" id="Hazelnupp_2IntValue_8cpp">
<area shape="rect" title=" " alt="" coords="225,5,400,32"/>
<area shape="rect" href="IntValue_8h.html" title=" " alt="" coords="119,80,205,107"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="229,80,396,107"/>
<area shape="rect" title=" " alt="" coords="421,80,495,107"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="127,155,197,181"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" title=" " alt="" coords="124,229,200,256"/>
<area shape="rect" title=" " alt="" coords="224,229,287,256"/>
<area shape="rect" title=" " alt="" coords="269,155,356,181"/>
</map>
</div>
</div>
<p><a href="IntValue_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,11 @@
<map id="Hazelnupp/IntValue.cpp" name="Hazelnupp/IntValue.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="225,5,400,32"/>
<area shape="rect" id="node2" href="$IntValue_8h.html" title=" " alt="" coords="119,80,205,107"/>
<area shape="rect" id="node7" href="$HazelnuppException_8h.html" title=" " alt="" coords="229,80,396,107"/>
<area shape="rect" id="node9" title=" " alt="" coords="421,80,495,107"/>
<area shape="rect" id="node3" href="$Value_8h.html" title=" " alt="" coords="127,155,197,181"/>
<area shape="rect" id="node4" href="$DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" id="node5" title=" " alt="" coords="124,229,200,256"/>
<area shape="rect" id="node6" title=" " alt="" coords="224,229,287,256"/>
<area shape="rect" id="node8" title=" " alt="" coords="269,155,356,181"/>
</map>

View File

@ -0,0 +1 @@
a513bf2aa6a8c4f9e291d3f6fb3798e4

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,178 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/IntValue.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">IntValue.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="IntValue_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IntValue_8h.html">IntValue.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="HazelnuppException_8h.html">HazelnuppException.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba"> 5</a></span>&#160;<a class="code" href="classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba">IntValue::IntValue</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>&amp; value)</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; :</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <a class="code" href="classValue.html">Value</a>(<a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a>::<a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">INT</a>),</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; value { value }</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;{</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;}</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classIntValue.html#aa599004242b27f8f3e246b88742b034e"> 13</a></span>&#160;<a class="code" href="classValue.html">Value</a>* <a class="code" href="classIntValue.html#aa599004242b27f8f3e246b88742b034e">IntValue::Deepcopy</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba">IntValue</a>(value);</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;}</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45"> 18</a></span>&#160;std::string <a class="code" href="classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45">IntValue::GetAsOsString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; std::stringstream ss;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; ss &lt;&lt; <span class="stringliteral">&quot;IntValue: &quot;</span> &lt;&lt; value;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classIntValue.html#a89967cafbdeb21362336067b772808c7"> 25</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>&amp; <a class="code" href="classIntValue.html#a89967cafbdeb21362336067b772808c7">IntValue::GetValue</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;}</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classIntValue.html#a45b283dae9904ad0643035d3ee5883eb"> 30</a></span>&#160;IntValue::operator <span class="keywordtype">long</span> <span class="keywordtype">long</span> int()<span class="keyword"> const</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classIntValue.html#ab30a38c8f58cefd7cbf365c4aeae79bd"> 35</a></span>&#160;IntValue::operator int()<span class="keyword"> const</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)value;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080"> 42</a></span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080">IntValue::GetInt64</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classIntValue.html#a163f21536fa49491aa0ae03c8091344a"> 47</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="classIntValue.html#a163f21536fa49491aa0ae03c8091344a">IntValue::GetInt32</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)value;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5"> 52</a></span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5">IntValue::GetFloat64</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">long</span> <span class="keywordtype">double</span>)value;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4"> 57</a></span>&#160;<span class="keywordtype">double</span> <a class="code" href="classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4">IntValue::GetFloat32</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)value;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classIntValue.html#a3631e3b16f010889e942c0c0f72d403c"> 62</a></span>&#160;std::string <a class="code" href="classIntValue.html#a3631e3b16f010889e942c0c0f72d403c">IntValue::GetString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; std::stringstream ss;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; ss &lt;&lt; value;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2"> 70</a></span>&#160;<span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2">IntValue::GetList</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aHazelnuppException_8h_html"><div class="ttname"><a href="HazelnuppException_8h.html">HazelnuppException.h</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27b"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></div><div class="ttdeci">DATA_TYPE</div><div class="ttdoc">The different data types a paramater can be.</div><div class="ttdef"><b>Definition:</b> <a href="DataType_8h_source.html#l00005">DataType.h:5</a></div></div>
<div class="ttc" id="aclassIntValue_html_a7d7dbda9a051084600d3eabdac96ee45"><div class="ttname"><a href="classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45">IntValue::GetAsOsString</a></div><div class="ttdeci">std::string GetAsOsString() const override</div><div class="ttdoc">Will return a string suitable for an std::ostream;.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00018">IntValue.cpp:18</a></div></div>
<div class="ttc" id="aclassIntValue_html_ad0734e4cf67bac0bcc58251a4b3e56c4"><div class="ttname"><a href="classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4">IntValue::GetFloat32</a></div><div class="ttdeci">double GetFloat32() const override</div><div class="ttdoc">Will return the data as a double.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00057">IntValue.cpp:57</a></div></div>
<div class="ttc" id="aIntValue_8h_html"><div class="ttname"><a href="IntValue_8h.html">IntValue.h</a></div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassHazelnuppValueNotConvertibleException_html"><div class="ttname"><a href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a></div><div class="ttdoc">Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00033">HazelnuppException.h:33</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92">DATA_TYPE::INT</a></div><div class="ttdeci">@ INT</div></div>
<div class="ttc" id="aclassIntValue_html_a89967cafbdeb21362336067b772808c7"><div class="ttname"><a href="classIntValue.html#a89967cafbdeb21362336067b772808c7">IntValue::GetValue</a></div><div class="ttdeci">const long long int &amp; GetValue() const</div><div class="ttdoc">Will return the raw value.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00025">IntValue.cpp:25</a></div></div>
<div class="ttc" id="aclassIntValue_html_ac1174f807ce2c085f5a24baed4e3c1ba"><div class="ttname"><a href="classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba">IntValue::IntValue</a></div><div class="ttdeci">IntValue(const long long int &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00005">IntValue.cpp:5</a></div></div>
<div class="ttc" id="aclassIntValue_html_a163f21536fa49491aa0ae03c8091344a"><div class="ttname"><a href="classIntValue.html#a163f21536fa49491aa0ae03c8091344a">IntValue::GetInt32</a></div><div class="ttdeci">int GetInt32() const override</div><div class="ttdoc">Will return the data as an int.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00047">IntValue.cpp:47</a></div></div>
<div class="ttc" id="aclassIntValue_html_a5ceb2030e8a2a665953fdd4f1715e6a5"><div class="ttname"><a href="classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5">IntValue::GetFloat64</a></div><div class="ttdeci">long double GetFloat64() const override</div><div class="ttdoc">Will return the data as a long double.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00052">IntValue.cpp:52</a></div></div>
<div class="ttc" id="aclassIntValue_html_a3631e3b16f010889e942c0c0f72d403c"><div class="ttname"><a href="classIntValue.html#a3631e3b16f010889e942c0c0f72d403c">IntValue::GetString</a></div><div class="ttdeci">std::string GetString() const override</div><div class="ttdoc">Will return the data as a string.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00062">IntValue.cpp:62</a></div></div>
<div class="ttc" id="aclassIntValue_html_aa599004242b27f8f3e246b88742b034e"><div class="ttname"><a href="classIntValue.html#aa599004242b27f8f3e246b88742b034e">IntValue::Deepcopy</a></div><div class="ttdeci">Value * Deepcopy() const override</div><div class="ttdoc">Will return a deeopopy of this object.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00013">IntValue.cpp:13</a></div></div>
<div class="ttc" id="aclassIntValue_html_acc74ba6070a516a4bcad10bb113d6fa2"><div class="ttname"><a href="classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2">IntValue::GetList</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetList() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00070">IntValue.cpp:70</a></div></div>
<div class="ttc" id="aclassIntValue_html_ae0643023dfd56eafe2e3da5a4ba13080"><div class="ttname"><a href="classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080">IntValue::GetInt64</a></div><div class="ttdeci">long long int GetInt64() const override</div><div class="ttdoc">Will return the data as a long long int.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00042">IntValue.cpp:42</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

124
docs/IntValue_8h.html Normal file
View File

@ -0,0 +1,124 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/IntValue.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">IntValue.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="Value_8h_source.html">Value.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for IntValue.h:</div>
<div class="dyncontent">
<div class="center"><img src="IntValue_8h__incl.png" border="0" usemap="#Hazelnupp_2IntValue_8h" alt=""/></div>
<map name="Hazelnupp_2IntValue_8h" id="Hazelnupp_2IntValue_8h">
<area shape="rect" title=" " alt="" coords="82,5,242,32"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="127,80,197,107"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,155,100,181"/>
<area shape="rect" title=" " alt="" coords="124,155,200,181"/>
<area shape="rect" title=" " alt="" coords="224,155,287,181"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="IntValue_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2IntValue_8hdep" alt=""/></div>
<map name="Hazelnupp_2IntValue_8hdep" id="Hazelnupp_2IntValue_8hdep">
<area shape="rect" title=" " alt="" coords="227,5,387,32"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" href="IntValue_8cpp.html" title=" " alt="" coords="220,80,395,107"/>
<area shape="rect" href="main_8cpp.html" title=" " alt="" coords="419,80,574,107"/>
</map>
</div>
</div>
<p><a href="IntValue_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIntValue.html">IntValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specializations for integer values (uses long long int) <a href="classIntValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,6 @@
<map id="Hazelnupp/IntValue.h" name="Hazelnupp/IntValue.h">
<area shape="rect" id="node1" title=" " alt="" coords="227,5,387,32"/>
<area shape="rect" id="node2" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" id="node3" href="$IntValue_8cpp.html" title=" " alt="" coords="220,80,395,107"/>
<area shape="rect" id="node4" href="$main_8cpp.html" title=" " alt="" coords="419,80,574,107"/>
</map>

View File

@ -0,0 +1 @@
5a4141368586afbf5f14dba7b0235510

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,7 @@
<map id="Hazelnupp/IntValue.h" name="Hazelnupp/IntValue.h">
<area shape="rect" id="node1" title=" " alt="" coords="82,5,242,32"/>
<area shape="rect" id="node2" href="$Value_8h.html" title=" " alt="" coords="127,80,197,107"/>
<area shape="rect" id="node3" href="$DataType_8h.html" title=" " alt="" coords="5,155,100,181"/>
<area shape="rect" id="node4" title=" " alt="" coords="124,155,200,181"/>
<area shape="rect" id="node5" title=" " alt="" coords="224,155,287,181"/>
</map>

View File

@ -0,0 +1 @@
caf40a9d83fa450c538f6eb146b29652

BIN
docs/IntValue_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -0,0 +1,135 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/IntValue.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">IntValue.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="IntValue_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Value_8h.html">Value.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="classIntValue.html"> 6</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIntValue.html">IntValue</a> : <span class="keyword">public</span> <a class="code" href="classValue.html">Value</a></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <a class="code" href="classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba">IntValue</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>&amp; value);</div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="classIntValue.html#a45514417be35da78376822a0dd50f488"> 10</a></span>&#160; <a class="code" href="classIntValue.html#a45514417be35da78376822a0dd50f488">~IntValue</a>()<span class="keyword"> override </span>{};</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <a class="code" href="classValue.html">Value</a>* <a class="code" href="classIntValue.html#aa599004242b27f8f3e246b88742b034e">Deepcopy</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; std::string <a class="code" href="classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45">GetAsOsString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span>&amp; <a class="code" href="classIntValue.html#a89967cafbdeb21362336067b772808c7">GetValue</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keyword">operator</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> int() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">operator</span> int() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080">GetInt64</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classIntValue.html#a163f21536fa49491aa0ae03c8091344a">GetInt32</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5">GetFloat64</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4">GetFloat32</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; std::string <a class="code" href="classIntValue.html#a3631e3b16f010889e942c0c0f72d403c">GetString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2">GetList</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> value;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassIntValue_html_a7d7dbda9a051084600d3eabdac96ee45"><div class="ttname"><a href="classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45">IntValue::GetAsOsString</a></div><div class="ttdeci">std::string GetAsOsString() const override</div><div class="ttdoc">Will return a string suitable for an std::ostream;.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00018">IntValue.cpp:18</a></div></div>
<div class="ttc" id="aclassIntValue_html_ad0734e4cf67bac0bcc58251a4b3e56c4"><div class="ttname"><a href="classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4">IntValue::GetFloat32</a></div><div class="ttdeci">double GetFloat32() const override</div><div class="ttdoc">Will return the data as a double.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00057">IntValue.cpp:57</a></div></div>
<div class="ttc" id="aclassIntValue_html"><div class="ttname"><a href="classIntValue.html">IntValue</a></div><div class="ttdoc">Specializations for integer values (uses long long int)</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8h_source.html#l00006">IntValue.h:6</a></div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassIntValue_html_a89967cafbdeb21362336067b772808c7"><div class="ttname"><a href="classIntValue.html#a89967cafbdeb21362336067b772808c7">IntValue::GetValue</a></div><div class="ttdeci">const long long int &amp; GetValue() const</div><div class="ttdoc">Will return the raw value.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00025">IntValue.cpp:25</a></div></div>
<div class="ttc" id="aclassIntValue_html_ac1174f807ce2c085f5a24baed4e3c1ba"><div class="ttname"><a href="classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba">IntValue::IntValue</a></div><div class="ttdeci">IntValue(const long long int &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00005">IntValue.cpp:5</a></div></div>
<div class="ttc" id="aclassIntValue_html_a45514417be35da78376822a0dd50f488"><div class="ttname"><a href="classIntValue.html#a45514417be35da78376822a0dd50f488">IntValue::~IntValue</a></div><div class="ttdeci">~IntValue() override</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8h_source.html#l00010">IntValue.h:10</a></div></div>
<div class="ttc" id="aclassIntValue_html_a163f21536fa49491aa0ae03c8091344a"><div class="ttname"><a href="classIntValue.html#a163f21536fa49491aa0ae03c8091344a">IntValue::GetInt32</a></div><div class="ttdeci">int GetInt32() const override</div><div class="ttdoc">Will return the data as an int.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00047">IntValue.cpp:47</a></div></div>
<div class="ttc" id="aclassIntValue_html_a5ceb2030e8a2a665953fdd4f1715e6a5"><div class="ttname"><a href="classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5">IntValue::GetFloat64</a></div><div class="ttdeci">long double GetFloat64() const override</div><div class="ttdoc">Will return the data as a long double.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00052">IntValue.cpp:52</a></div></div>
<div class="ttc" id="aclassIntValue_html_a3631e3b16f010889e942c0c0f72d403c"><div class="ttname"><a href="classIntValue.html#a3631e3b16f010889e942c0c0f72d403c">IntValue::GetString</a></div><div class="ttdeci">std::string GetString() const override</div><div class="ttdoc">Will return the data as a string.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00062">IntValue.cpp:62</a></div></div>
<div class="ttc" id="aclassIntValue_html_aa599004242b27f8f3e246b88742b034e"><div class="ttname"><a href="classIntValue.html#aa599004242b27f8f3e246b88742b034e">IntValue::Deepcopy</a></div><div class="ttdeci">Value * Deepcopy() const override</div><div class="ttdoc">Will return a deeopopy of this object.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00013">IntValue.cpp:13</a></div></div>
<div class="ttc" id="aclassIntValue_html_acc74ba6070a516a4bcad10bb113d6fa2"><div class="ttname"><a href="classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2">IntValue::GetList</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetList() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00070">IntValue.cpp:70</a></div></div>
<div class="ttc" id="aclassIntValue_html_ae0643023dfd56eafe2e3da5a4ba13080"><div class="ttname"><a href="classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080">IntValue::GetInt64</a></div><div class="ttdeci">long long int GetInt64() const override</div><div class="ttdoc">Will return the data as a long long int.</div><div class="ttdef"><b>Definition:</b> <a href="IntValue_8cpp_source.html#l00042">IntValue.cpp:42</a></div></div>
<div class="ttc" id="aValue_8h_html"><div class="ttname"><a href="Value_8h.html">Value.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

110
docs/ListValue_8cpp.html Normal file
View File

@ -0,0 +1,110 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/ListValue.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ListValue.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="ListValue_8h_source.html">ListValue.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="HazelnuppException_8h_source.html">HazelnuppException.h</a>&quot;</code><br />
<code>#include &lt;sstream&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ListValue.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="ListValue_8cpp__incl.png" border="0" usemap="#Hazelnupp_2ListValue_8cpp" alt=""/></div>
<map name="Hazelnupp_2ListValue_8cpp" id="Hazelnupp_2ListValue_8cpp">
<area shape="rect" title=" " alt="" coords="277,5,458,32"/>
<area shape="rect" href="ListValue_8h.html" title=" " alt="" coords="166,80,259,107"/>
<area shape="rect" href="HazelnuppException_8h.html" title=" " alt="" coords="284,80,451,107"/>
<area shape="rect" title=" " alt="" coords="475,80,550,107"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="136,155,207,181"/>
<area shape="rect" title=" " alt="" coords="224,229,287,256"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" title=" " alt="" coords="124,229,200,256"/>
<area shape="rect" title=" " alt="" coords="324,155,411,181"/>
</map>
</div>
</div>
<p><a href="ListValue_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,11 @@
<map id="Hazelnupp/ListValue.cpp" name="Hazelnupp/ListValue.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="277,5,458,32"/>
<area shape="rect" id="node2" href="$ListValue_8h.html" title=" " alt="" coords="166,80,259,107"/>
<area shape="rect" id="node7" href="$HazelnuppException_8h.html" title=" " alt="" coords="284,80,451,107"/>
<area shape="rect" id="node9" title=" " alt="" coords="475,80,550,107"/>
<area shape="rect" id="node3" href="$Value_8h.html" title=" " alt="" coords="136,155,207,181"/>
<area shape="rect" id="node6" title=" " alt="" coords="224,229,287,256"/>
<area shape="rect" id="node4" href="$DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" id="node5" title=" " alt="" coords="124,229,200,256"/>
<area shape="rect" id="node8" title=" " alt="" coords="324,155,411,181"/>
</map>

View File

@ -0,0 +1 @@
12fd1618e97deaecd680b70f119f5cac

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,204 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/ListValue.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ListValue.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="ListValue_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ListValue_8h.html">ListValue.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="HazelnuppException_8h.html">HazelnuppException.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="classListValue.html#a6082aaa506b31496720a168da8ab2708"> 5</a></span>&#160;<a class="code" href="classListValue.html#a6082aaa506b31496720a168da8ab2708">ListValue::ListValue</a>() :</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; <a class="code" href="classValue.html">Value</a>(<a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a>::<a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">LIST</a>)</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;}</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="classListValue.html#a91f1450f299d46b3301774a6b4eb6c18"> 11</a></span>&#160;<a class="code" href="classListValue.html#a91f1450f299d46b3301774a6b4eb6c18">ListValue::~ListValue</a>()</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;{</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classValue.html">Value</a>* val : value)</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keyword">delete</span> val;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; value.clear();</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;}</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="classListValue.html#a51c89ff315026b03d908345c6f58169d"> 21</a></span>&#160;<a class="code" href="classValue.html">Value</a>* <a class="code" href="classListValue.html#a51c89ff315026b03d908345c6f58169d">ListValue::Deepcopy</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <a class="code" href="classListValue.html">ListValue</a>* newList = <span class="keyword">new</span> <a class="code" href="classListValue.html#a6082aaa506b31496720a168da8ab2708">ListValue</a>();</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classValue.html">Value</a>* val : value)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; newList-&gt;<a class="code" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">AddValue</a>(val);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">return</span> newList;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;}</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41"> 31</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">ListValue::AddValue</a>(<span class="keyword">const</span> <a class="code" href="classValue.html">Value</a>* value)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; this-&gt;value.emplace_back(value-&gt;<a class="code" href="classValue.html#a54439631b2c5b933c03baf65836838fc">Deepcopy</a>());</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;}</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classListValue.html#a7907ae7433e4011157f1b31dd5339702"> 37</a></span>&#160;<span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classListValue.html#a7907ae7433e4011157f1b31dd5339702">ListValue::GetValue</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;}</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classListValue.html#a5b1f8af329e48c5469fee16634b7889c"> 42</a></span>&#160;std::string <a class="code" href="classListValue.html#a5b1f8af329e48c5469fee16634b7889c">ListValue::GetAsOsString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; std::stringstream ss;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; ss &lt;&lt; <span class="stringliteral">&quot;ListValue: [&quot;</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classValue.html">Value</a>* val : value)</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; ss &lt;&lt; *val;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (val != value.back())</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; ss &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; ss &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> ss.str();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classListValue.html#a5d92ff2b9a1fa92fbc303ac4d07765d0"> 60</a></span>&#160;ListValue::operator std::vector&lt;Value*&gt;()<span class="keyword"> const</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995"> 67</a></span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995">ListValue::GetInt64</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7"> 72</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7">ListValue::GetInt32</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classListValue.html#a571178db1c9d23f6c685ea8898dbb60e"> 77</a></span>&#160;<span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="classListValue.html#a571178db1c9d23f6c685ea8898dbb60e">ListValue::GetFloat64</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classListValue.html#a637fec02ed7f7325554e494fc7cd4e86"> 82</a></span>&#160;<span class="keywordtype">double</span> <a class="code" href="classListValue.html#a637fec02ed7f7325554e494fc7cd4e86">ListValue::GetFloat32</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classListValue.html#aeaf80c07236045a77d72349ebcfc3b89"> 87</a></span>&#160;std::string <a class="code" href="classListValue.html#aeaf80c07236045a77d72349ebcfc3b89">ListValue::GetString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a>();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f"> 92</a></span>&#160;<span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f">ListValue::GetList</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aHazelnuppException_8h_html"><div class="ttname"><a href="HazelnuppException_8h.html">HazelnuppException.h</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27b"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></div><div class="ttdeci">DATA_TYPE</div><div class="ttdoc">The different data types a paramater can be.</div><div class="ttdef"><b>Definition:</b> <a href="DataType_8h_source.html#l00005">DataType.h:5</a></div></div>
<div class="ttc" id="aclassListValue_html_af8787d266aa353d3f96e2c76cce76c41"><div class="ttname"><a href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">ListValue::AddValue</a></div><div class="ttdeci">void AddValue(const Value *value)</div><div class="ttdoc">Will add this value to the list.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00031">ListValue.cpp:31</a></div></div>
<div class="ttc" id="aclassListValue_html"><div class="ttname"><a href="classListValue.html">ListValue</a></div><div class="ttdoc">Specializations for list values (uses std::vector&lt;Value*&gt;)</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8h_source.html#l00007">ListValue.h:7</a></div></div>
<div class="ttc" id="aclassListValue_html_a91f1450f299d46b3301774a6b4eb6c18"><div class="ttname"><a href="classListValue.html#a91f1450f299d46b3301774a6b4eb6c18">ListValue::~ListValue</a></div><div class="ttdeci">~ListValue() override</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00011">ListValue.cpp:11</a></div></div>
<div class="ttc" id="aclassListValue_html_a637fec02ed7f7325554e494fc7cd4e86"><div class="ttname"><a href="classListValue.html#a637fec02ed7f7325554e494fc7cd4e86">ListValue::GetFloat32</a></div><div class="ttdeci">double GetFloat32() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00082">ListValue.cpp:82</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a">DATA_TYPE::LIST</a></div><div class="ttdeci">@ LIST</div></div>
<div class="ttc" id="aclassListValue_html_a6082aaa506b31496720a168da8ab2708"><div class="ttname"><a href="classListValue.html#a6082aaa506b31496720a168da8ab2708">ListValue::ListValue</a></div><div class="ttdeci">ListValue()</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00005">ListValue.cpp:5</a></div></div>
<div class="ttc" id="aclassListValue_html_a51c89ff315026b03d908345c6f58169d"><div class="ttname"><a href="classListValue.html#a51c89ff315026b03d908345c6f58169d">ListValue::Deepcopy</a></div><div class="ttdeci">Value * Deepcopy() const override</div><div class="ttdoc">Will return a deeopopy of this object.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00021">ListValue.cpp:21</a></div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassValue_html_a54439631b2c5b933c03baf65836838fc"><div class="ttname"><a href="classValue.html#a54439631b2c5b933c03baf65836838fc">Value::Deepcopy</a></div><div class="ttdeci">virtual Value * Deepcopy() const =0</div><div class="ttdoc">Will return a deeopopy of this object.</div></div>
<div class="ttc" id="aclassListValue_html_a571178db1c9d23f6c685ea8898dbb60e"><div class="ttname"><a href="classListValue.html#a571178db1c9d23f6c685ea8898dbb60e">ListValue::GetFloat64</a></div><div class="ttdeci">long double GetFloat64() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00077">ListValue.cpp:77</a></div></div>
<div class="ttc" id="aclassHazelnuppValueNotConvertibleException_html"><div class="ttname"><a href="classHazelnuppValueNotConvertibleException.html">HazelnuppValueNotConvertibleException</a></div><div class="ttdoc">Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...</div><div class="ttdef"><b>Definition:</b> <a href="HazelnuppException_8h_source.html#l00033">HazelnuppException.h:33</a></div></div>
<div class="ttc" id="aclassListValue_html_ad578d9088c0375cd9b9c6658e5d9ba1f"><div class="ttname"><a href="classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f">ListValue::GetList</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetList() const override</div><div class="ttdoc">Will return this values list.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00092">ListValue.cpp:92</a></div></div>
<div class="ttc" id="aListValue_8h_html"><div class="ttname"><a href="ListValue_8h.html">ListValue.h</a></div></div>
<div class="ttc" id="aclassListValue_html_a5b1f8af329e48c5469fee16634b7889c"><div class="ttname"><a href="classListValue.html#a5b1f8af329e48c5469fee16634b7889c">ListValue::GetAsOsString</a></div><div class="ttdeci">std::string GetAsOsString() const override</div><div class="ttdoc">Will return a string suitable for an std::ostream;.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00042">ListValue.cpp:42</a></div></div>
<div class="ttc" id="aclassListValue_html_a9a7a1161ddeb3e56eaafee5f10f75995"><div class="ttname"><a href="classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995">ListValue::GetInt64</a></div><div class="ttdeci">long long int GetInt64() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00067">ListValue.cpp:67</a></div></div>
<div class="ttc" id="aclassListValue_html_a7907ae7433e4011157f1b31dd5339702"><div class="ttname"><a href="classListValue.html#a7907ae7433e4011157f1b31dd5339702">ListValue::GetValue</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetValue() const</div><div class="ttdoc">Will return the raw value.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00037">ListValue.cpp:37</a></div></div>
<div class="ttc" id="aclassListValue_html_a565c2b86fcfb3a13de29e59d95a358e7"><div class="ttname"><a href="classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7">ListValue::GetInt32</a></div><div class="ttdeci">int GetInt32() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00072">ListValue.cpp:72</a></div></div>
<div class="ttc" id="aclassListValue_html_aeaf80c07236045a77d72349ebcfc3b89"><div class="ttname"><a href="classListValue.html#aeaf80c07236045a77d72349ebcfc3b89">ListValue::GetString</a></div><div class="ttdeci">std::string GetString() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00087">ListValue.cpp:87</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

124
docs/ListValue_8h.html Normal file
View File

@ -0,0 +1,124 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/ListValue.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">ListValue.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="Value_8h_source.html">Value.h</a>&quot;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ListValue.h:</div>
<div class="dyncontent">
<div class="center"><img src="ListValue_8h__incl.png" border="0" usemap="#Hazelnupp_2ListValue_8h" alt=""/></div>
<map name="Hazelnupp_2ListValue_8h" id="Hazelnupp_2ListValue_8h">
<area shape="rect" title=" " alt="" coords="124,5,291,32"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="136,80,207,107"/>
<area shape="rect" title=" " alt="" coords="224,155,287,181"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,155,100,181"/>
<area shape="rect" title=" " alt="" coords="124,155,200,181"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="ListValue_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2ListValue_8hdep" alt=""/></div>
<map name="Hazelnupp_2ListValue_8hdep" id="Hazelnupp_2ListValue_8hdep">
<area shape="rect" title=" " alt="" coords="123,5,289,32"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" href="ListValue_8cpp.html" title=" " alt="" coords="221,80,402,107"/>
</map>
</div>
</div>
<p><a href="ListValue_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classListValue.html">ListValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specializations for list values (uses std::vector&lt;Value*&gt;) <a href="classListValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,5 @@
<map id="Hazelnupp/ListValue.h" name="Hazelnupp/ListValue.h">
<area shape="rect" id="node1" title=" " alt="" coords="123,5,289,32"/>
<area shape="rect" id="node2" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="5,80,196,107"/>
<area shape="rect" id="node3" href="$ListValue_8cpp.html" title=" " alt="" coords="221,80,402,107"/>
</map>

View File

@ -0,0 +1 @@
802f41af52b697b82dc77a4af0f62c8c

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,7 @@
<map id="Hazelnupp/ListValue.h" name="Hazelnupp/ListValue.h">
<area shape="rect" id="node1" title=" " alt="" coords="124,5,291,32"/>
<area shape="rect" id="node2" href="$Value_8h.html" title=" " alt="" coords="136,80,207,107"/>
<area shape="rect" id="node5" title=" " alt="" coords="224,155,287,181"/>
<area shape="rect" id="node3" href="$DataType_8h.html" title=" " alt="" coords="5,155,100,181"/>
<area shape="rect" id="node4" title=" " alt="" coords="124,155,200,181"/>
</map>

View File

@ -0,0 +1 @@
1f357c8bbe0826b683d0428f992ad690

BIN
docs/ListValue_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,137 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/ListValue.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ListValue.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ListValue_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Value_8h.html">Value.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="classListValue.html"> 7</a></span>&#160;<span class="keyword">class </span><a class="code" href="classListValue.html">ListValue</a> : <span class="keyword">public</span> <a class="code" href="classValue.html">Value</a></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;{</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="classListValue.html#a6082aaa506b31496720a168da8ab2708">ListValue</a>();</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <a class="code" href="classListValue.html#a91f1450f299d46b3301774a6b4eb6c18">~ListValue</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <a class="code" href="classValue.html">Value</a>* <a class="code" href="classListValue.html#a51c89ff315026b03d908345c6f58169d">Deepcopy</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; std::string <a class="code" href="classListValue.html#a5b1f8af329e48c5469fee16634b7889c">GetAsOsString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">AddValue</a>(<span class="keyword">const</span> <a class="code" href="classValue.html">Value</a>* value);</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classListValue.html#a7907ae7433e4011157f1b31dd5339702">GetValue</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">operator</span> std::vector&lt;Value*&gt;() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> <a class="code" href="classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995">GetInt64</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7">GetInt32</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">long</span> <span class="keywordtype">double</span> <a class="code" href="classListValue.html#a571178db1c9d23f6c685ea8898dbb60e">GetFloat64</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classListValue.html#a637fec02ed7f7325554e494fc7cd4e86">GetFloat32</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; std::string <a class="code" href="classListValue.html#aeaf80c07236045a77d72349ebcfc3b89">GetString</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">const</span> std::vector&lt;Value*&gt;&amp; <a class="code" href="classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f">GetList</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; std::vector&lt;Value*&gt; value;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassListValue_html_af8787d266aa353d3f96e2c76cce76c41"><div class="ttname"><a href="classListValue.html#af8787d266aa353d3f96e2c76cce76c41">ListValue::AddValue</a></div><div class="ttdeci">void AddValue(const Value *value)</div><div class="ttdoc">Will add this value to the list.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00031">ListValue.cpp:31</a></div></div>
<div class="ttc" id="aclassListValue_html"><div class="ttname"><a href="classListValue.html">ListValue</a></div><div class="ttdoc">Specializations for list values (uses std::vector&lt;Value*&gt;)</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8h_source.html#l00007">ListValue.h:7</a></div></div>
<div class="ttc" id="aclassListValue_html_a91f1450f299d46b3301774a6b4eb6c18"><div class="ttname"><a href="classListValue.html#a91f1450f299d46b3301774a6b4eb6c18">ListValue::~ListValue</a></div><div class="ttdeci">~ListValue() override</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00011">ListValue.cpp:11</a></div></div>
<div class="ttc" id="aclassListValue_html_a637fec02ed7f7325554e494fc7cd4e86"><div class="ttname"><a href="classListValue.html#a637fec02ed7f7325554e494fc7cd4e86">ListValue::GetFloat32</a></div><div class="ttdeci">double GetFloat32() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00082">ListValue.cpp:82</a></div></div>
<div class="ttc" id="aclassListValue_html_a6082aaa506b31496720a168da8ab2708"><div class="ttname"><a href="classListValue.html#a6082aaa506b31496720a168da8ab2708">ListValue::ListValue</a></div><div class="ttdeci">ListValue()</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00005">ListValue.cpp:5</a></div></div>
<div class="ttc" id="aclassListValue_html_a51c89ff315026b03d908345c6f58169d"><div class="ttname"><a href="classListValue.html#a51c89ff315026b03d908345c6f58169d">ListValue::Deepcopy</a></div><div class="ttdeci">Value * Deepcopy() const override</div><div class="ttdoc">Will return a deeopopy of this object.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00021">ListValue.cpp:21</a></div></div>
<div class="ttc" id="aclassValue_html"><div class="ttname"><a href="classValue.html">Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00008">Value.h:8</a></div></div>
<div class="ttc" id="aclassListValue_html_a571178db1c9d23f6c685ea8898dbb60e"><div class="ttname"><a href="classListValue.html#a571178db1c9d23f6c685ea8898dbb60e">ListValue::GetFloat64</a></div><div class="ttdeci">long double GetFloat64() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00077">ListValue.cpp:77</a></div></div>
<div class="ttc" id="aclassListValue_html_ad578d9088c0375cd9b9c6658e5d9ba1f"><div class="ttname"><a href="classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f">ListValue::GetList</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetList() const override</div><div class="ttdoc">Will return this values list.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00092">ListValue.cpp:92</a></div></div>
<div class="ttc" id="aclassListValue_html_a5b1f8af329e48c5469fee16634b7889c"><div class="ttname"><a href="classListValue.html#a5b1f8af329e48c5469fee16634b7889c">ListValue::GetAsOsString</a></div><div class="ttdeci">std::string GetAsOsString() const override</div><div class="ttdoc">Will return a string suitable for an std::ostream;.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00042">ListValue.cpp:42</a></div></div>
<div class="ttc" id="aclassListValue_html_a9a7a1161ddeb3e56eaafee5f10f75995"><div class="ttname"><a href="classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995">ListValue::GetInt64</a></div><div class="ttdeci">long long int GetInt64() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00067">ListValue.cpp:67</a></div></div>
<div class="ttc" id="aclassListValue_html_a7907ae7433e4011157f1b31dd5339702"><div class="ttname"><a href="classListValue.html#a7907ae7433e4011157f1b31dd5339702">ListValue::GetValue</a></div><div class="ttdeci">const std::vector&lt; Value * &gt; &amp; GetValue() const</div><div class="ttdoc">Will return the raw value.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00037">ListValue.cpp:37</a></div></div>
<div class="ttc" id="aclassListValue_html_a565c2b86fcfb3a13de29e59d95a358e7"><div class="ttname"><a href="classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7">ListValue::GetInt32</a></div><div class="ttdeci">int GetInt32() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00072">ListValue.cpp:72</a></div></div>
<div class="ttc" id="aclassListValue_html_aeaf80c07236045a77d72349ebcfc3b89"><div class="ttname"><a href="classListValue.html#aeaf80c07236045a77d72349ebcfc3b89">ListValue::GetString</a></div><div class="ttdeci">std::string GetString() const override</div><div class="ttdoc">Throws HazelnuppValueNotConvertibleException.</div><div class="ttdef"><b>Definition:</b> <a href="ListValue_8cpp_source.html#l00087">ListValue.cpp:87</a></div></div>
<div class="ttc" id="aValue_8h_html"><div class="ttname"><a href="Value_8h.html">Value.h</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/ParamConstraint.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">ParamConstraint.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="DataType_8h_source.html">DataType.h</a>&quot;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ParamConstraint.h:</div>
<div class="dyncontent">
<div class="center"><img src="ParamConstraint_8h__incl.png" border="0" usemap="#Hazelnupp_2ParamConstraint_8h" alt=""/></div>
<map name="Hazelnupp_2ParamConstraint_8h" id="Hazelnupp_2ParamConstraint_8h">
<area shape="rect" title=" " alt="" coords="47,5,261,32"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,80,100,107"/>
<area shape="rect" title=" " alt="" coords="125,80,183,107"/>
<area shape="rect" title=" " alt="" coords="208,80,271,107"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="ParamConstraint_8h__dep__incl.png" border="0" usemap="#Hazelnupp_2ParamConstraint_8hdep" alt=""/></div>
<map name="Hazelnupp_2ParamConstraint_8hdep" id="Hazelnupp_2ParamConstraint_8hdep">
<area shape="rect" title=" " alt="" coords="92,5,307,32"/>
<area shape="rect" href="Hazelnupp_8h.html" title=" " alt="" coords="111,80,287,107"/>
<area shape="rect" href="Hazelnupp_8cpp.html" title=" " alt="" coords="5,155,196,181"/>
<area shape="rect" href="main_8cpp.html" title=" " alt="" coords="221,155,375,181"/>
</map>
</div>
</div>
<p><a href="ParamConstraint_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structParamConstraint.html">ParamConstraint</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,6 @@
<map id="Hazelnupp/ParamConstraint.h" name="Hazelnupp/ParamConstraint.h">
<area shape="rect" id="node1" title=" " alt="" coords="92,5,307,32"/>
<area shape="rect" id="node2" href="$Hazelnupp_8h.html" title=" " alt="" coords="111,80,287,107"/>
<area shape="rect" id="node3" href="$Hazelnupp_8cpp.html" title=" " alt="" coords="5,155,196,181"/>
<area shape="rect" id="node4" href="$main_8cpp.html" title=" " alt="" coords="221,155,375,181"/>
</map>

View File

@ -0,0 +1 @@
8f1eb59f86ed8a0013eb1f57ade7c0a6

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -0,0 +1,6 @@
<map id="Hazelnupp/ParamConstraint.h" name="Hazelnupp/ParamConstraint.h">
<area shape="rect" id="node1" title=" " alt="" coords="47,5,261,32"/>
<area shape="rect" id="node2" href="$DataType_8h.html" title=" " alt="" coords="5,80,100,107"/>
<area shape="rect" id="node3" title=" " alt="" coords="125,80,183,107"/>
<area shape="rect" id="node4" title=" " alt="" coords="208,80,271,107"/>
</map>

View File

@ -0,0 +1 @@
112e8f880b838c8ff96327d435079d1f

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,153 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/ParamConstraint.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ParamConstraint.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ParamConstraint_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DataType_8h.html">DataType.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="structParamConstraint.html"> 6</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structParamConstraint.html">ParamConstraint</a></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="structParamConstraint.html#ae0ce64f2f0928d602b6f6117ff34d155">ParamConstraint</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c"> 14</a></span>&#160; <span class="keyword">static</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a> <a class="code" href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">Require</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a>, <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; <a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a> = {}, <span class="keywordtype">bool</span> <a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a> = <span class="keyword">true</span>)</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="structParamConstraint.html">ParamConstraint</a> pc;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; pc.<a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a> = <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; pc.<a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a> = <a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a>;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; pc.<a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a> = <a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a>;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">return</span> pc;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; }</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5"> 25</a></span>&#160; <span class="keyword">static</span> <a class="code" href="structParamConstraint.html">ParamConstraint</a> <a class="code" href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">TypeSafety</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a> <a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a>, <span class="keywordtype">bool</span> <a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a> = <span class="keyword">true</span>)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="structParamConstraint.html">ParamConstraint</a> pc;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; pc.<a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a> = <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; pc.<a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a> = <a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; pc.<a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> = <a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> pc;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; }</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structParamConstraint.html#a93783114c6f374b77479a283c4aadf05"> 36</a></span>&#160; <a class="code" href="structParamConstraint.html#a93783114c6f374b77479a283c4aadf05">ParamConstraint</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a>, <span class="keywordtype">bool</span> <a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a>, <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a> <a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a>, <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; <a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a>, <span class="keywordtype">bool</span> <a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a>)</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; :</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a> { <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a> },</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a> { <a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a> },</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> { <a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> },</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a> { <a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a> },</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a>{ <a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a> }</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; }</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648"> 48</a></span>&#160; std::string <a class="code" href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">key</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2"> 52</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">constrainType</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a"> 55</a></span>&#160; <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a> <a class="code" href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">wantedType</a> = <a class="code" href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff"> 60</a></span>&#160; std::vector&lt;std::string&gt; <a class="code" href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">defaultValue</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d"> 64</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">required</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;};</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aDataType_8h_html"><div class="ttname"><a href="DataType_8h.html">DataType.h</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27b"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b">DATA_TYPE</a></div><div class="ttdeci">DATA_TYPE</div><div class="ttdoc">The different data types a paramater can be.</div><div class="ttdef"><b>Definition:</b> <a href="DataType_8h_source.html#l00005">DataType.h:5</a></div></div>
<div class="ttc" id="aDataType_8h_html_aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb"><div class="ttname"><a href="DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb">DATA_TYPE::VOID</a></div><div class="ttdeci">@ VOID</div></div>
<div class="ttc" id="astructParamConstraint_html_a5c451d5ade6c548af7de0a978964a09d"><div class="ttname"><a href="structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d">ParamConstraint::required</a></div><div class="ttdeci">bool required</div><div class="ttdoc">If set to true, and no default value set, an error will be produced if this parameter is not supplied...</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00064">ParamConstraint.h:64</a></div></div>
<div class="ttc" id="astructParamConstraint_html_a93783114c6f374b77479a283c4aadf05"><div class="ttname"><a href="structParamConstraint.html#a93783114c6f374b77479a283c4aadf05">ParamConstraint::ParamConstraint</a></div><div class="ttdeci">ParamConstraint(const std::string &amp;key, bool constrainType, DATA_TYPE wantedType, const std::vector&lt; std::string &gt; &amp;defaultValue, bool required)</div><div class="ttdoc">Whole constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00036">ParamConstraint.h:36</a></div></div>
<div class="ttc" id="astructParamConstraint_html_a3ecbccdce5be2529712e0866725c7cd5"><div class="ttname"><a href="structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5">ParamConstraint::TypeSafety</a></div><div class="ttdeci">static ParamConstraint TypeSafety(const std::string &amp;key, DATA_TYPE wantedType, bool constrainType=true)</div><div class="ttdoc">Constructs a type-safety constraint.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00025">ParamConstraint.h:25</a></div></div>
<div class="ttc" id="astructParamConstraint_html_af2832fa007abaabc05784d5f978aeeff"><div class="ttname"><a href="structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff">ParamConstraint::defaultValue</a></div><div class="ttdeci">std::vector&lt; std::string &gt; defaultValue</div><div class="ttdoc">The default value for this parameter.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00060">ParamConstraint.h:60</a></div></div>
<div class="ttc" id="astructParamConstraint_html_a40e47d3ad68cadbe785551c4aaad828c"><div class="ttname"><a href="structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c">ParamConstraint::Require</a></div><div class="ttdeci">static ParamConstraint Require(const std::string &amp;key, const std::vector&lt; std::string &gt; &amp;defaultValue={}, bool required=true)</div><div class="ttdoc">Constructs a require constraint.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00014">ParamConstraint.h:14</a></div></div>
<div class="ttc" id="astructParamConstraint_html_aa3bd052bbaebdc795f0922731c666648"><div class="ttname"><a href="structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648">ParamConstraint::key</a></div><div class="ttdeci">std::string key</div><div class="ttdoc">The key of the parameter to constrain.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00048">ParamConstraint.h:48</a></div></div>
<div class="ttc" id="astructParamConstraint_html_ab35444d2957439bc52c2056a829145a2"><div class="ttname"><a href="structParamConstraint.html#ab35444d2957439bc52c2056a829145a2">ParamConstraint::constrainType</a></div><div class="ttdeci">bool constrainType</div><div class="ttdoc">Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00052">ParamConstraint.h:52</a></div></div>
<div class="ttc" id="astructParamConstraint_html_ae0ce64f2f0928d602b6f6117ff34d155"><div class="ttname"><a href="structParamConstraint.html#ae0ce64f2f0928d602b6f6117ff34d155">ParamConstraint::ParamConstraint</a></div><div class="ttdeci">ParamConstraint()=default</div><div class="ttdoc">Empty constructor.</div></div>
<div class="ttc" id="astructParamConstraint_html_ae8875e054a074241f0c0bf3328a0915a"><div class="ttname"><a href="structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a">ParamConstraint::wantedType</a></div><div class="ttdeci">DATA_TYPE wantedType</div><div class="ttdoc">Constrain the parameter to this value. Requires constrainType to be set to true.</div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00055">ParamConstraint.h:55</a></div></div>
<div class="ttc" id="astructParamConstraint_html"><div class="ttname"><a href="structParamConstraint.html">ParamConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00006">ParamConstraint.h:6</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

106
docs/Parameter_8cpp.html Normal file
View File

@ -0,0 +1,106 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Parameter.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Parameter.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="Parameter_8h_source.html">Parameter.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for Parameter.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="Parameter_8cpp__incl.png" border="0" usemap="#Hazelnupp_2Parameter_8cpp" alt=""/></div>
<map name="Hazelnupp_2Parameter_8cpp" id="Hazelnupp_2Parameter_8cpp">
<area shape="rect" title=" " alt="" coords="149,5,337,32"/>
<area shape="rect" href="Parameter_8h.html" title=" " alt="" coords="193,80,293,107"/>
<area shape="rect" href="Value_8h.html" title=" " alt="" coords="129,155,200,181"/>
<area shape="rect" title=" " alt="" coords="211,229,287,256"/>
<area shape="rect" title=" " alt="" coords="281,155,339,181"/>
<area shape="rect" href="DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" title=" " alt="" coords="124,229,187,256"/>
</map>
</div>
</div>
<p><a href="Parameter_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,9 @@
<map id="Hazelnupp/Parameter.cpp" name="Hazelnupp/Parameter.cpp">
<area shape="rect" id="node1" title=" " alt="" coords="149,5,337,32"/>
<area shape="rect" id="node2" href="$Parameter_8h.html" title=" " alt="" coords="193,80,293,107"/>
<area shape="rect" id="node3" href="$Value_8h.html" title=" " alt="" coords="129,155,200,181"/>
<area shape="rect" id="node5" title=" " alt="" coords="211,229,287,256"/>
<area shape="rect" id="node7" title=" " alt="" coords="281,155,339,181"/>
<area shape="rect" id="node4" href="$DataType_8h.html" title=" " alt="" coords="5,229,100,256"/>
<area shape="rect" id="node6" title=" " alt="" coords="124,229,187,256"/>
</map>

View File

@ -0,0 +1 @@
89588e764ed7b9e840675c3b459cf4bc

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,121 @@
<!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=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Leonetienne/Hazelnupp: Hazelnupp/Parameter.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="nupp_small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Leonetienne/Hazelnupp
</div>
<div id="projectbrief">Simple, easy to use, command line parameter interface</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_0202e1e26df2e040f4dc3d434eecf04c.html">Hazelnupp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Parameter.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Parameter_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Parameter_8h.html">Parameter.h</a>&quot;</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div>
<div class="line"><a name="l00003"></a><span class="lineno"><a class="line" href="classParameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c"> 3</a></span>&#160;<a class="code" href="classParameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c">Parameter::Parameter</a>(<span class="keyword">const</span> std::string&amp; key, const ::Value* value)</div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; :</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; key{ key }</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;{</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; this-&gt;value = value-&gt;Deepcopy();</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;}</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="classParameter.html#a6e2ade42a712f1d3675653329266e42d"> 11</a></span>&#160;<a class="code" href="classParameter.html#a6e2ade42a712f1d3675653329266e42d">Parameter::~Parameter</a>()</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;{</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keyword">delete</span> value;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; value = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;}</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6"> 19</a></span>&#160;<span class="keyword">const</span> std::string&amp; <a class="code" href="classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6">Parameter::Key</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">return</span> key;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;}</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classParameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af"> 24</a></span>&#160;const ::Value* <a class="code" href="classParameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af">Parameter::GetValue</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword"></span>{</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassParameter_html_a6e2ade42a712f1d3675653329266e42d"><div class="ttname"><a href="classParameter.html#a6e2ade42a712f1d3675653329266e42d">Parameter::~Parameter</a></div><div class="ttdeci">~Parameter()</div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8cpp_source.html#l00011">Parameter.cpp:11</a></div></div>
<div class="ttc" id="aclassParameter_html_a7acd68ce06eec06ab286b1a062f9c8d6"><div class="ttname"><a href="classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6">Parameter::Key</a></div><div class="ttdeci">const std::string &amp; Key() const</div><div class="ttdoc">Will return the key of this parameter.</div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8cpp_source.html#l00019">Parameter.cpp:19</a></div></div>
<div class="ttc" id="aclassParameter_html_a4ab8ba022bde4a0175e5ceb8e3a598af"><div class="ttname"><a href="classParameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af">Parameter::GetValue</a></div><div class="ttdeci">const Value * GetValue() const</div><div class="ttdoc">Will return the value of this parameter.</div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8cpp_source.html#l00024">Parameter.cpp:24</a></div></div>
<div class="ttc" id="aParameter_8h_html"><div class="ttname"><a href="Parameter_8h.html">Parameter.h</a></div></div>
<div class="ttc" id="aclassParameter_html_a0c9faefc26cc9d8c886ef71e39e2f90c"><div class="ttname"><a href="classParameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c">Parameter::Parameter</a></div><div class="ttdeci">Parameter(const std::string &amp;key, const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8cpp_source.html#l00003">Parameter.cpp:3</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 3 2021 12:21:21 for Leonetienne/Hazelnupp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More