2021-06-03 12:22:37 +02:00
<!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&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&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 >   < span class = "preprocessor" > #pragma once</ span ></ div >
< div class = "line" >< a name = "l00002" ></ a >< span class = "lineno" > 2</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "DataType_8h.html" > DataType.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00003" ></ a >< span class = "lineno" > 3</ span >   < span class = "preprocessor" > #include < string> </ span ></ div >
< div class = "line" >< a name = "l00004" ></ a >< span class = "lineno" > 4</ span >   < span class = "preprocessor" > #include < vector> </ span ></ div >
< div class = "line" >< a name = "l00005" ></ a >< span class = "lineno" > 5</ span >   </ div >
2021-06-03 13:43:05 +02:00
< div class = "line" >< a name = "l00006" ></ a >< span class = "lineno" > 6</ span >   < span class = "keyword" > namespace </ span >< a class = "code" href = "namespaceHazelnp.html" > Hazelnp</ a ></ div >
2021-06-03 12:22:37 +02:00
< div class = "line" >< a name = "l00007" ></ a >< span class = "lineno" > 7</ span >   {</ div >
2021-06-03 13:43:05 +02:00
< div class = "line" >< a name = "l00008" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html" > 8</ a ></ span >   < span class = "keyword" > struct </ span >< a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a ></ div >
< div class = "line" >< a name = "l00009" ></ a >< span class = "lineno" > 9</ span >   {</ div >
2021-06-04 02:48:22 +02:00
< div class = "line" >< a name = "l00010" ></ a >< span class = "lineno" > 10</ span >   < span class = "keyword" > public</ span > :< span class = "comment" ></ span ></ div >
< div class = "line" >< a name = "l00011" ></ a >< span class = "lineno" > 11</ span >   < span class = "comment" > //! Empty constructor</ span ></ div >
< div class = "line" >< a name = "l00012" ></ a >< span class = "lineno" > 12</ span >   < span class = "comment" ></ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#afa9e1b4378c9fa1b4a7b5b792c062cbe" > ParamConstraint</ a > () = < span class = "keywordflow" > default</ span > ;</ div >
< div class = "line" >< a name = "l00013" ></ a >< span class = "lineno" > 13</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00014" ></ a >< span class = "lineno" > 14</ span >   < span class = "comment" > //! Constructs a require constraint. </ span ></ div >
< div class = "line" >< a name = "l00015" ></ a >< span class = "lineno" > 15</ span >   < span class = "comment" > //! Think of the default value like of a list ofparameters. Like {" --width" , " 800" }</ span ></ div >
2021-09-05 12:12:03 +02:00
< div class = "line" >< a name = "l00016" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a8a7e5d7ddffc3cfbb54ac6823dd7eded" > 16</ a ></ span >   < span class = "comment" ></ span > < span class = "keyword" > static</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8a7e5d7ddffc3cfbb54ac6823dd7eded" > Require</ a > (< span class = "keyword" > const</ span > std::initializer_list< std::string>& < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > = {}, < span class = "keywordtype" > bool</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > = < span class = "keyword" > true</ span > )</ div >
2021-06-03 13:43:05 +02:00
< div class = "line" >< a name = "l00017" ></ a >< span class = "lineno" > 17</ span >   {</ div >
< div class = "line" >< a name = "l00018" ></ a >< span class = "lineno" > 18</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > pc;</ div >
2021-06-05 12:40:24 +02:00
< div class = "line" >< a name = "l00019" ></ a >< span class = "lineno" > 19</ span >   pc.< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > = < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > ;</ div >
< div class = "line" >< a name = "l00020" ></ a >< span class = "lineno" > 20</ span >   pc.< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > = < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > ;</ div >
< div class = "line" >< a name = "l00021" ></ a >< span class = "lineno" > 21</ span >   </ div >
< div class = "line" >< a name = "l00022" ></ a >< span class = "lineno" > 22</ span >   < span class = "keywordflow" > return</ span > pc;</ div >
< div class = "line" >< a name = "l00023" ></ a >< span class = "lineno" > 23</ span >   }</ div >
< div class = "line" >< a name = "l00024" ></ a >< span class = "lineno" > 24</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00025" ></ a >< span class = "lineno" > 25</ span >   < span class = "comment" > //! Constructs a type-safety constraint</ span ></ div >
2021-06-06 15:32:19 +02:00
< div class = "line" >< a name = "l00026" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a7df61dbc8dbaff4bc596fdf2c0532d5b" > 26</ a ></ span >   < span class = "comment" ></ span > < span class = "keyword" > static</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a7df61dbc8dbaff4bc596fdf2c0532d5b" > TypeSafety</ a > (< a class = "code" href = "namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803f" > DATA_TYPE</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > , < span class = "keywordtype" > bool</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > = < span class = "keyword" > true</ span > )</ div >
2021-06-05 12:40:24 +02:00
< div class = "line" >< a name = "l00027" ></ a >< span class = "lineno" > 27</ span >   {</ div >
< div class = "line" >< a name = "l00028" ></ a >< span class = "lineno" > 28</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > pc;</ div >
< div class = "line" >< a name = "l00029" ></ a >< span class = "lineno" > 29</ span >   pc.< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > = < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > ;</ div >
2021-06-06 15:32:19 +02:00
< div class = "line" >< a name = "l00030" ></ a >< span class = "lineno" > 30</ span >   pc.< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > = < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > ;</ div >
2021-06-05 12:40:24 +02:00
< div class = "line" >< a name = "l00031" ></ a >< span class = "lineno" > 31</ span >   </ div >
< div class = "line" >< a name = "l00032" ></ a >< span class = "lineno" > 32</ span >   < span class = "keywordflow" > return</ span > pc;</ div >
< div class = "line" >< a name = "l00033" ></ a >< span class = "lineno" > 33</ span >   }</ div >
< div class = "line" >< a name = "l00034" ></ a >< span class = "lineno" > 34</ span >   < span class = "comment" ></ span > </ div >
2021-09-05 12:12:03 +02:00
< div class = "line" >< a name = "l00035" ></ a >< span class = "lineno" > 35</ span >   < span class = "comment" > //! Constructs an incompatibility constraint. </ span ></ div >
< div class = "line" >< a name = "l00036" ></ a >< span class = "lineno" > 36</ span >   < span class = "comment" > //! This means, that the following parameters are NOT compatible with this one and will throw an error if passed together</ span ></ div >
< div class = "line" >< a name = "l00037" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a20fa41460106b5327a51114f8a187871" > 37</ a ></ span >   < span class = "comment" ></ span > < span class = "keyword" > static</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a20fa41460106b5327a51114f8a187871" > Incompatibility</ a > (< span class = "keyword" > const</ span > std::initializer_list< std::string>& < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > )</ div >
< div class = "line" >< a name = "l00038" ></ a >< span class = "lineno" > 38</ span >   {</ div >
< div class = "line" >< a name = "l00039" ></ a >< span class = "lineno" > 39</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > pc;</ div >
< div class = "line" >< a name = "l00040" ></ a >< span class = "lineno" > 40</ span >   pc.< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > = < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > ;</ div >
< div class = "line" >< a name = "l00041" ></ a >< span class = "lineno" > 41</ span >   </ div >
< div class = "line" >< a name = "l00042" ></ a >< span class = "lineno" > 42</ span >   < span class = "keywordflow" > return</ span > pc;</ div >
< div class = "line" >< a name = "l00043" ></ a >< span class = "lineno" > 43</ span >   }</ div >
< div class = "line" >< a name = "l00044" ></ a >< span class = "lineno" > 44</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00045" ></ a >< span class = "lineno" > 45</ span >   < span class = "comment" > //! Constructs an incompatibility constraint. </ span ></ div >
< div class = "line" >< a name = "l00046" ></ a >< span class = "lineno" > 46</ span >   < span class = "comment" > //! This means, that the following parameters are NOT compatible with this one and will throw an error if passed together.</ span ></ div >
< div class = "line" >< a name = "l00047" ></ a >< span class = "lineno" > 47</ span >   < span class = "comment" > //! Syntactical-sugar proxy method that will convert the lonely string to an initializer list for you :3</ span ></ div >
< div class = "line" >< a name = "l00048" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a6bb383f8945fb99cbd2370fd9a4bc6fc" > 48</ a ></ span >   < span class = "comment" ></ span > < span class = "keyword" > static</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a6bb383f8945fb99cbd2370fd9a4bc6fc" > Incompatibility</ a > (< span class = "keyword" > const</ span > std::string& < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > )</ div >
< div class = "line" >< a name = "l00049" ></ a >< span class = "lineno" > 49</ span >   {</ div >
< div class = "line" >< a name = "l00050" ></ a >< span class = "lineno" > 50</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html" > ParamConstraint</ a > pc;</ div >
< div class = "line" >< a name = "l00051" ></ a >< span class = "lineno" > 51</ span >   pc.< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > = { < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > };</ div >
< div class = "line" >< a name = "l00052" ></ a >< span class = "lineno" > 52</ span >   </ div >
< div class = "line" >< a name = "l00053" ></ a >< span class = "lineno" > 53</ span >   < span class = "keywordflow" > return</ span > pc;</ div >
< div class = "line" >< a name = "l00054" ></ a >< span class = "lineno" > 54</ span >   }</ div >
< div class = "line" >< a name = "l00055" ></ a >< span class = "lineno" > 55</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00056" ></ a >< span class = "lineno" > 56</ span >   < span class = "comment" > //! Whole constructor</ span ></ div >
< div class = "line" >< a name = "l00057" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#aea39497a14939fa887c236ee1e755cb3" > 57</ a ></ span >   < span class = "comment" ></ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#aea39497a14939fa887c236ee1e755cb3" > ParamConstraint</ a > (< span class = "keywordtype" > bool</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > , < a class = "code" href = "namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803f" > DATA_TYPE</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > , < span class = "keyword" > const</ span > std::initializer_list< std::string>& < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > , < span class = "keywordtype" > bool</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > , < span class = "keyword" > const</ span > std::initializer_list< std::string>& < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > )</ div >
< div class = "line" >< a name = "l00058" ></ a >< span class = "lineno" > 58</ span >   :</ div >
< div class = "line" >< a name = "l00059" ></ a >< span class = "lineno" > 59</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > { < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > },</ div >
< div class = "line" >< a name = "l00060" ></ a >< span class = "lineno" > 60</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > { < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > },</ div >
< div class = "line" >< a name = "l00061" ></ a >< span class = "lineno" > 61</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > { < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > },</ div >
< div class = "line" >< a name = "l00062" ></ a >< span class = "lineno" > 62</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > { < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > },</ div >
< div class = "line" >< a name = "l00063" ></ a >< span class = "lineno" > 63</ span >   < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > {< a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > }</ div >
< div class = "line" >< a name = "l00064" ></ a >< span class = "lineno" > 64</ span >   {</ div >
< div class = "line" >< a name = "l00065" ></ a >< span class = "lineno" > 65</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00066" ></ a >< span class = "lineno" > 66</ span >   }</ div >
< div class = "line" >< a name = "l00067" ></ a >< span class = "lineno" > 67</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00068" ></ a >< span class = "lineno" > 68</ span >   < span class = "comment" > //! Should this parameter be forced to be of a certain type? </ span ></ div >
< div class = "line" >< a name = "l00069" ></ a >< span class = "lineno" > 69</ span >   < span class = "comment" > //! Remember to set `constrainTo` to the wanted type</ span ></ div >
< div class = "line" >< a name = "l00070" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > 70</ a ></ span >   < span class = "comment" ></ span > < span class = "keywordtype" > bool</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > constrainType</ a > = < span class = "keyword" > false</ span > ;</ div >
< div class = "line" >< a name = "l00071" ></ a >< span class = "lineno" > 71</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00072" ></ a >< span class = "lineno" > 72</ span >   < span class = "comment" > //! Constrain the parameter to this value. Requires `constrainType` to be set to true.</ span ></ div >
< div class = "line" >< a name = "l00073" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > 73</ a ></ span >   < span class = "comment" ></ span > < a class = "code" href = "namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803f" > DATA_TYPE</ a > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > requiredType</ a > = < a class = "code" href = "namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa6d0c9fc747131795e6e5d0c5119f12cb" > DATA_TYPE::VOID</ a > ;</ div >
< div class = "line" >< a name = "l00074" ></ a >< span class = "lineno" > 74</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00075" ></ a >< span class = "lineno" > 75</ span >   < span class = "comment" > //! The default value for this parameter. </ span ></ div >
< div class = "line" >< a name = "l00076" ></ a >< span class = "lineno" > 76</ span >   < span class = "comment" > //! Gets applied if this parameter was not given. </ span ></ div >
< div class = "line" >< a name = "l00077" ></ a >< span class = "lineno" > 77</ span >   < span class = "comment" > //! Think of this like a list of parameters. Like {" --width" , " 800" }</ span ></ div >
< div class = "line" >< a name = "l00078" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > 78</ a ></ span >   < span class = "comment" ></ span > std::vector< std::string> < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > defaultValue</ a > ;</ div >
< div class = "line" >< a name = "l00079" ></ a >< span class = "lineno" > 79</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00080" ></ a >< span class = "lineno" > 80</ span >   < span class = "comment" > //! If set to true, and no default value set,</ span ></ div >
< div class = "line" >< a name = "l00081" ></ a >< span class = "lineno" > 81</ span >   < span class = "comment" > //! an error will be produced if this parameter is not supplied by the user.</ span ></ div >
< div class = "line" >< a name = "l00082" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > 82</ a ></ span >   < span class = "comment" ></ span > < span class = "keywordtype" > bool</ span > < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > required</ a > = < span class = "keyword" > false</ span > ;</ div >
< div class = "line" >< a name = "l00083" ></ a >< span class = "lineno" > 83</ span >   < span class = "comment" ></ span > </ div >
< div class = "line" >< a name = "l00084" ></ a >< span class = "lineno" > 84</ span >   < span class = "comment" > //! Parameters that are incompatible with this parameter</ span ></ div >
< div class = "line" >< a name = "l00085" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > 85</ a ></ span >   < span class = "comment" ></ span > std::vector< std::string> < a class = "code" href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > incompatibleParameters</ a > ;</ div >
< div class = "line" >< a name = "l00086" ></ a >< span class = "lineno" > 86</ span >   </ div >
< div class = "line" >< a name = "l00087" ></ a >< span class = "lineno" > 87</ span >   < span class = "keyword" > private</ span > :< span class = "comment" ></ span ></ div >
< div class = "line" >< a name = "l00088" ></ a >< span class = "lineno" > 88</ span >   < span class = "comment" > //! The parameter this constraint is for.</ span ></ div >
< div class = "line" >< a name = "l00089" ></ a >< span class = "lineno" > 89</ span >   < span class = "comment" > //! This value is automatically set by Hazelnupp.</ span ></ div >
< div class = "line" >< a name = "l00090" ></ a >< span class = "lineno" > 90</ span >   < span class = "comment" ></ span > std::string key;</ div >
< div class = "line" >< a name = "l00091" ></ a >< span class = "lineno" > 91</ span >   </ div >
< div class = "line" >< a name = "l00092" ></ a >< span class = "lineno" >< a class = "line" href = "structHazelnp_1_1ParamConstraint.html#a01773a2aa9845fd639f63468586b67b0" > 92</ a ></ span >   < span class = "keyword" > friend</ span > < span class = "keyword" > class </ span >< a class = "code" href = "classHazelnp_1_1CmdArgsInterface.html" > CmdArgsInterface</ a > ;</ div >
< div class = "line" >< a name = "l00093" ></ a >< span class = "lineno" > 93</ span >   };</ div >
< div class = "line" >< a name = "l00094" ></ a >< span class = "lineno" > 94</ span >   }</ div >
2021-06-03 12:22:37 +02:00
</ div > <!-- fragment --> </ div > <!-- contents -->
2021-09-05 12:12:03 +02:00
< div class = "ttc" id = "anamespaceHazelnp_html" >< div class = "ttname" >< a href = "namespaceHazelnp.html" > Hazelnp</ a ></ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "CmdArgsInterface_8h_source.html#l00009" > CmdArgsInterface.h:9</ a ></ div ></ div >
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a8a7e5d7ddffc3cfbb54ac6823dd7eded" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a8a7e5d7ddffc3cfbb54ac6823dd7eded" > Hazelnp::ParamConstraint::Require</ a ></ div >< div class = "ttdeci" > static ParamConstraint Require(const std::initializer_list< std::string > & 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#l00016" > ParamConstraint.h:16</ a ></ div ></ div >
2021-06-03 12:22:37 +02:00
< div class = "ttc" id = "aDataType_8h_html" >< div class = "ttname" >< a href = "DataType_8h.html" > DataType.h</ a ></ div ></ div >
2021-09-05 12:12:03 +02:00
< div class = "ttc" id = "aclassHazelnp_1_1CmdArgsInterface_html" >< div class = "ttname" >< a href = "classHazelnp_1_1CmdArgsInterface.html" > Hazelnp::CmdArgsInterface</ a ></ div >< div class = "ttdoc" > The main class to interface with.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "CmdArgsInterface_8h_source.html#l00013" > CmdArgsInterface.h:13</ a ></ div ></ div >
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a6bb383f8945fb99cbd2370fd9a4bc6fc" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a6bb383f8945fb99cbd2370fd9a4bc6fc" > Hazelnp::ParamConstraint::Incompatibility</ a ></ div >< div class = "ttdeci" > static ParamConstraint Incompatibility(const std::string & incompatibleParameters)</ div >< div class = "ttdoc" > Constructs an incompatibility constraint.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "ParamConstraint_8h_source.html#l00048" > ParamConstraint.h:48</ a ></ div ></ div >
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a20fa41460106b5327a51114f8a187871" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a20fa41460106b5327a51114f8a187871" > Hazelnp::ParamConstraint::Incompatibility</ a ></ div >< div class = "ttdeci" > static ParamConstraint Incompatibility(const std::initializer_list< std::string > & incompatibleParameters)</ div >< div class = "ttdoc" > Constructs an incompatibility constraint.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "ParamConstraint_8h_source.html#l00037" > ParamConstraint.h:37</ a ></ div ></ div >
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_aea39497a14939fa887c236ee1e755cb3" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#aea39497a14939fa887c236ee1e755cb3" > Hazelnp::ParamConstraint::ParamConstraint</ a ></ div >< div class = "ttdeci" > ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > & defaultValue, bool required, const std::initializer_list< std::string > & incompatibleParameters)</ div >< div class = "ttdoc" > Whole constructor.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "ParamConstraint_8h_source.html#l00057" > ParamConstraint.h:57</ a ></ div ></ div >
2021-06-03 13:43:05 +02:00
< div class = "ttc" id = "anamespaceHazelnp_html_a07b61ac22ce9cd97eceebdf9487f803fa6d0c9fc747131795e6e5d0c5119f12cb" >< div class = "ttname" >< a href = "namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa6d0c9fc747131795e6e5d0c5119f12cb" > Hazelnp::DATA_TYPE::VOID</ a ></ div >< div class = "ttdeci" > @ VOID</ div ></ div >
2021-09-05 12:12:03 +02:00
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a203b6fd1b9788a529aa0f15fe94fd24a" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a" > Hazelnp::ParamConstraint::requiredType</ a ></ div >< div class = "ttdeci" > DATA_TYPE requiredType</ 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#l00073" > ParamConstraint.h:73</ a ></ div ></ div >
2021-06-03 13:43:05 +02:00
< 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 >
2021-09-05 12:12:03 +02:00
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a88a4a4c215723259c71853992d09acac" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac" > Hazelnp::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#l00070" > ParamConstraint.h:70</ a ></ div ></ div >
2021-06-03 13:43:05 +02:00
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_afa9e1b4378c9fa1b4a7b5b792c062cbe" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#afa9e1b4378c9fa1b4a7b5b792c062cbe" > Hazelnp::ParamConstraint::ParamConstraint</ a ></ div >< div class = "ttdeci" > ParamConstraint()=default</ div >< div class = "ttdoc" > Empty constructor.</ div ></ div >
2021-09-05 12:12:03 +02:00
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_acf45734665238b51483f77701039108c" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c" > Hazelnp::ParamConstraint::incompatibleParameters</ a ></ div >< div class = "ttdeci" > std::vector< std::string > incompatibleParameters</ div >< div class = "ttdoc" > Parameters that are incompatible with this parameter.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "ParamConstraint_8h_source.html#l00085" > ParamConstraint.h:85</ a ></ div ></ div >
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a8ccf3ebecc2d9d0105e181814af2943c" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c" > Hazelnp::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#l00082" > ParamConstraint.h:82</ a ></ div ></ div >
2021-06-06 15:32:19 +02:00
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a7df61dbc8dbaff4bc596fdf2c0532d5b" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a7df61dbc8dbaff4bc596fdf2c0532d5b" > Hazelnp::ParamConstraint::TypeSafety</ a ></ div >< div class = "ttdeci" > static ParamConstraint TypeSafety(DATA_TYPE requiredType, 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#l00026" > ParamConstraint.h:26</ a ></ div ></ div >
2021-06-04 02:30:58 +02:00
< div class = "ttc" id = "anamespaceHazelnp_html_a07b61ac22ce9cd97eceebdf9487f803f" >< div class = "ttname" >< a href = "namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803f" > Hazelnp::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#l00008" > DataType.h:8</ a ></ div ></ div >
2021-09-05 12:12:03 +02:00
< div class = "ttc" id = "astructHazelnp_1_1ParamConstraint_html_a1d3a627b3a23fe0db3a368e51dbcd5a7" >< div class = "ttname" >< a href = "structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7" > Hazelnp::ParamConstraint::defaultValue</ a ></ div >< div class = "ttdeci" > std::vector< std::string > defaultValue</ div >< div class = "ttdoc" > The default value for this parameter.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "ParamConstraint_8h_source.html#l00078" > ParamConstraint.h:78</ a ></ div ></ div >
2021-06-03 12:22:37 +02:00
<!-- start footer part -->
< hr class = "footer" />< address class = "footer" >< small >
2021-09-05 12:12:03 +02:00
Generated on Sun Sep 5 2021 12:11:50 for Leonetienne/Hazelnupp by   < a href = "http://www.doxygen.org/index.html" >
2021-06-03 12:22:37 +02:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" />
</ a > 1.8.17
</ small ></ address >
</ body >
</ html >