Hazelnupp/docs/Hazelnupp_8h_source.html
2021-06-04 02:44:09 +02:00

207 lines
31 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="l00007"></a><span class="lineno"> 7</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceHazelnp.html">Hazelnp</a></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;{</div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="classHazelnp_1_1Hazelnupp.html"> 11</a></span>&#160; <span class="keyword">class </span><a class="code" href="classHazelnp_1_1Hazelnupp.html">Hazelnupp</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">public</span>:</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <a class="code" href="classHazelnp_1_1Hazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnupp</a>();</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="classHazelnp_1_1Hazelnupp.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="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <a class="code" href="classHazelnp_1_1Hazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be">~Hazelnupp</a>();</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="classHazelnp_1_1Hazelnupp.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="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::string&amp; <a class="code" href="classHazelnp_1_1Hazelnupp.html#af6bb41fb079131f8b91fe981f63f7469">GetExecutableName</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="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">const</span> <a class="code" href="classHazelnp_1_1Value.html">Value</a>&amp; <a class="code" href="classHazelnp_1_1Hazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5">operator[]</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a8b79a79d40420ae748c108c691111040">HasParam</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</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; <span class="comment">// Abbreviations</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.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="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnp_1_1Hazelnupp.html#a579e78129f19cb9f17a6075366ababe5">GetAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev) <span class="keyword">const</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="keywordtype">bool</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a46df7d396fb56e30351c9a7308792200">HasAbbreviation</a>(<span class="keyword">const</span> std::string&amp; abbrev) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a5175869b025468324cefad487081e91d">ClearAbbreviations</a>();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">RegisterConstraints</a>(<span class="keyword">const</span> std::vector&lt;ParamConstraint&gt;&amp; constraints);</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"> 48</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a3970b74583def49c6632fe08a4499809">ClearConstraints</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"> 52</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a17845623ca686caa51f3c8254e85551e">SetCrashOnFail</a>(<span class="keywordtype">bool</span> crashOnFail);</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"> 55</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7">GetCrashOnFail</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a60e0a51cd92014a87e44322158e45872">SetCatchHelp</a>(<span class="keywordtype">bool</span> catchHelp);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a05a3d112bcc00cdeade76f3643ba9e94">GetCatchHelp</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a037f84b32c7a2420c387dd46445291ac">SetBriefDescription</a>(<span class="keyword">const</span> std::string&amp; description);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classHazelnp_1_1Hazelnupp.html#a1d32c3047a8c58650476d1ae7e9fb582">GetBriefDescription</a>();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a17883db87e97caad4a0f114f9f850f5e">RegisterDescription</a>(<span class="keyword">const</span> std::string&amp; parameter, <span class="keyword">const</span> std::string&amp; description);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> std::string <a class="code" href="classHazelnp_1_1Hazelnupp.html#a6637dc4b78871d7ecba1f2e1c8c28fb0">GetDescription</a>(<span class="keyword">const</span> std::string&amp; parameter) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classHazelnp_1_1Hazelnupp.html#a8490e0b10feee0b815c043e7cad454cb">ClearDescription</a>(<span class="keyword">const</span> std::string&amp; parameter);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; std::string <a class="code" href="classHazelnp_1_1Hazelnupp.html#a7b1bf5e700d8a0d8e90c5750e54749de">GenerateDocumentation</a>() <span class="keyword">const</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="keyword">private</span>:</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</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="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">void</span> ExpandAbbreviations();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; std::size_t ParseNextParameter(<span class="keyword">const</span> std::size_t parIndex, <a class="code" href="classHazelnp_1_1Parameter.html">Parameter</a>*&amp; out_Par);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classHazelnp_1_1Value.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="structHazelnp_1_1ParamConstraint.html">ParamConstraint</a>* constraint = <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">void</span> ApplyConstraints();</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">const</span> <a class="code" href="structHazelnp_1_1ParamConstraint.html">ParamConstraint</a>* GetConstraintForKey(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</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; std::string executableName; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; std::unordered_map&lt;std::string, Parameter*&gt; parameters;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; std::unordered_map&lt;std::string, std::string&gt; abbreviations;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; std::unordered_map&lt;std::string, ParamConstraint&gt; constraints;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; std::vector&lt;std::string&gt; rawArgs;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; std::unordered_map&lt;std::string, std::string&gt; parameterDescriptions;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::string briefDescription;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">bool</span> catchHelp = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> crashOnFail = <span class="keyword">true</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;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="anamespaceHazelnp_html"><div class="ttname"><a href="namespaceHazelnp.html">Hazelnp</a></div><div class="ttdef"><b>Definition:</b> <a href="DataType_8h_source.html#l00004">DataType.h:4</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a1d32c3047a8c58650476d1ae7e9fb582"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a1d32c3047a8c58650476d1ae7e9fb582">Hazelnp::Hazelnupp::GetBriefDescription</a></div><div class="ttdeci">const std::string &amp; GetBriefDescription()</div><div class="ttdoc">Returns the brief description of the application to be automatically added to the documentation.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00312">Hazelnupp.cpp:312</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a3970b74583def49c6632fe08a4499809"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a3970b74583def49c6632fe08a4499809">Hazelnp::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#l00542">Hazelnupp.cpp:542</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_af6bb41fb079131f8b91fe981f63f7469"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#af6bb41fb079131f8b91fe981f63f7469">Hazelnp::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#l00485">Hazelnupp.cpp:485</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a7b1bf5e700d8a0d8e90c5750e54749de"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a7b1bf5e700d8a0d8e90c5750e54749de">Hazelnp::Hazelnupp::GenerateDocumentation</a></div><div class="ttdeci">std::string GenerateDocumentation() const</div><div class="ttdoc">Will generate a text-based documentation suited to show the user, for example on help.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00342">Hazelnupp.cpp:342</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a25f8810d24d647b6a57e2dd00ead42be"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be">Hazelnp::Hazelnupp::~Hazelnupp</a></div><div class="ttdeci">~Hazelnupp()</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00025">Hazelnupp.cpp:25</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a419ccdc6bad00b0fc3e17ed9b41f5dc5"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5">Hazelnp::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#l00490">Hazelnupp.cpp:490</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html">Hazelnp::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#l00011">Hazelnupp.h:11</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a20ac0ebcfd4df7f320a7bbcaeed6e54d"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d">Hazelnp::Hazelnupp::Hazelnupp</a></div><div class="ttdeci">Hazelnupp()</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00014">Hazelnupp.cpp:14</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a5175869b025468324cefad487081e91d"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a5175869b025468324cefad487081e91d">Hazelnp::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#l00515">Hazelnupp.cpp:515</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a037f84b32c7a2420c387dd46445291ac"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a037f84b32c7a2420c387dd46445291ac">Hazelnp::Hazelnupp::SetBriefDescription</a></div><div class="ttdeci">void SetBriefDescription(const std::string &amp;description)</div><div class="ttdoc">Sets a brief description of the application to be automatically added to the documentation.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00306">Hazelnupp.cpp:306</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Value_html"><div class="ttname"><a href="classHazelnp_1_1Value.html">Hazelnp::Value</a></div><div class="ttdoc">Abstract class for values.</div><div class="ttdef"><b>Definition:</b> <a href="Value_8h_source.html#l00010">Value.h:10</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="aclassHazelnp_1_1Hazelnupp_html_a1b810cc7db2cf64aecaa70c686b14bb7"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7">Hazelnp::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#l00290">Hazelnupp.cpp:290</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a60e0a51cd92014a87e44322158e45872"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a60e0a51cd92014a87e44322158e45872">Hazelnp::Hazelnupp::SetCatchHelp</a></div><div class="ttdeci">void SetCatchHelp(bool catchHelp)</div><div class="ttdoc">Sets whether the Hazelnupp should automatically catch the help parameter, print the parameter docume...</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00295">Hazelnupp.cpp:295</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a05a3d112bcc00cdeade76f3643ba9e94"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a05a3d112bcc00cdeade76f3643ba9e94">Hazelnp::Hazelnupp::GetCatchHelp</a></div><div class="ttdeci">bool GetCatchHelp() const</div><div class="ttdoc">Retruns whether the Hazelnupp should automatically catch the help parameter, print the parameter doc...</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00301">Hazelnupp.cpp:301</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Parameter_html"><div class="ttname"><a href="classHazelnp_1_1Parameter.html">Hazelnp::Parameter</a></div><div class="ttdef"><b>Definition:</b> <a href="Parameter_8h_source.html#l00008">Parameter.h:8</a></div></div>
<div class="ttc" id="astructHazelnp_1_1ParamConstraint_html"><div class="ttname"><a href="structHazelnp_1_1ParamConstraint.html">Hazelnp::ParamConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="ParamConstraint_8h_source.html#l00008">ParamConstraint.h:8</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a8b79a79d40420ae748c108c691111040"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a8b79a79d40420ae748c108c691111040">Hazelnp::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#l00164">Hazelnupp.cpp:164</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a1ccb88faca1a8deb77161888479c300b"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a1ccb88faca1a8deb77161888479c300b">Hazelnp::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#l00035">Hazelnupp.cpp:35</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_abf1e0ebf0207ca2327fcde81f7372124"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124">Hazelnp::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#l00499">Hazelnupp.cpp:499</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a8a3331836b9ea1f920e77f6d332019d5"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5">Hazelnp::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#l00521">Hazelnupp.cpp:521</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a579e78129f19cb9f17a6075366ababe5"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a579e78129f19cb9f17a6075366ababe5">Hazelnp::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#l00505">Hazelnupp.cpp:505</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="aclassHazelnp_1_1Hazelnupp_html_a8490e0b10feee0b815c043e7cad454cb"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a8490e0b10feee0b815c043e7cad454cb">Hazelnp::Hazelnupp::ClearDescription</a></div><div class="ttdeci">void ClearDescription(const std::string &amp;parameter)</div><div class="ttdoc">Will delete the description of a parameter if it exists.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00335">Hazelnupp.cpp:335</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a46df7d396fb56e30351c9a7308792200"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a46df7d396fb56e30351c9a7308792200">Hazelnp::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#l00510">Hazelnupp.cpp:510</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a17845623ca686caa51f3c8254e85551e"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a17845623ca686caa51f3c8254e85551e">Hazelnp::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#l00548">Hazelnupp.cpp:548</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a17883db87e97caad4a0f114f9f850f5e"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a17883db87e97caad4a0f114f9f850f5e">Hazelnp::Hazelnupp::RegisterDescription</a></div><div class="ttdeci">void RegisterDescription(const std::string &amp;parameter, const std::string &amp;description)</div><div class="ttdoc">Willl register a short description for a parameter.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00317">Hazelnupp.cpp:317</a></div></div>
<div class="ttc" id="aclassHazelnp_1_1Hazelnupp_html_a6637dc4b78871d7ecba1f2e1c8c28fb0"><div class="ttname"><a href="classHazelnp_1_1Hazelnupp.html#a6637dc4b78871d7ecba1f2e1c8c28fb0">Hazelnp::Hazelnupp::GetDescription</a></div><div class="ttdeci">const std::string GetDescription(const std::string &amp;parameter) const</div><div class="ttdoc">Will return a short description for a parameter, if it exists.</div><div class="ttdef"><b>Definition:</b> <a href="Hazelnupp_8cpp_source.html#l00323">Hazelnupp.cpp:323</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jun 4 2021 02:43:55 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>