diff --git a/docs/Abbreviations_8cpp.html b/docs/Abbreviations_8cpp.html deleted file mode 100644 index 7d3bbee..0000000 --- a/docs/Abbreviations_8cpp.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Abbreviations.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Namespaces | -Functions
-
-
Abbreviations.cpp File Reference
-
-
-
#include "CppUnitTest.h"
-#include "helper.h"
-#include "../Hazelnupp/Hazelnupp.h"
-
-Include dependency graph for Abbreviations.cpp:
-
-
- - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Namespaces

 TestHazelnupp
 
- - - -

-Functions

 TestHazelnupp::TEST_CLASS (_Abbreviations)
 
-
- - - - diff --git a/docs/Abbreviations_8cpp__incl.map b/docs/Abbreviations_8cpp__incl.map deleted file mode 100644 index 3063684..0000000 --- a/docs/Abbreviations_8cpp__incl.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/docs/Abbreviations_8cpp__incl.md5 b/docs/Abbreviations_8cpp__incl.md5 deleted file mode 100644 index deb98ee..0000000 --- a/docs/Abbreviations_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -104f1fc85c82d50f566784751bc221be \ No newline at end of file diff --git a/docs/Abbreviations_8cpp__incl.png b/docs/Abbreviations_8cpp__incl.png deleted file mode 100644 index 3ec6bc2..0000000 Binary files a/docs/Abbreviations_8cpp__incl.png and /dev/null differ diff --git a/docs/Abbreviations_8cpp_source.html b/docs/Abbreviations_8cpp_source.html deleted file mode 100644 index 5cc7ecb..0000000 --- a/docs/Abbreviations_8cpp_source.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Abbreviations.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Abbreviations.cpp
-
-
-Go to the documentation of this file.
1 #include "CppUnitTest.h"
-
2 #include "helper.h"
-
3 #include "../Hazelnupp/Hazelnupp.h"
-
4 
-
5 using namespace Microsoft::VisualStudio::CppUnitTestFramework;
-
6 
-
7 namespace TestHazelnupp
-
8 {
-
9  TEST_CLASS(_Abbreviations)
-
10  {
-
11  public:
-
12 
-
13  // Tests keys exist after parsing
-
14  TEST_METHOD(KeysExist)
-
15  {
-
16  // Setup
-
17  ArgList args({
-
18  "/my/fake/path/wahoo.out",
-
19  "-ms",
-
20  "billybob",
-
21  "-mv",
-
22  "-mf",
-
23  "-23.199",
-
24  "-mi",
-
25  "199",
-
26  "-mnl",
-
27  "1",
-
28  "2",
-
29  "3",
-
30  "4",
-
31  "-msl",
-
32  "apple",
-
33  "banana",
-
34  "pumpkin",
-
35  });
-
36 
-
37  // Exercise
-
38  Hazelnupp nupp;
-
39  nupp.SetCrashOnFail(false);
-
40 
-
41  nupp.RegisterAbbreviation("-ms", "--my_string");
-
42  nupp.RegisterAbbreviation("-mv", "--my_void");
-
43  nupp.RegisterAbbreviation("-mi", "--my_int");
-
44  nupp.RegisterAbbreviation("-mf", "--my_float");
-
45  nupp.RegisterAbbreviation("-mnl", "--my_num_list");
-
46  nupp.RegisterAbbreviation("-msl", "--my_str_list");
-
47 
-
48  nupp.Parse(C_Ify(args));
-
49 
-
50  // Verify
-
51  Assert::IsTrue(nupp.HasParam("--my_string"));
-
52  Assert::IsTrue(nupp.HasParam("--my_void"));
-
53  Assert::IsTrue(nupp.HasParam("--my_float"));
-
54  Assert::IsTrue(nupp.HasParam("--my_int"));
-
55  Assert::IsTrue(nupp.HasParam("--my_num_list"));
-
56  Assert::IsTrue(nupp.HasParam("--my_str_list"));
-
57 
-
58  return;
-
59  }
-
60 
-
61  // Tests keys are of the correct type after parsing
-
62  TEST_METHOD(CorrectType)
-
63  {
-
64  // Setup
-
65  ArgList args({
-
66  "/my/fake/path/wahoo.out",
-
67  "-ms",
-
68  "billybob",
-
69  "-mv",
-
70  "-mf",
-
71  "-23.199",
-
72  "-mi",
-
73  "199",
-
74  "-mnl",
-
75  "1",
-
76  "2",
-
77  "3",
-
78  "4",
-
79  "-msl",
-
80  "apple",
-
81  "banana",
-
82  "pumpkin",
-
83  });
-
84 
-
85  // Exercise
-
86  Hazelnupp nupp;
-
87  nupp.SetCrashOnFail(false);
-
88 
-
89  nupp.RegisterAbbreviation("-ms", "--my_string");
-
90  nupp.RegisterAbbreviation("-mv", "--my_void");
-
91  nupp.RegisterAbbreviation("-mi", "--my_int");
-
92  nupp.RegisterAbbreviation("-mf", "--my_float");
-
93  nupp.RegisterAbbreviation("-mnl", "--my_num_list");
-
94  nupp.RegisterAbbreviation("-msl", "--my_str_list");
-
95 
-
96  nupp.Parse(C_Ify(args));
-
97 
-
98  // Verify
-
99  Assert::IsTrue(nupp["--my_string"].GetDataType() == DATA_TYPE::STRING);
-
100  Assert::IsTrue(nupp["--my_void"].GetDataType() == DATA_TYPE::VOID);
-
101  Assert::IsTrue(nupp["--my_float"].GetDataType() == DATA_TYPE::FLOAT);
-
102  Assert::IsTrue(nupp["--my_int"].GetDataType() == DATA_TYPE::INT);
-
103  Assert::IsTrue(nupp["--my_num_list"].GetDataType() == DATA_TYPE::LIST);
-
104  Assert::IsTrue(nupp["--my_str_list"].GetDataType() == DATA_TYPE::LIST);
-
105 
-
106  return;
-
107  }
-
108 
-
109  // Tests keys have the correct value after parsing
-
110  TEST_METHOD(CorrectValues)
-
111  {
-
112  // Setup
-
113  ArgList args({
-
114  "/my/fake/path/wahoo.out",
-
115  "-ms",
-
116  "billybob",
-
117  "-mv",
-
118  "-mf",
-
119  "-23.199",
-
120  "-mi",
-
121  "199",
-
122  "-mnl",
-
123  "1",
-
124  "2",
-
125  "3",
-
126  "4",
-
127  "-msl",
-
128  "apple",
-
129  "banana",
-
130  "pumpkin",
-
131  });
-
132 
-
133  // Exercise
-
134  Hazelnupp nupp;
-
135  nupp.SetCrashOnFail(false);
-
136 
-
137  nupp.RegisterAbbreviation("-ms", "--my_string");
-
138  nupp.RegisterAbbreviation("-mv", "--my_void");
-
139  nupp.RegisterAbbreviation("-mi", "--my_int");
-
140  nupp.RegisterAbbreviation("-mf", "--my_float");
-
141  nupp.RegisterAbbreviation("-mnl", "--my_num_list");
-
142  nupp.RegisterAbbreviation("-msl", "--my_str_list");
-
143 
-
144  nupp.Parse(C_Ify(args));
-
145 
-
146  // Verify
-
147  Assert::AreEqual(nupp["--my_string"].GetString(), std::string("billybob"));
-
148  Assert::AreEqual(nupp["--my_float"].GetFloat32(), -23.199);
-
149  Assert::AreEqual(nupp["--my_int"].GetInt32(), 199);
-
150  Assert::AreEqual(nupp["--my_num_list"].GetList()[0]->GetInt32(), 1);
-
151  Assert::AreEqual(nupp["--my_num_list"].GetList()[1]->GetInt32(), 2);
-
152  Assert::AreEqual(nupp["--my_num_list"].GetList()[2]->GetInt32(), 3);
-
153  Assert::AreEqual(nupp["--my_num_list"].GetList()[3]->GetInt32(), 4);
-
154  Assert::AreEqual(nupp["--my_str_list"].GetList()[0]->GetString(), std::string("apple"));
-
155  Assert::AreEqual(nupp["--my_str_list"].GetList()[1]->GetString(), std::string("banana"));
-
156  Assert::AreEqual(nupp["--my_str_list"].GetList()[2]->GetString(), std::string("pumpkin"));
-
157 
-
158  return;
-
159  }
-
160  };
-
161 }
-
-
DATA_TYPE::VOID
@ VOID
-
DATA_TYPE::LIST
@ LIST
-
DATA_TYPE::FLOAT
@ FLOAT
-
TestHazelnupp
Definition: Abbreviations.cpp:7
-
TestHazelnupp::TEST_CLASS
TEST_CLASS(_Abbreviations)
Definition: Abbreviations.cpp:9
-
DATA_TYPE::INT
@ INT
-
C_Ify
#define C_Ify(vector)
Definition: helper.h:4
-
Hazelnupp::SetCrashOnFail
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: Hazelnupp.cpp:379
-
ArgList
std::vector< const char * > ArgList
Definition: helper.h:6
-
DATA_TYPE::STRING
@ STRING
-
Hazelnupp
The main class to interface with.
Definition: Hazelnupp.h:9
-
helper.h
- - - - diff --git a/docs/Basics_8cpp.html b/docs/Basics_8cpp.html deleted file mode 100644 index c863d6c..0000000 --- a/docs/Basics_8cpp.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Basics.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Namespaces | -Functions
-
-
Basics.cpp File Reference
-
-
-
#include "CppUnitTest.h"
-#include "helper.h"
-#include "../Hazelnupp/Hazelnupp.h"
-#include "../Hazelnupp/HazelnuppException.h"
-
-Include dependency graph for Basics.cpp:
-
-
- - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Namespaces

 TestHazelnupp
 
- - - -

-Functions

 TestHazelnupp::TEST_CLASS (_Basics)
 
-
- - - - diff --git a/docs/Basics_8cpp__incl.map b/docs/Basics_8cpp__incl.map deleted file mode 100644 index 26c89de..0000000 --- a/docs/Basics_8cpp__incl.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/docs/Basics_8cpp__incl.md5 b/docs/Basics_8cpp__incl.md5 deleted file mode 100644 index 233d371..0000000 --- a/docs/Basics_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7637a15ad95d868d907efc4ded5bee64 \ No newline at end of file diff --git a/docs/Basics_8cpp__incl.png b/docs/Basics_8cpp__incl.png deleted file mode 100644 index 7992a5a..0000000 Binary files a/docs/Basics_8cpp__incl.png and /dev/null differ diff --git a/docs/Basics_8cpp_source.html b/docs/Basics_8cpp_source.html deleted file mode 100644 index c5e4d08..0000000 --- a/docs/Basics_8cpp_source.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Basics.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Basics.cpp
-
-
-Go to the documentation of this file.
1 #include "CppUnitTest.h"
-
2 #include "helper.h"
-
3 #include "../Hazelnupp/Hazelnupp.h"
-
4 #include "../Hazelnupp/HazelnuppException.h"
-
5 
-
6 using namespace Microsoft::VisualStudio::CppUnitTestFramework;
-
7 
-
8 namespace TestHazelnupp
-
9 {
-
10  TEST_CLASS(_Basics)
-
11  {
-
12  public:
-
13 
-
14  // Tests the application path gets exported correctly
-
15  TEST_METHOD(ApplicationPathWorks)
-
16  {
-
17  // Setup
-
18  ArgList args({
-
19  "/my/fake/path/wahoo.out"
-
20  });
-
21 
-
22  // Exercise
-
23  Hazelnupp nupp(C_Ify(args));
-
24  nupp.SetCrashOnFail(false);
-
25 
-
26  // Verify
-
27  Assert::AreEqual(std::string("/my/fake/path/wahoo.out"), nupp.GetExecutableName());
-
28 
-
29  return;
-
30  }
-
31 
-
32  // Edgecase test: We only have one param.
-
33  TEST_METHOD(Only_One_Param)
-
34  {
-
35  // Setup
-
36  ArgList args({
-
37  "/my/fake/path/wahoo.out",
-
38  "--dummy"
-
39  });
-
40 
-
41  // Exercise
-
42  Hazelnupp nupp(C_Ify(args));
-
43  nupp.SetCrashOnFail(false);
-
44 
-
45  // Verify
-
46  Assert::IsTrue(nupp.HasParam("--dummy"));
-
47 
-
48  return;
-
49  }
-
50 
-
51  // Edgecase test: We begin with an actual value, instead of an argument.
-
52  TEST_METHOD(Weird_Case_1)
-
53  {
-
54  // Setup
-
55  ArgList args({
-
56  "/my/fake/path/wahoo.out",
-
57  "dummy"
-
58  });
-
59 
-
60  // Exercise
-
61  Hazelnupp nupp(C_Ify(args));
-
62  nupp.SetCrashOnFail(false);
-
63 
-
64  // Verify (no exception)
-
65 
-
66  return;
-
67  }
-
68 
-
69  // Edgecase test: We begin with first an actual value, and then an argument.
-
70  TEST_METHOD(Weird_Case_2)
-
71  {
-
72  // Setup
-
73  ArgList args({
-
74  "/my/fake/path/wahoo.out",
-
75  "dummy",
-
76  "--dummy"
-
77  });
-
78 
-
79  // Exercise
-
80  Hazelnupp nupp(C_Ify(args));
-
81  nupp.SetCrashOnFail(false);
-
82 
-
83  // Verify
-
84  Assert::IsTrue(nupp.HasParam("--dummy"), L"Failed has-param");
-
85  Assert::IsTrue(nupp["--dummy"].GetDataType() == DATA_TYPE::VOID, L"Failed type");
-
86 
-
87  return;
-
88  }
-
89 
-
90  // Tests keys exist after parsing
-
91  TEST_METHOD(KeysExist)
-
92  {
-
93  // Setup
-
94  ArgList args({
-
95  "/my/fake/path/wahoo.out",
-
96  "--my_string",
-
97  "billybob",
-
98  "--my_void",
-
99  "--my_float",
-
100  "-23.199",
-
101  "--my_int",
-
102  "199",
-
103  "--my_num_list",
-
104  "1",
-
105  "2",
-
106  "3",
-
107  "4",
-
108  "--my_str_list",
-
109  "apple",
-
110  "banana",
-
111  "pumpkin",
-
112  });
-
113 
-
114  // Exercise
-
115  Hazelnupp nupp(C_Ify(args));
-
116  nupp.SetCrashOnFail(false);
-
117 
-
118  // Verify
-
119  Assert::IsTrue(nupp.HasParam("--my_string"));
-
120  Assert::IsTrue(nupp.HasParam("--my_void"));
-
121  Assert::IsTrue(nupp.HasParam("--my_float"));
-
122  Assert::IsTrue(nupp.HasParam("--my_int"));
-
123  Assert::IsTrue(nupp.HasParam("--my_num_list"));
-
124  Assert::IsTrue(nupp.HasParam("--my_str_list"));
-
125 
-
126  return;
-
127  }
-
128 
-
129  // Tests keys are of the correct type after parsing
-
130  TEST_METHOD(CorrectType)
-
131  {
-
132  // Setup
-
133  ArgList args({
-
134  "/my/fake/path/wahoo.out",
-
135  "--my_string",
-
136  "billybob",
-
137  "--my_void",
-
138  "--my_float",
-
139  "-23.199",
-
140  "--my_int",
-
141  "199",
-
142  "--my_num_list",
-
143  "1",
-
144  "2",
-
145  "3",
-
146  "4",
-
147  "--my_str_list",
-
148  "apple",
-
149  "banana",
-
150  "pumpkin",
-
151  });
-
152 
-
153  // Exercise
-
154  Hazelnupp nupp(C_Ify(args));
-
155  nupp.SetCrashOnFail(false);
-
156 
-
157  // Verify
-
158  Assert::IsTrue(nupp["--my_string"].GetDataType() == DATA_TYPE::STRING);
-
159  Assert::IsTrue(nupp["--my_void"].GetDataType() == DATA_TYPE::VOID);
-
160  Assert::IsTrue(nupp["--my_float"].GetDataType() == DATA_TYPE::FLOAT);
-
161  Assert::IsTrue(nupp["--my_int"].GetDataType() == DATA_TYPE::INT);
-
162  Assert::IsTrue(nupp["--my_num_list"].GetDataType() == DATA_TYPE::LIST);
-
163  Assert::IsTrue(nupp["--my_str_list"].GetDataType() == DATA_TYPE::LIST);
-
164 
-
165  return;
-
166  }
-
167 
-
168  // Tests keys have the correct value after parsing
-
169  TEST_METHOD(CorrectValues)
-
170  {
-
171  // Setup
-
172  ArgList args({
-
173  "/my/fake/path/wahoo.out",
-
174  "--my_string",
-
175  "billybob",
-
176  "--my_void",
-
177  "--my_float",
-
178  "-23.199",
-
179  "--my_int",
-
180  "199",
-
181  "--my_num_list",
-
182  "1",
-
183  "2",
-
184  "3",
-
185  "4",
-
186  "--my_str_list",
-
187  "apple",
-
188  "banana",
-
189  "pumpkin",
-
190  });
-
191 
-
192  // Exercise
-
193  Hazelnupp nupp(C_Ify(args));
-
194  nupp.SetCrashOnFail(false);
-
195 
-
196  // Verify
-
197  Assert::AreEqual(nupp["--my_string"].GetString(), std::string("billybob"));
-
198  Assert::AreEqual(nupp["--my_float"].GetFloat32(), -23.199);
-
199  Assert::AreEqual(nupp["--my_int"].GetInt32(), 199);
-
200  Assert::AreEqual(nupp["--my_num_list"].GetList()[0]->GetInt32(), 1);
-
201  Assert::AreEqual(nupp["--my_num_list"].GetList()[1]->GetInt32(), 2);
-
202  Assert::AreEqual(nupp["--my_num_list"].GetList()[2]->GetInt32(), 3);
-
203  Assert::AreEqual(nupp["--my_num_list"].GetList()[3]->GetInt32(), 4);
-
204  Assert::AreEqual(nupp["--my_str_list"].GetList()[0]->GetString(), std::string("apple"));
-
205  Assert::AreEqual(nupp["--my_str_list"].GetList()[1]->GetString(), std::string("banana"));
-
206  Assert::AreEqual(nupp["--my_str_list"].GetList()[2]->GetString(), std::string("pumpkin"));
-
207 
-
208  return;
-
209  }
-
210 
-
211  // Tests that an HazelnuppInvalidKeyException gets raised, if an invalid gey is tried to access
-
212  TEST_METHOD(Exception_On_Invalid_Key)
-
213  {
-
214  // Setup
-
215  ArgList args({
-
216  "/my/fake/path/wahoo.out",
-
217  "--my_string",
-
218  "billybob",
-
219  "--my_void",
-
220  "--my_float",
-
221  "-23.199",
-
222  "--my_int",
-
223  "199",
-
224  "--my_num_list",
-
225  "1",
-
226  "2",
-
227  "3",
-
228  "4",
-
229  "--my_str_list",
-
230  "apple",
-
231  "banana",
-
232  "pumpkin",
-
233  });
-
234 
-
235  Hazelnupp nupp(C_Ify(args));
-
236  nupp.SetCrashOnFail(false);
-
237 
-
238  // Exercise, Verify
-
239  Assert::ExpectException<HazelnuppInvalidKeyException>(
-
240  [args]
-
241  {
-
242  Hazelnupp nupp(C_Ify(args));
-
243  nupp["--borrnana"];
-
244  }
-
245  );
-
246 
-
247  return;
-
248  }
-
249  };
-
250 }
-
-
DATA_TYPE::VOID
@ VOID
-
DATA_TYPE::LIST
@ LIST
-
DATA_TYPE::FLOAT
@ FLOAT
-
TestHazelnupp
Definition: Abbreviations.cpp:7
-
TestHazelnupp::TEST_CLASS
TEST_CLASS(_Basics)
Definition: Basics.cpp:10
-
DATA_TYPE::INT
@ INT
-
C_Ify
#define C_Ify(vector)
Definition: helper.h:4
-
ArgList
std::vector< const char * > ArgList
Definition: helper.h:6
-
DATA_TYPE::STRING
@ STRING
-
Hazelnupp
The main class to interface with.
Definition: Hazelnupp.h:9
-
helper.h
- - - - diff --git a/docs/CmdArgsInterface_8cpp.html b/docs/CmdArgsInterface_8cpp.html deleted file mode 100644 index 1809b8b..0000000 --- a/docs/CmdArgsInterface_8cpp.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/CmdArgsInterface.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
CmdArgsInterface.cpp File Reference
-
-
-
#include "CmdArgsInterface.h"
-#include "VoidValue.h"
-#include "IntValue.h"
-#include "FloatValue.h"
-#include "StringValue.h"
-#include "ListValue.h"
-#include "HazelnuppException.h"
-#include "Placeholders.h"
-#include "StringTools.h"
-#include <iostream>
-#include <cstdlib>
-
-Include dependency graph for CmdArgsInterface.cpp:
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/CmdArgsInterface_8cpp__incl.map b/docs/CmdArgsInterface_8cpp__incl.map deleted file mode 100644 index d5a35e7..0000000 --- a/docs/CmdArgsInterface_8cpp__incl.map +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/CmdArgsInterface_8cpp__incl.md5 b/docs/CmdArgsInterface_8cpp__incl.md5 deleted file mode 100644 index dacd236..0000000 --- a/docs/CmdArgsInterface_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -48e8cf6b9c7c3f6e58426b78b0d50f5b \ No newline at end of file diff --git a/docs/CmdArgsInterface_8cpp__incl.png b/docs/CmdArgsInterface_8cpp__incl.png deleted file mode 100644 index 3e1c36e..0000000 Binary files a/docs/CmdArgsInterface_8cpp__incl.png and /dev/null differ diff --git a/docs/CmdArgsInterface_8cpp_source.html b/docs/CmdArgsInterface_8cpp_source.html deleted file mode 100644 index 2e56e63..0000000 --- a/docs/CmdArgsInterface_8cpp_source.html +++ /dev/null @@ -1,845 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/CmdArgsInterface.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
CmdArgsInterface.cpp
-
-
-Go to the documentation of this file.
1 #include "CmdArgsInterface.h"
-
2 #include "VoidValue.h"
-
3 #include "IntValue.h"
-
4 #include "FloatValue.h"
-
5 #include "StringValue.h"
-
6 #include "ListValue.h"
-
7 #include "HazelnuppException.h"
-
8 #include "Placeholders.h"
-
9 #include "StringTools.h"
-
10 #include <iostream>
-
11 #include <cstdlib>
-
12 
-
13 using namespace Hazelnp;
-
14 
- -
16 {
-
17  return;
-
18 }
-
19 
-
20 CmdArgsInterface::CmdArgsInterface(const int argc, const char* const* argv)
-
21 {
-
22  Parse(argc, argv);
-
23  return;
-
24 }
-
25 
- -
27 {
-
28  for (auto& it : parameters)
-
29  delete it.second;
-
30 
-
31  parameters.clear();
-
32 
-
33  return;
-
34 }
-
35 
-
36 void CmdArgsInterface::Parse(const int argc, const char* const* argv)
-
37 {
-
38  try
-
39  {
-
40  // Populate raw arguments
-
41  PopulateRawArgs(argc, argv);
-
42 
-
43  // Expand abbreviations
-
44  ExpandAbbreviations();
-
45 
-
46  executableName = std::string(rawArgs[0]);
-
47 
-
48  // Read and parse all parameters
-
49  std::size_t i = 1;
-
50  while (i < rawArgs.size())
-
51  {
-
52  if ((rawArgs[i].length() > 2) && (rawArgs[i].substr(0, 2) == "--"))
-
53  {
-
54  Parameter* param = nullptr;
-
55  i = ParseNextParameter(i, param);
-
56 
-
57  parameters.insert(std::pair<std::string, Parameter*>(param->Key(), param));
-
58  }
-
59  else
-
60  i++;
-
61  }
-
62 
-
63  // Apply constraints such as default values, and required parameters.
-
64  // Types have already been enforced.
-
65  // Dont apply constraints when we are just printind the param docs
-
66  if ((!catchHelp) || (!HasParam("--help")))
-
67  ApplyConstraints();
-
68  }
- -
70  {
-
71  if (crashOnFail)
-
72  {
-
73  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
74  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
75  quick_exit(-1000);
-
76  }
-
77  else
-
78  throw exc; // yeet
-
79  }
-
80  catch (const HazelnuppConstraintMissingValue& exc)
-
81  {
-
82  if (crashOnFail)
-
83  {
-
84  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
85  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
86  quick_exit(-1001);
-
87  }
-
88  else
-
89  throw exc; // yeet
-
90  }
-
91  catch (const HazelnuppConstraintTypeMissmatch& exc)
-
92  {
-
93  if (crashOnFail)
-
94  {
-
95  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
96  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
97  quick_exit(-1002);
-
98  }
-
99  else
-
100  throw exc; // yeet
-
101  }
-
102  catch (const HazelnuppConstraintException& exc)
-
103  {
-
104  if (crashOnFail)
-
105  {
-
106  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
107  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
108  quick_exit(-1003);
-
109  }
-
110  else
-
111  throw exc; // yeet
-
112  }
-
113  catch (const HazelnuppException& exc)
-
114  {
-
115  if (crashOnFail)
-
116  {
-
117  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
118  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
119  quick_exit(-1004);
-
120  }
-
121  else
-
122  throw exc; // yeet
-
123  }
-
124 
-
125  // Catch --help parameter
-
126  if ((catchHelp) && (HasParam("--help")))
-
127  {
-
128  std::cout << GenerateDocumentation() << std::endl;
-
129  quick_exit(0);
-
130  }
-
131 
-
132  return;
-
133 }
-
134 
-
135 std::size_t CmdArgsInterface::ParseNextParameter(const std::size_t parIndex, Parameter*& out_Par)
-
136 {
-
137  std::size_t i = parIndex;
-
138  const std::string key = rawArgs[parIndex];
-
139  std::vector<std::string> values;
-
140 
-
141  // Get values
-
142  for (i++; i < rawArgs.size(); i++)
-
143  // If not another parameter
-
144  if ((rawArgs[i].length() < 2) || (rawArgs[i].substr(0, 2) != "--"))
-
145  values.emplace_back(rawArgs[i]);
-
146  else
-
147  {
-
148  break;
-
149  }
-
150 
-
151  // Fetch constraint info
-
152  const ParamConstraint* pcn = GetConstraintForKey(key);
-
153 
-
154  Value* parsedVal = ParseValue(values, pcn);
-
155  if (parsedVal != nullptr)
-
156  {
-
157  out_Par = new Parameter(key, parsedVal);
-
158 
-
159  delete parsedVal;
-
160  parsedVal = nullptr;
-
161  }
-
162  else
-
163  throw std::runtime_error("Unable to parse parameter!");
-
164 
-
165  return i;
-
166 }
-
167 
-
168 void CmdArgsInterface::PopulateRawArgs(const int argc, const char* const* argv)
-
169 {
-
170  rawArgs.clear();
-
171  rawArgs.reserve(argc);
-
172 
-
173  for (int i = 0; i < argc; i++)
-
174  rawArgs.emplace_back(std::string(argv[i]));
-
175 
-
176  return;
-
177 }
-
178 
-
179 void CmdArgsInterface::ExpandAbbreviations()
-
180 {
-
181  // Abort if no abbreviations
-
182  if (parameterAbreviations.size() == 0)
-
183  return;
-
184 
-
185  for (std::string& arg : rawArgs)
-
186  {
-
187  // Is arg registered as an abbreviation?
-
188  auto abbr = parameterAbreviations.find(arg);
-
189  if (abbr != parameterAbreviations.end())
-
190  {
-
191  // Yes: replace arg with the long form
-
192  arg = abbr->second;
-
193  }
-
194  }
-
195 
-
196  return;
-
197 }
-
198 
-
199 bool CmdArgsInterface::HasParam(const std::string& key) const
-
200 {
-
201  return parameters.find(key) != parameters.end();
-
202 }
-
203 
-
204 Value* CmdArgsInterface::ParseValue(const std::vector<std::string>& values, const ParamConstraint* constraint)
-
205 {
-
206  // This is the raw (unconverted) data type the user provided
-
207  DATA_TYPE rawInputType;
-
208 
-
209  // Constraint values
-
210  const bool constrainType = (constraint != nullptr) && (constraint->constrainType);
-
211 
-
212  // Void-type
-
213  if (values.size() == 0)
-
214  {
-
215  rawInputType = DATA_TYPE::VOID;
-
216 
-
217  // Is a list forced via a constraint? If yes, return an empty list
-
218  if ((constrainType) &&
-
219  (constraint->requiredType == DATA_TYPE::LIST))
-
220  return new ListValue();
-
221 
-
222  // Is a string forced via a constraint? If yes, return an empty string
-
223  else if ((constrainType) &&
-
224  (constraint->requiredType == DATA_TYPE::STRING))
-
225  return new StringValue("");
-
226 
-
227  // Is an int or float forced via constraint? If yes, throw an exception
-
228  else if ((constrainType) &&
-
229  ((constraint->requiredType == DATA_TYPE::INT) ||
-
230  (constraint->requiredType == DATA_TYPE::FLOAT)))
- -
232  constraint->key,
-
233  constraint->requiredType,
-
234  rawInputType,
-
235  GetDescription(constraint->key)
-
236  );
-
237 
-
238  // Else, just return the void type
-
239  return new VoidValue;
-
240  }
-
241 
-
242  // Force void type by constraint
-
243  else if ((constrainType) &&
-
244  (constraint->requiredType == DATA_TYPE::VOID))
-
245  {
-
246  return new VoidValue;
-
247  }
-
248 
-
249  // List-type
-
250  else if (values.size() > 1)
-
251  {
-
252  rawInputType = DATA_TYPE::LIST;
-
253 
-
254  // Should the type be something other than list?
-
255  if ((constrainType) &&
-
256  (constraint->requiredType != DATA_TYPE::LIST))
-
257  {
- -
259  constraint->key,
-
260  constraint->requiredType,
-
261  rawInputType,
-
262  GetDescription(constraint->key)
-
263  );
-
264  }
-
265 
-
266  ListValue* newList = new ListValue();
-
267  for (const std::string& val : values)
-
268  {
-
269  Value* tmp = ParseValue({ val });
-
270  newList->AddValue(tmp);
-
271  delete tmp;
-
272  }
-
273  return newList;
-
274  }
-
275 
-
276  // Now we're only dealing with a single value
-
277  const std::string& val = values[0];
-
278 
-
279  // String
-
280  if (!Internal::StringTools::IsNumeric(val, true))
-
281  {
-
282  rawInputType = DATA_TYPE::STRING;
-
283 
-
284  // Is the type not supposed to be a string?
-
285  // void and list are already sorted out
-
286  if ((constrainType) &&
-
287  (constraint->requiredType != DATA_TYPE::STRING))
-
288  {
-
289  // We can only force a list-value from here
-
290  if (constraint->requiredType == DATA_TYPE::LIST)
-
291  {
-
292  ListValue* list = new ListValue();
-
293  Value* tmp = ParseValue({ val });
-
294  list->AddValue(tmp);
-
295  delete tmp;
-
296  tmp = nullptr;
-
297  return list;
-
298  }
-
299  // Else it is not possible to convert to a numeric
-
300  else
- -
302  constraint->key,
-
303  constraint->requiredType,
-
304  rawInputType,
-
305  GetDescription(constraint->key)
-
306  );
-
307  }
-
308 
-
309  return new StringValue(val);
-
310  }
-
311 
-
312  // In this case we have a numeric value.
-
313  // We should still produce a string if requested
-
314  if ((constrainType) &&
-
315  (constraint->requiredType == DATA_TYPE::STRING))
-
316  return new StringValue(val);
-
317 
-
318  // Numeric
-
319  bool isInt;
-
320  long double num;
-
321 
-
322  if (Internal::StringTools::ParseNumber(val, isInt, num))
-
323  {
-
324  rawInputType = isInt ? DATA_TYPE::INT : DATA_TYPE::FLOAT;
-
325 
-
326  // Is the type constrained?
-
327  // (only int and float left)
-
328  if (constrainType)
-
329  {
-
330  // Must it be an integer?
-
331  if (constraint->requiredType == DATA_TYPE::INT)
-
332  return new IntValue((long long int)num);
-
333  // Must it be a floating point?
-
334  else if (constraint->requiredType == DATA_TYPE::FLOAT)
-
335  return new FloatValue(num);
-
336  // Else it must be a List
-
337  else
-
338  {
-
339  ListValue* list = new ListValue();
-
340  Value* tmp = ParseValue({ val });
-
341  list->AddValue(tmp);
-
342  delete tmp;
-
343  tmp = nullptr;
-
344  return list;
-
345  }
-
346  }
-
347  // Type is not constrained
-
348  else
-
349  {
-
350  // Integer
-
351  if (isInt)
-
352  return new IntValue((long long int)num);
-
353 
-
354  // Double
-
355  return new FloatValue(num);
-
356  }
-
357  }
-
358 
-
359  // Failed
-
360  return nullptr;
-
361 }
-
362 
- -
364 {
-
365  return crashOnFail;
-
366 }
-
367 
-
368 void CmdArgsInterface::SetCatchHelp(bool catchHelp)
-
369 {
-
370  this->catchHelp = catchHelp;
-
371  return;
-
372 }
-
373 
- -
375 {
-
376  return catchHelp;
-
377 }
-
378 
-
379 void CmdArgsInterface::SetBriefDescription(const std::string& description)
-
380 {
-
381  briefDescription = description;
-
382  return;
-
383 }
-
384 
- -
386 {
-
387  return briefDescription;
-
388 }
-
389 
-
390 void Hazelnp::CmdArgsInterface::RegisterDescription(const std::string& parameter, const std::string& description)
-
391 {
-
392  parameterDescriptions[parameter] = description;
-
393  return;
-
394 }
-
395 
-
396 const std::string& Hazelnp::CmdArgsInterface::GetDescription(const std::string& parameter) const
-
397 {
-
398  // Do we already have a description for this parameter?
-
399  if (!HasDescription(parameter))
-
400  // No? Then return ""
- -
402 
-
403  // We do? Then return it
-
404  return parameterDescriptions.find(parameter)->second;
-
405 }
-
406 
-
407 bool CmdArgsInterface::HasDescription(const std::string& parameter) const
-
408 {
-
409  return parameterDescriptions.find(parameter) != parameterDescriptions.end();
-
410 }
-
411 
-
412 void CmdArgsInterface::ClearDescription(const std::string& parameter)
-
413 {
-
414  // This will just do nothing if the entry does not exist
-
415  parameterDescriptions.erase(parameter);
-
416  return;
-
417 }
-
418 
- -
420 {
-
421  parameterDescriptions.clear();
-
422  return;
-
423 }
-
424 
- -
426 {
-
427  std::stringstream ss;
-
428 
-
429  // Add brief, if available
-
430  if (briefDescription.length() > 0)
-
431  ss << briefDescription << std::endl;
-
432 
-
433  // Collect parameter information
-
434  struct ParamDocEntry
-
435  {
-
436  std::string abbreviation;
-
437  std::string description;
-
438  std::string type;
-
439  bool required = false;
-
440  bool typeIsForced = false;
-
441  std::string defaultVal;
-
442  std::string incompatibilities;
-
443  };
-
444  std::unordered_map<std::string, ParamDocEntry> paramInfos;
-
445 
-
446  // Collect descriptions
-
447  for (const auto& it : parameterDescriptions)
-
448  {
-
449  // Do we already have that param in the paramInfo set?
-
450  if (paramInfos.find(it.first) == paramInfos.end())
-
451  // No? Create it.
-
452  paramInfos[it.first] = ParamDocEntry();
-
453 
-
454  paramInfos[it.first].description = it.second;
-
455  }
-
456 
-
457  // Collect abbreviations
-
458  // first value is abbreviation, second is long form
-
459  for (const auto& it : parameterAbreviations)
-
460  {
-
461  // Do we already have that param in the paramInfo set?
-
462  if (paramInfos.find(it.second) == paramInfos.end())
-
463  // No? Create it.
-
464  paramInfos[it.second] = ParamDocEntry();
-
465 
-
466  paramInfos[it.second].abbreviation = it.first;
-
467  }
-
468 
-
469  // Collect constraints
-
470  for (const auto& it : parameterConstraints)
-
471  {
-
472  // Do we already have that param in the paramInfo set?
-
473  if (paramInfos.find(it.first) == paramInfos.end())
-
474  // No? Create it.
-
475  paramInfos[it.first] = ParamDocEntry();
-
476 
-
477  ParamDocEntry& cached = paramInfos[it.first];
-
478  cached.required = it.second.required;
-
479  cached.typeIsForced = it.second.constrainType;
-
480  cached.type = DataTypeToString(it.second.requiredType);
-
481 
-
482  // Build default-value string
-
483  std::stringstream vec2str_ss;
-
484  for (const std::string& s : it.second.defaultValue)
-
485  {
-
486  vec2str_ss << '\'' << s << '\'';
-
487 
-
488  // Add a space if we are not at the last entry
-
489  if ((void*)&s != (void*)&it.second.defaultValue.back())
-
490  vec2str_ss << " ";
-
491  }
-
492  cached.defaultVal = vec2str_ss.str();
-
493 
-
494 
-
495  // Build incompatibilities string
-
496  vec2str_ss.str("");
-
497  for (const std::string& s : it.second.incompatibleParameters)
-
498  {
-
499  vec2str_ss << s;
-
500 
-
501  // Add a comma-space if we are not at the last entry
-
502  if ((void*)&s != (void*)&it.second.incompatibleParameters.back())
-
503  vec2str_ss << ", ";
-
504  }
-
505  cached.incompatibilities = vec2str_ss.str();
-
506  }
-
507 
-
508  // Now generate the documentation body
-
509  if (paramInfos.size() > 0)
-
510  {
-
511  ss << std::endl
-
512  << "==== AVAILABLE PARAMETERS ===="
-
513  << std::endl << std::endl;
-
514 
-
515  std::size_t counter = 0;
-
516  for (const auto& it : paramInfos)
-
517  {
-
518  const ParamDocEntry& pde = it.second;
-
519 
-
520  // Put name
-
521  ss << it.first << " ";
-
522 
-
523  // Put abbreviation
-
524  if (pde.abbreviation.length() > 0)
-
525  ss << pde.abbreviation << " ";
-
526 
-
527  // Put type
-
528  if (pde.typeIsForced)
-
529  ss << pde.type << " ";
-
530 
-
531  // Put default value
-
532  if (pde.defaultVal.length() > 0)
-
533  ss << "default=[" << pde.defaultVal << "] ";
-
534 
-
535  // Put incompatibilities
-
536  if (pde.incompatibilities.length() > 0)
-
537  ss << "incompatibilities=[" << pde.incompatibilities << "] ";
-
538 
-
539  // Put required tag, but only if no default value
-
540  if ((pde.required) && (pde.defaultVal.length() == 0))
-
541  ss << "[[REQUIRED]] ";
-
542 
-
543  // Put brief description
-
544  if (pde.description.length() > 0)
-
545  ss << pde.description;
-
546 
-
547  // Omit linebreaks when we're on the last element
-
548  if (counter < paramInfos.size()-1)
-
549  ss << std::endl << std::endl;
-
550 
-
551  counter++;
-
552  }
-
553  }
-
554 
-
555  return ss.str();
-
556 }
-
557 
-
558 void CmdArgsInterface::ApplyConstraints()
-
559 {
-
560  // Enforce required parameters / default values
-
561  for (const auto& pc : parameterConstraints)
-
562  // Parameter in question is not supplied
-
563  if (!HasParam(pc.second.key))
-
564  {
-
565  // Do we have a default value?
-
566  if (pc.second.defaultValue.size() > 0)
-
567  {
-
568  // Then create it now, by its default value
-
569  Value* tmp = ParseValue(pc.second.defaultValue, &pc.second);
-
570  parameters.insert(std::pair<std::string, Parameter*>(
-
571  pc.second.key,
-
572  new Parameter(pc.second.key, tmp)
-
573  ));
-
574 
-
575  delete tmp;
-
576  tmp = nullptr;
-
577  }
-
578  // So we do not have a default value...
-
579  else
-
580  {
-
581  // Is it important to have the missing parameter?
-
582  if (pc.second.required)
-
583  // Throw an error message then
- -
585  pc.second.key,
-
586  GetDescription(pc.second.key)
-
587  );
-
588  }
-
589  }
-
590  // The parameter in question IS supplied
-
591  else
-
592  {
-
593  // Enforce parameter incompatibility
-
594 
-
595  // Is ANY parameter present listed as incompatible with our current one?
-
596  for (const std::string& incompatibility : pc.second.incompatibleParameters)
-
597  for (const std::pair<std::string, Parameter*>& otherParam : parameters)
-
598  {
-
599  if (otherParam.first == incompatibility)
-
600  throw HazelnuppConstraintIncompatibleParameters(pc.second.key, incompatibility);
-
601  }
-
602  }
-
603 
-
604  return;
-
605 }
-
606 
-
607 ParamConstraint CmdArgsInterface::GetConstraint(const std::string& parameter) const
-
608 {
-
609  return parameterConstraints.find(parameter)->second;
-
610 }
-
611 
-
612 void CmdArgsInterface::ClearConstraint(const std::string& parameter)
-
613 {
-
614  parameterConstraints.erase(parameter);
-
615  return;
-
616 }
-
617 
-
618 const std::string& CmdArgsInterface::GetExecutableName() const
-
619 {
-
620  return executableName;
-
621 }
-
622 
-
623 const Value& CmdArgsInterface::operator[](const std::string& key) const
-
624 {
-
625  // Throw exception if param is unknown
-
626  if (!HasParam(key))
- -
628 
-
629  return *parameters.find(key)->second->GetValue();
-
630 }
-
631 
-
632 void CmdArgsInterface::RegisterAbbreviation(const std::string& abbrev, const std::string& target)
-
633 {
-
634  parameterAbreviations.insert(std::pair<std::string, std::string>(abbrev, target));
-
635  return;
-
636 }
-
637 
-
638 const std::string& CmdArgsInterface::GetAbbreviation(const std::string& abbrev) const
-
639 {
-
640  if (!HasAbbreviation(abbrev))
- -
642 
-
643  return parameterAbreviations.find(abbrev)->second;
-
644 }
-
645 
-
646 bool CmdArgsInterface::HasAbbreviation(const std::string& abbrev) const
-
647 {
-
648  return parameterAbreviations.find(abbrev) != parameterAbreviations.end();
-
649 }
-
650 
-
651 void CmdArgsInterface::ClearAbbreviation(const std::string& abbrevation)
-
652 {
-
653  parameterAbreviations.erase(abbrevation);
-
654  return;
-
655 }
-
656 
- -
658 {
-
659  parameterAbreviations.clear();
-
660  return;
-
661 }
-
662 
-
663 void CmdArgsInterface::RegisterConstraint(const std::string& key, const ParamConstraint& constraint)
-
664 {
-
665  // Magic syntax, wooo
-
666  (parameterConstraints[key] = constraint).key = key;
-
667  return;
-
668 }
-
669 
- -
671 {
-
672  parameterConstraints.clear();
-
673  return;
-
674 }
-
675 
-
676 void CmdArgsInterface::SetCrashOnFail(bool crashOnFail)
-
677 {
-
678  this->crashOnFail = crashOnFail;
-
679  return;
-
680 }
-
681 
-
682 const ParamConstraint* CmdArgsInterface::GetConstraintForKey(const std::string& key) const
-
683 {
-
684  const auto constraint = parameterConstraints.find(key);
-
685 
-
686  if (constraint == parameterConstraints.end())
-
687  return nullptr;
-
688 
-
689  return &constraint->second;
-
690 }
-
-
Hazelnp::CmdArgsInterface::GetCatchHelp
bool GetCatchHelp() const
Retruns whether the CmdArgsInterface should automatically catch the –help parameter,...
Definition: CmdArgsInterface.cpp:374
-
HazelnuppException.h
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::IntValue
Specializations for integer values (uses long long int)
Definition: IntValue.h:8
-
Hazelnp::CmdArgsInterface::GetConstraint
ParamConstraint GetConstraint(const std::string &parameter) const
Will return the constraint information for a specific parameter.
Definition: CmdArgsInterface.cpp:607
-
Hazelnp::CmdArgsInterface::ClearAbbreviations
void ClearAbbreviations()
Will delete all abbreviations.
Definition: CmdArgsInterface.cpp:657
-
Hazelnp::HazelnuppConstraintIncompatibleParameters
Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied along...
Definition: HazelnuppException.h:101
-
Hazelnp::CmdArgsInterface::SetCatchHelp
void SetCatchHelp(bool catchHelp)
Sets whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter...
Definition: CmdArgsInterface.cpp:368
-
Hazelnp::CmdArgsInterface::HasAbbreviation
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: CmdArgsInterface.cpp:646
-
Hazelnp::HazelnuppInvalidKeyException
Gets thrown when an non-existent key gets dereferenced.
Definition: HazelnuppException.h:29
-
Hazelnp::CmdArgsInterface::RegisterConstraint
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition: CmdArgsInterface.cpp:663
-
StringValue.h
-
CmdArgsInterface.h
-
Hazelnp::HazelnuppException::What
const std::string & What() const
Will return an error message.
Definition: HazelnuppException.h:18
-
IntValue.h
-
Placeholders.h
-
Hazelnp::DATA_TYPE::VOID
@ VOID
-
Hazelnp::FloatValue
Specializations for floating point values (uses long double)
Definition: FloatValue.h:9
-
Hazelnp::CmdArgsInterface::ClearConstraint
void ClearConstraint(const std::string &parameter)
Will the constraint of a specific parameter.
Definition: CmdArgsInterface.cpp:612
-
Hazelnp::ParamConstraint::requiredType
DATA_TYPE requiredType
Constrain the parameter to this value. Requires constrainType to be set to true.
Definition: ParamConstraint.h:116
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::HazelnuppConstraintException
Gets thrown something bad happens because of parameter constraints.
Definition: HazelnuppException.h:47
-
Hazelnp::CmdArgsInterface::RegisterAbbreviation
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: CmdArgsInterface.cpp:632
-
Hazelnp::CmdArgsInterface::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: CmdArgsInterface.cpp:199
-
Hazelnp::DATA_TYPE::LIST
@ LIST
-
Hazelnp::CmdArgsInterface::ClearConstraints
void ClearConstraints()
Will delete all constraints.
Definition: CmdArgsInterface.cpp:670
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::ParamConstraint
Definition: ParamConstraint.h:8
-
Hazelnp::Placeholders::g_emptyString
static const std::string g_emptyString
The only purpose of this is to provide the ability to return an empty string as an error for std::str...
Definition: Placeholders.h:9
-
Hazelnp::CmdArgsInterface::GetCrashOnFail
bool GetCrashOnFail() const
Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
Definition: CmdArgsInterface.cpp:363
-
Hazelnp::CmdArgsInterface::HasDescription
bool HasDescription(const std::string &parameter) const
Returns whether or not a given parameter has a registered description.
Definition: CmdArgsInterface.cpp:407
-
Hazelnp::CmdArgsInterface::ClearDescription
void ClearDescription(const std::string &parameter)
Will delete the description of a parameter if it exists.
Definition: CmdArgsInterface.cpp:412
-
ListValue.h
-
Hazelnp::ParamConstraint::constrainType
bool constrainType
Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
Definition: ParamConstraint.h:113
-
Hazelnp::HazelnuppException
Generic hazelnupp exception.
Definition: HazelnuppException.h:11
-
Hazelnp::CmdArgsInterface::CmdArgsInterface
CmdArgsInterface()
Definition: CmdArgsInterface.cpp:15
-
Hazelnp::Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:21
-
Hazelnp::HazelnuppConstraintMissingValue
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
Definition: HazelnuppException.h:80
-
Hazelnp::CmdArgsInterface::ClearAbbreviation
void ClearAbbreviation(const std::string &abbrevation)
Will delete the abbreviation for a given parameter.
Definition: CmdArgsInterface.cpp:651
-
Hazelnp::HazelnuppConstraintTypeMissmatch
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
Definition: HazelnuppException.h:56
-
VoidValue.h
-
Hazelnp::CmdArgsInterface::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: CmdArgsInterface.cpp:36
-
Hazelnp::CmdArgsInterface::SetBriefDescription
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition: CmdArgsInterface.cpp:379
-
Hazelnp::CmdArgsInterface::GetBriefDescription
const std::string & GetBriefDescription()
Returns the brief description of the application to be automatically added to the documentation.
Definition: CmdArgsInterface.cpp:385
-
Hazelnp::CmdArgsInterface::operator[]
const Value & operator[](const std::string &key) const
Will return the value given a key.
Definition: CmdArgsInterface.cpp:623
-
Hazelnp::CmdArgsInterface::ClearDescriptions
void ClearDescriptions()
Will delete all parameter descriptions.
Definition: CmdArgsInterface.cpp:419
-
Hazelnp::ListValue::AddValue
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:33
-
Hazelnp::VoidValue
Specializations for void values.
Definition: VoidValue.h:8
-
Hazelnp::CmdArgsInterface::GenerateDocumentation
std::string GenerateDocumentation() const
Will generate a text-based documentation suited to show the user, for example on –help.
Definition: CmdArgsInterface.cpp:425
-
Hazelnp::CmdArgsInterface::RegisterDescription
void RegisterDescription(const std::string &parameter, const std::string &description)
Willl register a short description for a parameter.
Definition: CmdArgsInterface.cpp:390
-
Hazelnp::Internal::StringTools::ParseNumber
static bool ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)
Will convert the number in str to a number.
Definition: StringTools.cpp:82
-
Hazelnp::DATA_TYPE::FLOAT
@ FLOAT
-
Hazelnp::CmdArgsInterface::GetDescription
const std::string & GetDescription(const std::string &parameter) const
Will return a short description for a parameter, if it exists.
Definition: CmdArgsInterface.cpp:396
-
Hazelnp::DATA_TYPE::INT
@ INT
-
FloatValue.h
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::CmdArgsInterface::GetAbbreviation
const std::string & GetAbbreviation(const std::string &abbrev) const
Will return the long form of an abbreviation (like –force for -f) Returns "" if no match is found.
Definition: CmdArgsInterface.cpp:638
-
Hazelnp::DATA_TYPE::STRING
@ STRING
-
Hazelnp::CmdArgsInterface::GetExecutableName
const std::string & GetExecutableName() const
Will return argv[0], the name of the executable.
Definition: CmdArgsInterface.cpp:618
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
-
Hazelnp::Internal::StringTools::IsNumeric
static bool IsNumeric(const std::string &str, const bool allowDecimalPoint=false)
Will return true if the given string consists only of digits (including signage)
Definition: StringTools.cpp:56
-
Hazelnp::CmdArgsInterface::SetCrashOnFail
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: CmdArgsInterface.cpp:676
-
Hazelnp::ListValue
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:9
-
Hazelnp::StringValue
Specializations for string values (uses std::string)
Definition: StringValue.h:9
-
StringTools.h
-
Hazelnp::CmdArgsInterface::~CmdArgsInterface
~CmdArgsInterface()
Definition: CmdArgsInterface.cpp:26
- - - - diff --git a/docs/CmdArgsInterface_8h.html b/docs/CmdArgsInterface_8h.html deleted file mode 100644 index ae09393..0000000 --- a/docs/CmdArgsInterface_8h.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/CmdArgsInterface.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
CmdArgsInterface.h File Reference
-
-
-
#include "Parameter.h"
-#include "ParamConstraint.h"
-#include <unordered_map>
-#include <vector>
-#include "Version.h"
-
-Include dependency graph for CmdArgsInterface.h:
-
-
- - - - - - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::CmdArgsInterface
 The main class to interface with. More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/CmdArgsInterface_8h__dep__incl.map b/docs/CmdArgsInterface_8h__dep__incl.map deleted file mode 100644 index f19760a..0000000 --- a/docs/CmdArgsInterface_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/CmdArgsInterface_8h__dep__incl.md5 b/docs/CmdArgsInterface_8h__dep__incl.md5 deleted file mode 100644 index ddb9ced..0000000 --- a/docs/CmdArgsInterface_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -dfaa7b9bbc047edc6dac352f33d674ae \ No newline at end of file diff --git a/docs/CmdArgsInterface_8h__dep__incl.png b/docs/CmdArgsInterface_8h__dep__incl.png deleted file mode 100644 index 787e7ae..0000000 Binary files a/docs/CmdArgsInterface_8h__dep__incl.png and /dev/null differ diff --git a/docs/CmdArgsInterface_8h__incl.map b/docs/CmdArgsInterface_8h__incl.map deleted file mode 100644 index 2daed24..0000000 --- a/docs/CmdArgsInterface_8h__incl.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/CmdArgsInterface_8h__incl.md5 b/docs/CmdArgsInterface_8h__incl.md5 deleted file mode 100644 index 5906ee6..0000000 --- a/docs/CmdArgsInterface_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1b40cfe17dfb4f2d2222d0c51471439e \ No newline at end of file diff --git a/docs/CmdArgsInterface_8h__incl.png b/docs/CmdArgsInterface_8h__incl.png deleted file mode 100644 index 22014bf..0000000 Binary files a/docs/CmdArgsInterface_8h__incl.png and /dev/null differ diff --git a/docs/CmdArgsInterface_8h_source.html b/docs/CmdArgsInterface_8h_source.html deleted file mode 100644 index 6c668e7..0000000 --- a/docs/CmdArgsInterface_8h_source.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/CmdArgsInterface.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
CmdArgsInterface.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Parameter.h"
-
3 #include "ParamConstraint.h"
-
4 #include <unordered_map>
-
5 #include <vector>
-
6 
-
7 #include "Version.h"
-
8 
-
9 namespace Hazelnp
-
10 {
-
11  /** The main class to interface with
-
12  */
- -
14  {
-
15  public:
- -
17  CmdArgsInterface(const int argc, const char* const* argv);
-
18 
- -
20 
-
21  //! Will parse command line arguments
-
22  void Parse(const int argc, const char* const* argv);
-
23 
-
24  //! Will return argv[0], the name of the executable.
-
25  const std::string& GetExecutableName() const;
-
26 
-
27  //! Will return the value given a key
-
28  const Value& operator[](const std::string& key) const;
-
29 
-
30  //! Will check wether a parameter exists given a key, or not
-
31  bool HasParam(const std::string& key) const;
-
32 
-
33  // Abbreviations
-
34  //! Will register an abbreviation (like -f for --force)
-
35  void RegisterAbbreviation(const std::string& abbrev, const std::string& target);
-
36 
-
37  //! Will return the long form of an abbreviation (like --force for -f)
-
38  //! Returns "" if no match is found
-
39  const std::string& GetAbbreviation(const std::string& abbrev) const;
-
40 
-
41  //! Will check wether or not an abbreviation is registered
-
42  bool HasAbbreviation(const std::string& abbrev) const;
-
43 
-
44  //! Will delete the abbreviation for a given parameter.
-
45  //! IMPORTANT: This parameter is the abbreviation! Not the long form!
-
46  void ClearAbbreviation(const std::string& abbrevation);
-
47 
-
48  //! Will delete all abbreviations
-
49  void ClearAbbreviations();
-
50 
-
51  //! Will register a constraint for a parameter.
-
52  //! IMPORTANT: Any parameter can only have ONE constraint. Applying a new one will overwrite the old one!
-
53  //! Construct the ParamConstraint struct yourself to combine Require, TypeSafety and Incompatibilities! You can also use the ParamConstraint constructor!
-
54  void RegisterConstraint(const std::string& key, const ParamConstraint& constraint);
-
55 
-
56  //! Will return the constraint information for a specific parameter
-
57  ParamConstraint GetConstraint(const std::string& parameter) const;
-
58 
-
59  //! Will the constraint of a specific parameter
-
60  void ClearConstraint(const std::string& parameter);
-
61 
-
62  //! Will delete all constraints
-
63  void ClearConstraints();
-
64 
-
65  //! Sets whether to crash the application, and print to stderr, when an exception is
-
66  //! raised whilst parsing, or not.
-
67  void SetCrashOnFail(bool crashOnFail);
-
68 
-
69  //! Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
-
70  bool GetCrashOnFail() const;
-
71 
-
72  //! Sets whether the CmdArgsInterface should automatically catch the --help parameter, print the parameter documentation to stdout, and exit or not.
-
73  void SetCatchHelp(bool catchHelp);
-
74 
-
75  //! Retruns whether the CmdArgsInterface should automatically catch the --help parameter, print the parameter documentation to stdout, and exit or not.
-
76  bool GetCatchHelp() const;
-
77 
-
78  //! Sets a brief description of the application to be automatically added to the documentation.
-
79  void SetBriefDescription(const std::string& description);
-
80 
-
81  //! Returns the brief description of the application to be automatically added to the documentation.
-
82  const std::string& GetBriefDescription();
-
83 
-
84  //! Willl register a short description for a parameter.
-
85  //! Will overwrite existing descriptions for that parameter.
-
86  void RegisterDescription(const std::string& parameter, const std::string& description);
-
87 
-
88  //! Will return a short description for a parameter, if it exists.
-
89  //! Empty string if it does not exist.
-
90  const std::string& GetDescription(const std::string& parameter) const;
-
91 
-
92  //! Returns whether or not a given parameter has a registered description
-
93  bool HasDescription(const std::string& parameter) const;
-
94 
-
95  //! Will delete the description of a parameter if it exists.
-
96  void ClearDescription(const std::string& parameter);
-
97 
-
98  //! Will delete all parameter descriptions
-
99  void ClearDescriptions();
-
100 
-
101  //! Will generate a text-based documentation suited to show the user, for example on --help.
-
102  std::string GenerateDocumentation() const;
-
103 
-
104  private:
-
105  //! Will translate the c-like args to an std::vector
-
106  void PopulateRawArgs(const int argc, const char* const* argv);
-
107 
-
108  //! Will replace all args matching an abbreviation with their long form (like -f for --force)
-
109  void ExpandAbbreviations();
-
110 
-
111  //! Will parse the next parameter. Returns the index of the next parameter.
-
112  std::size_t ParseNextParameter(const std::size_t parIndex, Parameter*& out_Par);
-
113 
-
114  //! Will convert a vector of string-values to an actual Value
-
115  Value* ParseValue(const std::vector<std::string>& values, const ParamConstraint* constraint = nullptr);
-
116 
-
117  //! Will apply the loaded constraints on the loaded values, exluding types.
-
118  void ApplyConstraints();
-
119 
-
120  //! Will return a pointer to a paramConstraint given a key. If there is no, it returns nullptr
-
121  const ParamConstraint* GetConstraintForKey(const std::string& key) const;
-
122 
-
123  std::string executableName; //! The path of the executable. Always argv[0]
-
124  std::unordered_map<std::string, Parameter*> parameters;
-
125 
-
126  //! These are abbreviations. Like, -f for --force.
-
127  std::unordered_map<std::string, std::string> parameterAbreviations;
-
128 
-
129  //! Parameter constraints, mapped to keys
-
130  std::unordered_map<std::string, ParamConstraint> parameterConstraints;
-
131 
-
132  //! Raw argv
-
133  std::vector<std::string> rawArgs;
-
134 
-
135  //! Short descriptions for parameters
-
136  //! First member is the abbreviation
-
137  std::unordered_map<std::string, std::string> parameterDescriptions;
-
138 
-
139  //! A brief description of the application to be added to the generated documentation. Optional.
-
140  std::string briefDescription;
-
141 
-
142  //! If set to true, CmdArgsInterface will automatically catch the --help parameter, print the parameter documentation to stdout and exit.
-
143  bool catchHelp = true;
-
144 
-
145  //! If set to true, CmdArgsInterface will crash the application with output to stderr when an exception is thrown whilst parsing.
-
146  bool crashOnFail = true;
-
147  };
-
148 }
-
-
Hazelnp::CmdArgsInterface::GetCatchHelp
bool GetCatchHelp() const
Retruns whether the CmdArgsInterface should automatically catch the –help parameter,...
Definition: CmdArgsInterface.cpp:374
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::CmdArgsInterface
The main class to interface with.
Definition: CmdArgsInterface.h:13
-
Hazelnp::CmdArgsInterface::GetConstraint
ParamConstraint GetConstraint(const std::string &parameter) const
Will return the constraint information for a specific parameter.
Definition: CmdArgsInterface.cpp:607
-
Hazelnp::CmdArgsInterface::ClearAbbreviations
void ClearAbbreviations()
Will delete all abbreviations.
Definition: CmdArgsInterface.cpp:657
-
Hazelnp::CmdArgsInterface::SetCatchHelp
void SetCatchHelp(bool catchHelp)
Sets whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter...
Definition: CmdArgsInterface.cpp:368
-
Hazelnp::CmdArgsInterface::HasAbbreviation
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: CmdArgsInterface.cpp:646
-
Hazelnp::CmdArgsInterface::RegisterConstraint
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition: CmdArgsInterface.cpp:663
-
Hazelnp::CmdArgsInterface::ClearConstraint
void ClearConstraint(const std::string &parameter)
Will the constraint of a specific parameter.
Definition: CmdArgsInterface.cpp:612
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
ParamConstraint.h
-
Hazelnp::CmdArgsInterface::RegisterAbbreviation
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: CmdArgsInterface.cpp:632
-
Hazelnp::CmdArgsInterface::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: CmdArgsInterface.cpp:199
-
Hazelnp::CmdArgsInterface::ClearConstraints
void ClearConstraints()
Will delete all constraints.
Definition: CmdArgsInterface.cpp:670
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::ParamConstraint
Definition: ParamConstraint.h:8
-
Version.h
-
Hazelnp::CmdArgsInterface::GetCrashOnFail
bool GetCrashOnFail() const
Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
Definition: CmdArgsInterface.cpp:363
-
Hazelnp::CmdArgsInterface::HasDescription
bool HasDescription(const std::string &parameter) const
Returns whether or not a given parameter has a registered description.
Definition: CmdArgsInterface.cpp:407
-
Hazelnp::CmdArgsInterface::ClearDescription
void ClearDescription(const std::string &parameter)
Will delete the description of a parameter if it exists.
Definition: CmdArgsInterface.cpp:412
-
Hazelnp::CmdArgsInterface::CmdArgsInterface
CmdArgsInterface()
Definition: CmdArgsInterface.cpp:15
-
Hazelnp::CmdArgsInterface::ClearAbbreviation
void ClearAbbreviation(const std::string &abbrevation)
Will delete the abbreviation for a given parameter.
Definition: CmdArgsInterface.cpp:651
-
Hazelnp::CmdArgsInterface::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: CmdArgsInterface.cpp:36
-
Hazelnp::CmdArgsInterface::SetBriefDescription
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition: CmdArgsInterface.cpp:379
-
Hazelnp::CmdArgsInterface::GetBriefDescription
const std::string & GetBriefDescription()
Returns the brief description of the application to be automatically added to the documentation.
Definition: CmdArgsInterface.cpp:385
-
Hazelnp::CmdArgsInterface::operator[]
const Value & operator[](const std::string &key) const
Will return the value given a key.
Definition: CmdArgsInterface.cpp:623
-
Hazelnp::CmdArgsInterface::ClearDescriptions
void ClearDescriptions()
Will delete all parameter descriptions.
Definition: CmdArgsInterface.cpp:419
-
Parameter.h
-
Hazelnp::CmdArgsInterface::GenerateDocumentation
std::string GenerateDocumentation() const
Will generate a text-based documentation suited to show the user, for example on –help.
Definition: CmdArgsInterface.cpp:425
-
Hazelnp::CmdArgsInterface::RegisterDescription
void RegisterDescription(const std::string &parameter, const std::string &description)
Willl register a short description for a parameter.
Definition: CmdArgsInterface.cpp:390
-
Hazelnp::CmdArgsInterface::GetDescription
const std::string & GetDescription(const std::string &parameter) const
Will return a short description for a parameter, if it exists.
Definition: CmdArgsInterface.cpp:396
-
Hazelnp::CmdArgsInterface::GetAbbreviation
const std::string & GetAbbreviation(const std::string &abbrev) const
Will return the long form of an abbreviation (like –force for -f) Returns "" if no match is found.
Definition: CmdArgsInterface.cpp:638
-
Hazelnp::CmdArgsInterface::GetExecutableName
const std::string & GetExecutableName() const
Will return argv[0], the name of the executable.
Definition: CmdArgsInterface.cpp:618
-
Hazelnp::CmdArgsInterface::SetCrashOnFail
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: CmdArgsInterface.cpp:676
-
Hazelnp::CmdArgsInterface::~CmdArgsInterface
~CmdArgsInterface()
Definition: CmdArgsInterface.cpp:26
- - - - diff --git a/docs/Constraints_8cpp.html b/docs/Constraints_8cpp.html deleted file mode 100644 index 678c1fc..0000000 --- a/docs/Constraints_8cpp.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Constraints.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Namespaces | -Functions
-
-
Constraints.cpp File Reference
-
-
-
#include "CppUnitTest.h"
-#include "helper.h"
-#include "../Hazelnupp/Hazelnupp.h"
-#include "../Hazelnupp/HazelnuppException.h"
-
-Include dependency graph for Constraints.cpp:
-
-
- - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Namespaces

 TestHazelnupp
 
- - - -

-Functions

 TestHazelnupp::TEST_CLASS (_Constraints)
 
-
- - - - diff --git a/docs/Constraints_8cpp__incl.map b/docs/Constraints_8cpp__incl.map deleted file mode 100644 index 8653bb5..0000000 --- a/docs/Constraints_8cpp__incl.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/docs/Constraints_8cpp__incl.md5 b/docs/Constraints_8cpp__incl.md5 deleted file mode 100644 index 5676aa1..0000000 --- a/docs/Constraints_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -62c377b56c814420aa9bd5d3797e756b \ No newline at end of file diff --git a/docs/Constraints_8cpp__incl.png b/docs/Constraints_8cpp__incl.png deleted file mode 100644 index 834ecd7..0000000 Binary files a/docs/Constraints_8cpp__incl.png and /dev/null differ diff --git a/docs/Constraints_8cpp_source.html b/docs/Constraints_8cpp_source.html deleted file mode 100644 index a068a35..0000000 --- a/docs/Constraints_8cpp_source.html +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Constraints.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Constraints.cpp
-
-
-Go to the documentation of this file.
1 #include "CppUnitTest.h"
-
2 #include "helper.h"
-
3 #include "../Hazelnupp/Hazelnupp.h"
-
4 #include "../Hazelnupp/HazelnuppException.h"
-
5 
-
6 using namespace Microsoft::VisualStudio::CppUnitTestFramework;
-
7 
-
8 namespace TestHazelnupp
-
9 {
-
10  TEST_CLASS(_Constraints)
-
11  {
-
12  public:
-
13 
-
14  // Tests that default values get added
-
15  TEST_METHOD(DefaultValues_GetAdded)
-
16  {
-
17  // Setup
-
18  ArgList args({
-
19  "/my/fake/path/wahoo.out",
-
20  "--dummy",
-
21  "123"
-
22  });
-
23 
-
24  // Exercise
-
25  Hazelnupp nupp;
-
26  nupp.SetCrashOnFail(false);
-
27 
-
28  nupp.RegisterConstraints({
-
29  ParamConstraint::Require("--elenor-int", {"5994"}),
-
30  ParamConstraint::Require("--federich-float", {"420.69"}),
-
31  ParamConstraint::Require("--siegbert-string", {"banana"}),
-
32  ParamConstraint::Require("--lieber-liste", {"banana", "apple", "59"})
-
33  });
-
34 
-
35  nupp.Parse(C_Ify(args));
-
36 
-
37  // Verify
-
38  Assert::IsTrue(nupp.HasParam("--elenor-int"));
-
39  Assert::IsTrue(nupp["--elenor-int"].GetDataType() == DATA_TYPE::INT);
-
40  Assert::AreEqual(nupp["--elenor-int"].GetInt32(), 5994);
-
41 
-
42  Assert::IsTrue(nupp.HasParam("--federich-float"));
-
43  Assert::IsTrue(nupp["--federich-float"].GetDataType() == DATA_TYPE::FLOAT);
-
44  Assert::AreEqual(nupp["--federich-float"].GetFloat32(), 420.69);
-
45 
-
46  Assert::IsTrue(nupp.HasParam("--siegbert-string"));
-
47  Assert::IsTrue(nupp["--siegbert-string"].GetDataType() == DATA_TYPE::STRING);
-
48  Assert::AreEqual(nupp["--siegbert-string"].GetString(), std::string("banana"));
-
49 
-
50  Assert::IsTrue(nupp.HasParam("--lieber-liste"));
-
51  Assert::IsTrue(nupp["--lieber-liste"].GetDataType() == DATA_TYPE::LIST);
-
52  Assert::AreEqual(nupp["--lieber-liste"].GetList()[0]->GetString(), std::string("banana"));
-
53  Assert::AreEqual(nupp["--lieber-liste"].GetList()[1]->GetString(), std::string("apple"));
-
54  Assert::AreEqual(nupp["--lieber-liste"].GetList()[2]->GetInt32(), 59);
-
55 
-
56  return;
-
57  }
-
58 
-
59  // Tests that the default values do not override actually set values
-
60  TEST_METHOD(DefaultValues_DefaultDoesntOverride)
-
61  {
-
62  // Setup
-
63  ArgList args({
-
64  "/my/fake/path/wahoo.out",
-
65  "--dummy",
-
66  "--elenor-int",
-
67  "5994",
-
68  "--federich-float",
-
69  "420.69",
-
70  "--siegbert-string",
-
71  "banana",
-
72  "--lieber-liste",
-
73  "banana",
-
74  "apple",
-
75  "59"
-
76  });
-
77 
-
78  // Exercise
-
79  Hazelnupp nupp;
-
80  nupp.SetCrashOnFail(false);
-
81 
-
82  nupp.RegisterConstraints({
-
83  ParamConstraint::Require("--elenor-int", {"6871"}),
-
84  ParamConstraint::Require("--federich-float", {"-199.44"}),
-
85  ParamConstraint::Require("--siegbert-string", {"bornana"}),
-
86  ParamConstraint::Require("--lieber-liste", {"bornana", "ollpe", "5"})
-
87  });
-
88 
-
89  nupp.Parse(C_Ify(args));
-
90 
-
91  // Verify
-
92  Assert::IsTrue(nupp.HasParam("--elenor-int"));
-
93  Assert::IsTrue(nupp["--elenor-int"].GetDataType() == DATA_TYPE::INT);
-
94  Assert::AreEqual(nupp["--elenor-int"].GetInt32(), 5994);
-
95 
-
96  Assert::IsTrue(nupp.HasParam("--federich-float"));
-
97  Assert::IsTrue(nupp["--federich-float"].GetDataType() == DATA_TYPE::FLOAT);
-
98  Assert::AreEqual(nupp["--federich-float"].GetFloat32(), 420.69);
-
99 
-
100  Assert::IsTrue(nupp.HasParam("--siegbert-string"));
-
101  Assert::IsTrue(nupp["--siegbert-string"].GetDataType() == DATA_TYPE::STRING);
-
102  Assert::AreEqual(nupp["--siegbert-string"].GetString(), std::string("banana"));
-
103 
-
104  Assert::IsTrue(nupp.HasParam("--lieber-liste"));
-
105  Assert::IsTrue(nupp["--lieber-liste"].GetDataType() == DATA_TYPE::LIST);
-
106  Assert::AreEqual(nupp["--lieber-liste"].GetList()[0]->GetString(), std::string("banana"));
-
107  Assert::AreEqual(nupp["--lieber-liste"].GetList()[1]->GetString(), std::string("apple"));
-
108  Assert::AreEqual(nupp["--lieber-liste"].GetList()[2]->GetInt32(), 59);
-
109 
-
110  return;
-
111  }
-
112 
-
113  // Tests that data types get forced according to the constraints
-
114  TEST_METHOD(ForceTypes)
-
115  {
-
116  // Setup
-
117  ArgList args({
-
118  "/my/fake/path/wahoo.out",
-
119  "--dummy",
-
120  "--num-apples",
-
121  "39.75",
-
122  "--table-height",
-
123  "400",
-
124  "--license-plate",
-
125  "193273",
-
126  "--fav-fruits",
-
127  "apple",
-
128  "--indices",
-
129  "9",
-
130  "--force",
-
131  "plsdontuseme"
-
132  });
-
133 
-
134  // Exercise
-
135  Hazelnupp nupp;
-
136  nupp.SetCrashOnFail(false);
-
137 
-
138  nupp.RegisterConstraints({
- - - - - - -
145  });
-
146 
-
147  nupp.Parse(C_Ify(args));
-
148 
-
149  // Verify
-
150  Assert::IsTrue(nupp.HasParam("--num-apples"));
-
151  Assert::IsTrue(nupp["--num-apples"].GetDataType() == DATA_TYPE::INT);
-
152  Assert::AreEqual(nupp["--num-apples"].GetInt32(), 39);
-
153 
-
154  Assert::IsTrue(nupp.HasParam("--table-height"));
-
155  Assert::IsTrue(nupp["--table-height"].GetDataType() == DATA_TYPE::FLOAT);
-
156  Assert::AreEqual(nupp["--table-height"].GetFloat32(), 400.0);
-
157 
-
158  Assert::IsTrue(nupp.HasParam("--license-plate"));
-
159  Assert::IsTrue(nupp["--license-plate"].GetDataType() == DATA_TYPE::STRING);
-
160  Assert::AreEqual(nupp["--license-plate"].GetString(), std::string("193273"));
-
161 
-
162  Assert::IsTrue(nupp.HasParam("--fav-fruits"));
-
163  Assert::IsTrue(nupp["--fav-fruits"].GetDataType() == DATA_TYPE::LIST);
-
164  Assert::AreEqual(nupp["--fav-fruits"].GetList()[0]->GetString(), std::string("apple"));
-
165 
-
166  Assert::IsTrue(nupp.HasParam("--indices"));
-
167  Assert::IsTrue(nupp["--indices"].GetDataType() == DATA_TYPE::LIST);
-
168  Assert::AreEqual(nupp["--indices"].GetList()[0]->GetInt32(), 9);
-
169 
-
170  Assert::IsTrue(nupp.HasParam("--force"));
-
171  Assert::IsTrue(nupp["--force"].GetDataType() == DATA_TYPE::VOID);
-
172 
-
173  return;
-
174  }
-
175 
-
176  // Tests that an HazelnuppConstraintMissingValue gets raised if a required parameter
-
177  // is missing and does not have a default parameter
-
178  TEST_METHOD(Exception_MissingImportant_Parameter_WithoutDefault)
-
179  {
-
180  // Setup
-
181  ArgList args({
-
182  "/my/fake/path/wahoo.out",
-
183  "--dummy",
-
184  "--federich-float",
-
185  "420.69",
-
186  "--siegbert-string",
-
187  "banana",
-
188  "--lieber-liste",
-
189  "banana",
-
190  "apple",
-
191  "59"
-
192  });
-
193 
-
194  Assert::ExpectException<HazelnuppConstraintMissingValue>(
-
195  [args]
-
196  {
-
197  Hazelnupp nupp;
-
198  nupp.SetCrashOnFail(false);
-
199 
-
200  nupp.RegisterConstraints({
-
201  ParamConstraint::Require("--elenor-int"),
-
202  });
-
203 
-
204  nupp.Parse(C_Ify(args));
-
205  }
-
206  );
-
207 
-
208  return;
-
209  }
-
210 
-
211  // Tests that an HazelnuppConstraintTypeMissmatch gets raised if a required parameter
-
212  // is missing of the wrong type and cannot be converted
-
213  TEST_METHOD(Exception_TypeMismatch_Parameter_NotConvertable)
-
214  {
-
215  // Setup
-
216  ArgList args({
-
217  "/my/fake/path/wahoo.out",
-
218  "--dummy",
-
219  "--elenor-int",
-
220  "hello"
-
221  "--federich-float",
-
222  "420.69",
-
223  "--siegbert-string",
-
224  "banana",
-
225  "--lieber-liste",
-
226  "banana",
-
227  "apple",
-
228  "59"
-
229  });
-
230 
-
231  Assert::ExpectException<HazelnuppConstraintTypeMissmatch>(
-
232  [args]
-
233  {
-
234  Hazelnupp nupp;
-
235  nupp.SetCrashOnFail(false);
-
236 
-
237  nupp.RegisterConstraints({
- -
239  });
-
240 
-
241  nupp.Parse(C_Ify(args));
-
242  }
-
243  );
-
244 
-
245  return;
-
246  }
-
247 
-
248  // Tests that everything can be converted to void
-
249  TEST_METHOD(Weird_Load_Conversions_ToVoid)
-
250  {
-
251  // Setup
-
252  ArgList args({
-
253  "/my/fake/path/wahoo.out",
-
254  "--dummy",
-
255  "--void1",
-
256  "--void2",
-
257  "12",
-
258  "--void3",
-
259  "9.5",
-
260  "--void4",
-
261  "hello",
-
262  "--void5",
-
263  "foo",
-
264  "baz"
-
265  });
-
266 
-
267  Hazelnupp nupp;
-
268  nupp.SetCrashOnFail(false);
-
269 
-
270  nupp.RegisterConstraints({
- - - - - -
276  });
-
277 
-
278 
-
279  // Exercise
-
280  nupp.Parse(C_Ify(args));
-
281 
-
282  // Verify
-
283  Assert::IsTrue(nupp["--void1"].GetDataType() == DATA_TYPE::VOID);
-
284  Assert::IsTrue(nupp["--void2"].GetDataType() == DATA_TYPE::VOID);
-
285  Assert::IsTrue(nupp["--void3"].GetDataType() == DATA_TYPE::VOID);
-
286  Assert::IsTrue(nupp["--void4"].GetDataType() == DATA_TYPE::VOID);
-
287  Assert::IsTrue(nupp["--void5"].GetDataType() == DATA_TYPE::VOID);
-
288 
-
289  return;
-
290  }
-
291 
-
292  // Tests that everything a void can be converted to an empty list
-
293  TEST_METHOD(Weird_Load_Conversions_VoidToEmptyList)
-
294  {
-
295  // Setup
-
296  ArgList args({
-
297  "/my/fake/path/wahoo.out",
-
298  "--dummy",
-
299  "--empty-list",
-
300  });
-
301 
-
302  Hazelnupp nupp;
-
303  nupp.SetCrashOnFail(false);
-
304 
-
305  nupp.RegisterConstraints({
- -
307  });
-
308 
-
309 
-
310  // Exercise
-
311  nupp.Parse(C_Ify(args));
-
312 
-
313  // Verify
-
314  Assert::IsTrue(nupp["--empty-list"].GetDataType() == DATA_TYPE::LIST);
-
315  Assert::AreEqual(std::size_t(0), nupp["--empty-list"].GetList().size());
-
316 
-
317  return;
-
318  }
-
319  };
-
320 }
-
-
DATA_TYPE::VOID
@ VOID
-
Hazelnupp::RegisterConstraints
void RegisterConstraints(const std::vector< ParamConstraint > &constraints)
Will register parameter constraints.
Definition: Hazelnupp.cpp:352
-
DATA_TYPE::LIST
@ LIST
-
DATA_TYPE::FLOAT
@ FLOAT
-
TestHazelnupp
Definition: Abbreviations.cpp:7
-
ParamConstraint::TypeSafety
static ParamConstraint TypeSafety(const std::string &key, DATA_TYPE wantedType, bool constrainType=true)
Constructs a type-safety constraint.
Definition: ParamConstraint.h:25
-
TestHazelnupp::TEST_CLASS
TEST_CLASS(_Constraints)
Definition: Constraints.cpp:10
-
DATA_TYPE::INT
@ INT
-
ParamConstraint::Require
static ParamConstraint Require(const std::string &key, const std::vector< std::string > &defaultValue={}, bool required=true)
Constructs a require constraint.
Definition: ParamConstraint.h:14
-
C_Ify
#define C_Ify(vector)
Definition: helper.h:4
-
Hazelnupp::SetCrashOnFail
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: Hazelnupp.cpp:379
-
ArgList
std::vector< const char * > ArgList
Definition: helper.h:6
-
DATA_TYPE::STRING
@ STRING
-
Hazelnupp
The main class to interface with.
Definition: Hazelnupp.h:9
-
helper.h
-
Hazelnupp::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:33
- - - - diff --git a/docs/Conversion_8cpp.html b/docs/Conversion_8cpp.html deleted file mode 100644 index a556531..0000000 --- a/docs/Conversion_8cpp.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Conversion.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Namespaces | -Functions
-
-
Conversion.cpp File Reference
-
-
-
#include "CppUnitTest.h"
-#include "helper.h"
-#include "../Hazelnupp/Hazelnupp.h"
-#include "../Hazelnupp/HazelnuppException.h"
-
-Include dependency graph for Conversion.cpp:
-
-
- - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Namespaces

 TestHazelnupp
 
- - - -

-Functions

 TestHazelnupp::TEST_CLASS (_Conversion)
 
-
- - - - diff --git a/docs/Conversion_8cpp__incl.map b/docs/Conversion_8cpp__incl.map deleted file mode 100644 index 09e7105..0000000 --- a/docs/Conversion_8cpp__incl.map +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/docs/Conversion_8cpp__incl.md5 b/docs/Conversion_8cpp__incl.md5 deleted file mode 100644 index cfeb8b4..0000000 --- a/docs/Conversion_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -d5db07f8e0783c171b7745265e2ec834 \ No newline at end of file diff --git a/docs/Conversion_8cpp__incl.png b/docs/Conversion_8cpp__incl.png deleted file mode 100644 index 347956d..0000000 Binary files a/docs/Conversion_8cpp__incl.png and /dev/null differ diff --git a/docs/Conversion_8cpp_source.html b/docs/Conversion_8cpp_source.html deleted file mode 100644 index 34a8126..0000000 --- a/docs/Conversion_8cpp_source.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Conversion.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Conversion.cpp
-
-
-Go to the documentation of this file.
1 #include "CppUnitTest.h"
-
2 #include "helper.h"
-
3 #include "../Hazelnupp/Hazelnupp.h"
-
4 #include "../Hazelnupp/HazelnuppException.h"
-
5 
-
6 using namespace Microsoft::VisualStudio::CppUnitTestFramework;
-
7 
-
8 namespace TestHazelnupp
-
9 {
-
10  TEST_CLASS(_Conversion)
-
11  {
-
12  public:
-
13 
-
14  // Tests that string conversion methods work
-
15  TEST_METHOD(Convert_String)
-
16  {
-
17  // Setup
-
18  ArgList args({
-
19  "/my/fake/path/wahoo.out",
-
20  "--pud",
-
21  "hello"
-
22  });
-
23 
-
24  // Exercise
-
25  Hazelnupp nupp(C_Ify(args));
-
26  nupp.SetCrashOnFail(false);
-
27 
-
28  // Verify
-
29  const Hazelnupp* ptnupp = &nupp;
-
30 
-
31  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
32  [ptnupp]
-
33  {
-
34  (*ptnupp)["--pud"].GetInt64();
-
35  }
-
36  , L"Int64");
-
37 
-
38  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
39  [ptnupp]
-
40  {
-
41  (*ptnupp)["--pud"].GetInt32();
-
42  }
-
43  , L"Int32");
-
44 
-
45  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
46  [ptnupp]
-
47  {
-
48  (*ptnupp)["--pud"].GetFloat64();
-
49  }
-
50  , L"Float64");
-
51 
-
52  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
53  [ptnupp]
-
54  {
-
55  (*ptnupp)["--pud"].GetFloat32();
-
56  }
-
57  , L"Float32");
-
58 
-
59  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
60  [ptnupp]
-
61  {
-
62  (*ptnupp)["--pud"].GetList();
-
63  }
-
64  , L"List");
-
65 
-
66 
-
67  return;
-
68  }
-
69 
-
70  // Tests that void conversion methods work
-
71  TEST_METHOD(Convert_Void)
-
72  {
-
73  // Setup
-
74  ArgList args({
-
75  "/my/fake/path/wahoo.out",
-
76  "--pud"
-
77  });
-
78 
-
79  // Exercise
-
80  Hazelnupp nupp(C_Ify(args));
-
81  nupp.SetCrashOnFail(false);
-
82 
-
83  // Verify
-
84  const Hazelnupp* ptnupp = &nupp;
-
85 
-
86  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
87  [ptnupp]
-
88  {
-
89  (*ptnupp)["--pud"].GetInt64();
-
90  }
-
91  , L"Int64");
-
92 
-
93  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
94  [ptnupp]
-
95  {
-
96  (*ptnupp)["--pud"].GetInt32();
-
97  }
-
98  , L"Int32");
-
99 
-
100  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
101  [ptnupp]
-
102  {
-
103  (*ptnupp)["--pud"].GetFloat64();
-
104  }
-
105  , L"Float64");
-
106 
-
107  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
108  [ptnupp]
-
109  {
-
110  (*ptnupp)["--pud"].GetFloat32();
-
111  }
-
112  , L"Float32");
-
113 
-
114  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
115  [ptnupp]
-
116  {
-
117  (*ptnupp)["--pud"].GetString();
-
118  }
-
119  , L"String");
-
120 
-
121  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
122  [ptnupp]
-
123  {
-
124  (*ptnupp)["--pud"].GetList();
-
125  }
-
126  , L"List");
-
127 
-
128 
-
129  return;
-
130  }
-
131 
-
132  // Tests that int conversion methods work
-
133  TEST_METHOD(Convert_Int)
-
134  {
-
135  // Setup
-
136  ArgList args({
-
137  "/my/fake/path/wahoo.out",
-
138  "--pud",
-
139  "39"
-
140  });
-
141 
-
142  // Exercise
-
143  Hazelnupp nupp(C_Ify(args));
-
144  nupp.SetCrashOnFail(false);
-
145 
-
146  // Verify
-
147  const Hazelnupp* ptnupp = &nupp;
-
148 
-
149  Assert::AreEqual(39ll, nupp["--pud"].GetInt64(), L"Int64");
-
150  Assert::AreEqual(39, nupp["--pud"].GetInt32(), L"Int32");
-
151  Assert::IsTrue(39.0l == nupp["--pud"].GetFloat64(), L"Float64");
-
152  Assert::AreEqual(39.0, nupp["--pud"].GetFloat32(), L"Float32");
-
153  Assert::AreEqual(std::string("39"), nupp["--pud"].GetString(), L"String");
-
154 
-
155  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
156  [ptnupp]
-
157  {
-
158  (*ptnupp)["--pud"].GetList();
-
159  }
-
160  , L"List");
-
161 
-
162 
-
163  return;
-
164  }
-
165 
-
166  // Tests that float conversion methods work
-
167  TEST_METHOD(Convert_Float)
-
168  {
-
169  // Setup
-
170  ArgList args({
-
171  "/my/fake/path/wahoo.out",
-
172  "--pud",
-
173  "39.5"
-
174  });
-
175 
-
176  // Exercise
-
177  Hazelnupp nupp(C_Ify(args));
-
178  nupp.SetCrashOnFail(false);
-
179 
-
180  // Verify
-
181  const Hazelnupp* ptnupp = &nupp;
-
182 
-
183  Assert::AreEqual(39ll, nupp["--pud"].GetInt64(), L"Int64");
-
184  Assert::AreEqual(39, nupp["--pud"].GetInt32(), L"Int32");
-
185  Assert::IsTrue(39.5l == nupp["--pud"].GetFloat64(), L"Float64");
-
186  Assert::AreEqual(39.5, nupp["--pud"].GetFloat32(), L"Float32");
-
187  Assert::AreEqual(std::string("39.5"), nupp["--pud"].GetString(), L"String");
-
188 
-
189  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
190  [ptnupp]
-
191  {
-
192  (*ptnupp)["--pud"].GetList();
-
193  }
-
194  , L"List");
-
195 
-
196 
-
197  return;
-
198  }
-
199 
-
200  // Tests that list conversion methods work
-
201  TEST_METHOD(Convert_List)
-
202  {
-
203  // Setup
-
204  ArgList args({
-
205  "/my/fake/path/wahoo.out",
-
206  "--pud",
-
207  "apple",
-
208  "1",
-
209  "2",
-
210  "3"
-
211  });
-
212 
-
213  // Exercise
-
214  Hazelnupp nupp(C_Ify(args));
-
215  nupp.SetCrashOnFail(false);
-
216 
-
217  // Verify
-
218  const Hazelnupp* ptnupp = &nupp;
-
219 
-
220  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
221  [ptnupp]
-
222  {
-
223  (*ptnupp)["--pud"].GetInt64();
-
224  }
-
225  , L"Int64");
-
226 
-
227  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
228  [ptnupp]
-
229  {
-
230  (*ptnupp)["--pud"].GetInt32();
-
231  }
-
232  , L"Int32");
-
233 
-
234  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
235  [ptnupp]
-
236  {
-
237  (*ptnupp)["--pud"].GetFloat64();
-
238  }
-
239  , L"Float64");
-
240 
-
241  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
242  [ptnupp]
-
243  {
-
244  (*ptnupp)["--pud"].GetFloat32();
-
245  }
-
246  , L"Float32");
-
247 
-
248  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
-
249  [ptnupp]
-
250  {
-
251  (*ptnupp)["--pud"].GetString();
-
252  }
-
253  , L"String");
-
254 
-
255  return;
-
256  }
-
257  };
-
258 }
-
-
TestHazelnupp
Definition: Abbreviations.cpp:7
-
TestHazelnupp::TEST_CLASS
TEST_CLASS(_Conversion)
Definition: Conversion.cpp:10
-
C_Ify
#define C_Ify(vector)
Definition: helper.h:4
-
ArgList
std::vector< const char * > ArgList
Definition: helper.h:6
-
Hazelnupp
The main class to interface with.
Definition: Hazelnupp.h:9
-
helper.h
- - - - diff --git a/docs/DataType_8h.html b/docs/DataType_8h.html deleted file mode 100644 index 991c909..0000000 --- a/docs/DataType_8h.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/DataType.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Namespaces | -Enumerations | -Functions
-
-
DataType.h File Reference
-
-
-
#include <string>
-
-Include dependency graph for DataType.h:
-
-
- - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - - - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Namespaces

 Hazelnp
 
- - - - -

-Enumerations

enum  Hazelnp::DATA_TYPE {
-  Hazelnp::DATA_TYPE::VOID, -Hazelnp::DATA_TYPE::INT, -Hazelnp::DATA_TYPE::FLOAT, -Hazelnp::DATA_TYPE::STRING, -
-  Hazelnp::DATA_TYPE::LIST -
- }
 The different data types a paramater can be. More...
 
- - - -

-Functions

static std::string Hazelnp::DataTypeToString (DATA_TYPE type)
 
-
- - - - diff --git a/docs/DataType_8h__dep__incl.map b/docs/DataType_8h__dep__incl.map deleted file mode 100644 index 9420f2f..0000000 --- a/docs/DataType_8h__dep__incl.map +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/DataType_8h__dep__incl.md5 b/docs/DataType_8h__dep__incl.md5 deleted file mode 100644 index f910235..0000000 --- a/docs/DataType_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ade4d06f1bc62f0f5e08b5d2c18bb715 \ No newline at end of file diff --git a/docs/DataType_8h__dep__incl.png b/docs/DataType_8h__dep__incl.png deleted file mode 100644 index 4665005..0000000 Binary files a/docs/DataType_8h__dep__incl.png and /dev/null differ diff --git a/docs/DataType_8h__incl.map b/docs/DataType_8h__incl.map deleted file mode 100644 index acf7e2c..0000000 --- a/docs/DataType_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/DataType_8h__incl.md5 b/docs/DataType_8h__incl.md5 deleted file mode 100644 index 81f3b38..0000000 --- a/docs/DataType_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -eab021d5766fc460a8e029af4cccd74b \ No newline at end of file diff --git a/docs/DataType_8h__incl.png b/docs/DataType_8h__incl.png deleted file mode 100644 index 0587040..0000000 Binary files a/docs/DataType_8h__incl.png and /dev/null differ diff --git a/docs/DataType_8h_source.html b/docs/DataType_8h_source.html deleted file mode 100644 index 6f4fab9..0000000 --- a/docs/DataType_8h_source.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/DataType.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
DataType.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include <string>
-
3 
-
4 namespace Hazelnp
-
5 {
-
6  /** The different data types a paramater can be
-
7  */
-
8  enum class DATA_TYPE
-
9  {
-
10  VOID,
-
11  INT,
-
12  FLOAT,
-
13  STRING,
-
14  LIST
-
15  };
-
16 
-
17  static inline std::string DataTypeToString(DATA_TYPE type)
-
18  {
-
19  switch (type)
-
20  {
-
21  case DATA_TYPE::VOID:
-
22  return "VOID";
-
23 
-
24  case DATA_TYPE::INT:
-
25  return "INT";
-
26 
-
27  case DATA_TYPE::FLOAT:
-
28  return "FLOAT";
-
29 
-
30  case DATA_TYPE::STRING:
-
31  return "STRING";
-
32 
-
33  case DATA_TYPE::LIST:
-
34  return "LIST";
-
35  }
-
36 
-
37  return "";
-
38  }
-
39 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::DATA_TYPE::VOID
@ VOID
-
Hazelnp::DATA_TYPE::LIST
@ LIST
-
Hazelnp::DATA_TYPE::FLOAT
@ FLOAT
-
Hazelnp::DATA_TYPE::INT
@ INT
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::DATA_TYPE::STRING
@ STRING
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
- - - - diff --git a/docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html b/docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html deleted file mode 100644 index 033b07c..0000000 --- a/docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Debug/Hazelnupp.vcxproj.FileListAbsolute.txt File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Hazelnupp/Debug/Hazelnupp.vcxproj.FileListAbsolute.txt File Reference
-
-
-
- - - - diff --git a/docs/Debug_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html b/docs/Debug_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html deleted file mode 100644 index dc5d6cc..0000000 --- a/docs/Debug_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Debug/Test_Hazelnupp.vcxproj.FileListAbsolute.txt File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Test_Hazelnupp/Debug/Test_Hazelnupp.vcxproj.FileListAbsolute.txt File Reference
-
-
-
- - - - diff --git a/docs/FloatValue_8cpp.html b/docs/FloatValue_8cpp.html deleted file mode 100644 index de2db87..0000000 --- a/docs/FloatValue_8cpp.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/FloatValue.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
FloatValue.cpp File Reference
-
-
-
#include "FloatValue.h"
-#include "HazelnuppException.h"
-#include <sstream>
-
-Include dependency graph for FloatValue.cpp:
-
-
- - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/FloatValue_8cpp__incl.map b/docs/FloatValue_8cpp__incl.map deleted file mode 100644 index 2e98ba0..0000000 --- a/docs/FloatValue_8cpp__incl.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/FloatValue_8cpp__incl.md5 b/docs/FloatValue_8cpp__incl.md5 deleted file mode 100644 index e07c855..0000000 --- a/docs/FloatValue_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f5a895813c4221d24468ffc9cb70662d \ No newline at end of file diff --git a/docs/FloatValue_8cpp__incl.png b/docs/FloatValue_8cpp__incl.png deleted file mode 100644 index 4aa9be0..0000000 Binary files a/docs/FloatValue_8cpp__incl.png and /dev/null differ diff --git a/docs/FloatValue_8cpp_source.html b/docs/FloatValue_8cpp_source.html deleted file mode 100644 index 7687e17..0000000 --- a/docs/FloatValue_8cpp_source.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/FloatValue.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
FloatValue.cpp
-
-
-Go to the documentation of this file.
1 #include "FloatValue.h"
-
2 #include "HazelnuppException.h"
-
3 #include <sstream>
-
4 
-
5 using namespace Hazelnp;
-
6 
-
7 FloatValue::FloatValue(const long double& value)
-
8  :
- -
10  value { value }
-
11 {
-
12  return;
-
13 }
-
14 
- -
16 {
-
17  return new FloatValue(value);
-
18 }
-
19 
-
20 std::string FloatValue::GetAsOsString() const
-
21 {
-
22  std::stringstream ss;
-
23  ss << "FloatValue: " << value;
-
24  return ss.str();
-
25 }
-
26 
-
27 const long double& FloatValue::GetValue() const
-
28 {
-
29  return value;
-
30 }
-
31 
-
32 FloatValue::operator long double() const
-
33 {
-
34  return value;
-
35 }
-
36 
-
37 FloatValue::operator double() const
-
38 {
-
39  return (double)value;
-
40 }
-
41 
-
42 
-
43 
-
44 long long int FloatValue::GetInt64() const
-
45 {
-
46  return (long long int)value;
-
47 }
-
48 
- -
50 {
-
51  return (int)value;
-
52 }
-
53 
-
54 long double FloatValue::GetFloat64() const
-
55 {
-
56  return value;
-
57 }
-
58 
-
59 double FloatValue::GetFloat32() const
-
60 {
-
61  return (double)value;
-
62 }
-
63 
-
64 std::string FloatValue::GetString() const
-
65 {
-
66  std::stringstream ss;
-
67  ss << value;
-
68 
-
69  return ss.str();
-
70 }
-
71 
-
72 const std::vector<Value*>& FloatValue::GetList() const
-
73 {
- -
75 }
-
-
Hazelnp::FloatValue::GetFloat64
long double GetFloat64() const override
Will return the data as a long double.
Definition: FloatValue.cpp:54
-
HazelnuppException.h
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::FloatValue::GetString
std::string GetString() const override
Will return the data as a string.
Definition: FloatValue.cpp:64
-
Hazelnp::FloatValue::GetList
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: FloatValue.cpp:72
-
Hazelnp::FloatValue::GetInt64
long long int GetInt64() const override
Will return the data as a long long int.
Definition: FloatValue.cpp:44
-
Hazelnp::FloatValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: FloatValue.cpp:20
-
Hazelnp::FloatValue::GetValue
const long double & GetValue() const
Will return the raw value.
Definition: FloatValue.cpp:27
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::FloatValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: FloatValue.cpp:15
-
Hazelnp::FloatValue::GetFloat32
double GetFloat32() const override
Will return the data as a double.
Definition: FloatValue.cpp:59
-
Hazelnp::DATA_TYPE::FLOAT
@ FLOAT
-
FloatValue.h
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::FloatValue::FloatValue
FloatValue(const long double &value)
Definition: FloatValue.cpp:7
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
-
Hazelnp::FloatValue::GetInt32
int GetInt32() const override
Will return the data as an int.
Definition: FloatValue.cpp:49
- - - - diff --git a/docs/FloatValue_8h.html b/docs/FloatValue_8h.html deleted file mode 100644 index cacd969..0000000 --- a/docs/FloatValue_8h.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/FloatValue.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
FloatValue.h File Reference
-
-
-
#include "Value.h"
-#include <ostream>
-
-Include dependency graph for FloatValue.h:
-
-
- - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::FloatValue
 Specializations for floating point values (uses long double) More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/FloatValue_8h__dep__incl.map b/docs/FloatValue_8h__dep__incl.map deleted file mode 100644 index 7c61a1b..0000000 --- a/docs/FloatValue_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/FloatValue_8h__dep__incl.md5 b/docs/FloatValue_8h__dep__incl.md5 deleted file mode 100644 index 972d717..0000000 --- a/docs/FloatValue_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9a73d58edf4444ecb436553aba643585 \ No newline at end of file diff --git a/docs/FloatValue_8h__dep__incl.png b/docs/FloatValue_8h__dep__incl.png deleted file mode 100644 index b002427..0000000 Binary files a/docs/FloatValue_8h__dep__incl.png and /dev/null differ diff --git a/docs/FloatValue_8h__incl.map b/docs/FloatValue_8h__incl.map deleted file mode 100644 index a80b6c8..0000000 --- a/docs/FloatValue_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/FloatValue_8h__incl.md5 b/docs/FloatValue_8h__incl.md5 deleted file mode 100644 index 07d0c69..0000000 --- a/docs/FloatValue_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -57518ea84d05060d1ecb612836c4662f \ No newline at end of file diff --git a/docs/FloatValue_8h__incl.png b/docs/FloatValue_8h__incl.png deleted file mode 100644 index 3f2294d..0000000 Binary files a/docs/FloatValue_8h__incl.png and /dev/null differ diff --git a/docs/FloatValue_8h_source.html b/docs/FloatValue_8h_source.html deleted file mode 100644 index d1bf394..0000000 --- a/docs/FloatValue_8h_source.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/FloatValue.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
FloatValue.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Value.h"
-
3 #include <ostream>
-
4 
-
5 namespace Hazelnp
-
6 {
-
7  /** Specializations for floating point values (uses long double)
-
8  */
-
9  class FloatValue : public Value
-
10  {
-
11  public:
-
12  FloatValue(const long double& value);
-
13  ~FloatValue() override {};
-
14 
-
15  //! Will return a deeopopy of this object
-
16  Value* Deepcopy() const override;
-
17 
-
18  //! Will return a string suitable for an std::ostream;
-
19  std::string GetAsOsString() const override;
-
20 
-
21  //! Will return the raw value
-
22  const long double& GetValue() const;
-
23 
-
24  operator long double() const;
-
25  operator double() const;
-
26 
-
27  //! Will return the data as a long long int
-
28  long long int GetInt64() const override;
-
29  //! Will return the data as an int
-
30  int GetInt32() const override;
-
31 
-
32  //! Will return the data as a long double
-
33  long double GetFloat64() const override;
-
34  //! Will return the data as a double
-
35  double GetFloat32() const override;
-
36 
-
37  //! Will return the data as a string
-
38  std::string GetString() const override;
-
39 
-
40  //! Throws HazelnuppValueNotConvertibleException
-
41  const std::vector<Value*>& GetList() const override;
-
42 
-
43  private:
-
44  long double value;
-
45  };
-
46 }
-
-
Hazelnp::FloatValue::GetFloat64
long double GetFloat64() const override
Will return the data as a long double.
Definition: FloatValue.cpp:54
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::FloatValue::~FloatValue
~FloatValue() override
Definition: FloatValue.h:13
-
Hazelnp::FloatValue::GetString
std::string GetString() const override
Will return the data as a string.
Definition: FloatValue.cpp:64
-
Hazelnp::FloatValue::GetList
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: FloatValue.cpp:72
-
Hazelnp::FloatValue::GetInt64
long long int GetInt64() const override
Will return the data as a long long int.
Definition: FloatValue.cpp:44
-
Hazelnp::FloatValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: FloatValue.cpp:20
-
Hazelnp::FloatValue::GetValue
const long double & GetValue() const
Will return the raw value.
Definition: FloatValue.cpp:27
-
Hazelnp::FloatValue
Specializations for floating point values (uses long double)
Definition: FloatValue.h:9
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::FloatValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: FloatValue.cpp:15
-
Hazelnp::FloatValue::GetFloat32
double GetFloat32() const override
Will return the data as a double.
Definition: FloatValue.cpp:59
-
Hazelnp::FloatValue::FloatValue
FloatValue(const long double &value)
Definition: FloatValue.cpp:7
-
Value.h
-
Hazelnp::FloatValue::GetInt32
int GetInt32() const override
Will return the data as an int.
Definition: FloatValue.cpp:49
- - - - diff --git a/docs/HazelnuppException_8h.html b/docs/HazelnuppException_8h.html deleted file mode 100644 index a5d6028..0000000 --- a/docs/HazelnuppException_8h.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/HazelnuppException.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
HazelnuppException.h File Reference
-
-
-
#include <stdexcept>
-#include <string>
-#include <sstream>
-#include "DataType.h"
-
-Include dependency graph for HazelnuppException.h:
-
-
- - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - - - - - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

-Classes

class  Hazelnp::HazelnuppException
 Generic hazelnupp exception. More...
 
class  Hazelnp::HazelnuppInvalidKeyException
 Gets thrown when an non-existent key gets dereferenced. More...
 
class  Hazelnp::HazelnuppValueNotConvertibleException
 Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible. More...
 
class  Hazelnp::HazelnuppConstraintException
 Gets thrown something bad happens because of parameter constraints. More...
 
class  Hazelnp::HazelnuppConstraintTypeMissmatch
 Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it. More...
 
class  Hazelnp::HazelnuppConstraintMissingValue
 Gets thrown when a parameter constrained to be required is not provided, and has no default value set. More...
 
class  Hazelnp::HazelnuppConstraintIncompatibleParameters
 Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones. More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/HazelnuppException_8h__dep__incl.map b/docs/HazelnuppException_8h__dep__incl.map deleted file mode 100644 index 016dbab..0000000 --- a/docs/HazelnuppException_8h__dep__incl.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/HazelnuppException_8h__dep__incl.md5 b/docs/HazelnuppException_8h__dep__incl.md5 deleted file mode 100644 index 3beba8b..0000000 --- a/docs/HazelnuppException_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6e865be0592ca1da6ebc6ef8f2a3d948 \ No newline at end of file diff --git a/docs/HazelnuppException_8h__dep__incl.png b/docs/HazelnuppException_8h__dep__incl.png deleted file mode 100644 index 2288f1b..0000000 Binary files a/docs/HazelnuppException_8h__dep__incl.png and /dev/null differ diff --git a/docs/HazelnuppException_8h__incl.map b/docs/HazelnuppException_8h__incl.map deleted file mode 100644 index abb40ee..0000000 --- a/docs/HazelnuppException_8h__incl.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/HazelnuppException_8h__incl.md5 b/docs/HazelnuppException_8h__incl.md5 deleted file mode 100644 index a3e64cd..0000000 --- a/docs/HazelnuppException_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7da910c60f774be0fed8735daa712376 \ No newline at end of file diff --git a/docs/HazelnuppException_8h__incl.png b/docs/HazelnuppException_8h__incl.png deleted file mode 100644 index dfcdf55..0000000 Binary files a/docs/HazelnuppException_8h__incl.png and /dev/null differ diff --git a/docs/HazelnuppException_8h_source.html b/docs/HazelnuppException_8h_source.html deleted file mode 100644 index 06881c8..0000000 --- a/docs/HazelnuppException_8h_source.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/HazelnuppException.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
HazelnuppException.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include <stdexcept>
-
3 #include <string>
-
4 #include <sstream>
-
5 #include "DataType.h"
-
6 
-
7 namespace Hazelnp
-
8 {
-
9  /** Generic hazelnupp exception
-
10  */
-
11  class HazelnuppException : public std::exception
-
12  {
-
13  public:
- -
15  HazelnuppException(const std::string& msg) : message{ msg } {};
-
16 
-
17  //! Will return an error message
-
18  const std::string& What() const
-
19  {
-
20  return message;
-
21  }
-
22 
-
23  protected:
-
24  std::string message;
-
25  };
-
26 
-
27  /** Gets thrown when an non-existent key gets dereferenced
-
28  */
- -
30  {
-
31  public:
- -
33  HazelnuppInvalidKeyException(const std::string& msg) : HazelnuppException(msg) {};
-
34  };
-
35 
-
36  /** Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible
-
37  */
- -
39  {
-
40  public:
- -
42  HazelnuppValueNotConvertibleException(const std::string& msg) : HazelnuppException(msg) {};
-
43  };
-
44 
-
45  /** Gets thrown something bad happens because of parameter constraints
-
46  */
- -
48  {
-
49  public:
- -
51  HazelnuppConstraintException(const std::string& msg) : HazelnuppException(msg) {};
-
52  };
-
53 
-
54  /** Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it
-
55  */
- -
57  {
-
58  public:
- - -
61 
-
62  HazelnuppConstraintTypeMissmatch(const std::string& key, const DATA_TYPE requiredType, const DATA_TYPE actualType, const std::string& paramDescription = "")
-
63  {
-
64  // Generate descriptive error message
-
65  std::stringstream ss;
-
66  ss << "Cannot convert parameter " << key << " to type " << DataTypeToString(requiredType)
-
67  << ". You supplied type: " << DataTypeToString(actualType) << ".";
-
68 
-
69  // Add the parameter description, if provided
-
70  if (paramDescription.length() > 0)
-
71  ss << std::endl << key << " => " << paramDescription;
-
72 
-
73  message = ss.str();
-
74  return;
-
75  };
-
76  };
-
77 
-
78  /** Gets thrown when a parameter constrained to be required is not provided, and has no default value set
-
79  */
- -
81  {
-
82  public:
- -
84  HazelnuppConstraintMissingValue(const std::string& key, const std::string& paramDescription = "")
-
85  {
-
86  // Generate descriptive error message
-
87  std::stringstream ss;
-
88  ss << "Missing required parameter " << key << ".";
-
89 
-
90  // Add the parameter description, if provided
-
91  if (paramDescription.length() > 0)
-
92  ss << std::endl << key << " => " << paramDescription;
-
93 
-
94  message = ss.str();
-
95  return;
-
96  };
-
97  };
-
98 
-
99  /** Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones
-
100  */
- -
102  {
-
103  public:
- -
105  HazelnuppConstraintIncompatibleParameters(const std::string& key1, const std::string& key2)
-
106  {
-
107  // Generate descriptive error message
-
108  std::stringstream ss;
-
109  ss << "Parameter \"" << key1 << "\" is NOT compatible with parameter \"" << key2 << "\"!";
-
110 
-
111  message = ss.str();
-
112  return;
-
113  };
-
114  };
-
115 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
DataType.h
-
Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException
HazelnuppInvalidKeyException(const std::string &msg)
Definition: HazelnuppException.h:33
-
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException()
Definition: HazelnuppException.h:50
-
Hazelnp::HazelnuppConstraintIncompatibleParameters
Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied along...
Definition: HazelnuppException.h:101
-
Hazelnp::HazelnuppInvalidKeyException
Gets thrown when an non-existent key gets dereferenced.
Definition: HazelnuppException.h:29
-
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException(const std::string &msg)
Definition: HazelnuppException.h:51
-
Hazelnp::HazelnuppException::HazelnuppException
HazelnuppException(const std::string &msg)
Definition: HazelnuppException.h:15
-
Hazelnp::HazelnuppException::What
const std::string & What() const
Will return an error message.
Definition: HazelnuppException.h:18
-
Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue
HazelnuppConstraintMissingValue()
Definition: HazelnuppException.h:83
-
Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch
HazelnuppConstraintTypeMissmatch()
Definition: HazelnuppException.h:59
-
Hazelnp::HazelnuppConstraintException
Gets thrown something bad happens because of parameter constraints.
Definition: HazelnuppException.h:47
-
Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters
HazelnuppConstraintIncompatibleParameters(const std::string &key1, const std::string &key2)
Definition: HazelnuppException.h:105
-
Hazelnp::HazelnuppException
Generic hazelnupp exception.
Definition: HazelnuppException.h:11
-
Hazelnp::HazelnuppConstraintMissingValue
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
Definition: HazelnuppException.h:80
-
Hazelnp::HazelnuppConstraintTypeMissmatch
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
Definition: HazelnuppException.h:56
-
Hazelnp::HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:14
-
Hazelnp::HazelnuppException::message
std::string message
Definition: HazelnuppException.h:24
-
Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException
HazelnuppValueNotConvertibleException(const std::string &msg)
Definition: HazelnuppException.h:42
-
Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters
HazelnuppConstraintIncompatibleParameters()
Definition: HazelnuppException.h:104
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue
HazelnuppConstraintMissingValue(const std::string &key, const std::string &paramDescription="")
Definition: HazelnuppException.h:84
-
Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch
HazelnuppConstraintTypeMissmatch(const std::string &key, const DATA_TYPE requiredType, const DATA_TYPE actualType, const std::string &paramDescription="")
Definition: HazelnuppException.h:62
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
-
Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch
HazelnuppConstraintTypeMissmatch(const std::string &msg)
Definition: HazelnuppException.h:60
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
-
Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException
HazelnuppValueNotConvertibleException()
Definition: HazelnuppException.h:41
-
Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException
HazelnuppInvalidKeyException()
Definition: HazelnuppException.h:32
- - - - diff --git a/docs/Hazelnupp_8cpp.html b/docs/Hazelnupp_8cpp.html deleted file mode 100644 index 6ecce2d..0000000 --- a/docs/Hazelnupp_8cpp.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnupp.cpp File Reference
-
-
-
#include "Hazelnupp.h"
-#include "VoidValue.h"
-#include "IntValue.h"
-#include "FloatValue.h"
-#include "StringValue.h"
-#include "ListValue.h"
-#include "HazelnuppException.h"
-#include "Placeholders.h"
-#include "StringTools.h"
-#include <iostream>
-#include <cstdlib>
-
-Include dependency graph for Hazelnupp.cpp:
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/Hazelnupp_8cpp__incl.map b/docs/Hazelnupp_8cpp__incl.map deleted file mode 100644 index f1f6081..0000000 --- a/docs/Hazelnupp_8cpp__incl.map +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/Hazelnupp_8cpp__incl.md5 b/docs/Hazelnupp_8cpp__incl.md5 deleted file mode 100644 index 3ab96cd..0000000 --- a/docs/Hazelnupp_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -16baf48028636080ba03165a663b1fef \ No newline at end of file diff --git a/docs/Hazelnupp_8cpp__incl.png b/docs/Hazelnupp_8cpp__incl.png deleted file mode 100644 index b7094a8..0000000 Binary files a/docs/Hazelnupp_8cpp__incl.png and /dev/null differ diff --git a/docs/Hazelnupp_8cpp_source.html b/docs/Hazelnupp_8cpp_source.html deleted file mode 100644 index d812e48..0000000 --- a/docs/Hazelnupp_8cpp_source.html +++ /dev/null @@ -1,777 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnupp.cpp
-
-
-Go to the documentation of this file.
1 #include "Hazelnupp.h"
-
2 #include "VoidValue.h"
-
3 #include "IntValue.h"
-
4 #include "FloatValue.h"
-
5 #include "StringValue.h"
-
6 #include "ListValue.h"
-
7 #include "HazelnuppException.h"
-
8 #include "Placeholders.h"
-
9 #include "StringTools.h"
-
10 #include <iostream>
-
11 #include <cstdlib>
-
12 
-
13 using namespace Hazelnp;
-
14 
- -
16 {
-
17  return;
-
18 }
-
19 
-
20 Hazelnupp::Hazelnupp(const int argc, const char* const* argv)
-
21 {
-
22  Parse(argc, argv);
-
23  return;
-
24 }
-
25 
- -
27 {
-
28  for (auto& it : parameters)
-
29  delete it.second;
-
30 
-
31  parameters.clear();
-
32 
-
33  return;
-
34 }
-
35 
-
36 void Hazelnupp::Parse(const int argc, const char* const* argv)
-
37 {
-
38  try
-
39  {
-
40  // Populate raw arguments
-
41  PopulateRawArgs(argc, argv);
-
42 
-
43  // Expand abbreviations
-
44  ExpandAbbreviations();
-
45 
-
46  executableName = std::string(rawArgs[0]);
-
47 
-
48  std::size_t i = 1;
-
49  while (i < rawArgs.size())
-
50  {
-
51  if ((rawArgs[i].length() > 2) && (rawArgs[i].substr(0, 2) == "--"))
-
52  {
-
53  Parameter* param = nullptr;
-
54  i = ParseNextParameter(i, param);
-
55 
-
56  parameters.insert(std::pair<std::string, Parameter*>(param->Key(), param));
-
57  }
-
58  else
-
59  i++;
-
60  }
-
61 
-
62  // Apply constraints such as default values, and required parameters.
-
63  // Types have already been enforced.
-
64  // Dont apply constraints when we are just printind the param docs
-
65  if ((!catchHelp) || (!HasParam("--help")))
-
66  ApplyConstraints();
-
67  }
-
68  catch (const HazelnuppConstraintTypeMissmatch& exc)
-
69  {
-
70  if (crashOnFail)
-
71  {
-
72  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
73  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
74  quick_exit(-1009);
-
75  }
-
76  else
-
77  throw exc; // yeet
-
78  }
-
79  catch (const HazelnuppConstraintMissingValue& exc)
-
80  {
-
81  if (crashOnFail)
-
82  {
-
83  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
84  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
85  quick_exit(-1010);
-
86  }
-
87  else
-
88  throw exc; // yeet
-
89  }
-
90 
-
91  // Catch --help parameter
-
92  if ((catchHelp) && (HasParam("--help")))
-
93  {
-
94  std::cout << GenerateDocumentation() << std::endl;
-
95  quick_exit(0);
-
96  }
-
97 
-
98  return;
-
99 }
-
100 
-
101 std::size_t Hazelnupp::ParseNextParameter(const std::size_t parIndex, Parameter*& out_Par)
-
102 {
-
103  std::size_t i = parIndex;
-
104  const std::string key = rawArgs[parIndex];
-
105  std::vector<std::string> values;
-
106 
-
107  // Get values
-
108  for (i++; i < rawArgs.size(); i++)
-
109  // If not another parameter
-
110  if ((rawArgs[i].length() < 2) || (rawArgs[i].substr(0, 2) != "--"))
-
111  values.emplace_back(rawArgs[i]);
-
112  else
-
113  {
-
114  break;
-
115  }
-
116 
-
117  // Fetch constraint info
-
118  const ParamConstraint* pcn = GetConstraintForKey(key);
-
119 
-
120  Value* parsedVal = ParseValue(values, pcn);
-
121  if (parsedVal != nullptr)
-
122  {
-
123  out_Par = new Parameter(key, parsedVal);
-
124 
-
125  delete parsedVal;
-
126  parsedVal = nullptr;
-
127  }
-
128  else
-
129  throw std::runtime_error("Unable to parse parameter!");
-
130 
-
131  return i;
-
132 }
-
133 
-
134 void Hazelnupp::PopulateRawArgs(const int argc, const char* const* argv)
-
135 {
-
136  rawArgs.clear();
-
137  rawArgs.reserve(argc);
-
138 
-
139  for (int i = 0; i < argc; i++)
-
140  rawArgs.emplace_back(std::string(argv[i]));
-
141 
-
142  return;
-
143 }
-
144 
-
145 void Hazelnupp::ExpandAbbreviations()
-
146 {
-
147  // Abort if no abbreviations
-
148  if (parameterAbreviations.size() == 0)
-
149  return;
-
150 
-
151  for (std::string& arg : rawArgs)
-
152  {
-
153  // Is arg registered as an abbreviation?
-
154  auto abbr = parameterAbreviations.find(arg);
-
155  if (abbr != parameterAbreviations.end())
-
156  {
-
157  // Yes: replace arg with the long form
-
158  arg = abbr->second;
-
159  }
-
160  }
-
161 
-
162  return;
-
163 }
-
164 
-
165 bool Hazelnupp::HasParam(const std::string& key) const
-
166 {
-
167  return parameters.find(key) != parameters.end();
-
168 }
-
169 
-
170 Value* Hazelnupp::ParseValue(const std::vector<std::string>& values, const ParamConstraint* constraint)
-
171 {
-
172  // This is the raw (unconverted) data type the user provided
-
173  DATA_TYPE rawInputType;
-
174 
-
175  // Constraint values
-
176  const bool constrainType = (constraint != nullptr) && (constraint->constrainType);
-
177 
-
178  // Void-type
-
179  if (values.size() == 0)
-
180  {
-
181  rawInputType = DATA_TYPE::VOID;
-
182 
-
183  // Is a list forced via a constraint? If yes, return an empty list
-
184  if ((constrainType) &&
-
185  (constraint->requiredType == DATA_TYPE::LIST))
-
186  return new ListValue();
-
187 
-
188  // Is a string forced via a constraint? If yes, return an empty string
-
189  else if ((constrainType) &&
-
190  (constraint->requiredType == DATA_TYPE::STRING))
-
191  return new StringValue("");
-
192 
-
193  // Is an int or float forced via constraint? If yes, throw an exception
-
194  else if ((constrainType) &&
-
195  ((constraint->requiredType == DATA_TYPE::INT) ||
-
196  (constraint->requiredType == DATA_TYPE::FLOAT)))
- -
198  constraint->key,
-
199  constraint->requiredType,
-
200  rawInputType,
-
201  GetDescription(constraint->key)
-
202  );
-
203 
-
204  // Else, just return the void type
-
205  return new VoidValue;
-
206  }
-
207 
-
208  // Force void type by constraint
-
209  else if ((constrainType) &&
-
210  (constraint->requiredType == DATA_TYPE::VOID))
-
211  {
-
212  return new VoidValue;
-
213  }
-
214 
-
215  // List-type
-
216  else if (values.size() > 1)
-
217  {
-
218  rawInputType = DATA_TYPE::LIST;
-
219 
-
220  // Should the type be something other than list?
-
221  if ((constrainType) &&
-
222  (constraint->requiredType != DATA_TYPE::LIST))
-
223  {
- -
225  constraint->key,
-
226  constraint->requiredType,
-
227  rawInputType,
-
228  GetDescription(constraint->key)
-
229  );
-
230  }
-
231 
-
232  ListValue* newList = new ListValue();
-
233  for (const std::string& val : values)
-
234  {
-
235  Value* tmp = ParseValue({ val });
-
236  newList->AddValue(tmp);
-
237  delete tmp;
-
238  }
-
239  return newList;
-
240  }
-
241 
-
242  // Now we're only dealing with a single value
-
243  const std::string& val = values[0];
-
244 
-
245  // String
-
246  if (!StringTools::IsNumeric(val, true))
-
247  {
-
248  rawInputType = DATA_TYPE::STRING;
-
249 
-
250  // Is the type not supposed to be a string?
-
251  // void and list are already sorted out
-
252  if ((constrainType) &&
-
253  (constraint->requiredType != DATA_TYPE::STRING))
-
254  {
-
255  // We can only force a list-value from here
-
256  if (constraint->requiredType == DATA_TYPE::LIST)
-
257  {
-
258  ListValue* list = new ListValue();
-
259  Value* tmp = ParseValue({ val });
-
260  list->AddValue(tmp);
-
261  delete tmp;
-
262  tmp = nullptr;
-
263  return list;
-
264  }
-
265  // Else it is not possible to convert to a numeric
-
266  else
- -
268  constraint->key,
-
269  constraint->requiredType,
-
270  rawInputType,
-
271  GetDescription(constraint->key)
-
272  );
-
273  }
-
274 
-
275  return new StringValue(val);
-
276  }
-
277 
-
278  // In this case we have a numeric value.
-
279  // We should still produce a string if requested
-
280  if ((constrainType) &&
-
281  (constraint->requiredType == DATA_TYPE::STRING))
-
282  return new StringValue(val);
-
283 
-
284  // Numeric
-
285  bool isInt;
-
286  long double num;
-
287 
-
288  if (StringTools::ParseNumber(val, isInt, num))
-
289  {
-
290  rawInputType = isInt ? DATA_TYPE::INT : DATA_TYPE::FLOAT;
-
291 
-
292  // Is the type constrained?
-
293  // (only int and float left)
-
294  if (constrainType)
-
295  {
-
296  // Must it be an integer?
-
297  if (constraint->requiredType == DATA_TYPE::INT)
-
298  return new IntValue((long long int)num);
-
299  // Must it be a floating point?
-
300  else if (constraint->requiredType == DATA_TYPE::FLOAT)
-
301  return new FloatValue(num);
-
302  // Else it must be a List
-
303  else
-
304  {
-
305  ListValue* list = new ListValue();
-
306  Value* tmp = ParseValue({ val });
-
307  list->AddValue(tmp);
-
308  delete tmp;
-
309  tmp = nullptr;
-
310  return list;
-
311  }
-
312  }
-
313  // Type is not constrained
-
314  else
-
315  {
-
316  // Integer
-
317  if (isInt)
-
318  return new IntValue((long long int)num);
-
319 
-
320  // Double
-
321  return new FloatValue(num);
-
322  }
-
323  }
-
324 
-
325  // Failed
-
326  return nullptr;
-
327 }
-
328 
- -
330 {
-
331  return crashOnFail;
-
332 }
-
333 
-
334 void Hazelnupp::SetCatchHelp(bool catchHelp)
-
335 {
-
336  this->catchHelp = catchHelp;
-
337  return;
-
338 }
-
339 
- -
341 {
-
342  return catchHelp;
-
343 }
-
344 
-
345 void Hazelnupp::SetBriefDescription(const std::string& description)
-
346 {
-
347  briefDescription = description;
-
348  return;
-
349 }
-
350 
-
351 const std::string& Hazelnupp::GetBriefDescription()
-
352 {
-
353  return briefDescription;
-
354 }
-
355 
-
356 void Hazelnp::Hazelnupp::RegisterDescription(const std::string& parameter, const std::string& description)
-
357 {
-
358  parameterDescriptions[parameter] = description;
-
359  return;
-
360 }
-
361 
-
362 const std::string& Hazelnp::Hazelnupp::GetDescription(const std::string& parameter) const
-
363 {
-
364  // Do we already have a description for this parameter?
-
365  if (!HasDescription(parameter))
-
366  // No? Then return ""
- -
368 
-
369  // We do? Then return it
-
370  return parameterDescriptions.find(parameter)->second;
-
371 }
-
372 
-
373 bool Hazelnupp::HasDescription(const std::string& parameter) const
-
374 {
-
375  return parameterDescriptions.find(parameter) != parameterDescriptions.end();
-
376 }
-
377 
-
378 void Hazelnupp::ClearDescription(const std::string& parameter)
-
379 {
-
380  // This will just do nothing if the entry does not exist
-
381  parameterDescriptions.erase(parameter);
-
382  return;
-
383 }
-
384 
- -
386 {
-
387  parameterDescriptions.clear();
-
388  return;
-
389 }
-
390 
- -
392 {
-
393  std::stringstream ss;
-
394 
-
395  // Add brief, if available
-
396  if (briefDescription.length() > 0)
-
397  ss << briefDescription << std::endl;
-
398 
-
399  // Collect parameter information
-
400  struct ParamDocEntry
-
401  {
-
402  std::string abbreviation;
-
403  std::string description;
-
404  std::string type;
-
405  bool required = false;
-
406  bool typeIsForced = false;
-
407  std::string defaultVal;
-
408  };
-
409  std::unordered_map<std::string, ParamDocEntry> paramInfos;
-
410 
-
411  // Collect descriptions
-
412  for (const auto& it : parameterDescriptions)
-
413  {
-
414  // Do we already have that param in the paramInfo set?
-
415  if (paramInfos.find(it.first) == paramInfos.end())
-
416  // No? Create it.
-
417  paramInfos[it.first] = ParamDocEntry();
-
418 
-
419  paramInfos[it.first].description = it.second;
-
420  }
-
421 
-
422  // Collect abbreviations
-
423  // first value is abbreviation, second is long form
-
424  for (const auto& it : parameterAbreviations)
-
425  {
-
426  // Do we already have that param in the paramInfo set?
-
427  if (paramInfos.find(it.second) == paramInfos.end())
-
428  // No? Create it.
-
429  paramInfos[it.second] = ParamDocEntry();
-
430 
-
431  paramInfos[it.second].abbreviation = it.first;
-
432  }
-
433 
-
434  // Collect constraints
-
435  for (const auto& it : parameterConstraints)
-
436  {
-
437  // Do we already have that param in the paramInfo set?
-
438  if (paramInfos.find(it.first) == paramInfos.end())
-
439  // No? Create it.
-
440  paramInfos[it.first] = ParamDocEntry();
-
441 
-
442  ParamDocEntry& cached = paramInfos[it.first];
-
443  cached.required = it.second.required;
-
444  cached.typeIsForced = it.second.constrainType;
-
445  cached.type = DataTypeToString(it.second.requiredType);
-
446 
-
447  std::stringstream defaultValueSs;
-
448  for (const std::string& s : it.second.defaultValue)
-
449  {
-
450  defaultValueSs << '\'' << s << '\'';
-
451 
-
452  // Add a space if we are not at the last entry
-
453  if ((void*)&s != (void*)&it.second.defaultValue.back())
-
454  defaultValueSs << " ";
-
455  }
-
456  cached.defaultVal = defaultValueSs.str();
-
457  }
-
458 
-
459  // Now generate the documentatino body
-
460  if (paramInfos.size() > 0)
-
461  {
-
462  ss << std::endl
-
463  << "==== AVAILABLE PARAMETERS ===="
-
464  << std::endl << std::endl;
-
465 
-
466  std::size_t counter = 0;
-
467  for (const auto& it : paramInfos)
-
468  {
-
469  const ParamDocEntry& pde = it.second;
-
470 
-
471  // Put name
-
472  ss << it.first << " ";
-
473 
-
474  // Put abbreviation
-
475  if (pde.abbreviation.length() > 0)
-
476  ss << pde.abbreviation << " ";
-
477 
-
478  // Put type
-
479  if (pde.typeIsForced)
-
480  ss << pde.type << " ";
-
481 
-
482  // Put default value
-
483  if (pde.defaultVal.length() > 0)
-
484  ss << "default=[" << pde.defaultVal << "] ";
-
485 
-
486  // Put required tag, but only if no default value
-
487  if ((pde.required) && (pde.defaultVal.length() == 0))
-
488  ss << "[[REQUIRED]] ";
-
489 
-
490  // Put brief description
-
491  if (pde.description.length() > 0)
-
492  ss << pde.description;
-
493 
-
494  // Omit linebreaks when we're on the last element
-
495  if (counter < paramInfos.size()-1)
-
496  ss << std::endl << std::endl;
-
497 
-
498  counter++;
-
499  }
-
500  }
-
501 
-
502  return ss.str();
-
503 }
-
504 
-
505 void Hazelnupp::ApplyConstraints()
-
506 {
-
507  // Enforce required parameters / default values
-
508  for (const auto& pc : parameterConstraints)
-
509  // Parameter in question is not supplied
-
510  if (!HasParam(pc.second.key))
-
511  {
-
512  // Do we have a default value?
-
513  if (pc.second.defaultValue.size() > 0)
-
514  {
-
515  // Then create it now, by its default value
-
516 
-
517  Value* tmp = ParseValue(pc.second.defaultValue, &pc.second);
-
518  parameters.insert(std::pair<std::string, Parameter*>(
-
519  pc.second.key,
-
520  new Parameter(pc.second.key, tmp)
-
521  ));
-
522 
-
523  delete tmp;
-
524  tmp = nullptr;
-
525  }
-
526  // So we do not have a default value...
-
527  else
-
528  {
-
529  // Is it important to have the missing parameter?
-
530  if (pc.second.required)
-
531  // Throw an error message then
- -
533  pc.second.key,
-
534  GetDescription(pc.second.key)
-
535  );
-
536  }
-
537  }
-
538 
-
539  return;
-
540 }
-
541 
-
542 ParamConstraint Hazelnupp::GetConstraint(const std::string& parameter) const
-
543 {
-
544  return parameterConstraints.find(parameter)->second;
-
545 }
-
546 
-
547 void Hazelnupp::ClearConstraint(const std::string& parameter)
-
548 {
-
549  parameterConstraints.erase(parameter);
-
550  return;
-
551 }
-
552 
-
553 const std::string& Hazelnupp::GetExecutableName() const
-
554 {
-
555  return executableName;
-
556 }
-
557 
-
558 const Value& Hazelnupp::operator[](const std::string& key) const
-
559 {
-
560  // Throw exception if param is unknown
-
561  if (!HasParam(key))
- -
563 
-
564  return *parameters.find(key)->second->GetValue();
-
565 }
-
566 
-
567 void Hazelnupp::RegisterAbbreviation(const std::string& abbrev, const std::string& target)
-
568 {
-
569  parameterAbreviations.insert(std::pair<std::string, std::string>(abbrev, target));
-
570  return;
-
571 }
-
572 
-
573 const std::string& Hazelnupp::GetAbbreviation(const std::string& abbrev) const
-
574 {
-
575  if (!HasAbbreviation(abbrev))
- -
577 
-
578  return parameterAbreviations.find(abbrev)->second;
-
579 }
-
580 
-
581 bool Hazelnupp::HasAbbreviation(const std::string& abbrev) const
-
582 {
-
583  return parameterAbreviations.find(abbrev) != parameterAbreviations.end();
-
584 }
-
585 
-
586 void Hazelnupp::ClearAbbreviation(const std::string& abbrevation)
-
587 {
-
588  parameterAbreviations.erase(abbrevation);
-
589  return;
-
590 }
-
591 
- -
593 {
-
594  parameterAbreviations.clear();
-
595  return;
-
596 }
-
597 
-
598 void Hazelnupp::RegisterConstraint(const std::string& key, const ParamConstraint& constraint)
-
599 {
-
600  // Magic syntax, wooo
-
601  (parameterConstraints[key] = constraint).key = key;
-
602  return;
-
603 }
-
604 
- -
606 {
-
607  parameterConstraints.clear();
-
608  return;
-
609 }
-
610 
-
611 void Hazelnupp::SetCrashOnFail(bool crashOnFail)
-
612 {
-
613  this->crashOnFail = crashOnFail;
-
614  return;
-
615 }
-
616 
-
617 const ParamConstraint* Hazelnupp::GetConstraintForKey(const std::string& key) const
-
618 {
-
619  const auto constraint = parameterConstraints.find(key);
-
620 
-
621  if (constraint == parameterConstraints.end())
-
622  return nullptr;
-
623 
-
624  return &constraint->second;
-
625 }
-
-
HazelnuppException.h
-
Hazelnp
Definition: DataType.h:4
-
Hazelnp::IntValue
Specializations for integer values (uses long long int)
Definition: IntValue.h:8
-
Hazelnp::StringTools::IsNumeric
static bool IsNumeric(const std::string &str, const bool allowDecimalPoint=false)
Will return true if the given string consists only of digits (including signage)
Definition: StringTools.cpp:56
-
Hazelnp::StringTools::ParseNumber
static bool ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)
Will convert the number in str to a number.
Definition: StringTools.cpp:82
-
Hazelnp::Hazelnupp::GetBriefDescription
const std::string & GetBriefDescription()
Returns the brief description of the application to be automatically added to the documentation.
Definition: Hazelnupp.cpp:351
-
Hazelnp::Hazelnupp::ClearConstraints
void ClearConstraints()
Will delete all constraints.
Definition: Hazelnupp.cpp:605
-
Hazelnp::HazelnuppInvalidKeyException
Gets thrown when an non-existent key gets dereferenced.
Definition: HazelnuppException.h:29
-
Hazelnp::Hazelnupp::GetExecutableName
const std::string & GetExecutableName() const
Will return argv[0], the name of the executable.
Definition: Hazelnupp.cpp:553
-
Hazelnp::Hazelnupp::GenerateDocumentation
std::string GenerateDocumentation() const
Will generate a text-based documentation suited to show the user, for example on –help.
Definition: Hazelnupp.cpp:391
-
Hazelnp::Hazelnupp::GetConstraint
ParamConstraint GetConstraint(const std::string &parameter) const
Will return the constraint information for a specific parameter.
Definition: Hazelnupp.cpp:542
-
Hazelnp::Hazelnupp::~Hazelnupp
~Hazelnupp()
Definition: Hazelnupp.cpp:26
-
Hazelnp::Hazelnupp::operator[]
const Value & operator[](const std::string &key) const
Will return the value given a key.
Definition: Hazelnupp.cpp:558
-
StringValue.h
-
Hazelnp::HazelnuppException::What
const std::string & What() const
Will return an error message.
Definition: HazelnuppException.h:18
-
IntValue.h
-
Hazelnp::Hazelnupp::Hazelnupp
Hazelnupp()
Definition: Hazelnupp.cpp:15
-
Placeholders.h
-
Hazelnp::Hazelnupp::ClearAbbreviations
void ClearAbbreviations()
Will delete all abbreviations.
Definition: Hazelnupp.cpp:592
-
Hazelnp::DATA_TYPE::VOID
@ VOID
-
Hazelnp::FloatValue
Specializations for floating point values (uses long double)
Definition: FloatValue.h:9
-
Hazelnp::ParamConstraint::requiredType
DATA_TYPE requiredType
Constrain the parameter to this value. Requires constrainType to be set to true.
Definition: ParamConstraint.h:51
-
Hazelnp::Hazelnupp::SetBriefDescription
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition: Hazelnupp.cpp:345
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::Hazelnupp::GetCrashOnFail
bool GetCrashOnFail() const
Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
Definition: Hazelnupp.cpp:329
-
Hazelnp::Hazelnupp::HasDescription
bool HasDescription(const std::string &parameter) const
Returns whether or not a given parameter has a registered description.
Definition: Hazelnupp.cpp:373
-
Hazelnp::Hazelnupp::SetCatchHelp
void SetCatchHelp(bool catchHelp)
Sets whether the Hazelnupp should automatically catch the –help parameter, print the parameter docume...
Definition: Hazelnupp.cpp:334
-
Hazelnp::Hazelnupp::GetCatchHelp
bool GetCatchHelp() const
Retruns whether the Hazelnupp should automatically catch the –help parameter, print the parameter doc...
Definition: Hazelnupp.cpp:340
-
Hazelnp::DATA_TYPE::LIST
@ LIST
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::ParamConstraint
Definition: ParamConstraint.h:8
-
Hazelnp::Placeholders::g_emptyString
static const std::string g_emptyString
The only purpose of this is to provide the ability to return an empty string as an error for std::str...
Definition: Placeholders.h:9
-
Hazelnp::Hazelnupp::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: Hazelnupp.cpp:165
-
Hazelnp::Hazelnupp::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:36
-
ListValue.h
-
Hazelnp::ParamConstraint::constrainType
bool constrainType
Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
Definition: ParamConstraint.h:48
-
Hazelnp::Hazelnupp::ClearDescription
void ClearDescription(const std::string &parameter)
Will delete the description of a parameter if it exists.
Definition: Hazelnupp.cpp:378
-
Hazelnp::Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:21
-
Hazelnp::HazelnuppConstraintMissingValue
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
Definition: HazelnuppException.h:80
-
Hazelnp::Hazelnupp::RegisterAbbreviation
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:567
-
Hazelnp::HazelnuppConstraintTypeMissmatch
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
Definition: HazelnuppException.h:56
-
VoidValue.h
-
Hazelnp::Hazelnupp::GetAbbreviation
const std::string & GetAbbreviation(const std::string &abbrev) const
Will return the long form of an abbreviation (like –force for -f) Returns "" if no match is found.
Definition: Hazelnupp.cpp:573
-
Hazelnp::Hazelnupp::ClearDescriptions
void ClearDescriptions()
Will delete all parameter descriptions.
Definition: Hazelnupp.cpp:385
-
Hazelnupp.h
-
Hazelnp::ListValue::AddValue
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:33
-
Hazelnp::Hazelnupp::RegisterConstraint
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition: Hazelnupp.cpp:598
-
Hazelnp::VoidValue
Specializations for void values.
Definition: VoidValue.h:8
-
Hazelnp::Hazelnupp::GetDescription
const std::string & GetDescription(const std::string &parameter) const
Will return a short description for a parameter, if it exists.
Definition: Hazelnupp.cpp:362
-
Hazelnp::DATA_TYPE::FLOAT
@ FLOAT
-
Hazelnp::DATA_TYPE::INT
@ INT
-
Hazelnp::Hazelnupp::ClearConstraint
void ClearConstraint(const std::string &parameter)
Will the constraint of a specific parameter.
Definition: Hazelnupp.cpp:547
-
FloatValue.h
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::Hazelnupp::HasAbbreviation
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: Hazelnupp.cpp:581
-
Hazelnp::DATA_TYPE::STRING
@ STRING
-
Hazelnp::Hazelnupp::SetCrashOnFail
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: Hazelnupp.cpp:611
-
Hazelnp::Hazelnupp::RegisterDescription
void RegisterDescription(const std::string &parameter, const std::string &description)
Willl register a short description for a parameter.
Definition: Hazelnupp.cpp:356
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
-
Hazelnp::Hazelnupp::ClearAbbreviation
void ClearAbbreviation(const std::string &abbrevation)
Will delete the abbreviation for a given parameter.
Definition: Hazelnupp.cpp:586
-
Hazelnp::ListValue
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:9
-
Hazelnp::StringValue
Specializations for string values (uses std::string)
Definition: StringValue.h:9
-
StringTools.h
- - - - diff --git a/docs/Hazelnupp_8h.html b/docs/Hazelnupp_8h.html deleted file mode 100644 index 1009273..0000000 --- a/docs/Hazelnupp_8h.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
Hazelnupp.h File Reference
-
-
-
#include "Parameter.h"
-#include "ParamConstraint.h"
-#include <unordered_map>
-#include <vector>
-
-Include dependency graph for Hazelnupp.h:
-
-
- - - - - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::Hazelnupp
 The main class to interface with. More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/Hazelnupp_8h__dep__incl.map b/docs/Hazelnupp_8h__dep__incl.map deleted file mode 100644 index d3276c4..0000000 --- a/docs/Hazelnupp_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/Hazelnupp_8h__dep__incl.md5 b/docs/Hazelnupp_8h__dep__incl.md5 deleted file mode 100644 index 7c4195d..0000000 --- a/docs/Hazelnupp_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9ea9d229b244e88be56b9485081ca20a \ No newline at end of file diff --git a/docs/Hazelnupp_8h__dep__incl.png b/docs/Hazelnupp_8h__dep__incl.png deleted file mode 100644 index f371103..0000000 Binary files a/docs/Hazelnupp_8h__dep__incl.png and /dev/null differ diff --git a/docs/Hazelnupp_8h__incl.map b/docs/Hazelnupp_8h__incl.map deleted file mode 100644 index 3538a54..0000000 --- a/docs/Hazelnupp_8h__incl.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/Hazelnupp_8h__incl.md5 b/docs/Hazelnupp_8h__incl.md5 deleted file mode 100644 index 49dadf1..0000000 --- a/docs/Hazelnupp_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -845ac1274f12c8f52f49584ce1233b40 \ No newline at end of file diff --git a/docs/Hazelnupp_8h__incl.png b/docs/Hazelnupp_8h__incl.png deleted file mode 100644 index ab8c762..0000000 Binary files a/docs/Hazelnupp_8h__incl.png and /dev/null differ diff --git a/docs/Hazelnupp_8h_source.html b/docs/Hazelnupp_8h_source.html deleted file mode 100644 index 79ffef0..0000000 --- a/docs/Hazelnupp_8h_source.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnupp.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Parameter.h"
-
3 #include "ParamConstraint.h"
-
4 #include <unordered_map>
-
5 #include <vector>
-
6 
-
7 namespace Hazelnp
-
8 {
-
9  /** The main class to interface with
-
10  */
-
11  class Hazelnupp
-
12  {
-
13  public:
-
14  Hazelnupp();
-
15  Hazelnupp(const int argc, const char* const* argv);
-
16 
-
17  ~Hazelnupp();
-
18 
-
19  //! Will parse command line arguments
-
20  void Parse(const int argc, const char* const* argv);
-
21 
-
22  //! Will return argv[0], the name of the executable.
-
23  const std::string& GetExecutableName() const;
-
24 
-
25  //! Will return the value given a key
-
26  const Value& operator[](const std::string& key) const;
-
27 
-
28  //! Will check wether a parameter exists given a key, or not
-
29  bool HasParam(const std::string& key) const;
-
30 
-
31  // Abbreviations
-
32  //! Will register an abbreviation (like -f for --force)
-
33  void RegisterAbbreviation(const std::string& abbrev, const std::string& target);
-
34 
-
35  //! Will return the long form of an abbreviation (like --force for -f)
-
36  //! Returns "" if no match is found
-
37  const std::string& GetAbbreviation(const std::string& abbrev) const;
-
38 
-
39  //! Will check wether or not an abbreviation is registered
-
40  bool HasAbbreviation(const std::string& abbrev) const;
-
41 
-
42  //! Will delete the abbreviation for a given parameter.
-
43  //! IMPORTANT: This parameter is the abbreviation! Not the long form!
-
44  void ClearAbbreviation(const std::string& abbrevation);
-
45 
-
46  //! Will delete all abbreviations
-
47  void ClearAbbreviations();
-
48 
-
49  //! Will register a constraint for a parameter.
-
50  //! IMPORTANT: Any parameter can only have ONE constraint. Applying a new one will overwrite the old one!
-
51  //! Construct the ParamConstraint struct yourself to combine Require and TypeSafety! You can also use the ParamConstraint constructor!
-
52  void RegisterConstraint(const std::string& key, const ParamConstraint& constraint);
-
53 
-
54  //! Will return the constraint information for a specific parameter
-
55  ParamConstraint GetConstraint(const std::string& parameter) const;
-
56 
-
57  //! Will the constraint of a specific parameter
-
58  void ClearConstraint(const std::string& parameter);
-
59 
-
60  //! Will delete all constraints
-
61  void ClearConstraints();
-
62 
-
63  //! Sets whether to crash the application, and print to stderr, when an exception is
-
64  //! raised whilst parsing, or not.
-
65  void SetCrashOnFail(bool crashOnFail);
-
66 
-
67  //! Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
-
68  bool GetCrashOnFail() const;
-
69 
-
70  //! Sets whether the Hazelnupp should automatically catch the --help parameter, print the parameter documentation to stdout, and exit or not.
-
71  void SetCatchHelp(bool catchHelp);
-
72 
-
73  //! Retruns whether the Hazelnupp should automatically catch the --help parameter, print the parameter documentation to stdout, and exit or not.
-
74  bool GetCatchHelp() const;
-
75 
-
76  //! Sets a brief description of the application to be automatically added to the documentation.
-
77  void SetBriefDescription(const std::string& description);
-
78 
-
79  //! Returns the brief description of the application to be automatically added to the documentation.
-
80  const std::string& GetBriefDescription();
-
81 
-
82  //! Willl register a short description for a parameter.
-
83  //! Will overwrite existing descriptions for that parameter.
-
84  void RegisterDescription(const std::string& parameter, const std::string& description);
-
85 
-
86  //! Will return a short description for a parameter, if it exists.
-
87  //! Empty string if it does not exist.
-
88  const std::string& GetDescription(const std::string& parameter) const;
-
89 
-
90  //! Returns whether or not a given parameter has a registered description
-
91  bool HasDescription(const std::string& parameter) const;
-
92 
-
93  //! Will delete the description of a parameter if it exists.
-
94  void ClearDescription(const std::string& parameter);
-
95 
-
96  //! Will delete all parameter descriptions
-
97  void ClearDescriptions();
-
98 
-
99  //! Will generate a text-based documentation suited to show the user, for example on --help.
-
100  std::string GenerateDocumentation() const;
-
101 
-
102  private:
-
103  //! Will translate the c-like args to an std::vector
-
104  void PopulateRawArgs(const int argc, const char* const* argv);
-
105 
-
106  //! Will replace all args matching an abbreviation with their long form (like -f for --force)
-
107  void ExpandAbbreviations();
-
108 
-
109  //! Will parse the next parameter. Returns the index of the next parameter.
-
110  std::size_t ParseNextParameter(const std::size_t parIndex, Parameter*& out_Par);
-
111 
-
112  //! Will convert a vector of string-values to an actual Value
-
113  Value* ParseValue(const std::vector<std::string>& values, const ParamConstraint* constraint = nullptr);
-
114 
-
115  //! Will apply the loaded constraints on the loaded values, exluding types.
-
116  void ApplyConstraints();
-
117 
-
118  //! Will return a pointer to a paramConstraint given a key. If there is no, it returns nullptr
-
119  const ParamConstraint* GetConstraintForKey(const std::string& key) const;
-
120 
-
121  std::string executableName; //! The path of the executable. Always argv[0]
-
122  std::unordered_map<std::string, Parameter*> parameters;
-
123 
-
124  //! These are abbreviations. Like, -f for --force.
-
125  std::unordered_map<std::string, std::string> parameterAbreviations;
-
126 
-
127  //! Parameter constraints, mapped to keys
-
128  std::unordered_map<std::string, ParamConstraint> parameterConstraints;
-
129 
-
130  //! Raw argv
-
131  std::vector<std::string> rawArgs;
-
132 
-
133  //! Short descriptions for parameters
-
134  //! First member is the abbreviation
-
135  std::unordered_map<std::string, std::string> parameterDescriptions;
-
136 
-
137  //! A brief description of the application to be added to the generated documentation. Optional.
-
138  std::string briefDescription;
-
139 
-
140  //! If set to true, Hazelnupp will automatically catch the --help parameter, print the parameter documentation to stdout and exit.
-
141  bool catchHelp = true;
-
142 
-
143  //! If set to true, Hazelnupp will crash the application with output to stderr when an exception is thrown whilst parsing.
-
144  bool crashOnFail = true;
-
145  };
-
146 }
-
-
Hazelnp
Definition: DataType.h:4
-
Hazelnp::Hazelnupp::GetBriefDescription
const std::string & GetBriefDescription()
Returns the brief description of the application to be automatically added to the documentation.
Definition: Hazelnupp.cpp:351
-
Hazelnp::Hazelnupp::ClearConstraints
void ClearConstraints()
Will delete all constraints.
Definition: Hazelnupp.cpp:605
-
Hazelnp::Hazelnupp::GetExecutableName
const std::string & GetExecutableName() const
Will return argv[0], the name of the executable.
Definition: Hazelnupp.cpp:553
-
Hazelnp::Hazelnupp::GenerateDocumentation
std::string GenerateDocumentation() const
Will generate a text-based documentation suited to show the user, for example on –help.
Definition: Hazelnupp.cpp:391
-
Hazelnp::Hazelnupp::GetConstraint
ParamConstraint GetConstraint(const std::string &parameter) const
Will return the constraint information for a specific parameter.
Definition: Hazelnupp.cpp:542
-
Hazelnp::Hazelnupp::~Hazelnupp
~Hazelnupp()
Definition: Hazelnupp.cpp:26
-
Hazelnp::Hazelnupp::operator[]
const Value & operator[](const std::string &key) const
Will return the value given a key.
Definition: Hazelnupp.cpp:558
-
Hazelnp::Hazelnupp
The main class to interface with.
Definition: Hazelnupp.h:11
-
Hazelnp::Hazelnupp::Hazelnupp
Hazelnupp()
Definition: Hazelnupp.cpp:15
-
Hazelnp::Hazelnupp::ClearAbbreviations
void ClearAbbreviations()
Will delete all abbreviations.
Definition: Hazelnupp.cpp:592
-
Hazelnp::Hazelnupp::SetBriefDescription
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition: Hazelnupp.cpp:345
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
ParamConstraint.h
-
Hazelnp::Hazelnupp::GetCrashOnFail
bool GetCrashOnFail() const
Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
Definition: Hazelnupp.cpp:329
-
Hazelnp::Hazelnupp::HasDescription
bool HasDescription(const std::string &parameter) const
Returns whether or not a given parameter has a registered description.
Definition: Hazelnupp.cpp:373
-
Hazelnp::Hazelnupp::SetCatchHelp
void SetCatchHelp(bool catchHelp)
Sets whether the Hazelnupp should automatically catch the –help parameter, print the parameter docume...
Definition: Hazelnupp.cpp:334
-
Hazelnp::Hazelnupp::GetCatchHelp
bool GetCatchHelp() const
Retruns whether the Hazelnupp should automatically catch the –help parameter, print the parameter doc...
Definition: Hazelnupp.cpp:340
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::ParamConstraint
Definition: ParamConstraint.h:8
-
Hazelnp::Hazelnupp::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: Hazelnupp.cpp:165
-
Hazelnp::Hazelnupp::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:36
-
Hazelnp::Hazelnupp::ClearDescription
void ClearDescription(const std::string &parameter)
Will delete the description of a parameter if it exists.
Definition: Hazelnupp.cpp:378
-
Hazelnp::Hazelnupp::RegisterAbbreviation
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:567
-
Hazelnp::Hazelnupp::GetAbbreviation
const std::string & GetAbbreviation(const std::string &abbrev) const
Will return the long form of an abbreviation (like –force for -f) Returns "" if no match is found.
Definition: Hazelnupp.cpp:573
-
Hazelnp::Hazelnupp::ClearDescriptions
void ClearDescriptions()
Will delete all parameter descriptions.
Definition: Hazelnupp.cpp:385
-
Parameter.h
-
Hazelnp::Hazelnupp::RegisterConstraint
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition: Hazelnupp.cpp:598
-
Hazelnp::Hazelnupp::GetDescription
const std::string & GetDescription(const std::string &parameter) const
Will return a short description for a parameter, if it exists.
Definition: Hazelnupp.cpp:362
-
Hazelnp::Hazelnupp::ClearConstraint
void ClearConstraint(const std::string &parameter)
Will the constraint of a specific parameter.
Definition: Hazelnupp.cpp:547
-
Hazelnp::Hazelnupp::HasAbbreviation
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: Hazelnupp.cpp:581
-
Hazelnp::Hazelnupp::SetCrashOnFail
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: Hazelnupp.cpp:611
-
Hazelnp::Hazelnupp::RegisterDescription
void RegisterDescription(const std::string &parameter, const std::string &description)
Willl register a short description for a parameter.
Definition: Hazelnupp.cpp:356
-
Hazelnp::Hazelnupp::ClearAbbreviation
void ClearAbbreviation(const std::string &abbrevation)
Will delete the abbreviation for a given parameter.
Definition: Hazelnupp.cpp:586
- - - - diff --git a/docs/IntValue_8cpp.html b/docs/IntValue_8cpp.html deleted file mode 100644 index db59b06..0000000 --- a/docs/IntValue_8cpp.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/IntValue.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
IntValue.cpp File Reference
-
-
-
#include "IntValue.h"
-#include "HazelnuppException.h"
-#include <sstream>
-
-Include dependency graph for IntValue.cpp:
-
-
- - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/IntValue_8cpp__incl.map b/docs/IntValue_8cpp__incl.map deleted file mode 100644 index c0e2a4e..0000000 --- a/docs/IntValue_8cpp__incl.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/IntValue_8cpp__incl.md5 b/docs/IntValue_8cpp__incl.md5 deleted file mode 100644 index 22b5944..0000000 --- a/docs/IntValue_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a735acab82e17102515add4f64c52e50 \ No newline at end of file diff --git a/docs/IntValue_8cpp__incl.png b/docs/IntValue_8cpp__incl.png deleted file mode 100644 index 0f1f9f3..0000000 Binary files a/docs/IntValue_8cpp__incl.png and /dev/null differ diff --git a/docs/IntValue_8cpp_source.html b/docs/IntValue_8cpp_source.html deleted file mode 100644 index d5b128f..0000000 --- a/docs/IntValue_8cpp_source.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/IntValue.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
IntValue.cpp
-
-
-Go to the documentation of this file.
1 #include "IntValue.h"
-
2 #include "HazelnuppException.h"
-
3 #include <sstream>
-
4 
-
5 using namespace Hazelnp;
-
6 
-
7 IntValue::IntValue(const long long int& value)
-
8  :
- -
10  value { value }
-
11 {
-
12  return;
-
13 }
-
14 
- -
16 {
-
17  return new IntValue(value);
-
18 }
-
19 
-
20 std::string IntValue::GetAsOsString() const
-
21 {
-
22  std::stringstream ss;
-
23  ss << "IntValue: " << value;
-
24  return ss.str();
-
25 }
-
26 
-
27 const long long int& IntValue::GetValue() const
-
28 {
-
29  return value;
-
30 }
-
31 
-
32 IntValue::operator long long int() const
-
33 {
-
34  return value;
-
35 }
-
36 
-
37 IntValue::operator int() const
-
38 {
-
39  return (int)value;
-
40 }
-
41 
-
42 
-
43 
-
44 long long int IntValue::GetInt64() const
-
45 {
-
46  return value;
-
47 }
-
48 
-
49 int IntValue::GetInt32() const
-
50 {
-
51  return (int)value;
-
52 }
-
53 
-
54 long double IntValue::GetFloat64() const
-
55 {
-
56  return (long double)value;
-
57 }
-
58 
-
59 double IntValue::GetFloat32() const
-
60 {
-
61  return (double)value;
-
62 }
-
63 
-
64 std::string IntValue::GetString() const
-
65 {
-
66  std::stringstream ss;
-
67  ss << value;
-
68 
-
69  return ss.str();
-
70 }
-
71 
-
72 const std::vector<Value*>& IntValue::GetList() const
-
73 {
- -
75 }
-
-
HazelnuppException.h
-
Hazelnp::IntValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: IntValue.cpp:20
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::IntValue::GetFloat32
double GetFloat32() const override
Will return the data as a double.
Definition: IntValue.cpp:59
-
IntValue.h
-
Hazelnp::IntValue::IntValue
IntValue(const long long int &value)
Definition: IntValue.cpp:7
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::IntValue::GetInt32
int GetInt32() const override
Will return the data as an int.
Definition: IntValue.cpp:49
-
Hazelnp::IntValue::GetList
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: IntValue.cpp:72
-
Hazelnp::IntValue::GetFloat64
long double GetFloat64() const override
Will return the data as a long double.
Definition: IntValue.cpp:54
-
Hazelnp::IntValue::GetString
std::string GetString() const override
Will return the data as a string.
Definition: IntValue.cpp:64
-
Hazelnp::IntValue::GetInt64
long long int GetInt64() const override
Will return the data as a long long int.
Definition: IntValue.cpp:44
-
Hazelnp::IntValue::GetValue
const long long int & GetValue() const
Will return the raw value.
Definition: IntValue.cpp:27
-
Hazelnp::IntValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: IntValue.cpp:15
-
Hazelnp::DATA_TYPE::INT
@ INT
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/IntValue_8h.html b/docs/IntValue_8h.html deleted file mode 100644 index e6f877d..0000000 --- a/docs/IntValue_8h.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/IntValue.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
IntValue.h File Reference
-
-
-
#include "Value.h"
-
-Include dependency graph for IntValue.h:
-
-
- - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::IntValue
 Specializations for integer values (uses long long int) More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/IntValue_8h__dep__incl.map b/docs/IntValue_8h__dep__incl.map deleted file mode 100644 index 4897b85..0000000 --- a/docs/IntValue_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/IntValue_8h__dep__incl.md5 b/docs/IntValue_8h__dep__incl.md5 deleted file mode 100644 index c741961..0000000 --- a/docs/IntValue_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -210bd13ae99f4f3c78d0bcbf903f3b49 \ No newline at end of file diff --git a/docs/IntValue_8h__dep__incl.png b/docs/IntValue_8h__dep__incl.png deleted file mode 100644 index 1aced50..0000000 Binary files a/docs/IntValue_8h__dep__incl.png and /dev/null differ diff --git a/docs/IntValue_8h__incl.map b/docs/IntValue_8h__incl.map deleted file mode 100644 index b246bc4..0000000 --- a/docs/IntValue_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/IntValue_8h__incl.md5 b/docs/IntValue_8h__incl.md5 deleted file mode 100644 index 0173fa1..0000000 --- a/docs/IntValue_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -01877cbc4116c27e4712daf7947a4545 \ No newline at end of file diff --git a/docs/IntValue_8h__incl.png b/docs/IntValue_8h__incl.png deleted file mode 100644 index c562779..0000000 Binary files a/docs/IntValue_8h__incl.png and /dev/null differ diff --git a/docs/IntValue_8h_source.html b/docs/IntValue_8h_source.html deleted file mode 100644 index fc1e7e9..0000000 --- a/docs/IntValue_8h_source.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/IntValue.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
IntValue.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Value.h"
-
3 
-
4 namespace Hazelnp
-
5 {
-
6  /** Specializations for integer values (uses long long int)
-
7  */
-
8  class IntValue : public Value
-
9  {
-
10  public:
-
11  IntValue(const long long int& value);
-
12  ~IntValue() override {};
-
13 
-
14  //! Will return a deeopopy of this object
-
15  Value* Deepcopy() const override;
-
16 
-
17  //! Will return a string suitable for an std::ostream;
-
18  std::string GetAsOsString() const override;
-
19 
-
20  //! Will return the raw value
-
21  const long long int& GetValue() const;
-
22 
-
23  operator long long int() const;
-
24  operator int() const;
-
25 
-
26 
-
27  //! Will return the data as a long long int
-
28  long long int GetInt64() const override;
-
29  //! Will return the data as an int
-
30  int GetInt32() const override;
-
31 
-
32  //! Will return the data as a long double
-
33  long double GetFloat64() const override;
-
34  //! Will return the data as a double
-
35  double GetFloat32() const override;
-
36 
-
37  //! Will return the data as a string
-
38  std::string GetString() const override;
-
39 
-
40  //! Throws HazelnuppValueNotConvertibleException
-
41  const std::vector<Value*>& GetList() const override;
-
42 
-
43  private:
-
44  long long int value;
-
45  };
-
46 }
-
-
Hazelnp::IntValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: IntValue.cpp:20
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::IntValue
Specializations for integer values (uses long long int)
Definition: IntValue.h:8
-
Hazelnp::IntValue::GetFloat32
double GetFloat32() const override
Will return the data as a double.
Definition: IntValue.cpp:59
-
Hazelnp::IntValue::~IntValue
~IntValue() override
Definition: IntValue.h:12
-
Hazelnp::IntValue::IntValue
IntValue(const long long int &value)
Definition: IntValue.cpp:7
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::IntValue::GetInt32
int GetInt32() const override
Will return the data as an int.
Definition: IntValue.cpp:49
-
Hazelnp::IntValue::GetList
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: IntValue.cpp:72
-
Hazelnp::IntValue::GetFloat64
long double GetFloat64() const override
Will return the data as a long double.
Definition: IntValue.cpp:54
-
Hazelnp::IntValue::GetString
std::string GetString() const override
Will return the data as a string.
Definition: IntValue.cpp:64
-
Hazelnp::IntValue::GetInt64
long long int GetInt64() const override
Will return the data as a long long int.
Definition: IntValue.cpp:44
-
Hazelnp::IntValue::GetValue
const long long int & GetValue() const
Will return the raw value.
Definition: IntValue.cpp:27
-
Hazelnp::IntValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: IntValue.cpp:15
-
Value.h
- - - - diff --git a/docs/ListValue_8cpp.html b/docs/ListValue_8cpp.html deleted file mode 100644 index be6bb38..0000000 --- a/docs/ListValue_8cpp.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/ListValue.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
ListValue.cpp File Reference
-
-
-
#include "ListValue.h"
-#include "HazelnuppException.h"
-#include <sstream>
-
-Include dependency graph for ListValue.cpp:
-
-
- - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/ListValue_8cpp__incl.map b/docs/ListValue_8cpp__incl.map deleted file mode 100644 index b61c796..0000000 --- a/docs/ListValue_8cpp__incl.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/ListValue_8cpp__incl.md5 b/docs/ListValue_8cpp__incl.md5 deleted file mode 100644 index fdbd642..0000000 --- a/docs/ListValue_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0799ff068d78d8da242bc5bfd0ee52d6 \ No newline at end of file diff --git a/docs/ListValue_8cpp__incl.png b/docs/ListValue_8cpp__incl.png deleted file mode 100644 index 7e1de27..0000000 Binary files a/docs/ListValue_8cpp__incl.png and /dev/null differ diff --git a/docs/ListValue_8cpp_source.html b/docs/ListValue_8cpp_source.html deleted file mode 100644 index 9b2feaf..0000000 --- a/docs/ListValue_8cpp_source.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/ListValue.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
ListValue.cpp
-
-
-Go to the documentation of this file.
1 #include "ListValue.h"
-
2 #include "HazelnuppException.h"
-
3 #include <sstream>
-
4 
-
5 using namespace Hazelnp;
-
6 
- - -
9 {
-
10  return;
-
11 }
-
12 
- -
14 {
-
15  for (Value* val : value)
-
16  delete val;
-
17 
-
18  value.clear();
-
19 
-
20  return;
-
21 }
-
22 
- -
24 {
-
25  ListValue* newList = new ListValue();
-
26 
-
27  for (const Value* val : value)
-
28  newList->AddValue(val);
-
29 
-
30  return newList;
-
31 }
-
32 
-
33 void ListValue::AddValue(const Value* value)
-
34 {
-
35  this->value.emplace_back(value->Deepcopy());
-
36  return;
-
37 }
-
38 
-
39 const std::vector<Value*>& ListValue::GetValue() const
-
40 {
-
41  return value;
-
42 }
-
43 
-
44 std::string ListValue::GetAsOsString() const
-
45 {
-
46  std::stringstream ss;
-
47 
-
48  ss << "ListValue: [";
-
49 
-
50  for (const Value* val : value)
-
51  {
-
52  ss << *val;
-
53  if (val != value.back())
-
54  ss << ", ";
-
55  }
-
56 
-
57  ss << "]";
-
58 
-
59  return ss.str();
-
60 }
-
61 
-
62 ListValue::operator std::vector<Value*>() const
-
63 {
-
64  return value;
-
65 }
-
66 
-
67 
-
68 
-
69 long long int ListValue::GetInt64() const
-
70 {
- -
72 }
-
73 
- -
75 {
- -
77 }
-
78 
-
79 long double ListValue::GetFloat64() const
-
80 {
- -
82 }
-
83 
-
84 double ListValue::GetFloat32() const
-
85 {
- -
87 }
-
88 
-
89 std::string ListValue::GetString() const
-
90 {
- -
92 }
-
93 
-
94 const std::vector<Value*>& ListValue::GetList() const
-
95 {
-
96  return value;
-
97 }
-
-
Hazelnp::ListValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: ListValue.cpp:44
-
HazelnuppException.h
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::ListValue::GetFloat32
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:84
-
Hazelnp::ListValue::GetString
std::string GetString() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:89
-
Hazelnp::ListValue::GetList
const std::vector< Value * > & GetList() const override
Will return this values list.
Definition: ListValue.cpp:94
-
Hazelnp::ListValue::GetValue
const std::vector< Value * > & GetValue() const
Will return the raw value.
Definition: ListValue.cpp:39
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::DATA_TYPE::LIST
@ LIST
-
Hazelnp::ListValue::GetInt64
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:69
-
Hazelnp::ListValue::GetInt32
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:74
-
ListValue.h
-
Hazelnp::ListValue::AddValue
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:33
-
Hazelnp::ListValue::~ListValue
~ListValue() override
Definition: ListValue.cpp:13
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::ListValue::ListValue
ListValue()
Definition: ListValue.cpp:7
-
Hazelnp::ListValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: ListValue.cpp:23
-
Hazelnp::Value::Deepcopy
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
-
Hazelnp::ListValue::GetFloat64
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:79
-
Hazelnp::ListValue
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:9
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/ListValue_8h.html b/docs/ListValue_8h.html deleted file mode 100644 index 130a391..0000000 --- a/docs/ListValue_8h.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/ListValue.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
ListValue.h File Reference
-
-
-
#include "Value.h"
-#include <vector>
-
-Include dependency graph for ListValue.h:
-
-
- - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::ListValue
 Specializations for list values (uses std::vector<Value*>) More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/ListValue_8h__dep__incl.map b/docs/ListValue_8h__dep__incl.map deleted file mode 100644 index a41c615..0000000 --- a/docs/ListValue_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/ListValue_8h__dep__incl.md5 b/docs/ListValue_8h__dep__incl.md5 deleted file mode 100644 index c4ded7a..0000000 --- a/docs/ListValue_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f2fcfdd1c5f4d9d482e8985a8a7faca7 \ No newline at end of file diff --git a/docs/ListValue_8h__dep__incl.png b/docs/ListValue_8h__dep__incl.png deleted file mode 100644 index 9ddecd8..0000000 Binary files a/docs/ListValue_8h__dep__incl.png and /dev/null differ diff --git a/docs/ListValue_8h__incl.map b/docs/ListValue_8h__incl.map deleted file mode 100644 index 34f16d6..0000000 --- a/docs/ListValue_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/ListValue_8h__incl.md5 b/docs/ListValue_8h__incl.md5 deleted file mode 100644 index 2334444..0000000 --- a/docs/ListValue_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1ba6aca83c254dd89645ea4110f26a39 \ No newline at end of file diff --git a/docs/ListValue_8h__incl.png b/docs/ListValue_8h__incl.png deleted file mode 100644 index 9a90276..0000000 Binary files a/docs/ListValue_8h__incl.png and /dev/null differ diff --git a/docs/ListValue_8h_source.html b/docs/ListValue_8h_source.html deleted file mode 100644 index 0fa3a52..0000000 --- a/docs/ListValue_8h_source.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/ListValue.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
ListValue.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Value.h"
-
3 #include <vector>
-
4 
-
5 namespace Hazelnp
-
6 {
-
7  /** Specializations for list values (uses std::vector<Value*>)
-
8  */
-
9  class ListValue : public Value
-
10  {
-
11  public:
-
12  ListValue();
-
13  ~ListValue() override;
-
14 
-
15  //! Will return a deeopopy of this object
-
16  Value* Deepcopy() const override;
-
17 
-
18  //! Will return a string suitable for an std::ostream;
-
19  std::string GetAsOsString() const override;
-
20 
-
21  //! Will add this value to the list
-
22  void AddValue(const Value* value);
-
23 
-
24  //! Will return the raw value
-
25  const std::vector<Value*>& GetValue() const;
-
26 
-
27  operator std::vector<Value*>() const;
-
28 
-
29  //! Throws HazelnuppValueNotConvertibleException
-
30  long long int GetInt64() const override;
-
31  //! Throws HazelnuppValueNotConvertibleException
-
32  int GetInt32() const override;
-
33 
-
34  //! Throws HazelnuppValueNotConvertibleException
-
35  long double GetFloat64() const override;
-
36  //! Throws HazelnuppValueNotConvertibleException
-
37  double GetFloat32() const override;
-
38 
-
39  //! Throws HazelnuppValueNotConvertibleException
-
40  std::string GetString() const override;
-
41 
-
42  //! Will return this values list
-
43  const std::vector<Value*>& GetList() const override;
-
44 
-
45  private:
-
46  std::vector<Value*> value;
-
47  };
-
48 }
-
-
Hazelnp::ListValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: ListValue.cpp:44
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::ListValue::GetFloat32
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:84
-
Hazelnp::ListValue::GetString
std::string GetString() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:89
-
Hazelnp::ListValue::GetList
const std::vector< Value * > & GetList() const override
Will return this values list.
Definition: ListValue.cpp:94
-
Hazelnp::ListValue::GetValue
const std::vector< Value * > & GetValue() const
Will return the raw value.
Definition: ListValue.cpp:39
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::ListValue::GetInt64
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:69
-
Hazelnp::ListValue::GetInt32
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:74
-
Hazelnp::ListValue::AddValue
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:33
-
Hazelnp::ListValue::~ListValue
~ListValue() override
Definition: ListValue.cpp:13
-
Hazelnp::ListValue::ListValue
ListValue()
Definition: ListValue.cpp:7
-
Hazelnp::ListValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: ListValue.cpp:23
-
Hazelnp::ListValue::GetFloat64
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:79
-
Hazelnp::ListValue
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:9
-
Value.h
- - - - diff --git a/docs/ParamConstraint_8h.html b/docs/ParamConstraint_8h.html deleted file mode 100644 index 26e1268..0000000 --- a/docs/ParamConstraint_8h.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/ParamConstraint.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
ParamConstraint.h File Reference
-
-
-
#include "DataType.h"
-#include <string>
-#include <vector>
-
-Include dependency graph for ParamConstraint.h:
-
-
- - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  Hazelnp::ParamConstraint
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/ParamConstraint_8h__dep__incl.map b/docs/ParamConstraint_8h__dep__incl.map deleted file mode 100644 index 3c271fe..0000000 --- a/docs/ParamConstraint_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/ParamConstraint_8h__dep__incl.md5 b/docs/ParamConstraint_8h__dep__incl.md5 deleted file mode 100644 index 4a1582d..0000000 --- a/docs/ParamConstraint_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f90bab5c6fc162d0b90bdf119d4cc6e1 \ No newline at end of file diff --git a/docs/ParamConstraint_8h__dep__incl.png b/docs/ParamConstraint_8h__dep__incl.png deleted file mode 100644 index 2523755..0000000 Binary files a/docs/ParamConstraint_8h__dep__incl.png and /dev/null differ diff --git a/docs/ParamConstraint_8h__incl.map b/docs/ParamConstraint_8h__incl.map deleted file mode 100644 index 99d5b17..0000000 --- a/docs/ParamConstraint_8h__incl.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/ParamConstraint_8h__incl.md5 b/docs/ParamConstraint_8h__incl.md5 deleted file mode 100644 index e70d106..0000000 --- a/docs/ParamConstraint_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9d9204c024bc0136e4ef70b1bdecc7c4 \ No newline at end of file diff --git a/docs/ParamConstraint_8h__incl.png b/docs/ParamConstraint_8h__incl.png deleted file mode 100644 index 9bbfeb8..0000000 Binary files a/docs/ParamConstraint_8h__incl.png and /dev/null differ diff --git a/docs/ParamConstraint_8h_source.html b/docs/ParamConstraint_8h_source.html deleted file mode 100644 index 6a6fb95..0000000 --- a/docs/ParamConstraint_8h_source.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/ParamConstraint.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
ParamConstraint.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "DataType.h"
-
3 #include <string>
-
4 #include <vector>
-
5 
-
6 namespace Hazelnp
-
7 {
- -
9  {
-
10  public:
-
11  //! Empty constructor
-
12  ParamConstraint() = default;
-
13 
-
14  //! Constructs a require constraint.
-
15  //! Think of the default value like of a list ofparameters. Like {"--width", "800"}
-
16  static ParamConstraint Require(const std::initializer_list<std::string>& defaultValue = {}, bool required = true)
-
17  {
-
18  ParamConstraint pc;
- -
20  pc.required = required;
-
21 
-
22  return pc;
-
23  }
-
24 
-
25  //! Daisychain-method. Will add a the "required-argument" aspect.
-
26  //! Think of the default value like of a list ofparameters. Like {"--width", "800"}
-
27  ParamConstraint AddRequire(const std::initializer_list<std::string>& defaultValue = {}, bool required = true)
-
28  {
-
29  ParamConstraint pc = *this;
- -
31  pc.required = required;
-
32 
-
33  return pc;
-
34  }
-
35 
-
36  //! Constructs a type-safety constraint
- -
38  {
-
39  ParamConstraint pc;
- - -
42 
-
43  return pc;
-
44  }
-
45 
-
46  //! Daisychain-method. Will add a the "type-safety" aspect.
-
47  //! Constructs a type-safety constraint
- -
49  {
-
50  ParamConstraint pc = *this;
- - -
53 
-
54  return pc;
-
55  }
-
56 
-
57  //! Constructs an incompatibility constraint.
-
58  //! This means, that the following parameters are NOT compatible with this one and will throw an error if passed together
-
59  static ParamConstraint Incompatibility(const std::initializer_list<std::string>& incompatibleParameters)
-
60  {
-
61  ParamConstraint pc;
- -
63 
-
64  return pc;
-
65  }
-
66 
-
67  //! Constructs an incompatibility constraint.
-
68  //! This means, that the following parameters are NOT compatible with this one and will throw an error if passed together.
-
69  //! Syntactical-sugar proxy method that will convert the lonely string to an initializer list for you :3
- -
71  {
-
72  ParamConstraint pc;
- -
74 
-
75  return pc;
-
76  }
-
77 
-
78  //! Daisychain-method. Will add a the "incompatiblity" aspect.
-
79  //! This means, that the following parameters are NOT compatible with this one and will throw an error if passed together.
-
80  //! Syntactical-sugar proxy method that will convert the lonely string to an initializer list for you :3
- -
82  {
-
83  ParamConstraint pc = *this;
- -
85 
-
86  return pc;
-
87  }
-
88 
-
89  //! Daisychain-method. Will add a the "incompatiblity" aspect.
-
90  //! This means, that the following parameters are NOT compatible with this one and will throw an error if passed together.
-
91  ParamConstraint AddIncompatibilities(const std::initializer_list<std::string>& incompatibleParameters)
-
92  {
-
93  ParamConstraint pc = *this;
- -
95 
-
96  return pc;
-
97  }
-
98 
-
99  //! Whole constructor
-
100  ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list<std::string>& defaultValue, bool required, const std::initializer_list<std::string>& incompatibleParameters)
-
101  :
- - - -
105  required{ required },
- -
107  {
-
108  return;
-
109  }
-
110 
-
111  //! Should this parameter be forced to be of a certain type?
-
112  //! Remember to set `constrainTo` to the wanted type
-
113  bool constrainType = false;
-
114 
-
115  //! Constrain the parameter to this value. Requires `constrainType` to be set to true.
- -
117 
-
118  //! The default value for this parameter.
-
119  //! Gets applied if this parameter was not given.
-
120  //! Think of this like a list of parameters. Like {"--width", "800"}
-
121  std::vector<std::string> defaultValue;
-
122 
-
123  //! If set to true, and no default value set,
-
124  //! an error will be produced if this parameter is not supplied by the user.
-
125  bool required = false;
-
126 
-
127  //! Parameters that are incompatible with this parameter
-
128  std::vector<std::string> incompatibleParameters;
-
129 
-
130  private:
-
131  //! The parameter this constraint is for.
-
132  //! This value is automatically set by Hazelnupp.
-
133  std::string key;
-
134 
-
135  friend class CmdArgsInterface;
-
136  };
-
137 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::ParamConstraint::Require
static ParamConstraint Require(const std::initializer_list< std::string > &defaultValue={}, bool required=true)
Constructs a require constraint.
Definition: ParamConstraint.h:16
-
DataType.h
-
Hazelnp::CmdArgsInterface
The main class to interface with.
Definition: CmdArgsInterface.h:13
-
Hazelnp::ParamConstraint::Incompatibility
static ParamConstraint Incompatibility(const std::string &incompatibleParameters)
Constructs an incompatibility constraint.
Definition: ParamConstraint.h:70
-
Hazelnp::ParamConstraint::Incompatibility
static ParamConstraint Incompatibility(const std::initializer_list< std::string > &incompatibleParameters)
Constructs an incompatibility constraint.
Definition: ParamConstraint.h:59
-
Hazelnp::ParamConstraint::ParamConstraint
ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > &defaultValue, bool required, const std::initializer_list< std::string > &incompatibleParameters)
Whole constructor.
Definition: ParamConstraint.h:100
-
Hazelnp::DATA_TYPE::VOID
@ VOID
-
Hazelnp::ParamConstraint::requiredType
DATA_TYPE requiredType
Constrain the parameter to this value. Requires constrainType to be set to true.
Definition: ParamConstraint.h:116
-
Hazelnp::ParamConstraint::AddIncompatibilities
ParamConstraint AddIncompatibilities(const std::string &incompatibleParameters)
Daisychain-method.
Definition: ParamConstraint.h:81
-
Hazelnp::ParamConstraint
Definition: ParamConstraint.h:8
-
Hazelnp::ParamConstraint::constrainType
bool constrainType
Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
Definition: ParamConstraint.h:113
-
Hazelnp::ParamConstraint::AddRequire
ParamConstraint AddRequire(const std::initializer_list< std::string > &defaultValue={}, bool required=true)
Daisychain-method.
Definition: ParamConstraint.h:27
-
Hazelnp::ParamConstraint::ParamConstraint
ParamConstraint()=default
Empty constructor.
-
Hazelnp::ParamConstraint::incompatibleParameters
std::vector< std::string > incompatibleParameters
Parameters that are incompatible with this parameter.
Definition: ParamConstraint.h:128
-
Hazelnp::ParamConstraint::AddIncompatibilities
ParamConstraint AddIncompatibilities(const std::initializer_list< std::string > &incompatibleParameters)
Daisychain-method.
Definition: ParamConstraint.h:91
-
Hazelnp::ParamConstraint::required
bool required
If set to true, and no default value set, an error will be produced if this parameter is not supplied...
Definition: ParamConstraint.h:125
-
Hazelnp::ParamConstraint::TypeSafety
static ParamConstraint TypeSafety(DATA_TYPE requiredType, bool constrainType=true)
Constructs a type-safety constraint.
Definition: ParamConstraint.h:37
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::ParamConstraint::defaultValue
std::vector< std::string > defaultValue
The default value for this parameter.
Definition: ParamConstraint.h:121
-
Hazelnp::ParamConstraint::AddTypeSafety
ParamConstraint AddTypeSafety(DATA_TYPE requiredType, bool constrainType=true)
Daisychain-method.
Definition: ParamConstraint.h:48
- - - - diff --git a/docs/Parameter_8cpp.html b/docs/Parameter_8cpp.html deleted file mode 100644 index 56b2215..0000000 --- a/docs/Parameter_8cpp.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Parameter.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Parameter.cpp File Reference
-
-
-
#include "Parameter.h"
-
-Include dependency graph for Parameter.cpp:
-
-
- - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/Parameter_8cpp__incl.map b/docs/Parameter_8cpp__incl.map deleted file mode 100644 index 1e97d23..0000000 --- a/docs/Parameter_8cpp__incl.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/Parameter_8cpp__incl.md5 b/docs/Parameter_8cpp__incl.md5 deleted file mode 100644 index 2cbf985..0000000 --- a/docs/Parameter_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -eef9313956abb82e5769561d6009dfd6 \ No newline at end of file diff --git a/docs/Parameter_8cpp__incl.png b/docs/Parameter_8cpp__incl.png deleted file mode 100644 index 72f481d..0000000 Binary files a/docs/Parameter_8cpp__incl.png and /dev/null differ diff --git a/docs/Parameter_8cpp_source.html b/docs/Parameter_8cpp_source.html deleted file mode 100644 index 8caa375..0000000 --- a/docs/Parameter_8cpp_source.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Parameter.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Parameter.cpp
-
-
-Go to the documentation of this file.
1 #include "Parameter.h"
-
2 
-
3 using namespace Hazelnp;
-
4 
-
5 Parameter::Parameter(const std::string& key, const ::Value* value)
-
6  :
-
7  key{ key }
-
8 {
-
9  this->value = value->Deepcopy();
-
10  return;
-
11 }
-
12 
- -
14 {
-
15  delete value;
-
16  value = nullptr;
-
17 
-
18  return;
-
19 }
-
20 
-
21 const std::string& Parameter::Key() const
-
22 {
-
23  return key;
-
24 }
-
25 
-
26 const ::Value* Parameter::GetValue() const
-
27 {
-
28  return value;
-
29 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::Parameter::~Parameter
~Parameter()
Definition: Parameter.cpp:13
-
Hazelnp::Parameter::GetValue
const Value * GetValue() const
Will return the value of this parameter.
Definition: Parameter.cpp:26
-
Hazelnp::Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:21
-
Hazelnp::Parameter::Parameter
Parameter(const std::string &key, const Value *value)
Definition: Parameter.cpp:5
-
Parameter.h
- - - - diff --git a/docs/Parameter_8h.html b/docs/Parameter_8h.html deleted file mode 100644 index 2767fc9..0000000 --- a/docs/Parameter_8h.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Parameter.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
Parameter.h File Reference
-
-
-
#include "Value.h"
-#include <string>
-#include <ostream>
-
-Include dependency graph for Parameter.h:
-
-
- - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Classes

class  Hazelnp::Parameter
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/Parameter_8h__dep__incl.map b/docs/Parameter_8h__dep__incl.map deleted file mode 100644 index 3d2fc7a..0000000 --- a/docs/Parameter_8h__dep__incl.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/Parameter_8h__dep__incl.md5 b/docs/Parameter_8h__dep__incl.md5 deleted file mode 100644 index 6952c80..0000000 --- a/docs/Parameter_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9a4982f3921120df66d02a430e4732ed \ No newline at end of file diff --git a/docs/Parameter_8h__dep__incl.png b/docs/Parameter_8h__dep__incl.png deleted file mode 100644 index b0ea6c6..0000000 Binary files a/docs/Parameter_8h__dep__incl.png and /dev/null differ diff --git a/docs/Parameter_8h__incl.map b/docs/Parameter_8h__incl.map deleted file mode 100644 index fabe3ea..0000000 --- a/docs/Parameter_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/Parameter_8h__incl.md5 b/docs/Parameter_8h__incl.md5 deleted file mode 100644 index 9c6d55d..0000000 --- a/docs/Parameter_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -240c281ba511f80f96f83cc0e81d73ac \ No newline at end of file diff --git a/docs/Parameter_8h__incl.png b/docs/Parameter_8h__incl.png deleted file mode 100644 index 9b0c902..0000000 Binary files a/docs/Parameter_8h__incl.png and /dev/null differ diff --git a/docs/Parameter_8h_source.html b/docs/Parameter_8h_source.html deleted file mode 100644 index 8aff0b6..0000000 --- a/docs/Parameter_8h_source.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Parameter.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Parameter.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Value.h"
-
3 #include <string>
-
4 #include <ostream>
-
5 
-
6 namespace Hazelnp
-
7 {
-
8  class Parameter
-
9  {
-
10  public:
-
11  explicit Parameter(const std::string& key, const Value* value);
-
12  ~Parameter();
-
13 
-
14  //! Will return the key of this parameter
-
15  const std::string& Key() const;
-
16 
-
17  //! Will return the value of this parameter
-
18  const Value* GetValue() const;
-
19 
-
20  friend std::ostream& operator<< (std::ostream& os, const Parameter& p)
-
21  {
-
22  return os << "{ Key: \"" << p.key << "\" -> " << *p.value << " }";
-
23  }
-
24 
-
25  private:
-
26  std::string key;
-
27  Hazelnp::Value* value;
-
28  };
-
29 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::Parameter::~Parameter
~Parameter()
Definition: Parameter.cpp:13
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::Parameter::GetValue
const Value * GetValue() const
Will return the value of this parameter.
Definition: Parameter.cpp:26
-
Hazelnp::Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:21
-
Hazelnp::Parameter::Parameter
Parameter(const std::string &key, const Value *value)
Definition: Parameter.cpp:5
-
Hazelnp::Parameter::operator<<
friend std::ostream & operator<<(std::ostream &os, const Parameter &p)
Definition: Parameter.h:20
-
Value.h
- - - - diff --git a/docs/Placeholders_8h.html b/docs/Placeholders_8h.html deleted file mode 100644 index 7680692..0000000 --- a/docs/Placeholders_8h.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Placeholders.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Namespaces | -Variables
-
-
Placeholders.h File Reference
-
-
-
#include <string>
-
-Include dependency graph for Placeholders.h:
-
-
- - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - -
-
-

Go to the source code of this file.

- - - - - - -

-Namespaces

 Hazelnp
 
 Hazelnp::Placeholders
 
- - - - -

-Variables

static const std::string Hazelnp::Placeholders::g_emptyString
 The only purpose of this is to provide the ability to return an empty string as an error for std::string& methods. More...
 
-
- - - - diff --git a/docs/Placeholders_8h__dep__incl.map b/docs/Placeholders_8h__dep__incl.map deleted file mode 100644 index 9ef9625..0000000 --- a/docs/Placeholders_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/Placeholders_8h__dep__incl.md5 b/docs/Placeholders_8h__dep__incl.md5 deleted file mode 100644 index a02cd5a..0000000 --- a/docs/Placeholders_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -521956097f5a4e4270470701af0a25f6 \ No newline at end of file diff --git a/docs/Placeholders_8h__dep__incl.png b/docs/Placeholders_8h__dep__incl.png deleted file mode 100644 index 79e7b2d..0000000 Binary files a/docs/Placeholders_8h__dep__incl.png and /dev/null differ diff --git a/docs/Placeholders_8h__incl.map b/docs/Placeholders_8h__incl.map deleted file mode 100644 index 3e94310..0000000 --- a/docs/Placeholders_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/Placeholders_8h__incl.md5 b/docs/Placeholders_8h__incl.md5 deleted file mode 100644 index 58a6a99..0000000 --- a/docs/Placeholders_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e5b4d2e9e3fff41bcea0a3f60f76dcda \ No newline at end of file diff --git a/docs/Placeholders_8h__incl.png b/docs/Placeholders_8h__incl.png deleted file mode 100644 index 29ee41b..0000000 Binary files a/docs/Placeholders_8h__incl.png and /dev/null differ diff --git a/docs/Placeholders_8h_source.html b/docs/Placeholders_8h_source.html deleted file mode 100644 index 4e5fdf1..0000000 --- a/docs/Placeholders_8h_source.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Placeholders.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Placeholders.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include <string>
-
3 
-
4 namespace Hazelnp
-
5 {
-
6  namespace Placeholders
-
7  {
-
8  //! The only purpose of this is to provide the ability to return an empty string as an error for std::string& methods.
-
9  static const std::string g_emptyString;
-
10  }
-
11 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::Placeholders::g_emptyString
static const std::string g_emptyString
The only purpose of this is to provide the ability to return an empty string as an error for std::str...
Definition: Placeholders.h:9
- - - - diff --git a/docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html b/docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html deleted file mode 100644 index a599dab..0000000 --- a/docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Release/Hazelnupp.vcxproj.FileListAbsolute.txt File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Hazelnupp/Release/Hazelnupp.vcxproj.FileListAbsolute.txt File Reference
-
-
-
- - - - diff --git a/docs/Release_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html b/docs/Release_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html deleted file mode 100644 index 7eda615..0000000 --- a/docs/Release_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Release/Test_Hazelnupp.vcxproj.FileListAbsolute.txt File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Test_Hazelnupp/Release/Test_Hazelnupp.vcxproj.FileListAbsolute.txt File Reference
-
-
-
- - - - diff --git a/docs/StringTools_8cpp.html b/docs/StringTools_8cpp.html deleted file mode 100644 index 9c1fc51..0000000 --- a/docs/StringTools_8cpp.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringTools.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
StringTools.cpp File Reference
-
-
-
#include "StringTools.h"
-
-Include dependency graph for StringTools.cpp:
-
-
- - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/StringTools_8cpp__incl.map b/docs/StringTools_8cpp__incl.map deleted file mode 100644 index 762e92c..0000000 --- a/docs/StringTools_8cpp__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/StringTools_8cpp__incl.md5 b/docs/StringTools_8cpp__incl.md5 deleted file mode 100644 index 7011543..0000000 --- a/docs/StringTools_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4d994ee3745469dd451021ef4507b101 \ No newline at end of file diff --git a/docs/StringTools_8cpp__incl.png b/docs/StringTools_8cpp__incl.png deleted file mode 100644 index e632c77..0000000 Binary files a/docs/StringTools_8cpp__incl.png and /dev/null differ diff --git a/docs/StringTools_8cpp_source.html b/docs/StringTools_8cpp_source.html deleted file mode 100644 index 04dfee9..0000000 --- a/docs/StringTools_8cpp_source.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringTools.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
StringTools.cpp
-
-
-Go to the documentation of this file.
1 #include "StringTools.h"
-
2 
-
3 using namespace Hazelnp;
-
4 
-
5 bool Internal::StringTools::Contains(const std::string& str, const char c)
-
6 {
-
7  for (const char& i : str)
-
8  if (i == c)
-
9  return true;
-
10 
-
11  return false;
-
12 }
-
13 
-
14 std::string Internal::StringTools::Replace(const std::string& str, const char find, const std::string& subst)
-
15 {
-
16  std::stringstream ss;
-
17 
-
18  for (std::size_t i = 0; i < str.length(); i++)
-
19  {
-
20  if (str[i] != find) ss << str[i];
-
21  else ss << subst;
-
22  }
-
23 
-
24  return ss.str();
-
25 }
-
26 
-
27 std::string Internal::StringTools::Replace(const std::string& str, const std::string& find, const std::string& subst)
-
28 {
-
29  if (find.length() == 0) return str;
-
30 
-
31  std::stringstream ss;
-
32 
-
33  std::size_t posFound = 0;
-
34  std::size_t lastFound = 0;
-
35 
-
36  while (posFound != std::string::npos)
-
37  {
-
38  lastFound = posFound;
-
39  posFound = str.find(find, posFound);
-
40 
-
41  if (posFound != std::string::npos)
-
42  {
-
43  ss << str.substr(lastFound, posFound - lastFound) << subst;
-
44  posFound += find.length();
-
45  }
-
46  else
-
47  {
-
48  ss << str.substr(lastFound, (str.length()) - lastFound);
-
49  }
-
50  }
-
51 
-
52  return ss.str();
-
53 }
-
54 
-
55 
-
56 bool Internal::StringTools::IsNumeric(const std::string& str, const bool allowDecimalPoint)
-
57 {
-
58  if (str.length() == 0) return false;
-
59 
-
60  bool alreadyParsedDecimalPoint = false;
-
61  std::size_t digitCount = 0;
-
62 
-
63  for (std::size_t i = 0; i < str.length(); i++)
-
64  {
-
65  if (!(
-
66  ((str[i] >= '0') && (str[i] <= '9')) ||
-
67  ((str[i] == '-') && (i == 0)) ||
-
68  ((str[i] == '.') && (allowDecimalPoint) && (!alreadyParsedDecimalPoint) && (digitCount > 0))
-
69  )) return false;
-
70 
-
71 
-
72  // Here we just have to check for the character. Not for any other conditions.
-
73  // Why? Because if these conditions failed, the function would have already returned false.
-
74  if (((str[i] >= '0') && (str[i] <= '9'))) digitCount++;
-
75  if (str[i] == '.') alreadyParsedDecimalPoint = true;
-
76  }
-
77 
-
78  // Even if we did not find any invalid chars, we should still return false, if we found no digits at all.
-
79  return digitCount > 0;
-
80 }
-
81 
-
82 bool Internal::StringTools::ParseNumber(const std::string& str, bool& out_isInt, long double& out_number)
-
83 {
-
84  bool isDecimal = false;
-
85 
-
86  if (str.length() == 0) return false;
-
87  if (Contains(str, '.')) isDecimal = true;
-
88 
-
89  if (isDecimal)
-
90  {
-
91  try
-
92  {
-
93  out_number = std::stold(str);
-
94  out_isInt = false;
-
95  }
-
96  catch (std::invalid_argument&)
-
97  {
-
98  return false;
-
99  }
-
100  catch (std::out_of_range&)
-
101  {
-
102  return false;
-
103  }
-
104  }
-
105  else
-
106  {
-
107  try
-
108  {
-
109  out_number = (long double)std::stoll(str);
-
110  out_isInt = true;
-
111  }
-
112  catch (std::invalid_argument&)
-
113  {
-
114  return false;
-
115  }
-
116  catch (std::out_of_range&)
-
117  {
-
118  return false;
-
119  }
-
120  }
-
121 
-
122  return true;
-
123 }
-
124 
-
125 std::vector<std::string> Internal::StringTools::SplitString(const std::string& str, const char delimiter)
-
126 {
-
127  if (str.length() == 0) return std::vector<std::string>();
-
128 
-
129  return SplitString(str, delimiter);
-
130 }
-
131 
-
132 std::vector<std::string> Internal::StringTools::SplitString(const std::string& str, const std::string& delimiter)
-
133 {
-
134  if (str.length() == 0) return std::vector<std::string>();
-
135 
-
136  std::vector<std::string> parts;
-
137 
-
138  if (delimiter.length() == 0) // If the delimiter is "" (empty), just split between every single char. Not useful, but logical
-
139  {
-
140  for (std::size_t i = 0; i < str.length(); i++)
-
141  {
-
142  parts.push_back(std::string({ str[i] }));
-
143  }
-
144  return parts;
-
145  }
-
146 
-
147  std::size_t posFound = 0;
-
148  std::size_t lastFound = 0;
-
149 
-
150  while (posFound != std::string::npos)
-
151  {
-
152  lastFound = posFound;
-
153  posFound = str.find(delimiter, posFound);
-
154 
-
155  std::string found;
-
156 
-
157  if (posFound != std::string::npos)
-
158  {
-
159  found = str.substr(lastFound, posFound - lastFound);
-
160  posFound += delimiter.length();
-
161  }
-
162  else
-
163  {
-
164  found = str.substr(lastFound, str.length() - lastFound);
-
165  }
-
166 
-
167  parts.push_back(found);
-
168  }
-
169 
-
170  return parts;
-
171 }
-
172 
-
173 std::string Internal::StringTools::ToLower(const std::string& str)
-
174 {
-
175  std::stringstream ss;
-
176  for (std::size_t i = 0; i < str.length(); i++)
-
177  {
-
178  if ((str[i] >= 'A') && (str[i] <= 'Z')) ss << (char)(((int)str[i]) + 32);
-
179  else if (str[i] == -60) ss << (char)-28; // AE => ae
-
180  else if (str[i] == -42) ss << (char)-10; // OE => oe
-
181  else if (str[i] == -36) ss << (char)-4; // UE => ue
-
182  else ss << str[i];
-
183  }
-
184 
-
185  return ss.str();
-
186 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::Internal::StringTools::Contains
static bool Contains(const std::string &str, const char c)
Will return wether or not a given char is in a string.
Definition: StringTools.cpp:5
-
Hazelnp::Internal::StringTools::ToLower
static std::string ToLower(const std::string &str)
Will make a string all lower-case.
Definition: StringTools.cpp:173
-
Hazelnp::Internal::StringTools::Replace
static std::string Replace(const std::string &str, const char find, const std::string &subst)
Will replace a part of a string with another string.
Definition: StringTools.cpp:14
-
Hazelnp::Internal::StringTools::ParseNumber
static bool ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)
Will convert the number in str to a number.
Definition: StringTools.cpp:82
-
Hazelnp::Internal::StringTools::SplitString
static std::vector< std::string > SplitString(const std::string &str, const char delimiter)
Will split a string by a delimiter char. The delimiter will be excluded!
Definition: StringTools.cpp:125
-
Hazelnp::Internal::StringTools::IsNumeric
static bool IsNumeric(const std::string &str, const bool allowDecimalPoint=false)
Will return true if the given string consists only of digits (including signage)
Definition: StringTools.cpp:56
-
StringTools.h
- - - - diff --git a/docs/StringTools_8h.html b/docs/StringTools_8h.html deleted file mode 100644 index 01d9a59..0000000 --- a/docs/StringTools_8h.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringTools.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
StringTools.h File Reference
-
-
-
#include <string>
-#include <sstream>
-#include <vector>
-#include <cmath>
-
-Include dependency graph for StringTools.h:
-
-
- - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::Internal::StringTools
 Internal helper class. More...
 
- - - - - -

-Namespaces

 Hazelnp
 
 Hazelnp::Internal
 
-
- - - - diff --git a/docs/StringTools_8h__dep__incl.map b/docs/StringTools_8h__dep__incl.map deleted file mode 100644 index be3956c..0000000 --- a/docs/StringTools_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/StringTools_8h__dep__incl.md5 b/docs/StringTools_8h__dep__incl.md5 deleted file mode 100644 index f88359e..0000000 --- a/docs/StringTools_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6a8a846369ea9d647a0ae474629f3fdc \ No newline at end of file diff --git a/docs/StringTools_8h__dep__incl.png b/docs/StringTools_8h__dep__incl.png deleted file mode 100644 index d0d812d..0000000 Binary files a/docs/StringTools_8h__dep__incl.png and /dev/null differ diff --git a/docs/StringTools_8h__incl.map b/docs/StringTools_8h__incl.map deleted file mode 100644 index 31b2cdc..0000000 --- a/docs/StringTools_8h__incl.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/StringTools_8h__incl.md5 b/docs/StringTools_8h__incl.md5 deleted file mode 100644 index 7975647..0000000 --- a/docs/StringTools_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -67b004299d6fdf50268756d41946bfee \ No newline at end of file diff --git a/docs/StringTools_8h__incl.png b/docs/StringTools_8h__incl.png deleted file mode 100644 index 6cdea0c..0000000 Binary files a/docs/StringTools_8h__incl.png and /dev/null differ diff --git a/docs/StringTools_8h_source.html b/docs/StringTools_8h_source.html deleted file mode 100644 index 4cc1902..0000000 --- a/docs/StringTools_8h_source.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringTools.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
StringTools.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include <string>
-
3 #include <sstream>
-
4 #include <vector>
-
5 #include <cmath>
-
6 
-
7 namespace Hazelnp
-
8 {
-
9  namespace Internal
-
10  {
-
11  /** Internal helper class. Feel free to use it tho.
-
12  */
- -
14  {
-
15  public:
-
16  //! Will return wether or not a given char is in a string
-
17  static bool Contains(const std::string& str, const char c);
-
18 
-
19  //! Will replace a part of a string with another string
-
20  static std::string Replace(const std::string& str, const char find, const std::string& subst);
-
21 
-
22  //! Will replace a part of a string with another string
-
23  static std::string Replace(const std::string& str, const std::string& find, const std::string& subst);
-
24 
-
25  //! Will return true if the given string consists only of digits (including signage)
-
26  static bool IsNumeric(const std::string& str, const bool allowDecimalPoint = false);
-
27 
-
28  //! Will convert the number in str to a number.
-
29  //! Returns wether or not the operation was successful.
-
30  //! Also returns wether the number is an integer, or floating point. If int, cast out_number to int.
-
31  static bool ParseNumber(const std::string& str, bool& out_isInt, long double& out_number);
-
32 
-
33  //! Will split a string by a delimiter char. The delimiter will be excluded!
-
34  static std::vector<std::string> SplitString(const std::string& str, const char delimiter);
-
35 
-
36  //! Will split a string by a delimiter string. The delimiter will be excluded!
-
37  static std::vector<std::string> SplitString(const std::string& str, const std::string& delimiter);
-
38 
-
39  //! Will make a string all lower-case
-
40  static std::string ToLower(const std::string& str);
-
41  };
-
42  }
-
43 }
-
44 
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::Internal::StringTools::Contains
static bool Contains(const std::string &str, const char c)
Will return wether or not a given char is in a string.
Definition: StringTools.cpp:5
-
Hazelnp::Internal::StringTools::ToLower
static std::string ToLower(const std::string &str)
Will make a string all lower-case.
Definition: StringTools.cpp:173
-
Hazelnp::Internal::StringTools
Internal helper class.
Definition: StringTools.h:13
-
Hazelnp::Internal::StringTools::Replace
static std::string Replace(const std::string &str, const char find, const std::string &subst)
Will replace a part of a string with another string.
Definition: StringTools.cpp:14
-
Hazelnp::Internal::StringTools::ParseNumber
static bool ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)
Will convert the number in str to a number.
Definition: StringTools.cpp:82
-
Hazelnp::Internal::StringTools::SplitString
static std::vector< std::string > SplitString(const std::string &str, const char delimiter)
Will split a string by a delimiter char. The delimiter will be excluded!
Definition: StringTools.cpp:125
-
Hazelnp::Internal::StringTools::IsNumeric
static bool IsNumeric(const std::string &str, const bool allowDecimalPoint=false)
Will return true if the given string consists only of digits (including signage)
Definition: StringTools.cpp:56
- - - - diff --git a/docs/StringValue_8cpp.html b/docs/StringValue_8cpp.html deleted file mode 100644 index 327b668..0000000 --- a/docs/StringValue_8cpp.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringValue.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
StringValue.cpp File Reference
-
-
-
#include "StringValue.h"
-#include "HazelnuppException.h"
-#include <sstream>
-
-Include dependency graph for StringValue.cpp:
-
-
- - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/StringValue_8cpp__incl.map b/docs/StringValue_8cpp__incl.map deleted file mode 100644 index 7a62a3c..0000000 --- a/docs/StringValue_8cpp__incl.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/StringValue_8cpp__incl.md5 b/docs/StringValue_8cpp__incl.md5 deleted file mode 100644 index e67ac23..0000000 --- a/docs/StringValue_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -edbcbad437362bfcea36ede007a980df \ No newline at end of file diff --git a/docs/StringValue_8cpp__incl.png b/docs/StringValue_8cpp__incl.png deleted file mode 100644 index 2299566..0000000 Binary files a/docs/StringValue_8cpp__incl.png and /dev/null differ diff --git a/docs/StringValue_8cpp_source.html b/docs/StringValue_8cpp_source.html deleted file mode 100644 index 5b9ac22..0000000 --- a/docs/StringValue_8cpp_source.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringValue.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
StringValue.cpp
-
-
-Go to the documentation of this file.
1 #include "StringValue.h"
-
2 #include "HazelnuppException.h"
-
3 #include <sstream>
-
4 
-
5 using namespace Hazelnp;
-
6 
-
7 StringValue::StringValue(const std::string& value)
-
8  :
- -
10  value { value }
-
11 {
-
12  return;
-
13 }
-
14 
- -
16 {
-
17  return new StringValue(value);
-
18 }
-
19 
-
20 std::string StringValue::GetAsOsString() const
-
21 {
-
22  std::stringstream ss;
-
23  ss << "StringValue: " << value;
-
24  return ss.str();
-
25 }
-
26 
-
27 const std::string& StringValue::GetValue() const
-
28 {
-
29  return value;
-
30 }
-
31 
-
32 StringValue::operator std::string() const
-
33 {
-
34  return value;
-
35 }
-
36 
-
37 
-
38 
-
39 long long int StringValue::GetInt64() const
-
40 {
- -
42 }
-
43 
- -
45 {
- -
47 }
-
48 
-
49 long double StringValue::GetFloat64() const
-
50 {
- -
52 }
-
53 
- -
55 {
- -
57 }
-
58 
-
59 std::string StringValue::GetString() const
-
60 {
-
61  return value;
-
62 }
-
63 
-
64 const std::vector<Value*>& StringValue::GetList() const
-
65 {
- -
67 }
-
-
HazelnuppException.h
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::StringValue::GetInt32
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:44
-
Hazelnp::StringValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: StringValue.cpp:20
-
Hazelnp::StringValue::StringValue
StringValue(const std::string &value)
Definition: StringValue.cpp:7
-
StringValue.h
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::StringValue::GetInt64
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:39
-
Hazelnp::StringValue::GetString
std::string GetString() const override
Will return this value as a string.
Definition: StringValue.cpp:59
-
Hazelnp::StringValue::GetFloat32
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:54
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::StringValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: StringValue.cpp:15
-
Hazelnp::DATA_TYPE::STRING
@ STRING
-
Hazelnp::StringValue::GetFloat64
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:49
-
Hazelnp::StringValue::GetList
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:64
-
Hazelnp::StringValue::GetValue
const std::string & GetValue() const
Will return the raw value.
Definition: StringValue.cpp:27
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/StringValue_8h.html b/docs/StringValue_8h.html deleted file mode 100644 index 7807b86..0000000 --- a/docs/StringValue_8h.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringValue.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
StringValue.h File Reference
-
-
-
#include "Value.h"
-#include <string>
-
-Include dependency graph for StringValue.h:
-
-
- - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::StringValue
 Specializations for string values (uses std::string) More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/StringValue_8h__dep__incl.map b/docs/StringValue_8h__dep__incl.map deleted file mode 100644 index 00d1a24..0000000 --- a/docs/StringValue_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/StringValue_8h__dep__incl.md5 b/docs/StringValue_8h__dep__incl.md5 deleted file mode 100644 index c81cd5d..0000000 --- a/docs/StringValue_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a0f49b1d76495fc57c0b0a69a84be1dd \ No newline at end of file diff --git a/docs/StringValue_8h__dep__incl.png b/docs/StringValue_8h__dep__incl.png deleted file mode 100644 index a7784eb..0000000 Binary files a/docs/StringValue_8h__dep__incl.png and /dev/null differ diff --git a/docs/StringValue_8h__incl.map b/docs/StringValue_8h__incl.map deleted file mode 100644 index d07717d..0000000 --- a/docs/StringValue_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/StringValue_8h__incl.md5 b/docs/StringValue_8h__incl.md5 deleted file mode 100644 index 7016e1f..0000000 --- a/docs/StringValue_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -3091c398edee9f2e3c943dafdcded410 \ No newline at end of file diff --git a/docs/StringValue_8h__incl.png b/docs/StringValue_8h__incl.png deleted file mode 100644 index 66f8e57..0000000 Binary files a/docs/StringValue_8h__incl.png and /dev/null differ diff --git a/docs/StringValue_8h_source.html b/docs/StringValue_8h_source.html deleted file mode 100644 index 94cebe7..0000000 --- a/docs/StringValue_8h_source.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/StringValue.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
StringValue.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Value.h"
-
3 #include <string>
-
4 
-
5 namespace Hazelnp
-
6 {
-
7  /** Specializations for string values (uses std::string)
-
8  */
-
9  class StringValue : public Value
-
10  {
-
11  public:
-
12  StringValue(const std::string& value);
-
13  ~StringValue() override {};
-
14 
-
15  //! Will return a deeopopy of this object
-
16  Value* Deepcopy() const override;
-
17 
-
18  //! Will return a string suitable for an std::ostream;
-
19  std::string GetAsOsString() const override;
-
20 
-
21  //! Will return the raw value
-
22  const std::string& GetValue() const;
-
23 
-
24  operator std::string() const;
-
25 
-
26  //! Throws HazelnuppValueNotConvertibleException
-
27  long long int GetInt64() const override;
-
28  //! Throws HazelnuppValueNotConvertibleException
-
29  int GetInt32() const override;
-
30 
-
31  //! Throws HazelnuppValueNotConvertibleException
-
32  long double GetFloat64() const override;
-
33  //! Throws HazelnuppValueNotConvertibleException
-
34  double GetFloat32() const override;
-
35 
-
36  //! Will return this value as a string
-
37  std::string GetString() const override;
-
38 
-
39  //! Throws HazelnuppValueNotConvertibleException
-
40  const std::vector<Value*>& GetList() const override;
-
41 
-
42  private:
-
43  std::string value;
-
44  };
-
45 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::StringValue::GetInt32
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:44
-
Hazelnp::StringValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: StringValue.cpp:20
-
Hazelnp::StringValue::StringValue
StringValue(const std::string &value)
Definition: StringValue.cpp:7
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::StringValue::~StringValue
~StringValue() override
Definition: StringValue.h:13
-
Hazelnp::StringValue::GetInt64
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:39
-
Hazelnp::StringValue::GetString
std::string GetString() const override
Will return this value as a string.
Definition: StringValue.cpp:59
-
Hazelnp::StringValue::GetFloat32
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:54
-
Hazelnp::StringValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: StringValue.cpp:15
-
Hazelnp::StringValue::GetFloat64
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:49
-
Hazelnp::StringValue::GetList
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:64
-
Hazelnp::StringValue
Specializations for string values (uses std::string)
Definition: StringValue.h:9
-
Hazelnp::StringValue::GetValue
const std::string & GetValue() const
Will return the raw value.
Definition: StringValue.cpp:27
-
Value.h
- - - - diff --git a/docs/Value_8cpp.html b/docs/Value_8cpp.html deleted file mode 100644 index 9c455f0..0000000 --- a/docs/Value_8cpp.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Value.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Value.cpp File Reference
-
-
-
#include "Value.h"
-
-Include dependency graph for Value.cpp:
-
-
- - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/Value_8cpp__incl.map b/docs/Value_8cpp__incl.map deleted file mode 100644 index c2c1829..0000000 --- a/docs/Value_8cpp__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/Value_8cpp__incl.md5 b/docs/Value_8cpp__incl.md5 deleted file mode 100644 index 1c22e19..0000000 --- a/docs/Value_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4cc537f22df28748abb702e213edf12b \ No newline at end of file diff --git a/docs/Value_8cpp__incl.png b/docs/Value_8cpp__incl.png deleted file mode 100644 index 57faa48..0000000 Binary files a/docs/Value_8cpp__incl.png and /dev/null differ diff --git a/docs/Value_8cpp_source.html b/docs/Value_8cpp_source.html deleted file mode 100644 index f914271..0000000 --- a/docs/Value_8cpp_source.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Value.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Value.cpp
-
-
-Go to the documentation of this file.
1 #include "Value.h"
-
2 
-
3 using namespace Hazelnp;
-
4 
- -
6  :
-
7  type{ type }
-
8 {
-
9  return;
-
10 }
-
11 
- -
13 {
-
14  return type;
-
15 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::Value::GetDataType
DATA_TYPE GetDataType() const
Will return the data type of this value.
Definition: Value.cpp:12
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::Value::type
DATA_TYPE type
Definition: Value.h:48
-
Value.h
- - - - diff --git a/docs/Value_8h.html b/docs/Value_8h.html deleted file mode 100644 index 7ffadce..0000000 --- a/docs/Value_8h.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Value.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
Value.h File Reference
-
-
-
#include "DataType.h"
-#include <ostream>
-#include <vector>
-
-Include dependency graph for Value.h:
-
-
- - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::Value
 Abstract class for values. More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/Value_8h__dep__incl.map b/docs/Value_8h__dep__incl.map deleted file mode 100644 index 7cae3a0..0000000 --- a/docs/Value_8h__dep__incl.map +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/docs/Value_8h__dep__incl.md5 b/docs/Value_8h__dep__incl.md5 deleted file mode 100644 index 6dbcc84..0000000 --- a/docs/Value_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f01a2282f78dfaef0fb8ee3f2c321ea8 \ No newline at end of file diff --git a/docs/Value_8h__dep__incl.png b/docs/Value_8h__dep__incl.png deleted file mode 100644 index e031544..0000000 Binary files a/docs/Value_8h__dep__incl.png and /dev/null differ diff --git a/docs/Value_8h__incl.map b/docs/Value_8h__incl.map deleted file mode 100644 index b99434a..0000000 --- a/docs/Value_8h__incl.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/Value_8h__incl.md5 b/docs/Value_8h__incl.md5 deleted file mode 100644 index 16be7d7..0000000 --- a/docs/Value_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -8a865d27021023f3bf0f841e7e4f7839 \ No newline at end of file diff --git a/docs/Value_8h__incl.png b/docs/Value_8h__incl.png deleted file mode 100644 index 462fd8a..0000000 Binary files a/docs/Value_8h__incl.png and /dev/null differ diff --git a/docs/Value_8h_source.html b/docs/Value_8h_source.html deleted file mode 100644 index 2cebc30..0000000 --- a/docs/Value_8h_source.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Value.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Value.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "DataType.h"
-
3 #include <ostream>
-
4 #include <vector>
-
5 
-
6 namespace Hazelnp
-
7 {
-
8  /** Abstract class for values
-
9  */
-
10  class Value
-
11  {
-
12  public:
-
13  virtual ~Value() {};
-
14 
-
15  //! Will return a deeopopy of this object
-
16  virtual Value* Deepcopy() const = 0;
-
17 
-
18  //! Will return a string suitable for an std::ostream
-
19  virtual std::string GetAsOsString() const = 0;
-
20 
-
21  //! Will return the data type of this value
-
22  DATA_TYPE GetDataType() const;
-
23 
-
24  friend std::ostream& operator<< (std::ostream& os, const Value& v)
-
25  {
-
26  return os << v.GetAsOsString();
-
27  }
-
28 
-
29  //! Will attempt to return the integer data (long long)
-
30  virtual long long int GetInt64() const = 0;
-
31  //! Will attempt to return the integer data (int)
-
32  virtual int GetInt32() const = 0;
-
33 
-
34  //! Will attempt to return the floating-point data (long double)
-
35  virtual long double GetFloat64() const = 0;
-
36  //! Will attempt to return the floating-point data (double)
-
37  virtual double GetFloat32() const = 0;
-
38 
-
39  //! Will attempt to return the string-data
-
40  virtual std::string GetString() const = 0;
-
41 
-
42  //! Will attempt to return the list-data
-
43  virtual const std::vector<Value*>& GetList() const = 0;
-
44 
-
45  protected:
- -
47 
- -
49  };
-
50 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
DataType.h
-
Hazelnp::Value::GetFloat32
virtual double GetFloat32() const =0
Will attempt to return the floating-point data (double)
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::Value::GetInt32
virtual int GetInt32() const =0
Will attempt to return the integer data (int)
-
Hazelnp::Value::GetString
virtual std::string GetString() const =0
Will attempt to return the string-data.
-
Hazelnp::Value::~Value
virtual ~Value()
Definition: Value.h:13
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::Value::GetDataType
DATA_TYPE GetDataType() const
Will return the data type of this value.
Definition: Value.cpp:12
-
Hazelnp::Value::GetInt64
virtual long long int GetInt64() const =0
Will attempt to return the integer data (long long)
-
Hazelnp::Value::GetAsOsString
virtual std::string GetAsOsString() const =0
Will return a string suitable for an std::ostream.
-
Hazelnp::Value::GetList
virtual const std::vector< Value * > & GetList() const =0
Will attempt to return the list-data.
-
Hazelnp::Value::operator<<
friend std::ostream & operator<<(std::ostream &os, const Value &v)
Definition: Value.h:24
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::Value::type
DATA_TYPE type
Definition: Value.h:48
-
Hazelnp::Value::Deepcopy
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
-
Hazelnp::Value::GetFloat64
virtual long double GetFloat64() const =0
Will attempt to return the floating-point data (long double)
- - - - diff --git a/docs/Version_8h.html b/docs/Version_8h.html deleted file mode 100644 index 4f1ed99..0000000 --- a/docs/Version_8h.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Version.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Macros
-
-
Version.h File Reference
-
-
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - -

-Macros

#define HAZELNUPP_VERSION   (1.121)
 
-

Macro Definition Documentation

- -

◆ HAZELNUPP_VERSION

- -
-
- - - - -
#define HAZELNUPP_VERSION   (1.121)
-
- -

Definition at line 2 of file Version.h.

- -
-
-
- - - - diff --git a/docs/Version_8h__dep__incl.map b/docs/Version_8h__dep__incl.map deleted file mode 100644 index ec3789b..0000000 --- a/docs/Version_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/Version_8h__dep__incl.md5 b/docs/Version_8h__dep__incl.md5 deleted file mode 100644 index 37e3bcb..0000000 --- a/docs/Version_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -92ebb13d9fcb4c4be1ddcf0283b48ade \ No newline at end of file diff --git a/docs/Version_8h__dep__incl.png b/docs/Version_8h__dep__incl.png deleted file mode 100644 index f14d5a2..0000000 Binary files a/docs/Version_8h__dep__incl.png and /dev/null differ diff --git a/docs/Version_8h_source.html b/docs/Version_8h_source.html deleted file mode 100644 index 105d000..0000000 --- a/docs/Version_8h_source.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Version.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Version.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #define HAZELNUPP_VERSION (1.121)
-
- - - - diff --git a/docs/VoidValue_8cpp.html b/docs/VoidValue_8cpp.html deleted file mode 100644 index e0453c1..0000000 --- a/docs/VoidValue_8cpp.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/VoidValue.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
VoidValue.cpp File Reference
-
-
-
#include "VoidValue.h"
-#include "HazelnuppException.h"
-
-Include dependency graph for VoidValue.cpp:
-
-
- - - - - - - - - - - - -
-
-

Go to the source code of this file.

-
- - - - diff --git a/docs/VoidValue_8cpp__incl.map b/docs/VoidValue_8cpp__incl.map deleted file mode 100644 index bf2e24d..0000000 --- a/docs/VoidValue_8cpp__incl.map +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/VoidValue_8cpp__incl.md5 b/docs/VoidValue_8cpp__incl.md5 deleted file mode 100644 index 1f8476e..0000000 --- a/docs/VoidValue_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -8d346c10bcdef3b6c864189574d98cf6 \ No newline at end of file diff --git a/docs/VoidValue_8cpp__incl.png b/docs/VoidValue_8cpp__incl.png deleted file mode 100644 index 3a77333..0000000 Binary files a/docs/VoidValue_8cpp__incl.png and /dev/null differ diff --git a/docs/VoidValue_8cpp_source.html b/docs/VoidValue_8cpp_source.html deleted file mode 100644 index 95f4b5f..0000000 --- a/docs/VoidValue_8cpp_source.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/VoidValue.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
VoidValue.cpp
-
-
-Go to the documentation of this file.
1 #include "VoidValue.h"
-
2 #include "HazelnuppException.h"
-
3 
-
4 using namespace Hazelnp;
-
5 
- -
7  :
- -
9 {
-
10  return;
-
11 }
-
12 
- -
14 {
-
15  return new VoidValue();
-
16 }
-
17 
-
18 std::string VoidValue::GetAsOsString() const
-
19 {
-
20  return "VoidValue";
-
21 }
-
22 
-
23 
-
24 
-
25 long long int VoidValue::GetInt64() const
-
26 {
- -
28 }
-
29 
- -
31 {
- -
33 }
-
34 
-
35 long double VoidValue::GetFloat64() const
-
36 {
- -
38 }
-
39 
-
40 double VoidValue::GetFloat32() const
-
41 {
- -
43 }
-
44 
-
45 std::string VoidValue::GetString() const
-
46 {
-
47  return "";
-
48 }
-
49 
-
50 const std::vector<Value*>& VoidValue::GetList() const
-
51 {
-
52  static const std::vector<Value*> empty;
-
53  return empty;
-
54 }
-
-
HazelnuppException.h
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::VoidValue::GetInt64
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:25
-
Hazelnp::VoidValue::GetFloat64
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:35
-
Hazelnp::DATA_TYPE::VOID
@ VOID
-
Hazelnp::VoidValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: VoidValue.cpp:18
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::VoidValue::GetList
const std::vector< Value * > & GetList() const
Returns an empty list.
Definition: VoidValue.cpp:50
-
Hazelnp::VoidValue::GetInt32
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:30
-
VoidValue.h
-
Hazelnp::VoidValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: VoidValue.cpp:13
-
Hazelnp::VoidValue::GetString
std::string GetString() const override
Returns an empty string.
Definition: VoidValue.cpp:45
-
Hazelnp::DATA_TYPE
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:8
-
Hazelnp::VoidValue::GetFloat32
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:40
-
Hazelnp::VoidValue::VoidValue
VoidValue()
Definition: VoidValue.cpp:6
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/VoidValue_8h.html b/docs/VoidValue_8h.html deleted file mode 100644 index 992befa..0000000 --- a/docs/VoidValue_8h.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/VoidValue.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Classes | -Namespaces
-
-
VoidValue.h File Reference
-
-
-
#include "Value.h"
-
-Include dependency graph for VoidValue.h:
-
-
- - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - - -

-Classes

class  Hazelnp::VoidValue
 Specializations for void values. More...
 
- - - -

-Namespaces

 Hazelnp
 
-
- - - - diff --git a/docs/VoidValue_8h__dep__incl.map b/docs/VoidValue_8h__dep__incl.map deleted file mode 100644 index 0462c59..0000000 --- a/docs/VoidValue_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/VoidValue_8h__dep__incl.md5 b/docs/VoidValue_8h__dep__incl.md5 deleted file mode 100644 index 9f3bf28..0000000 --- a/docs/VoidValue_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c3697ea496d303a2f2ce807251f8e6c9 \ No newline at end of file diff --git a/docs/VoidValue_8h__dep__incl.png b/docs/VoidValue_8h__dep__incl.png deleted file mode 100644 index 50297b9..0000000 Binary files a/docs/VoidValue_8h__dep__incl.png and /dev/null differ diff --git a/docs/VoidValue_8h__incl.map b/docs/VoidValue_8h__incl.map deleted file mode 100644 index 8150295..0000000 --- a/docs/VoidValue_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/VoidValue_8h__incl.md5 b/docs/VoidValue_8h__incl.md5 deleted file mode 100644 index 7483fb9..0000000 --- a/docs/VoidValue_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -64107a9642900c322c5205ad2d9c1aed \ No newline at end of file diff --git a/docs/VoidValue_8h__incl.png b/docs/VoidValue_8h__incl.png deleted file mode 100644 index 1138ac2..0000000 Binary files a/docs/VoidValue_8h__incl.png and /dev/null differ diff --git a/docs/VoidValue_8h_source.html b/docs/VoidValue_8h_source.html deleted file mode 100644 index 093b36c..0000000 --- a/docs/VoidValue_8h_source.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/VoidValue.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
VoidValue.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include "Value.h"
-
3 
-
4 namespace Hazelnp
-
5 {
-
6  /** Specializations for void values. These house no value whatsoever, but only communicate information by merely existing.
-
7  */
-
8  class VoidValue : public Value
-
9  {
-
10  public:
-
11  VoidValue();
-
12  ~VoidValue() override {};
-
13 
-
14  //! Will return a deeopopy of this object
-
15  Value* Deepcopy() const override;
-
16 
-
17  //! Will return a string suitable for an std::ostream;
-
18  std::string GetAsOsString() const override;
-
19 
-
20  //! Throws HazelnuppValueNotConvertibleException
-
21  long long int GetInt64() const override;
-
22  //! Throws HazelnuppValueNotConvertibleException
-
23  int GetInt32() const override;
-
24 
-
25  //! Throws HazelnuppValueNotConvertibleException
-
26  long double GetFloat64() const override;
-
27  //! Throws HazelnuppValueNotConvertibleException
-
28  double GetFloat32() const override;
-
29 
-
30  //! Returns an empty string
-
31  std::string GetString() const override;
-
32 
-
33  //! Returns an empty list
-
34  const std::vector<Value*>& GetList() const;
-
35  };
-
36 }
-
-
Hazelnp
Definition: CmdArgsInterface.h:9
-
Hazelnp::VoidValue::GetInt64
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:25
-
Hazelnp::VoidValue::~VoidValue
~VoidValue() override
Definition: VoidValue.h:12
-
Hazelnp::VoidValue::GetFloat64
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:35
-
Hazelnp::VoidValue::GetAsOsString
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: VoidValue.cpp:18
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::VoidValue::GetList
const std::vector< Value * > & GetList() const
Returns an empty list.
Definition: VoidValue.cpp:50
-
Hazelnp::VoidValue::GetInt32
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:30
-
Hazelnp::VoidValue::Deepcopy
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: VoidValue.cpp:13
-
Hazelnp::VoidValue
Specializations for void values.
Definition: VoidValue.h:8
-
Hazelnp::VoidValue::GetString
std::string GetString() const override
Returns an empty string.
Definition: VoidValue.cpp:45
-
Hazelnp::VoidValue::GetFloat32
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:40
-
Hazelnp::VoidValue::VoidValue
VoidValue()
Definition: VoidValue.cpp:6
-
Value.h
- - - - diff --git a/docs/annotated.html b/docs/annotated.html deleted file mode 100644 index db68dad..0000000 --- a/docs/annotated.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 123]
- - - - - - - - - - - - - - - - - - - -
 NHazelnp
 NInternal
 CStringToolsInternal helper class
 CCmdArgsInterfaceThe main class to interface with
 CFloatValueSpecializations for floating point values (uses long double)
 CHazelnuppConstraintExceptionGets thrown something bad happens because of parameter constraints
 CHazelnuppConstraintIncompatibleParametersGets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones
 CHazelnuppConstraintMissingValueGets thrown when a parameter constrained to be required is not provided, and has no default value set
 CHazelnuppConstraintTypeMissmatchGets thrown when a parameter is of a type that does not match the required type, and is not convertible to it
 CHazelnuppExceptionGeneric hazelnupp exception
 CHazelnuppInvalidKeyExceptionGets thrown when an non-existent key gets dereferenced
 CHazelnuppValueNotConvertibleExceptionGets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible
 CIntValueSpecializations for integer values (uses long long int)
 CListValueSpecializations for list values (uses std::vector<Value*>)
 CParamConstraint
 CParameter
 CStringValueSpecializations for string values (uses std::string)
 CValueAbstract class for values
 CVoidValueSpecializations for void values
-
-
- - - - diff --git a/docs/bc_s.png b/docs/bc_s.png deleted file mode 100644 index 3ad51f0..0000000 Binary files a/docs/bc_s.png and /dev/null differ diff --git a/docs/bdwn.png b/docs/bdwn.png deleted file mode 100644 index 3f938ab..0000000 Binary files a/docs/bdwn.png and /dev/null differ diff --git a/docs/classFloatValue-members.html b/docs/classFloatValue-members.html deleted file mode 100644 index 23dcde0..0000000 --- a/docs/classFloatValue-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
FloatValue Member List
-
-
- -

This is the complete list of members for FloatValue, including all inherited members.

- - - - - - - - - - - - - - - - - - -
Deepcopy() const overrideFloatValuevirtual
FloatValue(const long double &value)FloatValue
GetAsOsString() const overrideFloatValuevirtual
GetDataType() constValue
GetFloat32() const overrideFloatValuevirtual
GetFloat64() const overrideFloatValuevirtual
GetInt32() const overrideFloatValuevirtual
GetInt64() const overrideFloatValuevirtual
GetList() const overrideFloatValuevirtual
GetString() const overrideFloatValuevirtual
GetValue() constFloatValue
operator double() constFloatValue
operator long double() constFloatValue
typeValueprotected
Value(DATA_TYPE type)Valueprotected
~FloatValue() overrideFloatValueinline
~Value()Valueinlinevirtual
- - - - diff --git a/docs/classFloatValue.html b/docs/classFloatValue.html deleted file mode 100644 index 3774cd3..0000000 --- a/docs/classFloatValue.html +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: FloatValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
FloatValue Class Reference
-
-
- -

Specializations for floating point values (uses long double) - More...

- -

#include <FloatValue.h>

-
-Inheritance diagram for FloatValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for FloatValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 FloatValue (const long double &value)
 
 ~FloatValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
const long double & GetValue () const
 Will return the raw value. More...
 
 operator long double () const
 
 operator double () const
 
long long int GetInt64 () const override
 Will return the data as a long long int. More...
 
int GetInt32 () const override
 Will return the data as an int. More...
 
long double GetFloat64 () const override
 Will return the data as a long double. More...
 
double GetFloat32 () const override
 Will return the data as a double. More...
 
std::string GetString () const override
 Will return the data as a string. More...
 
const std::vector< Value * > & GetList () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for floating point values (uses long double)

- -

Definition at line 7 of file FloatValue.h.

-

Constructor & Destructor Documentation

- -

◆ FloatValue()

- -
-
- - - - - - - - -
FloatValue::FloatValue (const long double & value)
-
- -

Definition at line 5 of file FloatValue.cpp.

-
6  :
- -
8  value { value }
-
9 {
-
10  return;
-
11 }
-
-
-
- -

◆ ~FloatValue()

- -
-
- - - - - -
- - - - - - - -
FloatValue::~FloatValue ()
-
-inlineoverride
-
- -

Definition at line 11 of file FloatValue.h.

-
11 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * FloatValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Value.

- -

Definition at line 13 of file FloatValue.cpp.

-
14 {
-
15  return new FloatValue(value);
-
16 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string FloatValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Value.

- -

Definition at line 18 of file FloatValue.cpp.

-
19 {
-
20  std::stringstream ss;
-
21  ss << "FloatValue: " << value;
-
22  return ss.str();
-
23 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double FloatValue::GetFloat32 () const
-
-overridevirtual
-
- -

Will return the data as a double.

- -

Implements Value.

- -

Definition at line 57 of file FloatValue.cpp.

-
58 {
-
59  return (double)value;
-
60 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double FloatValue::GetFloat64 () const
-
-overridevirtual
-
- -

Will return the data as a long double.

- -

Implements Value.

- -

Definition at line 52 of file FloatValue.cpp.

-
53 {
-
54  return value;
-
55 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int FloatValue::GetInt32 () const
-
-overridevirtual
-
- -

Will return the data as an int.

- -

Implements Value.

- -

Definition at line 47 of file FloatValue.cpp.

-
48 {
-
49  return (int)value;
-
50 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int FloatValue::GetInt64 () const
-
-overridevirtual
-
- -

Will return the data as a long long int.

- -

Implements Value.

- -

Definition at line 42 of file FloatValue.cpp.

-
43 {
-
44  return (long long int)value;
-
45 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & FloatValue::GetList () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 70 of file FloatValue.cpp.

-
71 {
- -
73 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string FloatValue::GetString () const
-
-overridevirtual
-
- -

Will return the data as a string.

- -

Implements Value.

- -

Definition at line 62 of file FloatValue.cpp.

-
63 {
-
64  std::stringstream ss;
-
65  ss << value;
-
66 
-
67  return ss.str();
-
68 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const long double & FloatValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 25 of file FloatValue.cpp.

-
26 {
-
27  return value;
-
28 }
-
-
-
- -

◆ operator double()

- -
-
- - - - - - - -
FloatValue::operator double () const
-
- -

Definition at line 35 of file FloatValue.cpp.

-
36 {
-
37  return (double)value;
-
38 }
-
-
-
- -

◆ operator long double()

- -
-
- - - - - - - -
FloatValue::operator long double () const
-
- -

Definition at line 30 of file FloatValue.cpp.

-
31 {
-
32  return value;
-
33 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
DATA_TYPE::FLOAT
@ FLOAT
-
HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:33
-
Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:3
-
FloatValue::FloatValue
FloatValue(const long double &value)
Definition: FloatValue.cpp:5
- - - - diff --git a/docs/classFloatValue__coll__graph.map b/docs/classFloatValue__coll__graph.map deleted file mode 100644 index d1e1117..0000000 --- a/docs/classFloatValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classFloatValue__coll__graph.md5 b/docs/classFloatValue__coll__graph.md5 deleted file mode 100644 index ce67a40..0000000 --- a/docs/classFloatValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -61a7c55eab2b6c56d37885d5512dd079 \ No newline at end of file diff --git a/docs/classFloatValue__coll__graph.png b/docs/classFloatValue__coll__graph.png deleted file mode 100644 index 81a6e85..0000000 Binary files a/docs/classFloatValue__coll__graph.png and /dev/null differ diff --git a/docs/classFloatValue__inherit__graph.map b/docs/classFloatValue__inherit__graph.map deleted file mode 100644 index d1e1117..0000000 --- a/docs/classFloatValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classFloatValue__inherit__graph.md5 b/docs/classFloatValue__inherit__graph.md5 deleted file mode 100644 index ce67a40..0000000 --- a/docs/classFloatValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -61a7c55eab2b6c56d37885d5512dd079 \ No newline at end of file diff --git a/docs/classFloatValue__inherit__graph.png b/docs/classFloatValue__inherit__graph.png deleted file mode 100644 index 81a6e85..0000000 Binary files a/docs/classFloatValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1CmdArgsInterface-members.html b/docs/classHazelnp_1_1CmdArgsInterface-members.html deleted file mode 100644 index 47e7cef..0000000 --- a/docs/classHazelnp_1_1CmdArgsInterface-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::CmdArgsInterface Member List
-
-
- -

This is the complete list of members for Hazelnp::CmdArgsInterface, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClearAbbreviation(const std::string &abbrevation)Hazelnp::CmdArgsInterface
ClearAbbreviations()Hazelnp::CmdArgsInterface
ClearConstraint(const std::string &parameter)Hazelnp::CmdArgsInterface
ClearConstraints()Hazelnp::CmdArgsInterface
ClearDescription(const std::string &parameter)Hazelnp::CmdArgsInterface
ClearDescriptions()Hazelnp::CmdArgsInterface
CmdArgsInterface()Hazelnp::CmdArgsInterface
CmdArgsInterface(const int argc, const char *const *argv)Hazelnp::CmdArgsInterface
GenerateDocumentation() constHazelnp::CmdArgsInterface
GetAbbreviation(const std::string &abbrev) constHazelnp::CmdArgsInterface
GetBriefDescription()Hazelnp::CmdArgsInterface
GetCatchHelp() constHazelnp::CmdArgsInterface
GetConstraint(const std::string &parameter) constHazelnp::CmdArgsInterface
GetCrashOnFail() constHazelnp::CmdArgsInterface
GetDescription(const std::string &parameter) constHazelnp::CmdArgsInterface
GetExecutableName() constHazelnp::CmdArgsInterface
HasAbbreviation(const std::string &abbrev) constHazelnp::CmdArgsInterface
HasDescription(const std::string &parameter) constHazelnp::CmdArgsInterface
HasParam(const std::string &key) constHazelnp::CmdArgsInterface
operator[](const std::string &key) constHazelnp::CmdArgsInterface
Parse(const int argc, const char *const *argv)Hazelnp::CmdArgsInterface
RegisterAbbreviation(const std::string &abbrev, const std::string &target)Hazelnp::CmdArgsInterface
RegisterConstraint(const std::string &key, const ParamConstraint &constraint)Hazelnp::CmdArgsInterface
RegisterDescription(const std::string &parameter, const std::string &description)Hazelnp::CmdArgsInterface
SetBriefDescription(const std::string &description)Hazelnp::CmdArgsInterface
SetCatchHelp(bool catchHelp)Hazelnp::CmdArgsInterface
SetCrashOnFail(bool crashOnFail)Hazelnp::CmdArgsInterface
~CmdArgsInterface()Hazelnp::CmdArgsInterface
- - - - diff --git a/docs/classHazelnp_1_1CmdArgsInterface.html b/docs/classHazelnp_1_1CmdArgsInterface.html deleted file mode 100644 index bb60469..0000000 --- a/docs/classHazelnp_1_1CmdArgsInterface.html +++ /dev/null @@ -1,1206 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::CmdArgsInterface Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::CmdArgsInterface Class Reference
-
-
- -

The main class to interface with. - More...

- -

#include <CmdArgsInterface.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 CmdArgsInterface ()
 
 CmdArgsInterface (const int argc, const char *const *argv)
 
 ~CmdArgsInterface ()
 
void Parse (const int argc, const char *const *argv)
 Will parse command line arguments. More...
 
const std::string & GetExecutableName () const
 Will return argv[0], the name of the executable. More...
 
const Valueoperator[] (const std::string &key) const
 Will return the value given a key. More...
 
bool HasParam (const std::string &key) const
 Will check wether a parameter exists given a key, or not. More...
 
void RegisterAbbreviation (const std::string &abbrev, const std::string &target)
 Will register an abbreviation (like -f for –force) More...
 
const std::string & GetAbbreviation (const std::string &abbrev) const
 Will return the long form of an abbreviation (like –force for -f)
- Returns "" if no match is found. More...
 
bool HasAbbreviation (const std::string &abbrev) const
 Will check wether or not an abbreviation is registered. More...
 
void ClearAbbreviation (const std::string &abbrevation)
 Will delete the abbreviation for a given parameter. More...
 
void ClearAbbreviations ()
 Will delete all abbreviations. More...
 
void RegisterConstraint (const std::string &key, const ParamConstraint &constraint)
 Will register a constraint for a parameter. More...
 
ParamConstraint GetConstraint (const std::string &parameter) const
 Will return the constraint information for a specific parameter. More...
 
void ClearConstraint (const std::string &parameter)
 Will the constraint of a specific parameter. More...
 
void ClearConstraints ()
 Will delete all constraints. More...
 
void SetCrashOnFail (bool crashOnFail)
 Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsing, or not. More...
 
bool GetCrashOnFail () const
 Gets whether the application crashes on an exception whilst parsing, and prints to stderr. More...
 
void SetCatchHelp (bool catchHelp)
 Sets whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not. More...
 
bool GetCatchHelp () const
 Retruns whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not. More...
 
void SetBriefDescription (const std::string &description)
 Sets a brief description of the application to be automatically added to the documentation. More...
 
const std::string & GetBriefDescription ()
 Returns the brief description of the application to be automatically added to the documentation. More...
 
void RegisterDescription (const std::string &parameter, const std::string &description)
 Willl register a short description for a parameter. More...
 
const std::string & GetDescription (const std::string &parameter) const
 Will return a short description for a parameter, if it exists. More...
 
bool HasDescription (const std::string &parameter) const
 Returns whether or not a given parameter has a registered description. More...
 
void ClearDescription (const std::string &parameter)
 Will delete the description of a parameter if it exists. More...
 
void ClearDescriptions ()
 Will delete all parameter descriptions. More...
 
std::string GenerateDocumentation () const
 Will generate a text-based documentation suited to show the user, for example on –help. More...
 
-

Detailed Description

-

The main class to interface with.

- -

Definition at line 13 of file CmdArgsInterface.h.

-

Constructor & Destructor Documentation

- -

◆ CmdArgsInterface() [1/2]

- -
-
- - - - - - - -
CmdArgsInterface::CmdArgsInterface ()
-
- -

Definition at line 15 of file CmdArgsInterface.cpp.

-
16 {
-
17  return;
-
18 }
-
-
-
- -

◆ CmdArgsInterface() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - -
CmdArgsInterface::CmdArgsInterface (const int argc,
const char *const * argv 
)
-
- -

Definition at line 20 of file CmdArgsInterface.cpp.

-
21 {
-
22  Parse(argc, argv);
-
23  return;
-
24 }
-
-
-
- -

◆ ~CmdArgsInterface()

- -
-
- - - - - - - -
CmdArgsInterface::~CmdArgsInterface ()
-
- -

Definition at line 26 of file CmdArgsInterface.cpp.

-
27 {
-
28  for (auto& it : parameters)
-
29  delete it.second;
-
30 
-
31  parameters.clear();
-
32 
-
33  return;
-
34 }
-
-
-
-

Member Function Documentation

- -

◆ ClearAbbreviation()

- -
-
- - - - - - - - -
void CmdArgsInterface::ClearAbbreviation (const std::string & abbrevation)
-
- -

Will delete the abbreviation for a given parameter.

-


- IMPORTANT: This parameter is the abbreviation! Not the long form!

- -

Definition at line 651 of file CmdArgsInterface.cpp.

-
652 {
-
653  parameterAbreviations.erase(abbrevation);
-
654  return;
-
655 }
-
-
-
- -

◆ ClearAbbreviations()

- -
-
- - - - - - - -
void CmdArgsInterface::ClearAbbreviations ()
-
- -

Will delete all abbreviations.

- -

Definition at line 657 of file CmdArgsInterface.cpp.

-
658 {
-
659  parameterAbreviations.clear();
-
660  return;
-
661 }
-
-
-
- -

◆ ClearConstraint()

- -
-
- - - - - - - - -
void CmdArgsInterface::ClearConstraint (const std::string & parameter)
-
- -

Will the constraint of a specific parameter.

- -

Definition at line 612 of file CmdArgsInterface.cpp.

-
613 {
-
614  parameterConstraints.erase(parameter);
-
615  return;
-
616 }
-
-
-
- -

◆ ClearConstraints()

- -
-
- - - - - - - -
void CmdArgsInterface::ClearConstraints ()
-
- -

Will delete all constraints.

- -

Definition at line 670 of file CmdArgsInterface.cpp.

-
671 {
-
672  parameterConstraints.clear();
-
673  return;
-
674 }
-
-
-
- -

◆ ClearDescription()

- -
-
- - - - - - - - -
void CmdArgsInterface::ClearDescription (const std::string & parameter)
-
- -

Will delete the description of a parameter if it exists.

- -

Definition at line 412 of file CmdArgsInterface.cpp.

-
413 {
-
414  // This will just do nothing if the entry does not exist
-
415  parameterDescriptions.erase(parameter);
-
416  return;
-
417 }
-
-
-
- -

◆ ClearDescriptions()

- -
-
- - - - - - - -
void Hazelnp::CmdArgsInterface::ClearDescriptions ()
-
- -

Will delete all parameter descriptions.

- -

Definition at line 419 of file CmdArgsInterface.cpp.

-
420 {
-
421  parameterDescriptions.clear();
-
422  return;
-
423 }
-
-
-
- -

◆ GenerateDocumentation()

- -
-
- - - - - - - -
std::string CmdArgsInterface::GenerateDocumentation () const
-
- -

Will generate a text-based documentation suited to show the user, for example on –help.

- -

Definition at line 425 of file CmdArgsInterface.cpp.

-
426 {
-
427  std::stringstream ss;
-
428 
-
429  // Add brief, if available
-
430  if (briefDescription.length() > 0)
-
431  ss << briefDescription << std::endl;
-
432 
-
433  // Collect parameter information
-
434  struct ParamDocEntry
-
435  {
-
436  std::string abbreviation;
-
437  std::string description;
-
438  std::string type;
-
439  bool required = false;
-
440  bool typeIsForced = false;
-
441  std::string defaultVal;
-
442  std::string incompatibilities;
-
443  };
-
444  std::unordered_map<std::string, ParamDocEntry> paramInfos;
-
445 
-
446  // Collect descriptions
-
447  for (const auto& it : parameterDescriptions)
-
448  {
-
449  // Do we already have that param in the paramInfo set?
-
450  if (paramInfos.find(it.first) == paramInfos.end())
-
451  // No? Create it.
-
452  paramInfos[it.first] = ParamDocEntry();
-
453 
-
454  paramInfos[it.first].description = it.second;
-
455  }
-
456 
-
457  // Collect abbreviations
-
458  // first value is abbreviation, second is long form
-
459  for (const auto& it : parameterAbreviations)
-
460  {
-
461  // Do we already have that param in the paramInfo set?
-
462  if (paramInfos.find(it.second) == paramInfos.end())
-
463  // No? Create it.
-
464  paramInfos[it.second] = ParamDocEntry();
-
465 
-
466  paramInfos[it.second].abbreviation = it.first;
-
467  }
-
468 
-
469  // Collect constraints
-
470  for (const auto& it : parameterConstraints)
-
471  {
-
472  // Do we already have that param in the paramInfo set?
-
473  if (paramInfos.find(it.first) == paramInfos.end())
-
474  // No? Create it.
-
475  paramInfos[it.first] = ParamDocEntry();
-
476 
-
477  ParamDocEntry& cached = paramInfos[it.first];
-
478  cached.required = it.second.required;
-
479  cached.typeIsForced = it.second.constrainType;
-
480  cached.type = DataTypeToString(it.second.requiredType);
-
481 
-
482  // Build default-value string
-
483  std::stringstream vec2str_ss;
-
484  for (const std::string& s : it.second.defaultValue)
-
485  {
-
486  vec2str_ss << '\'' << s << '\'';
-
487 
-
488  // Add a space if we are not at the last entry
-
489  if ((void*)&s != (void*)&it.second.defaultValue.back())
-
490  vec2str_ss << " ";
-
491  }
-
492  cached.defaultVal = vec2str_ss.str();
-
493 
-
494 
-
495  // Build incompatibilities string
-
496  vec2str_ss.str("");
-
497  for (const std::string& s : it.second.incompatibleParameters)
-
498  {
-
499  vec2str_ss << s;
-
500 
-
501  // Add a comma-space if we are not at the last entry
-
502  if ((void*)&s != (void*)&it.second.incompatibleParameters.back())
-
503  vec2str_ss << ", ";
-
504  }
-
505  cached.incompatibilities = vec2str_ss.str();
-
506  }
-
507 
-
508  // Now generate the documentation body
-
509  if (paramInfos.size() > 0)
-
510  {
-
511  ss << std::endl
-
512  << "==== AVAILABLE PARAMETERS ===="
-
513  << std::endl << std::endl;
-
514 
-
515  std::size_t counter = 0;
-
516  for (const auto& it : paramInfos)
-
517  {
-
518  const ParamDocEntry& pde = it.second;
-
519 
-
520  // Put name
-
521  ss << it.first << " ";
-
522 
-
523  // Put abbreviation
-
524  if (pde.abbreviation.length() > 0)
-
525  ss << pde.abbreviation << " ";
-
526 
-
527  // Put type
-
528  if (pde.typeIsForced)
-
529  ss << pde.type << " ";
-
530 
-
531  // Put default value
-
532  if (pde.defaultVal.length() > 0)
-
533  ss << "default=[" << pde.defaultVal << "] ";
-
534 
-
535  // Put incompatibilities
-
536  if (pde.incompatibilities.length() > 0)
-
537  ss << "incompatibilities=[" << pde.incompatibilities << "] ";
-
538 
-
539  // Put required tag, but only if no default value
-
540  if ((pde.required) && (pde.defaultVal.length() == 0))
-
541  ss << "[[REQUIRED]] ";
-
542 
-
543  // Put brief description
-
544  if (pde.description.length() > 0)
-
545  ss << pde.description;
-
546 
-
547  // Omit linebreaks when we're on the last element
-
548  if (counter < paramInfos.size()-1)
-
549  ss << std::endl << std::endl;
-
550 
-
551  counter++;
-
552  }
-
553  }
-
554 
-
555  return ss.str();
-
556 }
-
-
-
- -

◆ GetAbbreviation()

- -
-
- - - - - - - - -
const std::string & CmdArgsInterface::GetAbbreviation (const std::string & abbrev) const
-
- -

Will return the long form of an abbreviation (like –force for -f)
- Returns "" if no match is found.

- -

Definition at line 638 of file CmdArgsInterface.cpp.

-
639 {
-
640  if (!HasAbbreviation(abbrev))
- -
642 
-
643  return parameterAbreviations.find(abbrev)->second;
-
644 }
-
-
-
- -

◆ GetBriefDescription()

- -
-
- - - - - - - -
const std::string & CmdArgsInterface::GetBriefDescription ()
-
- -

Returns the brief description of the application to be automatically added to the documentation.

- -

Definition at line 385 of file CmdArgsInterface.cpp.

-
386 {
-
387  return briefDescription;
-
388 }
-
-
-
- -

◆ GetCatchHelp()

- -
-
- - - - - - - -
bool CmdArgsInterface::GetCatchHelp () const
-
- -

Retruns whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not.

- -

Definition at line 374 of file CmdArgsInterface.cpp.

-
375 {
-
376  return catchHelp;
-
377 }
-
-
-
- -

◆ GetConstraint()

- -
-
- - - - - - - - -
ParamConstraint CmdArgsInterface::GetConstraint (const std::string & parameter) const
-
- -

Will return the constraint information for a specific parameter.

- -

Definition at line 607 of file CmdArgsInterface.cpp.

-
608 {
-
609  return parameterConstraints.find(parameter)->second;
-
610 }
-
-
-
- -

◆ GetCrashOnFail()

- -
-
- - - - - - - -
bool CmdArgsInterface::GetCrashOnFail () const
-
- -

Gets whether the application crashes on an exception whilst parsing, and prints to stderr.

- -

Definition at line 363 of file CmdArgsInterface.cpp.

-
364 {
-
365  return crashOnFail;
-
366 }
-
-
-
- -

◆ GetDescription()

- -
-
- - - - - - - - -
const std::string & Hazelnp::CmdArgsInterface::GetDescription (const std::string & parameter) const
-
- -

Will return a short description for a parameter, if it exists.

-


- Empty string if it does not exist.

- -

Definition at line 396 of file CmdArgsInterface.cpp.

-
397 {
-
398  // Do we already have a description for this parameter?
-
399  if (!HasDescription(parameter))
-
400  // No? Then return ""
- -
402 
-
403  // We do? Then return it
-
404  return parameterDescriptions.find(parameter)->second;
-
405 }
-
-
-
- -

◆ GetExecutableName()

- -
-
- - - - - - - -
const std::string & CmdArgsInterface::GetExecutableName () const
-
- -

Will return argv[0], the name of the executable.

- -

Definition at line 618 of file CmdArgsInterface.cpp.

-
619 {
-
620  return executableName;
-
621 }
-
-
-
- -

◆ HasAbbreviation()

- -
-
- - - - - - - - -
bool CmdArgsInterface::HasAbbreviation (const std::string & abbrev) const
-
- -

Will check wether or not an abbreviation is registered.

- -

Definition at line 646 of file CmdArgsInterface.cpp.

-
647 {
-
648  return parameterAbreviations.find(abbrev) != parameterAbreviations.end();
-
649 }
-
-
-
- -

◆ HasDescription()

- -
-
- - - - - - - - -
bool CmdArgsInterface::HasDescription (const std::string & parameter) const
-
- -

Returns whether or not a given parameter has a registered description.

- -

Definition at line 407 of file CmdArgsInterface.cpp.

-
408 {
-
409  return parameterDescriptions.find(parameter) != parameterDescriptions.end();
-
410 }
-
-
-
- -

◆ HasParam()

- -
-
- - - - - - - - -
bool CmdArgsInterface::HasParam (const std::string & key) const
-
- -

Will check wether a parameter exists given a key, or not.

- -

Definition at line 199 of file CmdArgsInterface.cpp.

-
200 {
-
201  return parameters.find(key) != parameters.end();
-
202 }
-
-
-
- -

◆ operator[]()

- -
-
- - - - - - - - -
const Value & CmdArgsInterface::operator[] (const std::string & key) const
-
- -

Will return the value given a key.

- -

Definition at line 623 of file CmdArgsInterface.cpp.

-
624 {
-
625  // Throw exception if param is unknown
-
626  if (!HasParam(key))
- -
628 
-
629  return *parameters.find(key)->second->GetValue();
-
630 }
-
-
-
- -

◆ Parse()

- -
-
- - - - - - - - - - - - - - - - - - -
void CmdArgsInterface::Parse (const int argc,
const char *const * argv 
)
-
- -

Will parse command line arguments.

- -

Definition at line 36 of file CmdArgsInterface.cpp.

-
37 {
-
38  try
-
39  {
-
40  // Populate raw arguments
-
41  PopulateRawArgs(argc, argv);
-
42 
-
43  // Expand abbreviations
-
44  ExpandAbbreviations();
-
45 
-
46  executableName = std::string(rawArgs[0]);
-
47 
-
48  // Read and parse all parameters
-
49  std::size_t i = 1;
-
50  while (i < rawArgs.size())
-
51  {
-
52  if ((rawArgs[i].length() > 2) && (rawArgs[i].substr(0, 2) == "--"))
-
53  {
-
54  Parameter* param = nullptr;
-
55  i = ParseNextParameter(i, param);
-
56 
-
57  parameters.insert(std::pair<std::string, Parameter*>(param->Key(), param));
-
58  }
-
59  else
-
60  i++;
-
61  }
-
62 
-
63  // Apply constraints such as default values, and required parameters.
-
64  // Types have already been enforced.
-
65  // Dont apply constraints when we are just printind the param docs
-
66  if ((!catchHelp) || (!HasParam("--help")))
-
67  ApplyConstraints();
-
68  }
- -
70  {
-
71  if (crashOnFail)
-
72  {
-
73  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
74  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
75  quick_exit(-1000);
-
76  }
-
77  else
-
78  throw exc; // yeet
-
79  }
-
80  catch (const HazelnuppConstraintMissingValue& exc)
-
81  {
-
82  if (crashOnFail)
-
83  {
-
84  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
85  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
86  quick_exit(-1001);
-
87  }
-
88  else
-
89  throw exc; // yeet
-
90  }
-
91  catch (const HazelnuppConstraintTypeMissmatch& exc)
-
92  {
-
93  if (crashOnFail)
-
94  {
-
95  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
96  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
97  quick_exit(-1002);
-
98  }
-
99  else
-
100  throw exc; // yeet
-
101  }
-
102  catch (const HazelnuppConstraintException& exc)
-
103  {
-
104  if (crashOnFail)
-
105  {
-
106  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
107  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
108  quick_exit(-1003);
-
109  }
-
110  else
-
111  throw exc; // yeet
-
112  }
-
113  catch (const HazelnuppException& exc)
-
114  {
-
115  if (crashOnFail)
-
116  {
-
117  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
118  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
119  quick_exit(-1004);
-
120  }
-
121  else
-
122  throw exc; // yeet
-
123  }
-
124 
-
125  // Catch --help parameter
-
126  if ((catchHelp) && (HasParam("--help")))
-
127  {
-
128  std::cout << GenerateDocumentation() << std::endl;
-
129  quick_exit(0);
-
130  }
-
131 
-
132  return;
-
133 }
-
-
-
- -

◆ RegisterAbbreviation()

- -
-
- - - - - - - - - - - - - - - - - - -
void CmdArgsInterface::RegisterAbbreviation (const std::string & abbrev,
const std::string & target 
)
-
- -

Will register an abbreviation (like -f for –force)

- -

Definition at line 632 of file CmdArgsInterface.cpp.

-
633 {
-
634  parameterAbreviations.insert(std::pair<std::string, std::string>(abbrev, target));
-
635  return;
-
636 }
-
-
-
- -

◆ RegisterConstraint()

- -
-
- - - - - - - - - - - - - - - - - - -
void CmdArgsInterface::RegisterConstraint (const std::string & key,
const ParamConstraintconstraint 
)
-
- -

Will register a constraint for a parameter.

-

IMPORTANT: Any parameter can only have ONE constraint. Applying a new one will overwrite the old one! Construct the ParamConstraint struct yourself to combine Require, TypeSafety and Incompatibilities! You can also use the ParamConstraint constructor!

- -

Definition at line 663 of file CmdArgsInterface.cpp.

-
664 {
-
665  // Magic syntax, wooo
-
666  (parameterConstraints[key] = constraint).key = key;
-
667  return;
-
668 }
-
-
-
- -

◆ RegisterDescription()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnp::CmdArgsInterface::RegisterDescription (const std::string & parameter,
const std::string & description 
)
-
- -

Willl register a short description for a parameter.

-


- Will overwrite existing descriptions for that parameter.

- -

Definition at line 390 of file CmdArgsInterface.cpp.

-
391 {
-
392  parameterDescriptions[parameter] = description;
-
393  return;
-
394 }
-
-
-
- -

◆ SetBriefDescription()

- -
-
- - - - - - - - -
void CmdArgsInterface::SetBriefDescription (const std::string & description)
-
- -

Sets a brief description of the application to be automatically added to the documentation.

- -

Definition at line 379 of file CmdArgsInterface.cpp.

-
380 {
-
381  briefDescription = description;
-
382  return;
-
383 }
-
-
-
- -

◆ SetCatchHelp()

- -
-
- - - - - - - - -
void CmdArgsInterface::SetCatchHelp (bool catchHelp)
-
- -

Sets whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not.

- -

Definition at line 368 of file CmdArgsInterface.cpp.

-
369 {
-
370  this->catchHelp = catchHelp;
-
371  return;
-
372 }
-
-
-
- -

◆ SetCrashOnFail()

- -
-
- - - - - - - - -
void CmdArgsInterface::SetCrashOnFail (bool crashOnFail)
-
- -

Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsing, or not.

- -

Definition at line 676 of file CmdArgsInterface.cpp.

-
677 {
-
678  this->crashOnFail = crashOnFail;
-
679  return;
-
680 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::HazelnuppConstraintIncompatibleParameters
Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied along...
Definition: HazelnuppException.h:101
-
Hazelnp::CmdArgsInterface::HasAbbreviation
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: CmdArgsInterface.cpp:646
-
Hazelnp::HazelnuppInvalidKeyException
Gets thrown when an non-existent key gets dereferenced.
Definition: HazelnuppException.h:29
-
Hazelnp::HazelnuppException::What
const std::string & What() const
Will return an error message.
Definition: HazelnuppException.h:18
-
Hazelnp::HazelnuppConstraintException
Gets thrown something bad happens because of parameter constraints.
Definition: HazelnuppException.h:47
-
Hazelnp::CmdArgsInterface::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: CmdArgsInterface.cpp:199
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::Placeholders::g_emptyString
static const std::string g_emptyString
The only purpose of this is to provide the ability to return an empty string as an error for std::str...
Definition: Placeholders.h:9
-
Hazelnp::CmdArgsInterface::HasDescription
bool HasDescription(const std::string &parameter) const
Returns whether or not a given parameter has a registered description.
Definition: CmdArgsInterface.cpp:407
-
Hazelnp::HazelnuppException
Generic hazelnupp exception.
Definition: HazelnuppException.h:11
-
Hazelnp::Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:21
-
Hazelnp::HazelnuppConstraintMissingValue
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
Definition: HazelnuppException.h:80
-
Hazelnp::HazelnuppConstraintTypeMissmatch
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
Definition: HazelnuppException.h:56
-
Hazelnp::CmdArgsInterface::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: CmdArgsInterface.cpp:36
-
Hazelnp::CmdArgsInterface::GenerateDocumentation
std::string GenerateDocumentation() const
Will generate a text-based documentation suited to show the user, for example on –help.
Definition: CmdArgsInterface.cpp:425
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
- - - - diff --git a/docs/classHazelnp_1_1FloatValue-members.html b/docs/classHazelnp_1_1FloatValue-members.html deleted file mode 100644 index 38460b1..0000000 --- a/docs/classHazelnp_1_1FloatValue-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::FloatValue Member List
-
-
- -

This is the complete list of members for Hazelnp::FloatValue, including all inherited members.

- - - - - - - - - - - - - - - - - - -
Deepcopy() const overrideHazelnp::FloatValuevirtual
FloatValue(const long double &value)Hazelnp::FloatValue
GetAsOsString() const overrideHazelnp::FloatValuevirtual
GetDataType() constHazelnp::Value
GetFloat32() const overrideHazelnp::FloatValuevirtual
GetFloat64() const overrideHazelnp::FloatValuevirtual
GetInt32() const overrideHazelnp::FloatValuevirtual
GetInt64() const overrideHazelnp::FloatValuevirtual
GetList() const overrideHazelnp::FloatValuevirtual
GetString() const overrideHazelnp::FloatValuevirtual
GetValue() constHazelnp::FloatValue
operator double() constHazelnp::FloatValue
operator long double() constHazelnp::FloatValue
typeHazelnp::Valueprotected
Value(DATA_TYPE type)Hazelnp::Valueprotected
~FloatValue() overrideHazelnp::FloatValueinline
~Value()Hazelnp::Valueinlinevirtual
- - - - diff --git a/docs/classHazelnp_1_1FloatValue.html b/docs/classHazelnp_1_1FloatValue.html deleted file mode 100644 index b1a445d..0000000 --- a/docs/classHazelnp_1_1FloatValue.html +++ /dev/null @@ -1,582 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::FloatValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::FloatValue Class Reference
-
-
- -

Specializations for floating point values (uses long double) - More...

- -

#include <FloatValue.h>

-
-Inheritance diagram for Hazelnp::FloatValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for Hazelnp::FloatValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 FloatValue (const long double &value)
 
 ~FloatValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
const long double & GetValue () const
 Will return the raw value. More...
 
 operator long double () const
 
 operator double () const
 
long long int GetInt64 () const override
 Will return the data as a long long int. More...
 
int GetInt32 () const override
 Will return the data as an int. More...
 
long double GetFloat64 () const override
 Will return the data as a long double. More...
 
double GetFloat32 () const override
 Will return the data as a double. More...
 
std::string GetString () const override
 Will return the data as a string. More...
 
const std::vector< Value * > & GetList () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Hazelnp::Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Hazelnp::Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Hazelnp::Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for floating point values (uses long double)

- -

Definition at line 9 of file FloatValue.h.

-

Constructor & Destructor Documentation

- -

◆ FloatValue()

- -
-
- - - - - - - - -
FloatValue::FloatValue (const long double & value)
-
- -

Definition at line 7 of file FloatValue.cpp.

-
8  :
- -
10  value { value }
-
11 {
-
12  return;
-
13 }
-
-
-
- -

◆ ~FloatValue()

- -
-
- - - - - -
- - - - - - - -
Hazelnp::FloatValue::~FloatValue ()
-
-inlineoverride
-
- -

Definition at line 13 of file FloatValue.h.

-
13 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * FloatValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Hazelnp::Value.

- -

Definition at line 15 of file FloatValue.cpp.

-
16 {
-
17  return new FloatValue(value);
-
18 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string FloatValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Hazelnp::Value.

- -

Definition at line 20 of file FloatValue.cpp.

-
21 {
-
22  std::stringstream ss;
-
23  ss << "FloatValue: " << value;
-
24  return ss.str();
-
25 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double FloatValue::GetFloat32 () const
-
-overridevirtual
-
- -

Will return the data as a double.

- -

Implements Hazelnp::Value.

- -

Definition at line 59 of file FloatValue.cpp.

-
60 {
-
61  return (double)value;
-
62 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double FloatValue::GetFloat64 () const
-
-overridevirtual
-
- -

Will return the data as a long double.

- -

Implements Hazelnp::Value.

- -

Definition at line 54 of file FloatValue.cpp.

-
55 {
-
56  return value;
-
57 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int FloatValue::GetInt32 () const
-
-overridevirtual
-
- -

Will return the data as an int.

- -

Implements Hazelnp::Value.

- -

Definition at line 49 of file FloatValue.cpp.

-
50 {
-
51  return (int)value;
-
52 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int FloatValue::GetInt64 () const
-
-overridevirtual
-
- -

Will return the data as a long long int.

- -

Implements Hazelnp::Value.

- -

Definition at line 44 of file FloatValue.cpp.

-
45 {
-
46  return (long long int)value;
-
47 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & FloatValue::GetList () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 72 of file FloatValue.cpp.

-
73 {
- -
75 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string FloatValue::GetString () const
-
-overridevirtual
-
- -

Will return the data as a string.

- -

Implements Hazelnp::Value.

- -

Definition at line 64 of file FloatValue.cpp.

-
65 {
-
66  std::stringstream ss;
-
67  ss << value;
-
68 
-
69  return ss.str();
-
70 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const long double & FloatValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 27 of file FloatValue.cpp.

-
28 {
-
29  return value;
-
30 }
-
-
-
- -

◆ operator double()

- -
-
- - - - - - - -
FloatValue::operator double () const
-
- -

Definition at line 37 of file FloatValue.cpp.

-
38 {
-
39  return (double)value;
-
40 }
-
-
-
- -

◆ operator long double()

- -
-
- - - - - - - -
FloatValue::operator long double () const
-
- -

Definition at line 32 of file FloatValue.cpp.

-
33 {
-
34  return value;
-
35 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::DATA_TYPE::FLOAT
@ FLOAT
-
Hazelnp::FloatValue::FloatValue
FloatValue(const long double &value)
Definition: FloatValue.cpp:7
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/classHazelnp_1_1FloatValue__coll__graph.map b/docs/classHazelnp_1_1FloatValue__coll__graph.map deleted file mode 100644 index e7551d3..0000000 --- a/docs/classHazelnp_1_1FloatValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1FloatValue__coll__graph.md5 b/docs/classHazelnp_1_1FloatValue__coll__graph.md5 deleted file mode 100644 index 0638943..0000000 --- a/docs/classHazelnp_1_1FloatValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e607f145b9f1053a2906e15f99f0542b \ No newline at end of file diff --git a/docs/classHazelnp_1_1FloatValue__coll__graph.png b/docs/classHazelnp_1_1FloatValue__coll__graph.png deleted file mode 100644 index 7f0b564..0000000 Binary files a/docs/classHazelnp_1_1FloatValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1FloatValue__inherit__graph.map b/docs/classHazelnp_1_1FloatValue__inherit__graph.map deleted file mode 100644 index e7551d3..0000000 --- a/docs/classHazelnp_1_1FloatValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1FloatValue__inherit__graph.md5 b/docs/classHazelnp_1_1FloatValue__inherit__graph.md5 deleted file mode 100644 index 0638943..0000000 --- a/docs/classHazelnp_1_1FloatValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -e607f145b9f1053a2906e15f99f0542b \ No newline at end of file diff --git a/docs/classHazelnp_1_1FloatValue__inherit__graph.png b/docs/classHazelnp_1_1FloatValue__inherit__graph.png deleted file mode 100644 index 7f0b564..0000000 Binary files a/docs/classHazelnp_1_1FloatValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1Hazelnupp-members.html b/docs/classHazelnp_1_1Hazelnupp-members.html deleted file mode 100644 index 1745ba8..0000000 --- a/docs/classHazelnp_1_1Hazelnupp-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::Hazelnupp Member List
-
-
- -

This is the complete list of members for Hazelnp::Hazelnupp, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClearAbbreviation(const std::string &abbrevation)Hazelnp::Hazelnupp
ClearAbbreviations()Hazelnp::Hazelnupp
ClearConstraint(const std::string &parameter)Hazelnp::Hazelnupp
ClearConstraints()Hazelnp::Hazelnupp
ClearDescription(const std::string &parameter)Hazelnp::Hazelnupp
ClearDescriptions()Hazelnp::Hazelnupp
GenerateDocumentation() constHazelnp::Hazelnupp
GetAbbreviation(const std::string &abbrev) constHazelnp::Hazelnupp
GetBriefDescription()Hazelnp::Hazelnupp
GetCatchHelp() constHazelnp::Hazelnupp
GetConstraint(const std::string &parameter) constHazelnp::Hazelnupp
GetCrashOnFail() constHazelnp::Hazelnupp
GetDescription(const std::string &parameter) constHazelnp::Hazelnupp
GetExecutableName() constHazelnp::Hazelnupp
HasAbbreviation(const std::string &abbrev) constHazelnp::Hazelnupp
HasDescription(const std::string &parameter) constHazelnp::Hazelnupp
HasParam(const std::string &key) constHazelnp::Hazelnupp
Hazelnupp()Hazelnp::Hazelnupp
Hazelnupp(const int argc, const char *const *argv)Hazelnp::Hazelnupp
operator[](const std::string &key) constHazelnp::Hazelnupp
Parse(const int argc, const char *const *argv)Hazelnp::Hazelnupp
RegisterAbbreviation(const std::string &abbrev, const std::string &target)Hazelnp::Hazelnupp
RegisterConstraint(const std::string &key, const ParamConstraint &constraint)Hazelnp::Hazelnupp
RegisterDescription(const std::string &parameter, const std::string &description)Hazelnp::Hazelnupp
SetBriefDescription(const std::string &description)Hazelnp::Hazelnupp
SetCatchHelp(bool catchHelp)Hazelnp::Hazelnupp
SetCrashOnFail(bool crashOnFail)Hazelnp::Hazelnupp
~Hazelnupp()Hazelnp::Hazelnupp
- - - - diff --git a/docs/classHazelnp_1_1Hazelnupp.html b/docs/classHazelnp_1_1Hazelnupp.html deleted file mode 100644 index 52ee004..0000000 --- a/docs/classHazelnp_1_1Hazelnupp.html +++ /dev/null @@ -1,1150 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::Hazelnupp Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::Hazelnupp Class Reference
-
-
- -

The main class to interface with. - More...

- -

#include <Hazelnupp.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Hazelnupp ()
 
 Hazelnupp (const int argc, const char *const *argv)
 
 ~Hazelnupp ()
 
void Parse (const int argc, const char *const *argv)
 Will parse command line arguments. More...
 
const std::string & GetExecutableName () const
 Will return argv[0], the name of the executable. More...
 
const Valueoperator[] (const std::string &key) const
 Will return the value given a key. More...
 
bool HasParam (const std::string &key) const
 Will check wether a parameter exists given a key, or not. More...
 
void RegisterAbbreviation (const std::string &abbrev, const std::string &target)
 Will register an abbreviation (like -f for –force) More...
 
const std::string & GetAbbreviation (const std::string &abbrev) const
 Will return the long form of an abbreviation (like –force for -f)
- Returns "" if no match is found. More...
 
bool HasAbbreviation (const std::string &abbrev) const
 Will check wether or not an abbreviation is registered. More...
 
void ClearAbbreviation (const std::string &abbrevation)
 Will delete the abbreviation for a given parameter. More...
 
void ClearAbbreviations ()
 Will delete all abbreviations. More...
 
void RegisterConstraint (const std::string &key, const ParamConstraint &constraint)
 Will register a constraint for a parameter. More...
 
ParamConstraint GetConstraint (const std::string &parameter) const
 Will return the constraint information for a specific parameter. More...
 
void ClearConstraint (const std::string &parameter)
 Will the constraint of a specific parameter. More...
 
void ClearConstraints ()
 Will delete all constraints. More...
 
void SetCrashOnFail (bool crashOnFail)
 Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsing, or not. More...
 
bool GetCrashOnFail () const
 Gets whether the application crashes on an exception whilst parsing, and prints to stderr. More...
 
void SetCatchHelp (bool catchHelp)
 Sets whether the Hazelnupp should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not. More...
 
bool GetCatchHelp () const
 Retruns whether the Hazelnupp should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not. More...
 
void SetBriefDescription (const std::string &description)
 Sets a brief description of the application to be automatically added to the documentation. More...
 
const std::string & GetBriefDescription ()
 Returns the brief description of the application to be automatically added to the documentation. More...
 
void RegisterDescription (const std::string &parameter, const std::string &description)
 Willl register a short description for a parameter. More...
 
const std::string & GetDescription (const std::string &parameter) const
 Will return a short description for a parameter, if it exists. More...
 
bool HasDescription (const std::string &parameter) const
 Returns whether or not a given parameter has a registered description. More...
 
void ClearDescription (const std::string &parameter)
 Will delete the description of a parameter if it exists. More...
 
void ClearDescriptions ()
 Will delete all parameter descriptions. More...
 
std::string GenerateDocumentation () const
 Will generate a text-based documentation suited to show the user, for example on –help. More...
 
-

Detailed Description

-

The main class to interface with.

- -

Definition at line 11 of file Hazelnupp.h.

-

Constructor & Destructor Documentation

- -

◆ Hazelnupp() [1/2]

- -
-
- - - - - - - -
Hazelnupp::Hazelnupp ()
-
- -

Definition at line 15 of file Hazelnupp.cpp.

-
16 {
-
17  return;
-
18 }
-
-
-
- -

◆ Hazelnupp() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - -
Hazelnupp::Hazelnupp (const int argc,
const char *const * argv 
)
-
- -

Definition at line 20 of file Hazelnupp.cpp.

-
21 {
-
22  Parse(argc, argv);
-
23  return;
-
24 }
-
-
-
- -

◆ ~Hazelnupp()

- -
-
- - - - - - - -
Hazelnupp::~Hazelnupp ()
-
- -

Definition at line 26 of file Hazelnupp.cpp.

-
27 {
-
28  for (auto& it : parameters)
-
29  delete it.second;
-
30 
-
31  parameters.clear();
-
32 
-
33  return;
-
34 }
-
-
-
-

Member Function Documentation

- -

◆ ClearAbbreviation()

- -
-
- - - - - - - - -
void Hazelnupp::ClearAbbreviation (const std::string & abbrevation)
-
- -

Will delete the abbreviation for a given parameter.

-


- IMPORTANT: This parameter is the abbreviation! Not the long form!

- -

Definition at line 586 of file Hazelnupp.cpp.

-
587 {
-
588  parameterAbreviations.erase(abbrevation);
-
589  return;
-
590 }
-
-
-
- -

◆ ClearAbbreviations()

- -
-
- - - - - - - -
void Hazelnupp::ClearAbbreviations ()
-
- -

Will delete all abbreviations.

- -

Definition at line 592 of file Hazelnupp.cpp.

-
593 {
-
594  parameterAbreviations.clear();
-
595  return;
-
596 }
-
-
-
- -

◆ ClearConstraint()

- -
-
- - - - - - - - -
void Hazelnupp::ClearConstraint (const std::string & parameter)
-
- -

Will the constraint of a specific parameter.

- -

Definition at line 547 of file Hazelnupp.cpp.

-
548 {
-
549  parameterConstraints.erase(parameter);
-
550  return;
-
551 }
-
-
-
- -

◆ ClearConstraints()

- -
-
- - - - - - - -
void Hazelnupp::ClearConstraints ()
-
- -

Will delete all constraints.

- -

Definition at line 605 of file Hazelnupp.cpp.

-
606 {
-
607  parameterConstraints.clear();
-
608  return;
-
609 }
-
-
-
- -

◆ ClearDescription()

- -
-
- - - - - - - - -
void Hazelnupp::ClearDescription (const std::string & parameter)
-
- -

Will delete the description of a parameter if it exists.

- -

Definition at line 378 of file Hazelnupp.cpp.

-
379 {
-
380  // This will just do nothing if the entry does not exist
-
381  parameterDescriptions.erase(parameter);
-
382  return;
-
383 }
-
-
-
- -

◆ ClearDescriptions()

- -
-
- - - - - - - -
void Hazelnp::Hazelnupp::ClearDescriptions ()
-
- -

Will delete all parameter descriptions.

- -

Definition at line 385 of file Hazelnupp.cpp.

-
386 {
-
387  parameterDescriptions.clear();
-
388  return;
-
389 }
-
-
-
- -

◆ GenerateDocumentation()

- -
-
- - - - - - - -
std::string Hazelnupp::GenerateDocumentation () const
-
- -

Will generate a text-based documentation suited to show the user, for example on –help.

- -

Definition at line 391 of file Hazelnupp.cpp.

-
392 {
-
393  std::stringstream ss;
-
394 
-
395  // Add brief, if available
-
396  if (briefDescription.length() > 0)
-
397  ss << briefDescription << std::endl;
-
398 
-
399  // Collect parameter information
-
400  struct ParamDocEntry
-
401  {
-
402  std::string abbreviation;
-
403  std::string description;
-
404  std::string type;
-
405  bool required = false;
-
406  bool typeIsForced = false;
-
407  std::string defaultVal;
-
408  };
-
409  std::unordered_map<std::string, ParamDocEntry> paramInfos;
-
410 
-
411  // Collect descriptions
-
412  for (const auto& it : parameterDescriptions)
-
413  {
-
414  // Do we already have that param in the paramInfo set?
-
415  if (paramInfos.find(it.first) == paramInfos.end())
-
416  // No? Create it.
-
417  paramInfos[it.first] = ParamDocEntry();
-
418 
-
419  paramInfos[it.first].description = it.second;
-
420  }
-
421 
-
422  // Collect abbreviations
-
423  // first value is abbreviation, second is long form
-
424  for (const auto& it : parameterAbreviations)
-
425  {
-
426  // Do we already have that param in the paramInfo set?
-
427  if (paramInfos.find(it.second) == paramInfos.end())
-
428  // No? Create it.
-
429  paramInfos[it.second] = ParamDocEntry();
-
430 
-
431  paramInfos[it.second].abbreviation = it.first;
-
432  }
-
433 
-
434  // Collect constraints
-
435  for (const auto& it : parameterConstraints)
-
436  {
-
437  // Do we already have that param in the paramInfo set?
-
438  if (paramInfos.find(it.first) == paramInfos.end())
-
439  // No? Create it.
-
440  paramInfos[it.first] = ParamDocEntry();
-
441 
-
442  ParamDocEntry& cached = paramInfos[it.first];
-
443  cached.required = it.second.required;
-
444  cached.typeIsForced = it.second.constrainType;
-
445  cached.type = DataTypeToString(it.second.requiredType);
-
446 
-
447  std::stringstream defaultValueSs;
-
448  for (const std::string& s : it.second.defaultValue)
-
449  {
-
450  defaultValueSs << '\'' << s << '\'';
-
451 
-
452  // Add a space if we are not at the last entry
-
453  if ((void*)&s != (void*)&it.second.defaultValue.back())
-
454  defaultValueSs << " ";
-
455  }
-
456  cached.defaultVal = defaultValueSs.str();
-
457  }
-
458 
-
459  // Now generate the documentatino body
-
460  if (paramInfos.size() > 0)
-
461  {
-
462  ss << std::endl
-
463  << "==== AVAILABLE PARAMETERS ===="
-
464  << std::endl << std::endl;
-
465 
-
466  std::size_t counter = 0;
-
467  for (const auto& it : paramInfos)
-
468  {
-
469  const ParamDocEntry& pde = it.second;
-
470 
-
471  // Put name
-
472  ss << it.first << " ";
-
473 
-
474  // Put abbreviation
-
475  if (pde.abbreviation.length() > 0)
-
476  ss << pde.abbreviation << " ";
-
477 
-
478  // Put type
-
479  if (pde.typeIsForced)
-
480  ss << pde.type << " ";
-
481 
-
482  // Put default value
-
483  if (pde.defaultVal.length() > 0)
-
484  ss << "default=[" << pde.defaultVal << "] ";
-
485 
-
486  // Put required tag, but only if no default value
-
487  if ((pde.required) && (pde.defaultVal.length() == 0))
-
488  ss << "[[REQUIRED]] ";
-
489 
-
490  // Put brief description
-
491  if (pde.description.length() > 0)
-
492  ss << pde.description;
-
493 
-
494  // Omit linebreaks when we're on the last element
-
495  if (counter < paramInfos.size()-1)
-
496  ss << std::endl << std::endl;
-
497 
-
498  counter++;
-
499  }
-
500  }
-
501 
-
502  return ss.str();
-
503 }
-
-
-
- -

◆ GetAbbreviation()

- -
-
- - - - - - - - -
const std::string & Hazelnupp::GetAbbreviation (const std::string & abbrev) const
-
- -

Will return the long form of an abbreviation (like –force for -f)
- Returns "" if no match is found.

- -

Definition at line 573 of file Hazelnupp.cpp.

-
574 {
-
575  if (!HasAbbreviation(abbrev))
- -
577 
-
578  return parameterAbreviations.find(abbrev)->second;
-
579 }
-
-
-
- -

◆ GetBriefDescription()

- -
-
- - - - - - - -
const std::string & Hazelnupp::GetBriefDescription ()
-
- -

Returns the brief description of the application to be automatically added to the documentation.

- -

Definition at line 351 of file Hazelnupp.cpp.

-
352 {
-
353  return briefDescription;
-
354 }
-
-
-
- -

◆ GetCatchHelp()

- -
-
- - - - - - - -
bool Hazelnupp::GetCatchHelp () const
-
- -

Retruns whether the Hazelnupp should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not.

- -

Definition at line 340 of file Hazelnupp.cpp.

-
341 {
-
342  return catchHelp;
-
343 }
-
-
-
- -

◆ GetConstraint()

- -
-
- - - - - - - - -
ParamConstraint Hazelnupp::GetConstraint (const std::string & parameter) const
-
- -

Will return the constraint information for a specific parameter.

- -

Definition at line 542 of file Hazelnupp.cpp.

-
543 {
-
544  return parameterConstraints.find(parameter)->second;
-
545 }
-
-
-
- -

◆ GetCrashOnFail()

- -
-
- - - - - - - -
bool Hazelnupp::GetCrashOnFail () const
-
- -

Gets whether the application crashes on an exception whilst parsing, and prints to stderr.

- -

Definition at line 329 of file Hazelnupp.cpp.

-
330 {
-
331  return crashOnFail;
-
332 }
-
-
-
- -

◆ GetDescription()

- -
-
- - - - - - - - -
const std::string & Hazelnp::Hazelnupp::GetDescription (const std::string & parameter) const
-
- -

Will return a short description for a parameter, if it exists.

-


- Empty string if it does not exist.

- -

Definition at line 362 of file Hazelnupp.cpp.

-
363 {
-
364  // Do we already have a description for this parameter?
-
365  if (!HasDescription(parameter))
-
366  // No? Then return ""
- -
368 
-
369  // We do? Then return it
-
370  return parameterDescriptions.find(parameter)->second;
-
371 }
-
-
-
- -

◆ GetExecutableName()

- -
-
- - - - - - - -
const std::string & Hazelnupp::GetExecutableName () const
-
- -

Will return argv[0], the name of the executable.

- -

Definition at line 553 of file Hazelnupp.cpp.

-
554 {
-
555  return executableName;
-
556 }
-
-
-
- -

◆ HasAbbreviation()

- -
-
- - - - - - - - -
bool Hazelnupp::HasAbbreviation (const std::string & abbrev) const
-
- -

Will check wether or not an abbreviation is registered.

- -

Definition at line 581 of file Hazelnupp.cpp.

-
582 {
-
583  return parameterAbreviations.find(abbrev) != parameterAbreviations.end();
-
584 }
-
-
-
- -

◆ HasDescription()

- -
-
- - - - - - - - -
bool Hazelnupp::HasDescription (const std::string & parameter) const
-
- -

Returns whether or not a given parameter has a registered description.

- -

Definition at line 373 of file Hazelnupp.cpp.

-
374 {
-
375  return parameterDescriptions.find(parameter) != parameterDescriptions.end();
-
376 }
-
-
-
- -

◆ HasParam()

- -
-
- - - - - - - - -
bool Hazelnupp::HasParam (const std::string & key) const
-
- -

Will check wether a parameter exists given a key, or not.

- -

Definition at line 165 of file Hazelnupp.cpp.

-
166 {
-
167  return parameters.find(key) != parameters.end();
-
168 }
-
-
-
- -

◆ operator[]()

- -
-
- - - - - - - - -
const Value & Hazelnupp::operator[] (const std::string & key) const
-
- -

Will return the value given a key.

- -

Definition at line 558 of file Hazelnupp.cpp.

-
559 {
-
560  // Throw exception if param is unknown
-
561  if (!HasParam(key))
- -
563 
-
564  return *parameters.find(key)->second->GetValue();
-
565 }
-
-
-
- -

◆ Parse()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnupp::Parse (const int argc,
const char *const * argv 
)
-
- -

Will parse command line arguments.

- -

Definition at line 36 of file Hazelnupp.cpp.

-
37 {
-
38  try
-
39  {
-
40  // Populate raw arguments
-
41  PopulateRawArgs(argc, argv);
-
42 
-
43  // Expand abbreviations
-
44  ExpandAbbreviations();
-
45 
-
46  executableName = std::string(rawArgs[0]);
-
47 
-
48  std::size_t i = 1;
-
49  while (i < rawArgs.size())
-
50  {
-
51  if ((rawArgs[i].length() > 2) && (rawArgs[i].substr(0, 2) == "--"))
-
52  {
-
53  Parameter* param = nullptr;
-
54  i = ParseNextParameter(i, param);
-
55 
-
56  parameters.insert(std::pair<std::string, Parameter*>(param->Key(), param));
-
57  }
-
58  else
-
59  i++;
-
60  }
-
61 
-
62  // Apply constraints such as default values, and required parameters.
-
63  // Types have already been enforced.
-
64  // Dont apply constraints when we are just printind the param docs
-
65  if ((!catchHelp) || (!HasParam("--help")))
-
66  ApplyConstraints();
-
67  }
-
68  catch (const HazelnuppConstraintTypeMissmatch& exc)
-
69  {
-
70  if (crashOnFail)
-
71  {
-
72  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
73  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
74  quick_exit(-1009);
-
75  }
-
76  else
-
77  throw exc; // yeet
-
78  }
-
79  catch (const HazelnuppConstraintMissingValue& exc)
-
80  {
-
81  if (crashOnFail)
-
82  {
-
83  std::cout << GenerateDocumentation() << std::endl << std::endl;
-
84  std::cerr << "Parameter error: " << exc.What() << std::endl;
-
85  quick_exit(-1010);
-
86  }
-
87  else
-
88  throw exc; // yeet
-
89  }
-
90 
-
91  // Catch --help parameter
-
92  if ((catchHelp) && (HasParam("--help")))
-
93  {
-
94  std::cout << GenerateDocumentation() << std::endl;
-
95  quick_exit(0);
-
96  }
-
97 
-
98  return;
-
99 }
-
-
-
- -

◆ RegisterAbbreviation()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnupp::RegisterAbbreviation (const std::string & abbrev,
const std::string & target 
)
-
- -

Will register an abbreviation (like -f for –force)

- -

Definition at line 567 of file Hazelnupp.cpp.

-
568 {
-
569  parameterAbreviations.insert(std::pair<std::string, std::string>(abbrev, target));
-
570  return;
-
571 }
-
-
-
- -

◆ RegisterConstraint()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnupp::RegisterConstraint (const std::string & key,
const ParamConstraintconstraint 
)
-
- -

Will register a constraint for a parameter.

-

IMPORTANT: Any parameter can only have ONE constraint. Applying a new one will overwrite the old one! Construct the ParamConstraint struct yourself to combine Require and TypeSafety! You can also use the ParamConstraint constructor!

- -

Definition at line 598 of file Hazelnupp.cpp.

-
599 {
-
600  // Magic syntax, wooo
-
601  (parameterConstraints[key] = constraint).key = key;
-
602  return;
-
603 }
-
-
-
- -

◆ RegisterDescription()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnp::Hazelnupp::RegisterDescription (const std::string & parameter,
const std::string & description 
)
-
- -

Willl register a short description for a parameter.

-


- Will overwrite existing descriptions for that parameter.

- -

Definition at line 356 of file Hazelnupp.cpp.

-
357 {
-
358  parameterDescriptions[parameter] = description;
-
359  return;
-
360 }
-
-
-
- -

◆ SetBriefDescription()

- -
-
- - - - - - - - -
void Hazelnupp::SetBriefDescription (const std::string & description)
-
- -

Sets a brief description of the application to be automatically added to the documentation.

- -

Definition at line 345 of file Hazelnupp.cpp.

-
346 {
-
347  briefDescription = description;
-
348  return;
-
349 }
-
-
-
- -

◆ SetCatchHelp()

- -
-
- - - - - - - - -
void Hazelnupp::SetCatchHelp (bool catchHelp)
-
- -

Sets whether the Hazelnupp should automatically catch the –help parameter, print the parameter documentation to stdout, and exit or not.

- -

Definition at line 334 of file Hazelnupp.cpp.

-
335 {
-
336  this->catchHelp = catchHelp;
-
337  return;
-
338 }
-
-
-
- -

◆ SetCrashOnFail()

- -
-
- - - - - - - - -
void Hazelnupp::SetCrashOnFail (bool crashOnFail)
-
- -

Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsing, or not.

- -

Definition at line 611 of file Hazelnupp.cpp.

-
612 {
-
613  this->crashOnFail = crashOnFail;
-
614  return;
-
615 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::HazelnuppInvalidKeyException
Gets thrown when an non-existent key gets dereferenced.
Definition: HazelnuppException.h:29
-
Hazelnp::Hazelnupp::GenerateDocumentation
std::string GenerateDocumentation() const
Will generate a text-based documentation suited to show the user, for example on –help.
Definition: Hazelnupp.cpp:391
-
Hazelnp::HazelnuppException::What
const std::string & What() const
Will return an error message.
Definition: HazelnuppException.h:18
-
Hazelnp::Hazelnupp::HasDescription
bool HasDescription(const std::string &parameter) const
Returns whether or not a given parameter has a registered description.
Definition: Hazelnupp.cpp:373
-
Hazelnp::Parameter
Definition: Parameter.h:8
-
Hazelnp::Placeholders::g_emptyString
static const std::string g_emptyString
The only purpose of this is to provide the ability to return an empty string as an error for std::str...
Definition: Placeholders.h:9
-
Hazelnp::Hazelnupp::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: Hazelnupp.cpp:165
-
Hazelnp::Hazelnupp::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:36
-
Hazelnp::Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:21
-
Hazelnp::HazelnuppConstraintMissingValue
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
Definition: HazelnuppException.h:80
-
Hazelnp::HazelnuppConstraintTypeMissmatch
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
Definition: HazelnuppException.h:56
-
Hazelnp::Hazelnupp::HasAbbreviation
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: Hazelnupp.cpp:581
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException-members.html b/docs/classHazelnp_1_1HazelnuppConstraintException-members.html deleted file mode 100644 index b3417c1..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintException-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppConstraintException Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppConstraintException, including all inherited members.

- - - - - - - -
HazelnuppConstraintException()Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException.html b/docs/classHazelnp_1_1HazelnuppConstraintException.html deleted file mode 100644 index 4928ef9..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintException.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppConstraintException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::HazelnuppConstraintException Class Reference
-
-
- -

Gets thrown something bad happens because of parameter constraints. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppConstraintException:
-
-
Inheritance graph
- - - - - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppConstraintException:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from Hazelnp::HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from Hazelnp::HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown something bad happens because of parameter constraints.

- -

Definition at line 47 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintException() [1/2]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException ()
-
-inline
-
- -

Definition at line 50 of file HazelnuppException.h.

-
50 : HazelnuppException() {};
-
-
-
- -

◆ HazelnuppConstraintException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException (const std::string & msg)
-
-inline
-
- -

Definition at line 51 of file HazelnuppException.h.

-
51 : HazelnuppException(msg) {};
-
-
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:14
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.map deleted file mode 100644 index 18f00b3..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.md5 deleted file mode 100644 index e3422d4..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -96b8a2e382311cb88b3e8d75cff008e2 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.png deleted file mode 100644 index 9d7f56c..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.map deleted file mode 100644 index dc8e7de..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.md5 deleted file mode 100644 index abdf318..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -17838dc81928478a02ebb9e9c8a70244 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.png deleted file mode 100644 index ec7bde4..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters-members.html b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters-members.html deleted file mode 100644 index e436cd9..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppConstraintIncompatibleParameters Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppConstraintIncompatibleParameters, including all inherited members.

- - - - - - - - - -
HazelnuppConstraintException()Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintIncompatibleParameters()Hazelnp::HazelnuppConstraintIncompatibleParametersinline
HazelnuppConstraintIncompatibleParameters(const std::string &key1, const std::string &key2)Hazelnp::HazelnuppConstraintIncompatibleParametersinline
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html deleted file mode 100644 index f02af89..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppConstraintIncompatibleParameters Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::HazelnuppConstraintIncompatibleParameters Class Reference
-
-
- -

Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppConstraintIncompatibleParameters:
-
-
Inheritance graph
- - - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppConstraintIncompatibleParameters:
-
-
Collaboration graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintIncompatibleParameters ()
 
 HazelnuppConstraintIncompatibleParameters (const std::string &key1, const std::string &key2)
 
- Public Member Functions inherited from Hazelnp::HazelnuppConstraintException
 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from Hazelnp::HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from Hazelnp::HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones.

- -

Definition at line 101 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintIncompatibleParameters() [1/2]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters ()
-
-inline
-
- -

Definition at line 104 of file HazelnuppException.h.

- -
-
- -

◆ HazelnuppConstraintIncompatibleParameters() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters (const std::string & key1,
const std::string & key2 
)
-
-inline
-
- -

Definition at line 105 of file HazelnuppException.h.

-
106  {
-
107  // Generate descriptive error message
-
108  std::stringstream ss;
-
109  ss << "Parameter \"" << key1 << "\" is NOT compatible with parameter \"" << key2 << "\"!";
-
110 
-
111  message = ss.str();
-
112  return;
-
113  };
-
-
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException()
Definition: HazelnuppException.h:50
-
Hazelnp::HazelnuppException::message
std::string message
Definition: HazelnuppException.h:24
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.map deleted file mode 100644 index 4595aa7..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.md5 deleted file mode 100644 index d63b369..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ff792383829de5757a3c68b58f7a2cf3 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.png deleted file mode 100644 index 464b775..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.map deleted file mode 100644 index 28db713..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.md5 deleted file mode 100644 index e5f1c0e..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -dc39f190a0e77f6af97e4154d9f9a859 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.png deleted file mode 100644 index defcd6e..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintIncompatibleParameters__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue-members.html b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue-members.html deleted file mode 100644 index fb9bc0c..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppConstraintMissingValue Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppConstraintMissingValue, including all inherited members.

- - - - - - - - - -
HazelnuppConstraintException()Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintMissingValue()Hazelnp::HazelnuppConstraintMissingValueinline
HazelnuppConstraintMissingValue(const std::string &key, const std::string &paramDescription="")Hazelnp::HazelnuppConstraintMissingValueinline
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue.html b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue.html deleted file mode 100644 index 67b4eeb..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppConstraintMissingValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::HazelnuppConstraintMissingValue Class Reference
-
-
- -

Gets thrown when a parameter constrained to be required is not provided, and has no default value set. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppConstraintMissingValue:
-
-
Inheritance graph
- - - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppConstraintMissingValue:
-
-
Collaboration graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintMissingValue ()
 
 HazelnuppConstraintMissingValue (const std::string &key, const std::string &paramDescription="")
 
- Public Member Functions inherited from Hazelnp::HazelnuppConstraintException
 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from Hazelnp::HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from Hazelnp::HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when a parameter constrained to be required is not provided, and has no default value set.

- -

Definition at line 80 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintMissingValue() [1/2]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue ()
-
-inline
-
- -

Definition at line 83 of file HazelnuppException.h.

- -
-
- -

◆ HazelnuppConstraintMissingValue() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue (const std::string & key,
const std::string & paramDescription = "" 
)
-
-inline
-
- -

Definition at line 84 of file HazelnuppException.h.

-
85  {
-
86  // Generate descriptive error message
-
87  std::stringstream ss;
-
88  ss << "Missing required parameter " << key << ".";
-
89 
-
90  // Add the parameter description, if provided
-
91  if (paramDescription.length() > 0)
-
92  ss << std::endl << key << " => " << paramDescription;
-
93 
-
94  message = ss.str();
-
95  return;
-
96  };
-
-
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException()
Definition: HazelnuppException.h:50
-
Hazelnp::HazelnuppException::message
std::string message
Definition: HazelnuppException.h:24
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.map deleted file mode 100644 index e1c0d27..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.md5 deleted file mode 100644 index 22698a5..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -14fd73384f3d4b5bc6a4c29d9bd57dbd \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.png deleted file mode 100644 index 984f957..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.map deleted file mode 100644 index 35b990d..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.md5 deleted file mode 100644 index 799a788..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ac239fb6436ae22f9572ebde6d1fe1f3 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.png deleted file mode 100644 index dd33504..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintMissingValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch-members.html b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch-members.html deleted file mode 100644 index 2d5ce96..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch-members.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppConstraintTypeMissmatch Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppConstraintTypeMissmatch, including all inherited members.

- - - - - - - - - - -
HazelnuppConstraintException()Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)Hazelnp::HazelnuppConstraintExceptioninline
HazelnuppConstraintTypeMissmatch()Hazelnp::HazelnuppConstraintTypeMissmatchinline
HazelnuppConstraintTypeMissmatch(const std::string &msg)Hazelnp::HazelnuppConstraintTypeMissmatchinline
HazelnuppConstraintTypeMissmatch(const std::string &key, const DATA_TYPE requiredType, const DATA_TYPE actualType, const std::string &paramDescription="")Hazelnp::HazelnuppConstraintTypeMissmatchinline
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html deleted file mode 100644 index 29d50fd..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppConstraintTypeMissmatch Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::HazelnuppConstraintTypeMissmatch Class Reference
-
-
- -

Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppConstraintTypeMissmatch:
-
-
Inheritance graph
- - - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppConstraintTypeMissmatch:
-
-
Collaboration graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintTypeMissmatch ()
 
 HazelnuppConstraintTypeMissmatch (const std::string &msg)
 
 HazelnuppConstraintTypeMissmatch (const std::string &key, const DATA_TYPE requiredType, const DATA_TYPE actualType, const std::string &paramDescription="")
 
- Public Member Functions inherited from Hazelnp::HazelnuppConstraintException
 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from Hazelnp::HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from Hazelnp::HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it.

- -

Definition at line 56 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintTypeMissmatch() [1/3]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch ()
-
-inline
-
- -

Definition at line 59 of file HazelnuppException.h.

- -
-
- -

◆ HazelnuppConstraintTypeMissmatch() [2/3]

- -
-
- - - - - -
- - - - - - - - -
Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch (const std::string & msg)
-
-inline
-
- -

Definition at line 60 of file HazelnuppException.h.

- -
-
- -

◆ HazelnuppConstraintTypeMissmatch() [3/3]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch (const std::string & key,
const DATA_TYPE requiredType,
const DATA_TYPE actualType,
const std::string & paramDescription = "" 
)
-
-inline
-
- -

Definition at line 62 of file HazelnuppException.h.

-
63  {
-
64  // Generate descriptive error message
-
65  std::stringstream ss;
-
66  ss << "Cannot convert parameter " << key << " to type " << DataTypeToString(requiredType)
-
67  << ". You supplied type: " << DataTypeToString(actualType) << ".";
-
68 
-
69  // Add the parameter description, if provided
-
70  if (paramDescription.length() > 0)
-
71  ss << std::endl << key << " => " << paramDescription;
-
72 
-
73  message = ss.str();
-
74  return;
-
75  };
-
-
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException()
Definition: HazelnuppException.h:50
-
Hazelnp::HazelnuppException::message
std::string message
Definition: HazelnuppException.h:24
-
Hazelnp::DataTypeToString
static std::string DataTypeToString(DATA_TYPE type)
Definition: DataType.h:17
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.map deleted file mode 100644 index 46ef196..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.md5 deleted file mode 100644 index 4b128bd..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1f1eaf8f767f1aa9bb72dbd4a84338b9 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.png deleted file mode 100644 index 72419d4..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.map deleted file mode 100644 index 92de922..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.md5 deleted file mode 100644 index 6666277..0000000 --- a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6e5f5d5345e3073deeee322acf58c7e9 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.png deleted file mode 100644 index dfea604..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppConstraintTypeMissmatch__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppException-members.html b/docs/classHazelnp_1_1HazelnuppException-members.html deleted file mode 100644 index 12cc340..0000000 --- a/docs/classHazelnp_1_1HazelnuppException-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppException Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppException, including all inherited members.

- - - - - -
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppException.html b/docs/classHazelnp_1_1HazelnuppException.html deleted file mode 100644 index 4a1c962..0000000 --- a/docs/classHazelnp_1_1HazelnuppException.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -Protected Attributes | -List of all members
-
-
Hazelnp::HazelnuppException Class Reference
-
-
- -

Generic hazelnupp exception. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppException:
-
-
Inheritance graph
- - - - - - - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppException:
-
-
Collaboration graph
- - - - - - -
[legend]
- - - - - - - - - -

-Public Member Functions

 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - -

-Protected Attributes

std::string message
 
-

Detailed Description

-

Generic hazelnupp exception.

- -

Definition at line 11 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppException() [1/2]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppException::HazelnuppException ()
-
-inline
-
- -

Definition at line 14 of file HazelnuppException.h.

-
14 {};
-
-
-
- -

◆ HazelnuppException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Hazelnp::HazelnuppException::HazelnuppException (const std::string & msg)
-
-inline
-
- -

Definition at line 15 of file HazelnuppException.h.

-
15 : message{ msg } {};
-
-
-
-

Member Function Documentation

- -

◆ What()

- -
-
- - - - - -
- - - - - - - -
const std::string& Hazelnp::HazelnuppException::What () const
-
-inline
-
- -

Will return an error message.

- -

Definition at line 18 of file HazelnuppException.h.

-
19  {
-
20  return message;
-
21  }
-
-
-
-

Member Data Documentation

- -

◆ message

- -
-
- - - - - -
- - - - -
std::string Hazelnp::HazelnuppException::message
-
-protected
-
- -

Definition at line 24 of file HazelnuppException.h.

- -
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppException::message
std::string message
Definition: HazelnuppException.h:24
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppException__coll__graph.map b/docs/classHazelnp_1_1HazelnuppException__coll__graph.map deleted file mode 100644 index 029a14c..0000000 --- a/docs/classHazelnp_1_1HazelnuppException__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppException__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppException__coll__graph.md5 deleted file mode 100644 index e7d6faf..0000000 --- a/docs/classHazelnp_1_1HazelnuppException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2c5462b81c42480e2dc96be21e93b854 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppException__coll__graph.png b/docs/classHazelnp_1_1HazelnuppException__coll__graph.png deleted file mode 100644 index ad6d263..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppException__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppException__inherit__graph.map deleted file mode 100644 index b911a6d..0000000 --- a/docs/classHazelnp_1_1HazelnuppException__inherit__graph.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppException__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppException__inherit__graph.md5 deleted file mode 100644 index f8cb4b9..0000000 --- a/docs/classHazelnp_1_1HazelnuppException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c69be8783237f5d99a8ac4955ca40a9d \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppException__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppException__inherit__graph.png deleted file mode 100644 index 765dcfd..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException-members.html b/docs/classHazelnp_1_1HazelnuppInvalidKeyException-members.html deleted file mode 100644 index d90b4a1..0000000 --- a/docs/classHazelnp_1_1HazelnuppInvalidKeyException-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppInvalidKeyException Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppInvalidKeyException, including all inherited members.

- - - - - - - -
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
HazelnuppInvalidKeyException()Hazelnp::HazelnuppInvalidKeyExceptioninline
HazelnuppInvalidKeyException(const std::string &msg)Hazelnp::HazelnuppInvalidKeyExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException.html b/docs/classHazelnp_1_1HazelnuppInvalidKeyException.html deleted file mode 100644 index 757345b..0000000 --- a/docs/classHazelnp_1_1HazelnuppInvalidKeyException.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppInvalidKeyException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::HazelnuppInvalidKeyException Class Reference
-
-
- -

Gets thrown when an non-existent key gets dereferenced. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppInvalidKeyException:
-
-
Inheritance graph
- - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppInvalidKeyException:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppInvalidKeyException ()
 
 HazelnuppInvalidKeyException (const std::string &msg)
 
- Public Member Functions inherited from Hazelnp::HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from Hazelnp::HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when an non-existent key gets dereferenced.

- -

Definition at line 29 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppInvalidKeyException() [1/2]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException ()
-
-inline
-
- -

Definition at line 32 of file HazelnuppException.h.

-
32 : HazelnuppException() {};
-
-
-
- -

◆ HazelnuppInvalidKeyException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException (const std::string & msg)
-
-inline
-
- -

Definition at line 33 of file HazelnuppException.h.

-
33 : HazelnuppException(msg) {};
-
-
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:14
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.map b/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.map deleted file mode 100644 index 94b2ad3..0000000 --- a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.md5 deleted file mode 100644 index 7de0395..0000000 --- a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -16ffa3b5ee2be4c5c1c81b7d6b31ef6e \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.png b/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.png deleted file mode 100644 index 1005044..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.map deleted file mode 100644 index ac469e9..0000000 --- a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.md5 deleted file mode 100644 index 7beb2ba..0000000 --- a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec76222368f87411cfe04b269a65aae9 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.png deleted file mode 100644 index bbeb20c..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppInvalidKeyException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException-members.html b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException-members.html deleted file mode 100644 index c29c64d..0000000 --- a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::HazelnuppValueNotConvertibleException Member List
-
-
- -

This is the complete list of members for Hazelnp::HazelnuppValueNotConvertibleException, including all inherited members.

- - - - - - - -
HazelnuppException()Hazelnp::HazelnuppExceptioninline
HazelnuppException(const std::string &msg)Hazelnp::HazelnuppExceptioninline
HazelnuppValueNotConvertibleException()Hazelnp::HazelnuppValueNotConvertibleExceptioninline
HazelnuppValueNotConvertibleException(const std::string &msg)Hazelnp::HazelnuppValueNotConvertibleExceptioninline
messageHazelnp::HazelnuppExceptionprotected
What() constHazelnp::HazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException.html b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException.html deleted file mode 100644 index 431639f..0000000 --- a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::HazelnuppValueNotConvertibleException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::HazelnuppValueNotConvertibleException Class Reference
-
-
- -

Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for Hazelnp::HazelnuppValueNotConvertibleException:
-
-
Inheritance graph
- - - - - -
[legend]
-
-Collaboration diagram for Hazelnp::HazelnuppValueNotConvertibleException:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppValueNotConvertibleException ()
 
 HazelnuppValueNotConvertibleException (const std::string &msg)
 
- Public Member Functions inherited from Hazelnp::HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from Hazelnp::HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible.

- -

Definition at line 38 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppValueNotConvertibleException() [1/2]

- -
-
- - - - - -
- - - - - - - -
Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException ()
-
-inline
-
- -

Definition at line 41 of file HazelnuppException.h.

-
41 : HazelnuppException() {};
-
-
-
- -

◆ HazelnuppValueNotConvertibleException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException (const std::string & msg)
-
-inline
-
- -

Definition at line 42 of file HazelnuppException.h.

-
42 : HazelnuppException(msg) {};
-
-
-
-
The documentation for this class was generated from the following file: -
-
Hazelnp::HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:14
- - - - diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.map b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.map deleted file mode 100644 index 45a6978..0000000 --- a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.md5 b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.md5 deleted file mode 100644 index 3b39ca0..0000000 --- a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6a4d9f244c4f2ea667c5f6cb28e730f4 \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.png b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.png deleted file mode 100644 index 44df348..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.map b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.map deleted file mode 100644 index f754562..0000000 --- a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.md5 b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.md5 deleted file mode 100644 index 04e6bea..0000000 --- a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2c8552ee30b1bf6307565ce38078f9be \ No newline at end of file diff --git a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.png b/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.png deleted file mode 100644 index 951d4d3..0000000 Binary files a/docs/classHazelnp_1_1HazelnuppValueNotConvertibleException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1IntValue-members.html b/docs/classHazelnp_1_1IntValue-members.html deleted file mode 100644 index cccf0c1..0000000 --- a/docs/classHazelnp_1_1IntValue-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::IntValue Member List
-
-
- -

This is the complete list of members for Hazelnp::IntValue, including all inherited members.

- - - - - - - - - - - - - - - - - - -
Deepcopy() const overrideHazelnp::IntValuevirtual
GetAsOsString() const overrideHazelnp::IntValuevirtual
GetDataType() constHazelnp::Value
GetFloat32() const overrideHazelnp::IntValuevirtual
GetFloat64() const overrideHazelnp::IntValuevirtual
GetInt32() const overrideHazelnp::IntValuevirtual
GetInt64() const overrideHazelnp::IntValuevirtual
GetList() const overrideHazelnp::IntValuevirtual
GetString() const overrideHazelnp::IntValuevirtual
GetValue() constHazelnp::IntValue
IntValue(const long long int &value)Hazelnp::IntValue
operator int() constHazelnp::IntValue
operator long long int() constHazelnp::IntValue
typeHazelnp::Valueprotected
Value(DATA_TYPE type)Hazelnp::Valueprotected
~IntValue() overrideHazelnp::IntValueinline
~Value()Hazelnp::Valueinlinevirtual
- - - - diff --git a/docs/classHazelnp_1_1IntValue.html b/docs/classHazelnp_1_1IntValue.html deleted file mode 100644 index 5dc7eff..0000000 --- a/docs/classHazelnp_1_1IntValue.html +++ /dev/null @@ -1,582 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::IntValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::IntValue Class Reference
-
-
- -

Specializations for integer values (uses long long int) - More...

- -

#include <IntValue.h>

-
-Inheritance diagram for Hazelnp::IntValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for Hazelnp::IntValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 IntValue (const long long int &value)
 
 ~IntValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
const long long int & GetValue () const
 Will return the raw value. More...
 
 operator long long int () const
 
 operator int () const
 
long long int GetInt64 () const override
 Will return the data as a long long int. More...
 
int GetInt32 () const override
 Will return the data as an int. More...
 
long double GetFloat64 () const override
 Will return the data as a long double. More...
 
double GetFloat32 () const override
 Will return the data as a double. More...
 
std::string GetString () const override
 Will return the data as a string. More...
 
const std::vector< Value * > & GetList () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Hazelnp::Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Hazelnp::Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Hazelnp::Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for integer values (uses long long int)

- -

Definition at line 8 of file IntValue.h.

-

Constructor & Destructor Documentation

- -

◆ IntValue()

- -
-
- - - - - - - - -
IntValue::IntValue (const long long int & value)
-
- -

Definition at line 7 of file IntValue.cpp.

-
8  :
- -
10  value { value }
-
11 {
-
12  return;
-
13 }
-
-
-
- -

◆ ~IntValue()

- -
-
- - - - - -
- - - - - - - -
Hazelnp::IntValue::~IntValue ()
-
-inlineoverride
-
- -

Definition at line 12 of file IntValue.h.

-
12 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * IntValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Hazelnp::Value.

- -

Definition at line 15 of file IntValue.cpp.

-
16 {
-
17  return new IntValue(value);
-
18 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string IntValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Hazelnp::Value.

- -

Definition at line 20 of file IntValue.cpp.

-
21 {
-
22  std::stringstream ss;
-
23  ss << "IntValue: " << value;
-
24  return ss.str();
-
25 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double IntValue::GetFloat32 () const
-
-overridevirtual
-
- -

Will return the data as a double.

- -

Implements Hazelnp::Value.

- -

Definition at line 59 of file IntValue.cpp.

-
60 {
-
61  return (double)value;
-
62 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double IntValue::GetFloat64 () const
-
-overridevirtual
-
- -

Will return the data as a long double.

- -

Implements Hazelnp::Value.

- -

Definition at line 54 of file IntValue.cpp.

-
55 {
-
56  return (long double)value;
-
57 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int IntValue::GetInt32 () const
-
-overridevirtual
-
- -

Will return the data as an int.

- -

Implements Hazelnp::Value.

- -

Definition at line 49 of file IntValue.cpp.

-
50 {
-
51  return (int)value;
-
52 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int IntValue::GetInt64 () const
-
-overridevirtual
-
- -

Will return the data as a long long int.

- -

Implements Hazelnp::Value.

- -

Definition at line 44 of file IntValue.cpp.

-
45 {
-
46  return value;
-
47 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & IntValue::GetList () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 72 of file IntValue.cpp.

-
73 {
- -
75 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string IntValue::GetString () const
-
-overridevirtual
-
- -

Will return the data as a string.

- -

Implements Hazelnp::Value.

- -

Definition at line 64 of file IntValue.cpp.

-
65 {
-
66  std::stringstream ss;
-
67  ss << value;
-
68 
-
69  return ss.str();
-
70 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const long long int & IntValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 27 of file IntValue.cpp.

-
28 {
-
29  return value;
-
30 }
-
-
-
- -

◆ operator int()

- -
-
- - - - - - - -
IntValue::operator int () const
-
- -

Definition at line 37 of file IntValue.cpp.

-
38 {
-
39  return (int)value;
-
40 }
-
-
-
- -

◆ operator long long int()

- -
-
- - - - - - - -
IntValue::operator long long int () const
-
- -

Definition at line 32 of file IntValue.cpp.

-
33 {
-
34  return value;
-
35 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::IntValue::IntValue
IntValue(const long long int &value)
Definition: IntValue.cpp:7
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::DATA_TYPE::INT
@ INT
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/classHazelnp_1_1IntValue__coll__graph.map b/docs/classHazelnp_1_1IntValue__coll__graph.map deleted file mode 100644 index 346ceea..0000000 --- a/docs/classHazelnp_1_1IntValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1IntValue__coll__graph.md5 b/docs/classHazelnp_1_1IntValue__coll__graph.md5 deleted file mode 100644 index 8f77434..0000000 --- a/docs/classHazelnp_1_1IntValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d1c122153bd42fb55af0f1031cd38231 \ No newline at end of file diff --git a/docs/classHazelnp_1_1IntValue__coll__graph.png b/docs/classHazelnp_1_1IntValue__coll__graph.png deleted file mode 100644 index 1577bd4..0000000 Binary files a/docs/classHazelnp_1_1IntValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1IntValue__inherit__graph.map b/docs/classHazelnp_1_1IntValue__inherit__graph.map deleted file mode 100644 index 346ceea..0000000 --- a/docs/classHazelnp_1_1IntValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1IntValue__inherit__graph.md5 b/docs/classHazelnp_1_1IntValue__inherit__graph.md5 deleted file mode 100644 index 8f77434..0000000 --- a/docs/classHazelnp_1_1IntValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d1c122153bd42fb55af0f1031cd38231 \ No newline at end of file diff --git a/docs/classHazelnp_1_1IntValue__inherit__graph.png b/docs/classHazelnp_1_1IntValue__inherit__graph.png deleted file mode 100644 index 1577bd4..0000000 Binary files a/docs/classHazelnp_1_1IntValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1Internal_1_1StringTools-members.html b/docs/classHazelnp_1_1Internal_1_1StringTools-members.html deleted file mode 100644 index 98ea119..0000000 --- a/docs/classHazelnp_1_1Internal_1_1StringTools-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::Internal::StringTools Member List
-
-
- -

This is the complete list of members for Hazelnp::Internal::StringTools, including all inherited members.

- - - - - - - - - -
Contains(const std::string &str, const char c)Hazelnp::Internal::StringToolsstatic
IsNumeric(const std::string &str, const bool allowDecimalPoint=false)Hazelnp::Internal::StringToolsstatic
ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)Hazelnp::Internal::StringToolsstatic
Replace(const std::string &str, const char find, const std::string &subst)Hazelnp::Internal::StringToolsstatic
Replace(const std::string &str, const std::string &find, const std::string &subst)Hazelnp::Internal::StringToolsstatic
SplitString(const std::string &str, const char delimiter)Hazelnp::Internal::StringToolsstatic
SplitString(const std::string &str, const std::string &delimiter)Hazelnp::Internal::StringToolsstatic
ToLower(const std::string &str)Hazelnp::Internal::StringToolsstatic
- - - - diff --git a/docs/classHazelnp_1_1Internal_1_1StringTools.html b/docs/classHazelnp_1_1Internal_1_1StringTools.html deleted file mode 100644 index 5033cad..0000000 --- a/docs/classHazelnp_1_1Internal_1_1StringTools.html +++ /dev/null @@ -1,634 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::Internal::StringTools Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Static Public Member Functions | -List of all members
-
-
Hazelnp::Internal::StringTools Class Reference
-
-
- -

Internal helper class. - More...

- -

#include <StringTools.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Static Public Member Functions

static bool Contains (const std::string &str, const char c)
 Will return wether or not a given char is in a string. More...
 
static std::string Replace (const std::string &str, const char find, const std::string &subst)
 Will replace a part of a string with another string. More...
 
static std::string Replace (const std::string &str, const std::string &find, const std::string &subst)
 Will replace a part of a string with another string. More...
 
static bool IsNumeric (const std::string &str, const bool allowDecimalPoint=false)
 Will return true if the given string consists only of digits (including signage) More...
 
static bool ParseNumber (const std::string &str, bool &out_isInt, long double &out_number)
 Will convert the number in str to a number. More...
 
static std::vector< std::string > SplitString (const std::string &str, const char delimiter)
 Will split a string by a delimiter char. The delimiter will be excluded! More...
 
static std::vector< std::string > SplitString (const std::string &str, const std::string &delimiter)
 Will split a string by a delimiter string. The delimiter will be excluded! More...
 
static std::string ToLower (const std::string &str)
 Will make a string all lower-case. More...
 
-

Detailed Description

-

Internal helper class.

-

Feel free to use it tho.

- -

Definition at line 13 of file StringTools.h.

-

Member Function Documentation

- -

◆ Contains()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Internal::StringTools::Contains (const std::string & str,
const char c 
)
-
-static
-
- -

Will return wether or not a given char is in a string.

- -

Definition at line 5 of file StringTools.cpp.

-
6 {
-
7  for (const char& i : str)
-
8  if (i == c)
-
9  return true;
-
10 
-
11  return false;
-
12 }
-
-
-
- -

◆ IsNumeric()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool Internal::StringTools::IsNumeric (const std::string & str,
const bool allowDecimalPoint = false 
)
-
-static
-
- -

Will return true if the given string consists only of digits (including signage)

- -

Definition at line 56 of file StringTools.cpp.

-
57 {
-
58  if (str.length() == 0) return false;
-
59 
-
60  bool alreadyParsedDecimalPoint = false;
-
61  std::size_t digitCount = 0;
-
62 
-
63  for (std::size_t i = 0; i < str.length(); i++)
-
64  {
-
65  if (!(
-
66  ((str[i] >= '0') && (str[i] <= '9')) ||
-
67  ((str[i] == '-') && (i == 0)) ||
-
68  ((str[i] == '.') && (allowDecimalPoint) && (!alreadyParsedDecimalPoint) && (digitCount > 0))
-
69  )) return false;
-
70 
-
71 
-
72  // Here we just have to check for the character. Not for any other conditions.
-
73  // Why? Because if these conditions failed, the function would have already returned false.
-
74  if (((str[i] >= '0') && (str[i] <= '9'))) digitCount++;
-
75  if (str[i] == '.') alreadyParsedDecimalPoint = true;
-
76  }
-
77 
-
78  // Even if we did not find any invalid chars, we should still return false, if we found no digits at all.
-
79  return digitCount > 0;
-
80 }
-
-
-
- -

◆ ParseNumber()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool Internal::StringTools::ParseNumber (const std::string & str,
bool & out_isInt,
long double & out_number 
)
-
-static
-
- -

Will convert the number in str to a number.

-


- Returns wether or not the operation was successful.
- Also returns wether the number is an integer, or floating point. If int, cast out_number to int.

- -

Definition at line 82 of file StringTools.cpp.

-
83 {
-
84  bool isDecimal = false;
-
85 
-
86  if (str.length() == 0) return false;
-
87  if (Contains(str, '.')) isDecimal = true;
-
88 
-
89  if (isDecimal)
-
90  {
-
91  try
-
92  {
-
93  out_number = std::stold(str);
-
94  out_isInt = false;
-
95  }
-
96  catch (std::invalid_argument&)
-
97  {
-
98  return false;
-
99  }
-
100  catch (std::out_of_range&)
-
101  {
-
102  return false;
-
103  }
-
104  }
-
105  else
-
106  {
-
107  try
-
108  {
-
109  out_number = (long double)std::stoll(str);
-
110  out_isInt = true;
-
111  }
-
112  catch (std::invalid_argument&)
-
113  {
-
114  return false;
-
115  }
-
116  catch (std::out_of_range&)
-
117  {
-
118  return false;
-
119  }
-
120  }
-
121 
-
122  return true;
-
123 }
-
-
-
- -

◆ Replace() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string Internal::StringTools::Replace (const std::string & str,
const char find,
const std::string & subst 
)
-
-static
-
- -

Will replace a part of a string with another string.

- -

Definition at line 14 of file StringTools.cpp.

-
15 {
-
16  std::stringstream ss;
-
17 
-
18  for (std::size_t i = 0; i < str.length(); i++)
-
19  {
-
20  if (str[i] != find) ss << str[i];
-
21  else ss << subst;
-
22  }
-
23 
-
24  return ss.str();
-
25 }
-
-
-
- -

◆ Replace() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string Internal::StringTools::Replace (const std::string & str,
const std::string & find,
const std::string & subst 
)
-
-static
-
- -

Will replace a part of a string with another string.

- -

Definition at line 27 of file StringTools.cpp.

-
28 {
-
29  if (find.length() == 0) return str;
-
30 
-
31  std::stringstream ss;
-
32 
-
33  std::size_t posFound = 0;
-
34  std::size_t lastFound = 0;
-
35 
-
36  while (posFound != std::string::npos)
-
37  {
-
38  lastFound = posFound;
-
39  posFound = str.find(find, posFound);
-
40 
-
41  if (posFound != std::string::npos)
-
42  {
-
43  ss << str.substr(lastFound, posFound - lastFound) << subst;
-
44  posFound += find.length();
-
45  }
-
46  else
-
47  {
-
48  ss << str.substr(lastFound, (str.length()) - lastFound);
-
49  }
-
50  }
-
51 
-
52  return ss.str();
-
53 }
-
-
-
- -

◆ SplitString() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::vector< std::string > Internal::StringTools::SplitString (const std::string & str,
const char delimiter 
)
-
-static
-
- -

Will split a string by a delimiter char. The delimiter will be excluded!

- -

Definition at line 125 of file StringTools.cpp.

-
126 {
-
127  if (str.length() == 0) return std::vector<std::string>();
-
128 
-
129  return SplitString(str, delimiter);
-
130 }
-
-
-
- -

◆ SplitString() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::vector< std::string > Internal::StringTools::SplitString (const std::string & str,
const std::string & delimiter 
)
-
-static
-
- -

Will split a string by a delimiter string. The delimiter will be excluded!

- -

Definition at line 132 of file StringTools.cpp.

-
133 {
-
134  if (str.length() == 0) return std::vector<std::string>();
-
135 
-
136  std::vector<std::string> parts;
-
137 
-
138  if (delimiter.length() == 0) // If the delimiter is "" (empty), just split between every single char. Not useful, but logical
-
139  {
-
140  for (std::size_t i = 0; i < str.length(); i++)
-
141  {
-
142  parts.push_back(std::string({ str[i] }));
-
143  }
-
144  return parts;
-
145  }
-
146 
-
147  std::size_t posFound = 0;
-
148  std::size_t lastFound = 0;
-
149 
-
150  while (posFound != std::string::npos)
-
151  {
-
152  lastFound = posFound;
-
153  posFound = str.find(delimiter, posFound);
-
154 
-
155  std::string found;
-
156 
-
157  if (posFound != std::string::npos)
-
158  {
-
159  found = str.substr(lastFound, posFound - lastFound);
-
160  posFound += delimiter.length();
-
161  }
-
162  else
-
163  {
-
164  found = str.substr(lastFound, str.length() - lastFound);
-
165  }
-
166 
-
167  parts.push_back(found);
-
168  }
-
169 
-
170  return parts;
-
171 }
-
-
-
- -

◆ ToLower()

- -
-
- - - - - -
- - - - - - - - -
std::string Internal::StringTools::ToLower (const std::string & str)
-
-static
-
- -

Will make a string all lower-case.

- -

Definition at line 173 of file StringTools.cpp.

-
174 {
-
175  std::stringstream ss;
-
176  for (std::size_t i = 0; i < str.length(); i++)
-
177  {
-
178  if ((str[i] >= 'A') && (str[i] <= 'Z')) ss << (char)(((int)str[i]) + 32);
-
179  else if (str[i] == -60) ss << (char)-28; // AE => ae
-
180  else if (str[i] == -42) ss << (char)-10; // OE => oe
-
181  else if (str[i] == -36) ss << (char)-4; // UE => ue
-
182  else ss << str[i];
-
183  }
-
184 
-
185  return ss.str();
-
186 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::Internal::StringTools::Contains
static bool Contains(const std::string &str, const char c)
Will return wether or not a given char is in a string.
Definition: StringTools.cpp:5
-
Hazelnp::Internal::StringTools::SplitString
static std::vector< std::string > SplitString(const std::string &str, const char delimiter)
Will split a string by a delimiter char. The delimiter will be excluded!
Definition: StringTools.cpp:125
- - - - diff --git a/docs/classHazelnp_1_1ListValue-members.html b/docs/classHazelnp_1_1ListValue-members.html deleted file mode 100644 index b157050..0000000 --- a/docs/classHazelnp_1_1ListValue-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::ListValue Member List
-
-
- -

This is the complete list of members for Hazelnp::ListValue, including all inherited members.

- - - - - - - - - - - - - - - - - - -
AddValue(const Value *value)Hazelnp::ListValue
Deepcopy() const overrideHazelnp::ListValuevirtual
GetAsOsString() const overrideHazelnp::ListValuevirtual
GetDataType() constHazelnp::Value
GetFloat32() const overrideHazelnp::ListValuevirtual
GetFloat64() const overrideHazelnp::ListValuevirtual
GetInt32() const overrideHazelnp::ListValuevirtual
GetInt64() const overrideHazelnp::ListValuevirtual
GetList() const overrideHazelnp::ListValuevirtual
GetString() const overrideHazelnp::ListValuevirtual
GetValue() constHazelnp::ListValue
ListValue()Hazelnp::ListValue
operator std::vector< Value * >() constHazelnp::ListValue
typeHazelnp::Valueprotected
Value(DATA_TYPE type)Hazelnp::Valueprotected
~ListValue() overrideHazelnp::ListValue
~Value()Hazelnp::Valueinlinevirtual
- - - - diff --git a/docs/classHazelnp_1_1ListValue.html b/docs/classHazelnp_1_1ListValue.html deleted file mode 100644 index ebc116e..0000000 --- a/docs/classHazelnp_1_1ListValue.html +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::ListValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::ListValue Class Reference
-
-
- -

Specializations for list values (uses std::vector<Value*>) - More...

- -

#include <ListValue.h>

-
-Inheritance diagram for Hazelnp::ListValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for Hazelnp::ListValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ListValue ()
 
 ~ListValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
void AddValue (const Value *value)
 Will add this value to the list. More...
 
const std::vector< Value * > & GetValue () const
 Will return the raw value. More...
 
 operator std::vector< Value * > () const
 
long long int GetInt64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
int GetInt32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
long double GetFloat64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
double GetFloat32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
std::string GetString () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
const std::vector< Value * > & GetList () const override
 Will return this values list. More...
 
- Public Member Functions inherited from Hazelnp::Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Hazelnp::Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Hazelnp::Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for list values (uses std::vector<Value*>)

- -

Definition at line 9 of file ListValue.h.

-

Constructor & Destructor Documentation

- -

◆ ListValue()

- -
-
- - - - - - - -
ListValue::ListValue ()
-
- -

Definition at line 7 of file ListValue.cpp.

-
7  :
- -
9 {
-
10  return;
-
11 }
-
-
-
- -

◆ ~ListValue()

- -
-
- - - - - -
- - - - - - - -
ListValue::~ListValue ()
-
-override
-
- -

Definition at line 13 of file ListValue.cpp.

-
14 {
-
15  for (Value* val : value)
-
16  delete val;
-
17 
-
18  value.clear();
-
19 
-
20  return;
-
21 }
-
-
-
-

Member Function Documentation

- -

◆ AddValue()

- -
-
- - - - - - - - -
void ListValue::AddValue (const Valuevalue)
-
- -

Will add this value to the list.

- -

Definition at line 33 of file ListValue.cpp.

-
34 {
-
35  this->value.emplace_back(value->Deepcopy());
-
36  return;
-
37 }
-
-
-
- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * ListValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Hazelnp::Value.

- -

Definition at line 23 of file ListValue.cpp.

-
24 {
-
25  ListValue* newList = new ListValue();
-
26 
-
27  for (const Value* val : value)
-
28  newList->AddValue(val);
-
29 
-
30  return newList;
-
31 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string ListValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Hazelnp::Value.

- -

Definition at line 44 of file ListValue.cpp.

-
45 {
-
46  std::stringstream ss;
-
47 
-
48  ss << "ListValue: [";
-
49 
-
50  for (const Value* val : value)
-
51  {
-
52  ss << *val;
-
53  if (val != value.back())
-
54  ss << ", ";
-
55  }
-
56 
-
57  ss << "]";
-
58 
-
59  return ss.str();
-
60 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double ListValue::GetFloat32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 84 of file ListValue.cpp.

-
85 {
- -
87 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double ListValue::GetFloat64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 79 of file ListValue.cpp.

-
80 {
- -
82 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int ListValue::GetInt32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 74 of file ListValue.cpp.

-
75 {
- -
77 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int ListValue::GetInt64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 69 of file ListValue.cpp.

-
70 {
- -
72 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & ListValue::GetList () const
-
-overridevirtual
-
- -

Will return this values list.

- -

Implements Hazelnp::Value.

- -

Definition at line 94 of file ListValue.cpp.

-
95 {
-
96  return value;
-
97 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string ListValue::GetString () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 89 of file ListValue.cpp.

-
90 {
- -
92 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const std::vector< Value * > & ListValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 39 of file ListValue.cpp.

-
40 {
-
41  return value;
-
42 }
-
-
-
- -

◆ operator std::vector< Value * >()

- -
-
- - - - - - - -
ListValue::operator std::vector< Value * > () const
-
- -

Definition at line 62 of file ListValue.cpp.

-
63 {
-
64  return value;
-
65 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::Value
Abstract class for values.
Definition: Value.h:10
-
Hazelnp::DATA_TYPE::LIST
@ LIST
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::ListValue::AddValue
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:33
-
Hazelnp::ListValue::ListValue
ListValue()
Definition: ListValue.cpp:7
-
Hazelnp::Value::Deepcopy
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
-
Hazelnp::ListValue
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:9
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/classHazelnp_1_1ListValue__coll__graph.map b/docs/classHazelnp_1_1ListValue__coll__graph.map deleted file mode 100644 index 058621e..0000000 --- a/docs/classHazelnp_1_1ListValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1ListValue__coll__graph.md5 b/docs/classHazelnp_1_1ListValue__coll__graph.md5 deleted file mode 100644 index 92755e4..0000000 --- a/docs/classHazelnp_1_1ListValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6921e127b70abed544fbb3e125f3d3b2 \ No newline at end of file diff --git a/docs/classHazelnp_1_1ListValue__coll__graph.png b/docs/classHazelnp_1_1ListValue__coll__graph.png deleted file mode 100644 index 108f96b..0000000 Binary files a/docs/classHazelnp_1_1ListValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1ListValue__inherit__graph.map b/docs/classHazelnp_1_1ListValue__inherit__graph.map deleted file mode 100644 index 058621e..0000000 --- a/docs/classHazelnp_1_1ListValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1ListValue__inherit__graph.md5 b/docs/classHazelnp_1_1ListValue__inherit__graph.md5 deleted file mode 100644 index 92755e4..0000000 --- a/docs/classHazelnp_1_1ListValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6921e127b70abed544fbb3e125f3d3b2 \ No newline at end of file diff --git a/docs/classHazelnp_1_1ListValue__inherit__graph.png b/docs/classHazelnp_1_1ListValue__inherit__graph.png deleted file mode 100644 index 108f96b..0000000 Binary files a/docs/classHazelnp_1_1ListValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1Parameter-members.html b/docs/classHazelnp_1_1Parameter-members.html deleted file mode 100644 index 50a7c11..0000000 --- a/docs/classHazelnp_1_1Parameter-members.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::Parameter Member List
-
-
- -

This is the complete list of members for Hazelnp::Parameter, including all inherited members.

- - - - - - -
GetValue() constHazelnp::Parameter
Key() constHazelnp::Parameter
operator<<(std::ostream &os, const Parameter &p)Hazelnp::Parameterfriend
Parameter(const std::string &key, const Value *value)Hazelnp::Parameterexplicit
~Parameter()Hazelnp::Parameter
- - - - diff --git a/docs/classHazelnp_1_1Parameter.html b/docs/classHazelnp_1_1Parameter.html deleted file mode 100644 index b5a6920..0000000 --- a/docs/classHazelnp_1_1Parameter.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::Parameter Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -Friends | -List of all members
-
-
Hazelnp::Parameter Class Reference
-
-
- -

#include <Parameter.h>

- - - - - - - - - - - - -

-Public Member Functions

 Parameter (const std::string &key, const Value *value)
 
 ~Parameter ()
 
const std::string & Key () const
 Will return the key of this parameter. More...
 
const ValueGetValue () const
 Will return the value of this parameter. More...
 
- - - -

-Friends

std::ostream & operator<< (std::ostream &os, const Parameter &p)
 
-

Detailed Description

-
-

Definition at line 8 of file Parameter.h.

-

Constructor & Destructor Documentation

- -

◆ Parameter()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Parameter::Parameter (const std::string & key,
const Valuevalue 
)
-
-explicit
-
- -

Definition at line 5 of file Parameter.cpp.

-
6  :
-
7  key{ key }
-
8 {
-
9  this->value = value->Deepcopy();
-
10  return;
-
11 }
-
-
-
- -

◆ ~Parameter()

- -
-
- - - - - - - -
Parameter::~Parameter ()
-
- -

Definition at line 13 of file Parameter.cpp.

-
14 {
-
15  delete value;
-
16  value = nullptr;
-
17 
-
18  return;
-
19 }
-
-
-
-

Member Function Documentation

- -

◆ GetValue()

- -
-
- - - - - - - -
const ::Value * Parameter::GetValue () const
-
- -

Will return the value of this parameter.

- -

Definition at line 26 of file Parameter.cpp.

-
27 {
-
28  return value;
-
29 }
-
-
-
- -

◆ Key()

- -
-
- - - - - - - -
const std::string & Parameter::Key () const
-
- -

Will return the key of this parameter.

- -

Definition at line 21 of file Parameter.cpp.

-
22 {
-
23  return key;
-
24 }
-
-
-
-

Friends And Related Function Documentation

- -

◆ operator<<

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::ostream& operator<< (std::ostream & os,
const Parameterp 
)
-
-friend
-
- -

Definition at line 20 of file Parameter.h.

-
21  {
-
22  return os << "{ Key: \"" << p.key << "\" -> " << *p.value << " }";
-
23  }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::Value::Deepcopy
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
- - - - diff --git a/docs/classHazelnp_1_1StringTools-members.html b/docs/classHazelnp_1_1StringTools-members.html deleted file mode 100644 index 1e3559d..0000000 --- a/docs/classHazelnp_1_1StringTools-members.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::StringTools Member List
-
-
- -

This is the complete list of members for Hazelnp::StringTools, including all inherited members.

- - - - - - - - - -
Contains(const std::string &str, const char c)Hazelnp::StringToolsstatic
IsNumeric(const std::string &str, const bool allowDecimalPoint=false)Hazelnp::StringToolsstatic
ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)Hazelnp::StringToolsstatic
Replace(const std::string &str, const char find, const std::string &subst)Hazelnp::StringToolsstatic
Replace(const std::string &str, const std::string &find, const std::string &subst)Hazelnp::StringToolsstatic
SplitString(const std::string &str, const char delimiter)Hazelnp::StringToolsstatic
SplitString(const std::string &str, const std::string &delimiter)Hazelnp::StringToolsstatic
ToLower(const std::string &str)Hazelnp::StringToolsstatic
- - - - diff --git a/docs/classHazelnp_1_1StringTools.html b/docs/classHazelnp_1_1StringTools.html deleted file mode 100644 index 0847128..0000000 --- a/docs/classHazelnp_1_1StringTools.html +++ /dev/null @@ -1,634 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::StringTools Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Static Public Member Functions | -List of all members
-
-
Hazelnp::StringTools Class Reference
-
-
- -

Internal helper class. - More...

- -

#include <StringTools.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Static Public Member Functions

static bool Contains (const std::string &str, const char c)
 Will return wether or not a given char is in a string. More...
 
static std::string Replace (const std::string &str, const char find, const std::string &subst)
 Will replace a part of a string with another string. More...
 
static std::string Replace (const std::string &str, const std::string &find, const std::string &subst)
 Will replace a part of a string with another string. More...
 
static bool IsNumeric (const std::string &str, const bool allowDecimalPoint=false)
 Will return true if the given string consists only of digits (including signage) More...
 
static bool ParseNumber (const std::string &str, bool &out_isInt, long double &out_number)
 Will convert the number in str to a number. More...
 
static std::vector< std::string > SplitString (const std::string &str, const char delimiter)
 Will split a string by a delimiter char. The delimiter will be excluded! More...
 
static std::vector< std::string > SplitString (const std::string &str, const std::string &delimiter)
 Will split a string by a delimiter string. The delimiter will be excluded! More...
 
static std::string ToLower (const std::string &str)
 Will make a string all lower-case. More...
 
-

Detailed Description

-

Internal helper class.

-

Feel free to use it tho.

- -

Definition at line 11 of file StringTools.h.

-

Member Function Documentation

- -

◆ Contains()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool StringTools::Contains (const std::string & str,
const char c 
)
-
-static
-
- -

Will return wether or not a given char is in a string.

- -

Definition at line 5 of file StringTools.cpp.

-
6 {
-
7  for (const char& i : str)
-
8  if (i == c)
-
9  return true;
-
10 
-
11  return false;
-
12 }
-
-
-
- -

◆ IsNumeric()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool StringTools::IsNumeric (const std::string & str,
const bool allowDecimalPoint = false 
)
-
-static
-
- -

Will return true if the given string consists only of digits (including signage)

- -

Definition at line 56 of file StringTools.cpp.

-
57 {
-
58  if (str.length() == 0) return false;
-
59 
-
60  bool alreadyParsedDecimalPoint = false;
-
61  std::size_t digitCount = 0;
-
62 
-
63  for (std::size_t i = 0; i < str.length(); i++)
-
64  {
-
65  if (!(
-
66  ((str[i] >= '0') && (str[i] <= '9')) ||
-
67  ((str[i] == '-') && (i == 0)) ||
-
68  ((str[i] == '.') && (allowDecimalPoint) && (!alreadyParsedDecimalPoint) && (digitCount > 0))
-
69  )) return false;
-
70 
-
71 
-
72  // Here we just have to check for the character. Not for any other conditions.
-
73  // Why? Because if these conditions failed, the function would have already returned false.
-
74  if (((str[i] >= '0') && (str[i] <= '9'))) digitCount++;
-
75  if (str[i] == '.') alreadyParsedDecimalPoint = true;
-
76  }
-
77 
-
78  // Even if we did not find any invalid chars, we should still return false, if we found no digits at all.
-
79  return digitCount > 0;
-
80 }
-
-
-
- -

◆ ParseNumber()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool StringTools::ParseNumber (const std::string & str,
bool & out_isInt,
long double & out_number 
)
-
-static
-
- -

Will convert the number in str to a number.

-


- Returns wether or not the operation was successful.
- Also returns wether the number is an integer, or floating point. If int, cast out_number to int.

- -

Definition at line 82 of file StringTools.cpp.

-
83 {
-
84  bool isDecimal = false;
-
85 
-
86  if (str.length() == 0) return false;
-
87  if (Contains(str, '.')) isDecimal = true;
-
88 
-
89  if (isDecimal)
-
90  {
-
91  try
-
92  {
-
93  out_number = std::stold(str);
-
94  out_isInt = false;
-
95  }
-
96  catch (std::invalid_argument&)
-
97  {
-
98  return false;
-
99  }
-
100  catch (std::out_of_range&)
-
101  {
-
102  return false;
-
103  }
-
104  }
-
105  else
-
106  {
-
107  try
-
108  {
-
109  out_number = (long double)std::stoll(str);
-
110  out_isInt = true;
-
111  }
-
112  catch (std::invalid_argument&)
-
113  {
-
114  return false;
-
115  }
-
116  catch (std::out_of_range&)
-
117  {
-
118  return false;
-
119  }
-
120  }
-
121 
-
122  return true;
-
123 }
-
-
-
- -

◆ Replace() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string StringTools::Replace (const std::string & str,
const char find,
const std::string & subst 
)
-
-static
-
- -

Will replace a part of a string with another string.

- -

Definition at line 14 of file StringTools.cpp.

-
15 {
-
16  std::stringstream ss;
-
17 
-
18  for (std::size_t i = 0; i < str.length(); i++)
-
19  {
-
20  if (str[i] != find) ss << str[i];
-
21  else ss << subst;
-
22  }
-
23 
-
24  return ss.str();
-
25 }
-
-
-
- -

◆ Replace() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string StringTools::Replace (const std::string & str,
const std::string & find,
const std::string & subst 
)
-
-static
-
- -

Will replace a part of a string with another string.

- -

Definition at line 27 of file StringTools.cpp.

-
28 {
-
29  if (find.length() == 0) return str;
-
30 
-
31  std::stringstream ss;
-
32 
-
33  std::size_t posFound = 0;
-
34  std::size_t lastFound = 0;
-
35 
-
36  while (posFound != std::string::npos)
-
37  {
-
38  lastFound = posFound;
-
39  posFound = str.find(find, posFound);
-
40 
-
41  if (posFound != std::string::npos)
-
42  {
-
43  ss << str.substr(lastFound, posFound - lastFound) << subst;
-
44  posFound += find.length();
-
45  }
-
46  else
-
47  {
-
48  ss << str.substr(lastFound, (str.length()) - lastFound);
-
49  }
-
50  }
-
51 
-
52  return ss.str();
-
53 }
-
-
-
- -

◆ SplitString() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::vector< std::string > StringTools::SplitString (const std::string & str,
const char delimiter 
)
-
-static
-
- -

Will split a string by a delimiter char. The delimiter will be excluded!

- -

Definition at line 125 of file StringTools.cpp.

-
126 {
-
127  if (str.length() == 0) return std::vector<std::string>();
-
128 
-
129  return SplitString(str, delimiter);
-
130 }
-
-
-
- -

◆ SplitString() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::vector< std::string > StringTools::SplitString (const std::string & str,
const std::string & delimiter 
)
-
-static
-
- -

Will split a string by a delimiter string. The delimiter will be excluded!

- -

Definition at line 132 of file StringTools.cpp.

-
133 {
-
134  if (str.length() == 0) return std::vector<std::string>();
-
135 
-
136  std::vector<std::string> parts;
-
137 
-
138  if (delimiter.length() == 0) // If the delimiter is "" (empty), just split between every single char. Not useful, but logical
-
139  {
-
140  for (std::size_t i = 0; i < str.length(); i++)
-
141  {
-
142  parts.push_back(std::string({ str[i] }));
-
143  }
-
144  return parts;
-
145  }
-
146 
-
147  std::size_t posFound = 0;
-
148  std::size_t lastFound = 0;
-
149 
-
150  while (posFound != std::string::npos)
-
151  {
-
152  lastFound = posFound;
-
153  posFound = str.find(delimiter, posFound);
-
154 
-
155  std::string found;
-
156 
-
157  if (posFound != std::string::npos)
-
158  {
-
159  found = str.substr(lastFound, posFound - lastFound);
-
160  posFound += delimiter.length();
-
161  }
-
162  else
-
163  {
-
164  found = str.substr(lastFound, str.length() - lastFound);
-
165  }
-
166 
-
167  parts.push_back(found);
-
168  }
-
169 
-
170  return parts;
-
171 }
-
-
-
- -

◆ ToLower()

- -
-
- - - - - -
- - - - - - - - -
std::string StringTools::ToLower (const std::string & str)
-
-static
-
- -

Will make a string all lower-case.

- -

Definition at line 173 of file StringTools.cpp.

-
174 {
-
175  std::stringstream ss;
-
176  for (std::size_t i = 0; i < str.length(); i++)
-
177  {
-
178  if ((str[i] >= 'A') && (str[i] <= 'Z')) ss << (char)(((int)str[i]) + 32);
-
179  else if (str[i] == -60) ss << (char)-28; // AE => ae
-
180  else if (str[i] == -42) ss << (char)-10; // OE => oe
-
181  else if (str[i] == -36) ss << (char)-4; // UE => ue
-
182  else ss << str[i];
-
183  }
-
184 
-
185  return ss.str();
-
186 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::StringTools::Contains
static bool Contains(const std::string &str, const char c)
Will return wether or not a given char is in a string.
Definition: StringTools.cpp:5
-
Hazelnp::StringTools::SplitString
static std::vector< std::string > SplitString(const std::string &str, const char delimiter)
Will split a string by a delimiter char. The delimiter will be excluded!
Definition: StringTools.cpp:125
- - - - diff --git a/docs/classHazelnp_1_1StringValue-members.html b/docs/classHazelnp_1_1StringValue-members.html deleted file mode 100644 index f1e3500..0000000 --- a/docs/classHazelnp_1_1StringValue-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::StringValue Member List
-
-
- -

This is the complete list of members for Hazelnp::StringValue, including all inherited members.

- - - - - - - - - - - - - - - - - -
Deepcopy() const overrideHazelnp::StringValuevirtual
GetAsOsString() const overrideHazelnp::StringValuevirtual
GetDataType() constHazelnp::Value
GetFloat32() const overrideHazelnp::StringValuevirtual
GetFloat64() const overrideHazelnp::StringValuevirtual
GetInt32() const overrideHazelnp::StringValuevirtual
GetInt64() const overrideHazelnp::StringValuevirtual
GetList() const overrideHazelnp::StringValuevirtual
GetString() const overrideHazelnp::StringValuevirtual
GetValue() constHazelnp::StringValue
operator std::string() constHazelnp::StringValue
StringValue(const std::string &value)Hazelnp::StringValue
typeHazelnp::Valueprotected
Value(DATA_TYPE type)Hazelnp::Valueprotected
~StringValue() overrideHazelnp::StringValueinline
~Value()Hazelnp::Valueinlinevirtual
- - - - diff --git a/docs/classHazelnp_1_1StringValue.html b/docs/classHazelnp_1_1StringValue.html deleted file mode 100644 index 071170c..0000000 --- a/docs/classHazelnp_1_1StringValue.html +++ /dev/null @@ -1,555 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::StringValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::StringValue Class Reference
-
-
- -

Specializations for string values (uses std::string) - More...

- -

#include <StringValue.h>

-
-Inheritance diagram for Hazelnp::StringValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for Hazelnp::StringValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 StringValue (const std::string &value)
 
 ~StringValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
const std::string & GetValue () const
 Will return the raw value. More...
 
 operator std::string () const
 
long long int GetInt64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
int GetInt32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
long double GetFloat64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
double GetFloat32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
std::string GetString () const override
 Will return this value as a string. More...
 
const std::vector< Value * > & GetList () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Hazelnp::Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Hazelnp::Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Hazelnp::Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for string values (uses std::string)

- -

Definition at line 9 of file StringValue.h.

-

Constructor & Destructor Documentation

- -

◆ StringValue()

- -
-
- - - - - - - - -
StringValue::StringValue (const std::string & value)
-
- -

Definition at line 7 of file StringValue.cpp.

-
8  :
- -
10  value { value }
-
11 {
-
12  return;
-
13 }
-
-
-
- -

◆ ~StringValue()

- -
-
- - - - - -
- - - - - - - -
Hazelnp::StringValue::~StringValue ()
-
-inlineoverride
-
- -

Definition at line 13 of file StringValue.h.

-
13 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * StringValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Hazelnp::Value.

- -

Definition at line 15 of file StringValue.cpp.

-
16 {
-
17  return new StringValue(value);
-
18 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string StringValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Hazelnp::Value.

- -

Definition at line 20 of file StringValue.cpp.

-
21 {
-
22  std::stringstream ss;
-
23  ss << "StringValue: " << value;
-
24  return ss.str();
-
25 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double StringValue::GetFloat32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 54 of file StringValue.cpp.

-
55 {
- -
57 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double StringValue::GetFloat64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 49 of file StringValue.cpp.

-
50 {
- -
52 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int StringValue::GetInt32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 44 of file StringValue.cpp.

-
45 {
- -
47 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int StringValue::GetInt64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 39 of file StringValue.cpp.

-
40 {
- -
42 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & StringValue::GetList () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 64 of file StringValue.cpp.

-
65 {
- -
67 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string StringValue::GetString () const
-
-overridevirtual
-
- -

Will return this value as a string.

- -

Implements Hazelnp::Value.

- -

Definition at line 59 of file StringValue.cpp.

-
60 {
-
61  return value;
-
62 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const std::string & StringValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 27 of file StringValue.cpp.

-
28 {
-
29  return value;
-
30 }
-
-
-
- -

◆ operator std::string()

- -
-
- - - - - - - -
StringValue::operator std::string () const
-
- -

Definition at line 32 of file StringValue.cpp.

-
33 {
-
34  return value;
-
35 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::StringValue::StringValue
StringValue(const std::string &value)
Definition: StringValue.cpp:7
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::DATA_TYPE::STRING
@ STRING
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/classHazelnp_1_1StringValue__coll__graph.map b/docs/classHazelnp_1_1StringValue__coll__graph.map deleted file mode 100644 index 3296184..0000000 --- a/docs/classHazelnp_1_1StringValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1StringValue__coll__graph.md5 b/docs/classHazelnp_1_1StringValue__coll__graph.md5 deleted file mode 100644 index 09c0ce8..0000000 --- a/docs/classHazelnp_1_1StringValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4997cc0c07834e05bdfd8f7c9c787db0 \ No newline at end of file diff --git a/docs/classHazelnp_1_1StringValue__coll__graph.png b/docs/classHazelnp_1_1StringValue__coll__graph.png deleted file mode 100644 index d04958c..0000000 Binary files a/docs/classHazelnp_1_1StringValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1StringValue__inherit__graph.map b/docs/classHazelnp_1_1StringValue__inherit__graph.map deleted file mode 100644 index 3296184..0000000 --- a/docs/classHazelnp_1_1StringValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1StringValue__inherit__graph.md5 b/docs/classHazelnp_1_1StringValue__inherit__graph.md5 deleted file mode 100644 index 09c0ce8..0000000 --- a/docs/classHazelnp_1_1StringValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4997cc0c07834e05bdfd8f7c9c787db0 \ No newline at end of file diff --git a/docs/classHazelnp_1_1StringValue__inherit__graph.png b/docs/classHazelnp_1_1StringValue__inherit__graph.png deleted file mode 100644 index d04958c..0000000 Binary files a/docs/classHazelnp_1_1StringValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1Value-members.html b/docs/classHazelnp_1_1Value-members.html deleted file mode 100644 index 42ae4ab..0000000 --- a/docs/classHazelnp_1_1Value-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::Value Member List
-
-
- -

This is the complete list of members for Hazelnp::Value, including all inherited members.

- - - - - - - - - - - - - - -
Deepcopy() const =0Hazelnp::Valuepure virtual
GetAsOsString() const =0Hazelnp::Valuepure virtual
GetDataType() constHazelnp::Value
GetFloat32() const =0Hazelnp::Valuepure virtual
GetFloat64() const =0Hazelnp::Valuepure virtual
GetInt32() const =0Hazelnp::Valuepure virtual
GetInt64() const =0Hazelnp::Valuepure virtual
GetList() const =0Hazelnp::Valuepure virtual
GetString() const =0Hazelnp::Valuepure virtual
operator<<(std::ostream &os, const Value &v)Hazelnp::Valuefriend
typeHazelnp::Valueprotected
Value(DATA_TYPE type)Hazelnp::Valueprotected
~Value()Hazelnp::Valueinlinevirtual
- - - - diff --git a/docs/classHazelnp_1_1Value.html b/docs/classHazelnp_1_1Value.html deleted file mode 100644 index 4b8a091..0000000 --- a/docs/classHazelnp_1_1Value.html +++ /dev/null @@ -1,556 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::Value Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -Protected Member Functions | -Protected Attributes | -Friends | -List of all members
-
-
Hazelnp::Value Class Referenceabstract
-
-
- -

Abstract class for values. - More...

- -

#include <Value.h>

-
-Inheritance diagram for Hazelnp::Value:
-
-
Inheritance graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual ~Value ()
 
virtual ValueDeepcopy () const =0
 Will return a deeopopy of this object. More...
 
virtual std::string GetAsOsString () const =0
 Will return a string suitable for an std::ostream. More...
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
virtual long long int GetInt64 () const =0
 Will attempt to return the integer data (long long) More...
 
virtual int GetInt32 () const =0
 Will attempt to return the integer data (int) More...
 
virtual long double GetFloat64 () const =0
 Will attempt to return the floating-point data (long double) More...
 
virtual double GetFloat32 () const =0
 Will attempt to return the floating-point data (double) More...
 
virtual std::string GetString () const =0
 Will attempt to return the string-data. More...
 
virtual const std::vector< Value * > & GetList () const =0
 Will attempt to return the list-data. More...
 
- - - -

-Protected Member Functions

 Value (DATA_TYPE type)
 
- - - -

-Protected Attributes

DATA_TYPE type
 
- - - -

-Friends

std::ostream & operator<< (std::ostream &os, const Value &v)
 
-

Detailed Description

-

Abstract class for values.

- -

Definition at line 10 of file Value.h.

-

Constructor & Destructor Documentation

- -

◆ ~Value()

- -
-
- - - - - -
- - - - - - - -
virtual Hazelnp::Value::~Value ()
-
-inlinevirtual
-
- -

Definition at line 13 of file Value.h.

-
13 {};
-
-
-
- -

◆ Value()

- -
-
- - - - - -
- - - - - - - - -
Value::Value (DATA_TYPE type)
-
-protected
-
- -

Definition at line 5 of file Value.cpp.

-
6  :
-
7  type{ type }
-
8 {
-
9  return;
-
10 }
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
virtual Value* Hazelnp::Value::Deepcopy () const
-
-pure virtual
-
- -

Will return a deeopopy of this object.

- -

Implemented in Hazelnp::FloatValue, Hazelnp::ListValue, Hazelnp::StringValue, Hazelnp::IntValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
virtual std::string Hazelnp::Value::GetAsOsString () const
-
-pure virtual
-
- -

Will return a string suitable for an std::ostream.

- -

Implemented in Hazelnp::FloatValue, Hazelnp::ListValue, Hazelnp::StringValue, Hazelnp::IntValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetDataType()

- -
-
- - - - - - - -
DATA_TYPE Value::GetDataType () const
-
- -

Will return the data type of this value.

- -

Definition at line 12 of file Value.cpp.

-
13 {
-
14  return type;
-
15 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
virtual double Hazelnp::Value::GetFloat32 () const
-
-pure virtual
-
- -

Will attempt to return the floating-point data (double)

- -

Implemented in Hazelnp::ListValue, Hazelnp::FloatValue, Hazelnp::IntValue, Hazelnp::StringValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
virtual long double Hazelnp::Value::GetFloat64 () const
-
-pure virtual
-
- -

Will attempt to return the floating-point data (long double)

- -

Implemented in Hazelnp::ListValue, Hazelnp::FloatValue, Hazelnp::IntValue, Hazelnp::StringValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
virtual int Hazelnp::Value::GetInt32 () const
-
-pure virtual
-
- -

Will attempt to return the integer data (int)

- -

Implemented in Hazelnp::ListValue, Hazelnp::FloatValue, Hazelnp::IntValue, Hazelnp::StringValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
virtual long long int Hazelnp::Value::GetInt64 () const
-
-pure virtual
-
- -

Will attempt to return the integer data (long long)

- -

Implemented in Hazelnp::ListValue, Hazelnp::FloatValue, Hazelnp::IntValue, Hazelnp::StringValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
virtual const std::vector<Value*>& Hazelnp::Value::GetList () const
-
-pure virtual
-
- -

Will attempt to return the list-data.

- -

Implemented in Hazelnp::ListValue, Hazelnp::FloatValue, Hazelnp::IntValue, Hazelnp::StringValue, and Hazelnp::VoidValue.

- -
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
virtual std::string Hazelnp::Value::GetString () const
-
-pure virtual
-
- -

Will attempt to return the string-data.

- -

Implemented in Hazelnp::ListValue, Hazelnp::FloatValue, Hazelnp::IntValue, Hazelnp::StringValue, and Hazelnp::VoidValue.

- -
-
-

Friends And Related Function Documentation

- -

◆ operator<<

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::ostream& operator<< (std::ostream & os,
const Valuev 
)
-
-friend
-
- -

Definition at line 24 of file Value.h.

-
25  {
-
26  return os << v.GetAsOsString();
-
27  }
-
-
-
-

Member Data Documentation

- -

◆ type

- -
-
- - - - - -
- - - - -
DATA_TYPE Hazelnp::Value::type
-
-protected
-
- -

Definition at line 48 of file Value.h.

- -
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::Value::type
DATA_TYPE type
Definition: Value.h:48
- - - - diff --git a/docs/classHazelnp_1_1Value__inherit__graph.map b/docs/classHazelnp_1_1Value__inherit__graph.map deleted file mode 100644 index d1f45d5..0000000 --- a/docs/classHazelnp_1_1Value__inherit__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnp_1_1Value__inherit__graph.md5 b/docs/classHazelnp_1_1Value__inherit__graph.md5 deleted file mode 100644 index 806245e..0000000 --- a/docs/classHazelnp_1_1Value__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c449cea971b5762dc13a0d94fcc64bd \ No newline at end of file diff --git a/docs/classHazelnp_1_1Value__inherit__graph.png b/docs/classHazelnp_1_1Value__inherit__graph.png deleted file mode 100644 index fe2031a..0000000 Binary files a/docs/classHazelnp_1_1Value__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1VoidValue-members.html b/docs/classHazelnp_1_1VoidValue-members.html deleted file mode 100644 index e0c3922..0000000 --- a/docs/classHazelnp_1_1VoidValue-members.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnp::VoidValue Member List
-
-
- -

This is the complete list of members for Hazelnp::VoidValue, including all inherited members.

- - - - - - - - - - - - - - - -
Deepcopy() const overrideHazelnp::VoidValuevirtual
GetAsOsString() const overrideHazelnp::VoidValuevirtual
GetDataType() constHazelnp::Value
GetFloat32() const overrideHazelnp::VoidValuevirtual
GetFloat64() const overrideHazelnp::VoidValuevirtual
GetInt32() const overrideHazelnp::VoidValuevirtual
GetInt64() const overrideHazelnp::VoidValuevirtual
GetList() constHazelnp::VoidValuevirtual
GetString() const overrideHazelnp::VoidValuevirtual
typeHazelnp::Valueprotected
Value(DATA_TYPE type)Hazelnp::Valueprotected
VoidValue()Hazelnp::VoidValue
~Value()Hazelnp::Valueinlinevirtual
~VoidValue() overrideHazelnp::VoidValueinline
- - - - diff --git a/docs/classHazelnp_1_1VoidValue.html b/docs/classHazelnp_1_1VoidValue.html deleted file mode 100644 index 7caf40d..0000000 --- a/docs/classHazelnp_1_1VoidValue.html +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::VoidValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnp::VoidValue Class Reference
-
-
- -

Specializations for void values. - More...

- -

#include <VoidValue.h>

-
-Inheritance diagram for Hazelnp::VoidValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for Hazelnp::VoidValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 VoidValue ()
 
 ~VoidValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
long long int GetInt64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
int GetInt32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
long double GetFloat64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
double GetFloat32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
std::string GetString () const override
 Returns an empty string. More...
 
const std::vector< Value * > & GetList () const
 Returns an empty list. More...
 
- Public Member Functions inherited from Hazelnp::Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Hazelnp::Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Hazelnp::Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for void values.

-

These house no value whatsoever, but only communicate information by merely existing.

- -

Definition at line 8 of file VoidValue.h.

-

Constructor & Destructor Documentation

- -

◆ VoidValue()

- -
-
- - - - - - - -
VoidValue::VoidValue ()
-
- -

Definition at line 6 of file VoidValue.cpp.

-
7  :
- -
9 {
-
10  return;
-
11 }
-
-
-
- -

◆ ~VoidValue()

- -
-
- - - - - -
- - - - - - - -
Hazelnp::VoidValue::~VoidValue ()
-
-inlineoverride
-
- -

Definition at line 12 of file VoidValue.h.

-
12 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * VoidValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Hazelnp::Value.

- -

Definition at line 13 of file VoidValue.cpp.

-
14 {
-
15  return new VoidValue();
-
16 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string VoidValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Hazelnp::Value.

- -

Definition at line 18 of file VoidValue.cpp.

-
19 {
-
20  return "VoidValue";
-
21 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double VoidValue::GetFloat32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 40 of file VoidValue.cpp.

-
41 {
- -
43 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double VoidValue::GetFloat64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 35 of file VoidValue.cpp.

-
36 {
- -
38 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int VoidValue::GetInt32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 30 of file VoidValue.cpp.

-
31 {
- -
33 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int VoidValue::GetInt64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Hazelnp::Value.

- -

Definition at line 25 of file VoidValue.cpp.

-
26 {
- -
28 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & VoidValue::GetList () const
-
-virtual
-
- -

Returns an empty list.

- -

Implements Hazelnp::Value.

- -

Definition at line 50 of file VoidValue.cpp.

-
51 {
-
52  static const std::vector<Value*> empty;
-
53  return empty;
-
54 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string VoidValue::GetString () const
-
-overridevirtual
-
- -

Returns an empty string.

- -

Implements Hazelnp::Value.

- -

Definition at line 45 of file VoidValue.cpp.

-
46 {
-
47  return "";
-
48 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Hazelnp::DATA_TYPE::VOID
@ VOID
-
Hazelnp::Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:5
-
Hazelnp::VoidValue::VoidValue
VoidValue()
Definition: VoidValue.cpp:6
-
Hazelnp::HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:38
- - - - diff --git a/docs/classHazelnp_1_1VoidValue__coll__graph.map b/docs/classHazelnp_1_1VoidValue__coll__graph.map deleted file mode 100644 index 684c89f..0000000 --- a/docs/classHazelnp_1_1VoidValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1VoidValue__coll__graph.md5 b/docs/classHazelnp_1_1VoidValue__coll__graph.md5 deleted file mode 100644 index 8e50936..0000000 --- a/docs/classHazelnp_1_1VoidValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -906e2b64b26f1d1be0180b938b6a9e45 \ No newline at end of file diff --git a/docs/classHazelnp_1_1VoidValue__coll__graph.png b/docs/classHazelnp_1_1VoidValue__coll__graph.png deleted file mode 100644 index abca5b1..0000000 Binary files a/docs/classHazelnp_1_1VoidValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnp_1_1VoidValue__inherit__graph.map b/docs/classHazelnp_1_1VoidValue__inherit__graph.map deleted file mode 100644 index 684c89f..0000000 --- a/docs/classHazelnp_1_1VoidValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classHazelnp_1_1VoidValue__inherit__graph.md5 b/docs/classHazelnp_1_1VoidValue__inherit__graph.md5 deleted file mode 100644 index 8e50936..0000000 --- a/docs/classHazelnp_1_1VoidValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -906e2b64b26f1d1be0180b938b6a9e45 \ No newline at end of file diff --git a/docs/classHazelnp_1_1VoidValue__inherit__graph.png b/docs/classHazelnp_1_1VoidValue__inherit__graph.png deleted file mode 100644 index abca5b1..0000000 Binary files a/docs/classHazelnp_1_1VoidValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnupp-members.html b/docs/classHazelnupp-members.html deleted file mode 100644 index 58b4906..0000000 --- a/docs/classHazelnupp-members.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Hazelnupp Member List
-
-
- -

This is the complete list of members for Hazelnupp, including all inherited members.

- - - - - - - - - - - - - - - - -
ClearAbbreviations()Hazelnupp
ClearConstraints()Hazelnupp
GetAbbreviation(const std::string &abbrev) constHazelnupp
GetCrashOnFail() constHazelnupp
GetExecutableName() constHazelnupp
HasAbbreviation(const std::string &abbrev) constHazelnupp
HasParam(const std::string &key) constHazelnupp
Hazelnupp()Hazelnupp
Hazelnupp(const int argc, const char *const *argv)Hazelnupp
operator[](const std::string &key) constHazelnupp
Parse(const int argc, const char *const *argv)Hazelnupp
RegisterAbbreviation(const std::string &abbrev, const std::string &target)Hazelnupp
RegisterConstraints(const std::vector< ParamConstraint > &constraints)Hazelnupp
SetCrashOnFail(bool crashOnFail)Hazelnupp
~Hazelnupp()Hazelnupp
- - - - diff --git a/docs/classHazelnupp.html b/docs/classHazelnupp.html deleted file mode 100644 index bcd6022..0000000 --- a/docs/classHazelnupp.html +++ /dev/null @@ -1,630 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
Hazelnupp Class Reference
-
-
- -

The main class to interface with. - More...

- -

#include <Hazelnupp.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 Hazelnupp ()
 
 Hazelnupp (const int argc, const char *const *argv)
 
 ~Hazelnupp ()
 
void Parse (const int argc, const char *const *argv)
 Will parse command line arguments. More...
 
const std::string & GetExecutableName () const
 Will return argv[0], the name of the executable. More...
 
const Valueoperator[] (const std::string &key) const
 Will return the value given a key. More...
 
bool HasParam (const std::string &key) const
 Will check wether a parameter exists given a key, or not. More...
 
void RegisterAbbreviation (const std::string &abbrev, const std::string &target)
 Will register an abbreviation (like -f for –force) More...
 
const std::string & GetAbbreviation (const std::string &abbrev) const
 Will return the long form of an abbreviation (like –force for -f) More...
 
bool HasAbbreviation (const std::string &abbrev) const
 Will check wether or not an abbreviation is registered. More...
 
void ClearAbbreviations ()
 Will delete all abbreviations. More...
 
void RegisterConstraints (const std::vector< ParamConstraint > &constraints)
 Will register parameter constraints. More...
 
void ClearConstraints ()
 Will delete all constraints. More...
 
void SetCrashOnFail (bool crashOnFail)
 Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsing, or not. More...
 
bool GetCrashOnFail () const
 Gets whether the application crashes on an exception whilst parsing, and prints to stderr. More...
 
-

Detailed Description

-

The main class to interface with.

- -

Definition at line 9 of file Hazelnupp.h.

-

Constructor & Destructor Documentation

- -

◆ Hazelnupp() [1/2]

- -
-
- - - - - - - -
Hazelnupp::Hazelnupp ()
-
- -

Definition at line 12 of file Hazelnupp.cpp.

-
13 {
-
14  return;
-
15 }
-
-
-
- -

◆ Hazelnupp() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - -
Hazelnupp::Hazelnupp (const int argc,
const char *const * argv 
)
-
- -

Definition at line 17 of file Hazelnupp.cpp.

-
18 {
-
19  Parse(argc, argv);
-
20  return;
-
21 }
-
-
-
- -

◆ ~Hazelnupp()

- -
-
- - - - - - - -
Hazelnupp::~Hazelnupp ()
-
- -

Definition at line 23 of file Hazelnupp.cpp.

-
24 {
-
25  for (auto& it : parameters)
-
26  delete it.second;
-
27 
-
28  parameters.clear();
-
29 
-
30  return;
-
31 }
-
-
-
-

Member Function Documentation

- -

◆ ClearAbbreviations()

- -
-
- - - - - - - -
void Hazelnupp::ClearAbbreviations ()
-
- -

Will delete all abbreviations.

- -

Definition at line 346 of file Hazelnupp.cpp.

-
347 {
-
348  abbreviations.clear();
-
349  return;
-
350 }
-
-
-
- -

◆ ClearConstraints()

- -
-
- - - - - - - -
void Hazelnupp::ClearConstraints ()
-
- -

Will delete all constraints.

- -

Definition at line 373 of file Hazelnupp.cpp.

-
374 {
-
375  constraints.clear();
-
376  return;
-
377 }
-
-
-
- -

◆ GetAbbreviation()

- -
-
- - - - - - - - -
const std::string & Hazelnupp::GetAbbreviation (const std::string & abbrev) const
-
- -

Will return the long form of an abbreviation (like –force for -f)

- -

Definition at line 336 of file Hazelnupp.cpp.

-
337 {
-
338  return abbreviations.find(abbrev)->second;
-
339 }
-
-
-
- -

◆ GetCrashOnFail()

- -
-
- - - - - - - -
bool Hazelnupp::GetCrashOnFail () const
-
- -

Gets whether the application crashes on an exception whilst parsing, and prints to stderr.

- -

Definition at line 277 of file Hazelnupp.cpp.

-
278 {
-
279  return crashOnFail;
-
280 }
-
-
-
- -

◆ GetExecutableName()

- -
-
- - - - - - - -
const std::string & Hazelnupp::GetExecutableName () const
-
- -

Will return argv[0], the name of the executable.

- -

Definition at line 316 of file Hazelnupp.cpp.

-
317 {
-
318  return executableName;
-
319 }
-
-
-
- -

◆ HasAbbreviation()

- -
-
- - - - - - - - -
bool Hazelnupp::HasAbbreviation (const std::string & abbrev) const
-
- -

Will check wether or not an abbreviation is registered.

- -

Definition at line 341 of file Hazelnupp.cpp.

-
342 {
-
343  return abbreviations.find(abbrev) != abbreviations.end();
-
344 }
-
-
-
- -

◆ HasParam()

- -
-
- - - - - - - - -
bool Hazelnupp::HasParam (const std::string & key) const
-
- -

Will check wether a parameter exists given a key, or not.

- -

Definition at line 151 of file Hazelnupp.cpp.

-
152 {
-
153  return parameters.find(key) != parameters.end();
-
154 }
-
-
-
- -

◆ operator[]()

- -
-
- - - - - - - - -
const Value & Hazelnupp::operator[] (const std::string & key) const
-
- -

Will return the value given a key.

- -

Definition at line 321 of file Hazelnupp.cpp.

-
322 {
-
323  // Throw exception if param is unknown
-
324  if (!HasParam(key))
- -
326 
-
327  return *parameters.find(key)->second->GetValue();
-
328 }
-
-
-
- -

◆ Parse()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnupp::Parse (const int argc,
const char *const * argv 
)
-
- -

Will parse command line arguments.

- -

Definition at line 33 of file Hazelnupp.cpp.

-
34 {
-
35  try
-
36  {
-
37  // Populate raw arguments
-
38  PopulateRawArgs(argc, argv);
-
39 
-
40  // Expand abbreviations
-
41  ExpandAbbreviations();
-
42 
-
43  executableName = std::string(rawArgs[0]);
-
44 
-
45  std::size_t i = 1;
-
46  while (i < rawArgs.size())
-
47  {
-
48  if ((rawArgs[i].length() > 2) && (rawArgs[i].substr(0, 2) == "--"))
-
49  {
-
50  Parameter* param = nullptr;
-
51  i = ParseNextParameter(i, param);
-
52 
-
53  parameters.insert(std::pair<std::string, Parameter*>(param->Key(), param));
-
54  }
-
55  else
-
56  i++;
-
57  }
-
58 
-
59  // Apply constraints such as default values, and required parameters.
-
60  // Types have already been enforced.
-
61  ApplyConstraints();
-
62  }
-
63  catch (const HazelnuppConstraintTypeMissmatch& hctm)
-
64  {
-
65  if (crashOnFail)
-
66  {
-
67  std::cerr << "Fatal error: Command-line parameter value-type mismatch at \"" << hctm.What() << "\"!";
-
68  quick_exit(-1009);
-
69  }
-
70  else
-
71  throw hctm; // yeet
-
72  }
-
73  catch (const HazelnuppConstraintMissingValue& hctm)
-
74  {
-
75  if (crashOnFail)
-
76  {
-
77  std::cerr << "Fatal error: Missing required command-line parameter \"" << hctm.What() << "\"!";
-
78  quick_exit(-1010);
-
79  }
-
80  else
-
81  throw hctm; // yeet
-
82  }
-
83 
-
84  return;
-
85 }
-
-
-
- -

◆ RegisterAbbreviation()

- -
-
- - - - - - - - - - - - - - - - - - -
void Hazelnupp::RegisterAbbreviation (const std::string & abbrev,
const std::string & target 
)
-
- -

Will register an abbreviation (like -f for –force)

- -

Definition at line 330 of file Hazelnupp.cpp.

-
331 {
-
332  abbreviations.insert(std::pair<std::string, std::string>(abbrev, target));
-
333  return;
-
334 }
-
-
-
- -

◆ RegisterConstraints()

- -
-
- - - - - - - - -
void Hazelnupp::RegisterConstraints (const std::vector< ParamConstraint > & constraints)
-
- -

Will register parameter constraints.

- -

Definition at line 352 of file Hazelnupp.cpp.

-
353 {
-
354  for (const ParamConstraint& pc : constraints)
-
355  {
-
356  // Does this constraint already exist?
-
357  const auto constraint = this->constraints.find(pc.key);
-
358  // If yes, replace it.
-
359  if (constraint != this->constraints.end())
-
360  constraint->second = pc;
-
361 
-
362  // Else, create a new pair
-
363  else
-
364  this->constraints.insert(std::pair<std::string, ParamConstraint>(
-
365  pc.key,
-
366  pc
-
367  ));
-
368  }
-
369 
-
370  return;
-
371 }
-
-
-
- -

◆ SetCrashOnFail()

- -
-
- - - - - - - - -
void Hazelnupp::SetCrashOnFail (bool crashOnFail)
-
- -

Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsing, or not.

- -

Definition at line 379 of file Hazelnupp.cpp.

-
380 {
-
381  this->crashOnFail = crashOnFail;
-
382  return;
-
383 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
HazelnuppException::What
const std::string & What() const
Will return an error message.
Definition: HazelnuppException.h:13
-
HazelnuppConstraintTypeMissmatch
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
Definition: HazelnuppException.h:51
-
HazelnuppConstraintMissingValue
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
Definition: HazelnuppException.h:60
-
Parameter
Definition: Parameter.h:6
-
Parameter::Key
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:19
-
HazelnuppInvalidKeyException
Gets thrown when an non-existent key gets dereferenced.
Definition: HazelnuppException.h:24
-
Hazelnupp::HasParam
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: Hazelnupp.cpp:151
-
ParamConstraint
Definition: ParamConstraint.h:6
-
Hazelnupp::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:33
- - - - diff --git a/docs/classHazelnuppConstraintException-members.html b/docs/classHazelnuppConstraintException-members.html deleted file mode 100644 index 7080787..0000000 --- a/docs/classHazelnuppConstraintException-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
HazelnuppConstraintException Member List
-
-
- -

This is the complete list of members for HazelnuppConstraintException, including all inherited members.

- - - - - - - -
HazelnuppConstraintException()HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)HazelnuppConstraintExceptioninline
HazelnuppException()HazelnuppExceptioninline
HazelnuppException(const std::string &msg)HazelnuppExceptioninline
messageHazelnuppExceptionprotected
What() constHazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnuppConstraintException.html b/docs/classHazelnuppConstraintException.html deleted file mode 100644 index 0460eb3..0000000 --- a/docs/classHazelnuppConstraintException.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: HazelnuppConstraintException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
HazelnuppConstraintException Class Reference
-
-
- -

Gets thrown something bad happens because of parameter constraints. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for HazelnuppConstraintException:
-
-
Inheritance graph
- - - - - - - -
[legend]
-
-Collaboration diagram for HazelnuppConstraintException:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown something bad happens because of parameter constraints.

- -

Definition at line 42 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintException() [1/2]

- -
-
- - - - - -
- - - - - - - -
HazelnuppConstraintException::HazelnuppConstraintException ()
-
-inline
-
- -

Definition at line 45 of file HazelnuppException.h.

-
45 : HazelnuppException() {};
-
-
-
- -

◆ HazelnuppConstraintException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
HazelnuppConstraintException::HazelnuppConstraintException (const std::string & msg)
-
-inline
-
- -

Definition at line 46 of file HazelnuppException.h.

-
46 : HazelnuppException(msg) {};
-
-
-
-
The documentation for this class was generated from the following file: -
-
HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:9
- - - - diff --git a/docs/classHazelnuppConstraintException__coll__graph.map b/docs/classHazelnuppConstraintException__coll__graph.map deleted file mode 100644 index 5fa5350..0000000 --- a/docs/classHazelnuppConstraintException__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnuppConstraintException__coll__graph.md5 b/docs/classHazelnuppConstraintException__coll__graph.md5 deleted file mode 100644 index b5ab92d..0000000 --- a/docs/classHazelnuppConstraintException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8780b5af48266ddbb9e3e39964ac24c9 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintException__coll__graph.png b/docs/classHazelnuppConstraintException__coll__graph.png deleted file mode 100644 index 46cfddc..0000000 Binary files a/docs/classHazelnuppConstraintException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnuppConstraintException__inherit__graph.map b/docs/classHazelnuppConstraintException__inherit__graph.map deleted file mode 100644 index 1d23b5b..0000000 --- a/docs/classHazelnuppConstraintException__inherit__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnuppConstraintException__inherit__graph.md5 b/docs/classHazelnuppConstraintException__inherit__graph.md5 deleted file mode 100644 index e37e84a..0000000 --- a/docs/classHazelnuppConstraintException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -16bc78b0ae884e3cc8de0c87c60d24c5 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintException__inherit__graph.png b/docs/classHazelnuppConstraintException__inherit__graph.png deleted file mode 100644 index 03b4355..0000000 Binary files a/docs/classHazelnuppConstraintException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnuppConstraintMissingValue-members.html b/docs/classHazelnuppConstraintMissingValue-members.html deleted file mode 100644 index e15abd6..0000000 --- a/docs/classHazelnuppConstraintMissingValue-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
HazelnuppConstraintMissingValue Member List
-
-
- -

This is the complete list of members for HazelnuppConstraintMissingValue, including all inherited members.

- - - - - - - - - -
HazelnuppConstraintException()HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)HazelnuppConstraintExceptioninline
HazelnuppConstraintMissingValue()HazelnuppConstraintMissingValueinline
HazelnuppConstraintMissingValue(const std::string &msg)HazelnuppConstraintMissingValueinline
HazelnuppException()HazelnuppExceptioninline
HazelnuppException(const std::string &msg)HazelnuppExceptioninline
messageHazelnuppExceptionprotected
What() constHazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnuppConstraintMissingValue.html b/docs/classHazelnuppConstraintMissingValue.html deleted file mode 100644 index 8a44906..0000000 --- a/docs/classHazelnuppConstraintMissingValue.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: HazelnuppConstraintMissingValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
HazelnuppConstraintMissingValue Class Reference
-
-
- -

Gets thrown when a parameter constrained to be required is not provided, and has no default value set. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for HazelnuppConstraintMissingValue:
-
-
Inheritance graph
- - - - - - -
[legend]
-
-Collaboration diagram for HazelnuppConstraintMissingValue:
-
-
Collaboration graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintMissingValue ()
 
 HazelnuppConstraintMissingValue (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppConstraintException
 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when a parameter constrained to be required is not provided, and has no default value set.

- -

Definition at line 60 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintMissingValue() [1/2]

- -
-
- - - - - -
- - - - - - - -
HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue ()
-
-inline
-
- -

Definition at line 63 of file HazelnuppException.h.

- -
-
- -

◆ HazelnuppConstraintMissingValue() [2/2]

- -
-
- - - - - -
- - - - - - - - -
HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue (const std::string & msg)
-
-inline
-
- -

Definition at line 64 of file HazelnuppException.h.

- -
-
-
The documentation for this class was generated from the following file: -
-
HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException()
Definition: HazelnuppException.h:45
- - - - diff --git a/docs/classHazelnuppConstraintMissingValue__coll__graph.map b/docs/classHazelnuppConstraintMissingValue__coll__graph.map deleted file mode 100644 index a3c28ef..0000000 --- a/docs/classHazelnuppConstraintMissingValue__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnuppConstraintMissingValue__coll__graph.md5 b/docs/classHazelnuppConstraintMissingValue__coll__graph.md5 deleted file mode 100644 index a3e58d6..0000000 --- a/docs/classHazelnuppConstraintMissingValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -53168f4d3c07fb954273ae81459e9a52 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintMissingValue__coll__graph.png b/docs/classHazelnuppConstraintMissingValue__coll__graph.png deleted file mode 100644 index 2efec37..0000000 Binary files a/docs/classHazelnuppConstraintMissingValue__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnuppConstraintMissingValue__inherit__graph.map b/docs/classHazelnuppConstraintMissingValue__inherit__graph.map deleted file mode 100644 index 5659d69..0000000 --- a/docs/classHazelnuppConstraintMissingValue__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 b/docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 deleted file mode 100644 index f3f9de7..0000000 --- a/docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -30c14b46f5309ee00f2ac553ceadf88a \ No newline at end of file diff --git a/docs/classHazelnuppConstraintMissingValue__inherit__graph.png b/docs/classHazelnuppConstraintMissingValue__inherit__graph.png deleted file mode 100644 index e9df92f..0000000 Binary files a/docs/classHazelnuppConstraintMissingValue__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnuppConstraintTypeMissmatch-members.html b/docs/classHazelnuppConstraintTypeMissmatch-members.html deleted file mode 100644 index d35c233..0000000 --- a/docs/classHazelnuppConstraintTypeMissmatch-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
HazelnuppConstraintTypeMissmatch Member List
-
-
- -

This is the complete list of members for HazelnuppConstraintTypeMissmatch, including all inherited members.

- - - - - - - - - -
HazelnuppConstraintException()HazelnuppConstraintExceptioninline
HazelnuppConstraintException(const std::string &msg)HazelnuppConstraintExceptioninline
HazelnuppConstraintTypeMissmatch()HazelnuppConstraintTypeMissmatchinline
HazelnuppConstraintTypeMissmatch(const std::string &msg)HazelnuppConstraintTypeMissmatchinline
HazelnuppException()HazelnuppExceptioninline
HazelnuppException(const std::string &msg)HazelnuppExceptioninline
messageHazelnuppExceptionprotected
What() constHazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnuppConstraintTypeMissmatch.html b/docs/classHazelnuppConstraintTypeMissmatch.html deleted file mode 100644 index 818c3b5..0000000 --- a/docs/classHazelnuppConstraintTypeMissmatch.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: HazelnuppConstraintTypeMissmatch Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
HazelnuppConstraintTypeMissmatch Class Reference
-
-
- -

Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for HazelnuppConstraintTypeMissmatch:
-
-
Inheritance graph
- - - - - - -
[legend]
-
-Collaboration diagram for HazelnuppConstraintTypeMissmatch:
-
-
Collaboration graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppConstraintTypeMissmatch ()
 
 HazelnuppConstraintTypeMissmatch (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppConstraintException
 HazelnuppConstraintException ()
 
 HazelnuppConstraintException (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it.

- -

Definition at line 51 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppConstraintTypeMissmatch() [1/2]

- -
-
- - - - - -
- - - - - - - -
HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch ()
-
-inline
-
- -

Definition at line 54 of file HazelnuppException.h.

- -
-
- -

◆ HazelnuppConstraintTypeMissmatch() [2/2]

- -
-
- - - - - -
- - - - - - - - -
HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch (const std::string & msg)
-
-inline
-
- -

Definition at line 55 of file HazelnuppException.h.

- -
-
-
The documentation for this class was generated from the following file: -
-
HazelnuppConstraintException::HazelnuppConstraintException
HazelnuppConstraintException()
Definition: HazelnuppException.h:45
- - - - diff --git a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map deleted file mode 100644 index 0c19bad..0000000 --- a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 deleted file mode 100644 index afe2d90..0000000 --- a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -16e304d64e326eb561ef8c13d477c677 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.png b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.png deleted file mode 100644 index fb08f14..0000000 Binary files a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.map b/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.map deleted file mode 100644 index 3814bac..0000000 --- a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 b/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 deleted file mode 100644 index d76519e..0000000 --- a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -099f62bbcdccec595c21e9510dc0dae9 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.png b/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.png deleted file mode 100644 index fe764c6..0000000 Binary files a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnuppException-members.html b/docs/classHazelnuppException-members.html deleted file mode 100644 index 45714c5..0000000 --- a/docs/classHazelnuppException-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
HazelnuppException Member List
-
-
- -

This is the complete list of members for HazelnuppException, including all inherited members.

- - - - - -
HazelnuppException()HazelnuppExceptioninline
HazelnuppException(const std::string &msg)HazelnuppExceptioninline
messageHazelnuppExceptionprotected
What() constHazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnuppException.html b/docs/classHazelnuppException.html deleted file mode 100644 index fcc987e..0000000 --- a/docs/classHazelnuppException.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: HazelnuppException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -Protected Attributes | -List of all members
-
-
HazelnuppException Class Reference
-
-
- -

Generic hazelnupp exception. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for HazelnuppException:
-
-
Inheritance graph
- - - - - - - - - -
[legend]
-
-Collaboration diagram for HazelnuppException:
-
-
Collaboration graph
- - - - - - -
[legend]
- - - - - - - - - -

-Public Member Functions

 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - -

-Protected Attributes

std::string message
 
-

Detailed Description

-

Generic hazelnupp exception.

- -

Definition at line 6 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppException() [1/2]

- -
-
- - - - - -
- - - - - - - -
HazelnuppException::HazelnuppException ()
-
-inline
-
- -

Definition at line 9 of file HazelnuppException.h.

-
9 {};
-
-
-
- -

◆ HazelnuppException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
HazelnuppException::HazelnuppException (const std::string & msg)
-
-inline
-
- -

Definition at line 10 of file HazelnuppException.h.

-
10 : message{ msg } {};
-
-
-
-

Member Function Documentation

- -

◆ What()

- -
-
- - - - - -
- - - - - - - -
const std::string& HazelnuppException::What () const
-
-inline
-
- -

Will return an error message.

- -

Definition at line 13 of file HazelnuppException.h.

-
14  {
-
15  return message;
-
16  }
-
-
-
-

Member Data Documentation

- -

◆ message

- -
-
- - - - - -
- - - - -
std::string HazelnuppException::message
-
-protected
-
- -

Definition at line 19 of file HazelnuppException.h.

- -
-
-
The documentation for this class was generated from the following file: -
-
HazelnuppException::message
std::string message
Definition: HazelnuppException.h:19
- - - - diff --git a/docs/classHazelnuppException__coll__graph.map b/docs/classHazelnuppException__coll__graph.map deleted file mode 100644 index 0faf445..0000000 --- a/docs/classHazelnuppException__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classHazelnuppException__coll__graph.md5 b/docs/classHazelnuppException__coll__graph.md5 deleted file mode 100644 index c1bf83d..0000000 --- a/docs/classHazelnuppException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -73a1a62dc1264bfb70a21bb9c678179c \ No newline at end of file diff --git a/docs/classHazelnuppException__coll__graph.png b/docs/classHazelnuppException__coll__graph.png deleted file mode 100644 index 1493d52..0000000 Binary files a/docs/classHazelnuppException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnuppException__inherit__graph.map b/docs/classHazelnuppException__inherit__graph.map deleted file mode 100644 index 6246c04..0000000 --- a/docs/classHazelnuppException__inherit__graph.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/classHazelnuppException__inherit__graph.md5 b/docs/classHazelnuppException__inherit__graph.md5 deleted file mode 100644 index ffa0264..0000000 --- a/docs/classHazelnuppException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2ea7051c44210f9778f71602609d2ced \ No newline at end of file diff --git a/docs/classHazelnuppException__inherit__graph.png b/docs/classHazelnuppException__inherit__graph.png deleted file mode 100644 index 93ce952..0000000 Binary files a/docs/classHazelnuppException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnuppInvalidKeyException-members.html b/docs/classHazelnuppInvalidKeyException-members.html deleted file mode 100644 index d96d6a1..0000000 --- a/docs/classHazelnuppInvalidKeyException-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
HazelnuppInvalidKeyException Member List
-
-
- -

This is the complete list of members for HazelnuppInvalidKeyException, including all inherited members.

- - - - - - - -
HazelnuppException()HazelnuppExceptioninline
HazelnuppException(const std::string &msg)HazelnuppExceptioninline
HazelnuppInvalidKeyException()HazelnuppInvalidKeyExceptioninline
HazelnuppInvalidKeyException(const std::string &msg)HazelnuppInvalidKeyExceptioninline
messageHazelnuppExceptionprotected
What() constHazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnuppInvalidKeyException.html b/docs/classHazelnuppInvalidKeyException.html deleted file mode 100644 index 6b63a3d..0000000 --- a/docs/classHazelnuppInvalidKeyException.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: HazelnuppInvalidKeyException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
HazelnuppInvalidKeyException Class Reference
-
-
- -

Gets thrown when an non-existent key gets dereferenced. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for HazelnuppInvalidKeyException:
-
-
Inheritance graph
- - - - - -
[legend]
-
-Collaboration diagram for HazelnuppInvalidKeyException:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppInvalidKeyException ()
 
 HazelnuppInvalidKeyException (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when an non-existent key gets dereferenced.

- -

Definition at line 24 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppInvalidKeyException() [1/2]

- -
-
- - - - - -
- - - - - - - -
HazelnuppInvalidKeyException::HazelnuppInvalidKeyException ()
-
-inline
-
- -

Definition at line 27 of file HazelnuppException.h.

-
27 : HazelnuppException() {};
-
-
-
- -

◆ HazelnuppInvalidKeyException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
HazelnuppInvalidKeyException::HazelnuppInvalidKeyException (const std::string & msg)
-
-inline
-
- -

Definition at line 28 of file HazelnuppException.h.

-
28 : HazelnuppException(msg) {};
-
-
-
-
The documentation for this class was generated from the following file: -
-
HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:9
- - - - diff --git a/docs/classHazelnuppInvalidKeyException__coll__graph.map b/docs/classHazelnuppInvalidKeyException__coll__graph.map deleted file mode 100644 index b678d19..0000000 --- a/docs/classHazelnuppInvalidKeyException__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnuppInvalidKeyException__coll__graph.md5 b/docs/classHazelnuppInvalidKeyException__coll__graph.md5 deleted file mode 100644 index 6ea7594..0000000 --- a/docs/classHazelnuppInvalidKeyException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9824cce6102c022eca7ea3340a6e069a \ No newline at end of file diff --git a/docs/classHazelnuppInvalidKeyException__coll__graph.png b/docs/classHazelnuppInvalidKeyException__coll__graph.png deleted file mode 100644 index 6f49ccd..0000000 Binary files a/docs/classHazelnuppInvalidKeyException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnuppInvalidKeyException__inherit__graph.map b/docs/classHazelnuppInvalidKeyException__inherit__graph.map deleted file mode 100644 index d2fb1c2..0000000 --- a/docs/classHazelnuppInvalidKeyException__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/classHazelnuppInvalidKeyException__inherit__graph.md5 b/docs/classHazelnuppInvalidKeyException__inherit__graph.md5 deleted file mode 100644 index cd0380e..0000000 --- a/docs/classHazelnuppInvalidKeyException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3cbba2db8b9e26494124e6786b5e2b42 \ No newline at end of file diff --git a/docs/classHazelnuppInvalidKeyException__inherit__graph.png b/docs/classHazelnuppInvalidKeyException__inherit__graph.png deleted file mode 100644 index b95d9af..0000000 Binary files a/docs/classHazelnuppInvalidKeyException__inherit__graph.png and /dev/null differ diff --git a/docs/classHazelnuppValueNotConvertibleException-members.html b/docs/classHazelnuppValueNotConvertibleException-members.html deleted file mode 100644 index 346dbc4..0000000 --- a/docs/classHazelnuppValueNotConvertibleException-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
HazelnuppValueNotConvertibleException Member List
-
-
- -

This is the complete list of members for HazelnuppValueNotConvertibleException, including all inherited members.

- - - - - - - -
HazelnuppException()HazelnuppExceptioninline
HazelnuppException(const std::string &msg)HazelnuppExceptioninline
HazelnuppValueNotConvertibleException()HazelnuppValueNotConvertibleExceptioninline
HazelnuppValueNotConvertibleException(const std::string &msg)HazelnuppValueNotConvertibleExceptioninline
messageHazelnuppExceptionprotected
What() constHazelnuppExceptioninline
- - - - diff --git a/docs/classHazelnuppValueNotConvertibleException.html b/docs/classHazelnuppValueNotConvertibleException.html deleted file mode 100644 index 7857c7a..0000000 --- a/docs/classHazelnuppValueNotConvertibleException.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: HazelnuppValueNotConvertibleException Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
HazelnuppValueNotConvertibleException Class Reference
-
-
- -

Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible. - More...

- -

#include <HazelnuppException.h>

-
-Inheritance diagram for HazelnuppValueNotConvertibleException:
-
-
Inheritance graph
- - - - - -
[legend]
-
-Collaboration diagram for HazelnuppValueNotConvertibleException:
-
-
Collaboration graph
- - - - - - - -
[legend]
- - - - - - - - - - - - - - -

-Public Member Functions

 HazelnuppValueNotConvertibleException ()
 
 HazelnuppValueNotConvertibleException (const std::string &msg)
 
- Public Member Functions inherited from HazelnuppException
 HazelnuppException ()
 
 HazelnuppException (const std::string &msg)
 
const std::string & What () const
 Will return an error message. More...
 
- - - - -

-Additional Inherited Members

- Protected Attributes inherited from HazelnuppException
std::string message
 
-

Detailed Description

-

Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible.

- -

Definition at line 33 of file HazelnuppException.h.

-

Constructor & Destructor Documentation

- -

◆ HazelnuppValueNotConvertibleException() [1/2]

- -
-
- - - - - -
- - - - - - - -
HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException ()
-
-inline
-
- -

Definition at line 36 of file HazelnuppException.h.

-
36 : HazelnuppException() {};
-
-
-
- -

◆ HazelnuppValueNotConvertibleException() [2/2]

- -
-
- - - - - -
- - - - - - - - -
HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException (const std::string & msg)
-
-inline
-
- -

Definition at line 37 of file HazelnuppException.h.

-
37 : HazelnuppException(msg) {};
-
-
-
-
The documentation for this class was generated from the following file: -
-
HazelnuppException::HazelnuppException
HazelnuppException()
Definition: HazelnuppException.h:9
- - - - diff --git a/docs/classHazelnuppValueNotConvertibleException__coll__graph.map b/docs/classHazelnuppValueNotConvertibleException__coll__graph.map deleted file mode 100644 index 549a305..0000000 --- a/docs/classHazelnuppValueNotConvertibleException__coll__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 b/docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 deleted file mode 100644 index 19e2e3f..0000000 --- a/docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9d32983d0d841eed4a6fd0df8a5f7cc4 \ No newline at end of file diff --git a/docs/classHazelnuppValueNotConvertibleException__coll__graph.png b/docs/classHazelnuppValueNotConvertibleException__coll__graph.png deleted file mode 100644 index e198a8c..0000000 Binary files a/docs/classHazelnuppValueNotConvertibleException__coll__graph.png and /dev/null differ diff --git a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.map b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.map deleted file mode 100644 index c262591..0000000 --- a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 deleted file mode 100644 index 438de84..0000000 --- a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8ca6ce8b99f1fee2372c0029f0781e92 \ No newline at end of file diff --git a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.png b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.png deleted file mode 100644 index f33f98f..0000000 Binary files a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.png and /dev/null differ diff --git a/docs/classIntValue-members.html b/docs/classIntValue-members.html deleted file mode 100644 index fa2b2c4..0000000 --- a/docs/classIntValue-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
IntValue Member List
-
-
- -

This is the complete list of members for IntValue, including all inherited members.

- - - - - - - - - - - - - - - - - - -
Deepcopy() const overrideIntValuevirtual
GetAsOsString() const overrideIntValuevirtual
GetDataType() constValue
GetFloat32() const overrideIntValuevirtual
GetFloat64() const overrideIntValuevirtual
GetInt32() const overrideIntValuevirtual
GetInt64() const overrideIntValuevirtual
GetList() const overrideIntValuevirtual
GetString() const overrideIntValuevirtual
GetValue() constIntValue
IntValue(const long long int &value)IntValue
operator int() constIntValue
operator long long int() constIntValue
typeValueprotected
Value(DATA_TYPE type)Valueprotected
~IntValue() overrideIntValueinline
~Value()Valueinlinevirtual
- - - - diff --git a/docs/classIntValue.html b/docs/classIntValue.html deleted file mode 100644 index 30a0b97..0000000 --- a/docs/classIntValue.html +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: IntValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
IntValue Class Reference
-
-
- -

Specializations for integer values (uses long long int) - More...

- -

#include <IntValue.h>

-
-Inheritance diagram for IntValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for IntValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 IntValue (const long long int &value)
 
 ~IntValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
const long long int & GetValue () const
 Will return the raw value. More...
 
 operator long long int () const
 
 operator int () const
 
long long int GetInt64 () const override
 Will return the data as a long long int. More...
 
int GetInt32 () const override
 Will return the data as an int. More...
 
long double GetFloat64 () const override
 Will return the data as a long double. More...
 
double GetFloat32 () const override
 Will return the data as a double. More...
 
std::string GetString () const override
 Will return the data as a string. More...
 
const std::vector< Value * > & GetList () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for integer values (uses long long int)

- -

Definition at line 6 of file IntValue.h.

-

Constructor & Destructor Documentation

- -

◆ IntValue()

- -
-
- - - - - - - - -
IntValue::IntValue (const long long int & value)
-
- -

Definition at line 5 of file IntValue.cpp.

-
6  :
- -
8  value { value }
-
9 {
-
10  return;
-
11 }
-
-
-
- -

◆ ~IntValue()

- -
-
- - - - - -
- - - - - - - -
IntValue::~IntValue ()
-
-inlineoverride
-
- -

Definition at line 10 of file IntValue.h.

-
10 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * IntValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Value.

- -

Definition at line 13 of file IntValue.cpp.

-
14 {
-
15  return new IntValue(value);
-
16 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string IntValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Value.

- -

Definition at line 18 of file IntValue.cpp.

-
19 {
-
20  std::stringstream ss;
-
21  ss << "IntValue: " << value;
-
22  return ss.str();
-
23 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double IntValue::GetFloat32 () const
-
-overridevirtual
-
- -

Will return the data as a double.

- -

Implements Value.

- -

Definition at line 57 of file IntValue.cpp.

-
58 {
-
59  return (double)value;
-
60 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double IntValue::GetFloat64 () const
-
-overridevirtual
-
- -

Will return the data as a long double.

- -

Implements Value.

- -

Definition at line 52 of file IntValue.cpp.

-
53 {
-
54  return (long double)value;
-
55 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int IntValue::GetInt32 () const
-
-overridevirtual
-
- -

Will return the data as an int.

- -

Implements Value.

- -

Definition at line 47 of file IntValue.cpp.

-
48 {
-
49  return (int)value;
-
50 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int IntValue::GetInt64 () const
-
-overridevirtual
-
- -

Will return the data as a long long int.

- -

Implements Value.

- -

Definition at line 42 of file IntValue.cpp.

-
43 {
-
44  return value;
-
45 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & IntValue::GetList () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 70 of file IntValue.cpp.

-
71 {
- -
73 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string IntValue::GetString () const
-
-overridevirtual
-
- -

Will return the data as a string.

- -

Implements Value.

- -

Definition at line 62 of file IntValue.cpp.

-
63 {
-
64  std::stringstream ss;
-
65  ss << value;
-
66 
-
67  return ss.str();
-
68 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const long long int & IntValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 25 of file IntValue.cpp.

-
26 {
-
27  return value;
-
28 }
-
-
-
- -

◆ operator int()

- -
-
- - - - - - - -
IntValue::operator int () const
-
- -

Definition at line 35 of file IntValue.cpp.

-
36 {
-
37  return (int)value;
-
38 }
-
-
-
- -

◆ operator long long int()

- -
-
- - - - - - - -
IntValue::operator long long int () const
-
- -

Definition at line 30 of file IntValue.cpp.

-
31 {
-
32  return value;
-
33 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:33
-
DATA_TYPE::INT
@ INT
-
IntValue::IntValue
IntValue(const long long int &value)
Definition: IntValue.cpp:5
-
Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:3
- - - - diff --git a/docs/classIntValue__coll__graph.map b/docs/classIntValue__coll__graph.map deleted file mode 100644 index 7dc6700..0000000 --- a/docs/classIntValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classIntValue__coll__graph.md5 b/docs/classIntValue__coll__graph.md5 deleted file mode 100644 index 4283d04..0000000 --- a/docs/classIntValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fe282cdc62e45fcd3bd1eea2f9ef3879 \ No newline at end of file diff --git a/docs/classIntValue__coll__graph.png b/docs/classIntValue__coll__graph.png deleted file mode 100644 index 3133f8d..0000000 Binary files a/docs/classIntValue__coll__graph.png and /dev/null differ diff --git a/docs/classIntValue__inherit__graph.map b/docs/classIntValue__inherit__graph.map deleted file mode 100644 index 7dc6700..0000000 --- a/docs/classIntValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classIntValue__inherit__graph.md5 b/docs/classIntValue__inherit__graph.md5 deleted file mode 100644 index 4283d04..0000000 --- a/docs/classIntValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fe282cdc62e45fcd3bd1eea2f9ef3879 \ No newline at end of file diff --git a/docs/classIntValue__inherit__graph.png b/docs/classIntValue__inherit__graph.png deleted file mode 100644 index 3133f8d..0000000 Binary files a/docs/classIntValue__inherit__graph.png and /dev/null differ diff --git a/docs/classListValue-members.html b/docs/classListValue-members.html deleted file mode 100644 index d92098e..0000000 --- a/docs/classListValue-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
ListValue Member List
-
-
- -

This is the complete list of members for ListValue, including all inherited members.

- - - - - - - - - - - - - - - - - - -
AddValue(const Value *value)ListValue
Deepcopy() const overrideListValuevirtual
GetAsOsString() const overrideListValuevirtual
GetDataType() constValue
GetFloat32() const overrideListValuevirtual
GetFloat64() const overrideListValuevirtual
GetInt32() const overrideListValuevirtual
GetInt64() const overrideListValuevirtual
GetList() const overrideListValuevirtual
GetString() const overrideListValuevirtual
GetValue() constListValue
ListValue()ListValue
operator std::vector< Value * >() constListValue
typeValueprotected
Value(DATA_TYPE type)Valueprotected
~ListValue() overrideListValue
~Value()Valueinlinevirtual
- - - - diff --git a/docs/classListValue.html b/docs/classListValue.html deleted file mode 100644 index a935940..0000000 --- a/docs/classListValue.html +++ /dev/null @@ -1,605 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: ListValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
ListValue Class Reference
-
-
- -

Specializations for list values (uses std::vector<Value*>) - More...

- -

#include <ListValue.h>

-
-Inheritance diagram for ListValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for ListValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 ListValue ()
 
 ~ListValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
void AddValue (const Value *value)
 Will add this value to the list. More...
 
const std::vector< Value * > & GetValue () const
 Will return the raw value. More...
 
 operator std::vector< Value * > () const
 
long long int GetInt64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
int GetInt32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
long double GetFloat64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
double GetFloat32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
std::string GetString () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
const std::vector< Value * > & GetList () const override
 Will return this values list. More...
 
- Public Member Functions inherited from Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for list values (uses std::vector<Value*>)

- -

Definition at line 7 of file ListValue.h.

-

Constructor & Destructor Documentation

- -

◆ ListValue()

- -
-
- - - - - - - -
ListValue::ListValue ()
-
- -

Definition at line 5 of file ListValue.cpp.

-
5  :
- -
7 {
-
8  return;
-
9 }
-
-
-
- -

◆ ~ListValue()

- -
-
- - - - - -
- - - - - - - -
ListValue::~ListValue ()
-
-override
-
- -

Definition at line 11 of file ListValue.cpp.

-
12 {
-
13  for (Value* val : value)
-
14  delete val;
-
15 
-
16  value.clear();
-
17 
-
18  return;
-
19 }
-
-
-
-

Member Function Documentation

- -

◆ AddValue()

- -
-
- - - - - - - - -
void ListValue::AddValue (const Valuevalue)
-
- -

Will add this value to the list.

- -

Definition at line 31 of file ListValue.cpp.

-
32 {
-
33  this->value.emplace_back(value->Deepcopy());
-
34  return;
-
35 }
-
-
-
- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * ListValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Value.

- -

Definition at line 21 of file ListValue.cpp.

-
22 {
-
23  ListValue* newList = new ListValue();
-
24 
-
25  for (const Value* val : value)
-
26  newList->AddValue(val);
-
27 
-
28  return newList;
-
29 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string ListValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Value.

- -

Definition at line 42 of file ListValue.cpp.

-
43 {
-
44  std::stringstream ss;
-
45 
-
46  ss << "ListValue: [";
-
47 
-
48  for (const Value* val : value)
-
49  {
-
50  ss << *val;
-
51  if (val != value.back())
-
52  ss << ", ";
-
53  }
-
54 
-
55  ss << "]";
-
56 
-
57  return ss.str();
-
58 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double ListValue::GetFloat32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 82 of file ListValue.cpp.

-
83 {
- -
85 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double ListValue::GetFloat64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 77 of file ListValue.cpp.

-
78 {
- -
80 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int ListValue::GetInt32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 72 of file ListValue.cpp.

-
73 {
- -
75 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int ListValue::GetInt64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 67 of file ListValue.cpp.

-
68 {
- -
70 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & ListValue::GetList () const
-
-overridevirtual
-
- -

Will return this values list.

- -

Implements Value.

- -

Definition at line 92 of file ListValue.cpp.

-
93 {
-
94  return value;
-
95 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string ListValue::GetString () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 87 of file ListValue.cpp.

-
88 {
- -
90 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const std::vector< Value * > & ListValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 37 of file ListValue.cpp.

-
38 {
-
39  return value;
-
40 }
-
-
-
- -

◆ operator std::vector< Value * >()

- -
-
- - - - - - - -
ListValue::operator std::vector< Value * > () const
-
- -

Definition at line 60 of file ListValue.cpp.

-
61 {
-
62  return value;
-
63 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
ListValue::AddValue
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:31
-
ListValue
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:7
-
DATA_TYPE::LIST
@ LIST
-
ListValue::ListValue
ListValue()
Definition: ListValue.cpp:5
-
Value
Abstract class for values.
Definition: Value.h:8
-
Value::Deepcopy
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
-
HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:33
-
Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:3
- - - - diff --git a/docs/classListValue__coll__graph.map b/docs/classListValue__coll__graph.map deleted file mode 100644 index 1053ad5..0000000 --- a/docs/classListValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classListValue__coll__graph.md5 b/docs/classListValue__coll__graph.md5 deleted file mode 100644 index e3af863..0000000 --- a/docs/classListValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7d4215aa276a9b6216eeee2d4500b5d1 \ No newline at end of file diff --git a/docs/classListValue__coll__graph.png b/docs/classListValue__coll__graph.png deleted file mode 100644 index cc8b727..0000000 Binary files a/docs/classListValue__coll__graph.png and /dev/null differ diff --git a/docs/classListValue__inherit__graph.map b/docs/classListValue__inherit__graph.map deleted file mode 100644 index 1053ad5..0000000 --- a/docs/classListValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classListValue__inherit__graph.md5 b/docs/classListValue__inherit__graph.md5 deleted file mode 100644 index e3af863..0000000 --- a/docs/classListValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7d4215aa276a9b6216eeee2d4500b5d1 \ No newline at end of file diff --git a/docs/classListValue__inherit__graph.png b/docs/classListValue__inherit__graph.png deleted file mode 100644 index cc8b727..0000000 Binary files a/docs/classListValue__inherit__graph.png and /dev/null differ diff --git a/docs/classParameter-members.html b/docs/classParameter-members.html deleted file mode 100644 index 9f9b58b..0000000 --- a/docs/classParameter-members.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Parameter Member List
-
-
- -

This is the complete list of members for Parameter, including all inherited members.

- - - - - - -
GetValue() constParameter
Key() constParameter
operator<<(std::ostream &os, const Parameter &p)Parameterfriend
Parameter(const std::string &key, const Value *value)Parameterexplicit
~Parameter()Parameter
- - - - diff --git a/docs/classParameter.html b/docs/classParameter.html deleted file mode 100644 index 8782b5e..0000000 --- a/docs/classParameter.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Parameter Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -Friends | -List of all members
-
-
Parameter Class Reference
-
-
- -

#include <Parameter.h>

- - - - - - - - - - - - -

-Public Member Functions

 Parameter (const std::string &key, const Value *value)
 
 ~Parameter ()
 
const std::string & Key () const
 Will return the key of this parameter. More...
 
const ValueGetValue () const
 Will return the value of this parameter. More...
 
- - - -

-Friends

std::ostream & operator<< (std::ostream &os, const Parameter &p)
 
-

Detailed Description

-
-

Definition at line 6 of file Parameter.h.

-

Constructor & Destructor Documentation

- -

◆ Parameter()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Parameter::Parameter (const std::string & key,
const Valuevalue 
)
-
-explicit
-
- -

Definition at line 3 of file Parameter.cpp.

-
4  :
-
5  key{ key }
-
6 {
-
7  this->value = value->Deepcopy();
-
8  return;
-
9 }
-
-
-
- -

◆ ~Parameter()

- -
-
- - - - - - - -
Parameter::~Parameter ()
-
- -

Definition at line 11 of file Parameter.cpp.

-
12 {
-
13  delete value;
-
14  value = nullptr;
-
15 
-
16  return;
-
17 }
-
-
-
-

Member Function Documentation

- -

◆ GetValue()

- -
-
- - - - - - - -
const ::Value * Parameter::GetValue () const
-
- -

Will return the value of this parameter.

- -

Definition at line 24 of file Parameter.cpp.

-
25 {
-
26  return value;
-
27 }
-
-
-
- -

◆ Key()

- -
-
- - - - - - - -
const std::string & Parameter::Key () const
-
- -

Will return the key of this parameter.

- -

Definition at line 19 of file Parameter.cpp.

-
20 {
-
21  return key;
-
22 }
-
-
-
-

Friends And Related Function Documentation

- -

◆ operator<<

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::ostream& operator<< (std::ostream & os,
const Parameterp 
)
-
-friend
-
- -

Definition at line 18 of file Parameter.h.

-
19  {
-
20  return os << "{ Key: \"" << p.key << "\" -> " << *p.value << " }";
-
21  }
-
-
-
-
The documentation for this class was generated from the following files: -
-
Value::Deepcopy
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
- - - - diff --git a/docs/classStringTools-members.html b/docs/classStringTools-members.html deleted file mode 100644 index 5d5bb3a..0000000 --- a/docs/classStringTools-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
StringTools Member List
-
-
- -

This is the complete list of members for StringTools, including all inherited members.

- - - - - - - - - -
Contains(const std::string &str, const char c)StringToolsstatic
IsNumeric(const std::string &str, const bool allowDecimalPoint=false)StringToolsstatic
ParseNumber(const std::string &str, bool &out_isInt, long double &out_number)StringToolsstatic
Replace(const std::string &str, const char find, const std::string &subst)StringToolsstatic
Replace(const std::string &str, const std::string &find, const std::string &subst)StringToolsstatic
SplitString(const std::string &str, const char delimiter)StringToolsstatic
SplitString(const std::string &str, const std::string &delimiter)StringToolsstatic
ToLower(const std::string &str)StringToolsstatic
- - - - diff --git a/docs/classStringTools.html b/docs/classStringTools.html deleted file mode 100644 index 7b961af..0000000 --- a/docs/classStringTools.html +++ /dev/null @@ -1,630 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: StringTools Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Static Public Member Functions | -List of all members
-
-
StringTools Class Reference
-
-
- -

Internal helper class. - More...

- -

#include <StringTools.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Static Public Member Functions

static bool Contains (const std::string &str, const char c)
 Will return wether or not a given char is in a string. More...
 
static std::string Replace (const std::string &str, const char find, const std::string &subst)
 Will replace a part of a string with another string. More...
 
static std::string Replace (const std::string &str, const std::string &find, const std::string &subst)
 Will replace a part of a string with another string. More...
 
static bool IsNumeric (const std::string &str, const bool allowDecimalPoint=false)
 Will return true if the given string consists only of digits (including signage) More...
 
static bool ParseNumber (const std::string &str, bool &out_isInt, long double &out_number)
 Will convert the number in str to a number. More...
 
static std::vector< std::string > SplitString (const std::string &str, const char delimiter)
 Will split a string by a delimiter char. The delimiter will be excluded! More...
 
static std::vector< std::string > SplitString (const std::string &str, const std::string &delimiter)
 Will split a string by a delimiter string. The delimiter will be excluded! More...
 
static std::string ToLower (const std::string &str)
 Will make a string all lower-case. More...
 
-

Detailed Description

-

Internal helper class.

-

Feel free to use it tho.

- -

Definition at line 9 of file StringTools.h.

-

Member Function Documentation

- -

◆ Contains()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool StringTools::Contains (const std::string & str,
const char c 
)
-
-static
-
- -

Will return wether or not a given char is in a string.

- -

Definition at line 3 of file StringTools.cpp.

-
4 {
-
5  for (const char& i : str)
-
6  if (i == c)
-
7  return true;
-
8 
-
9  return false;
-
10 }
-
-
-
- -

◆ IsNumeric()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool StringTools::IsNumeric (const std::string & str,
const bool allowDecimalPoint = false 
)
-
-static
-
- -

Will return true if the given string consists only of digits (including signage)

- -

Definition at line 54 of file StringTools.cpp.

-
55 {
-
56  if (str.length() == 0) return false;
-
57 
-
58  bool alreadyParsedDecimalPoint = false;
-
59  std::size_t digitCount = 0;
-
60 
-
61  for (std::size_t i = 0; i < str.length(); i++)
-
62  {
-
63  if (!(
-
64  ((str[i] >= '0') && (str[i] <= '9')) ||
-
65  ((str[i] == '-') && (i == 0)) ||
-
66  ((str[i] == '.') && (allowDecimalPoint) && (!alreadyParsedDecimalPoint) && (digitCount > 0))
-
67  )) return false;
-
68 
-
69 
-
70  // Here we just have to check for the character. Not for any other conditions.
-
71  // Why? Because if these conditions failed, the function would have already returned false.
-
72  if (((str[i] >= '0') && (str[i] <= '9'))) digitCount++;
-
73  if (str[i] == '.') alreadyParsedDecimalPoint = true;
-
74  }
-
75 
-
76  // Even if we did not find any invalid chars, we should still return false, if we found no digits at all.
-
77  return digitCount > 0;
-
78 }
-
-
-
- -

◆ ParseNumber()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool StringTools::ParseNumber (const std::string & str,
bool & out_isInt,
long double & out_number 
)
-
-static
-
- -

Will convert the number in str to a number.

-


- Returns wether or not the operation was successful.
- Also returns wether the number is an integer, or floating point. If int, cast out_number to int.

- -

Definition at line 80 of file StringTools.cpp.

-
81 {
-
82  bool isDecimal = false;
-
83 
-
84  if (str.length() == 0) return false;
-
85  if (Contains(str, '.')) isDecimal = true;
-
86 
-
87  if (isDecimal)
-
88  {
-
89  try
-
90  {
-
91  out_number = std::stold(str);
-
92  out_isInt = false;
-
93  }
-
94  catch (std::invalid_argument&)
-
95  {
-
96  return false;
-
97  }
-
98  catch (std::out_of_range&)
-
99  {
-
100  return false;
-
101  }
-
102  }
-
103  else
-
104  {
-
105  try
-
106  {
-
107  out_number = (long double)std::stoll(str);
-
108  out_isInt = true;
-
109  }
-
110  catch (std::invalid_argument&)
-
111  {
-
112  return false;
-
113  }
-
114  catch (std::out_of_range&)
-
115  {
-
116  return false;
-
117  }
-
118  }
-
119 
-
120  return true;
-
121 }
-
-
-
- -

◆ Replace() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string StringTools::Replace (const std::string & str,
const char find,
const std::string & subst 
)
-
-static
-
- -

Will replace a part of a string with another string.

- -

Definition at line 12 of file StringTools.cpp.

-
13 {
-
14  std::stringstream ss;
-
15 
-
16  for (std::size_t i = 0; i < str.length(); i++)
-
17  {
-
18  if (str[i] != find) ss << str[i];
-
19  else ss << subst;
-
20  }
-
21 
-
22  return ss.str();
-
23 }
-
-
-
- -

◆ Replace() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string StringTools::Replace (const std::string & str,
const std::string & find,
const std::string & subst 
)
-
-static
-
- -

Will replace a part of a string with another string.

- -

Definition at line 25 of file StringTools.cpp.

-
26 {
-
27  if (find.length() == 0) return str;
-
28 
-
29  std::stringstream ss;
-
30 
-
31  std::size_t posFound = 0;
-
32  std::size_t lastFound = 0;
-
33 
-
34  while (posFound != std::string::npos)
-
35  {
-
36  lastFound = posFound;
-
37  posFound = str.find(find, posFound);
-
38 
-
39  if (posFound != std::string::npos)
-
40  {
-
41  ss << str.substr(lastFound, posFound - lastFound) << subst;
-
42  posFound += find.length();
-
43  }
-
44  else
-
45  {
-
46  ss << str.substr(lastFound, (str.length()) - lastFound);
-
47  }
-
48  }
-
49 
-
50  return ss.str();
-
51 }
-
-
-
- -

◆ SplitString() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::vector< std::string > StringTools::SplitString (const std::string & str,
const char delimiter 
)
-
-static
-
- -

Will split a string by a delimiter char. The delimiter will be excluded!

- -

Definition at line 123 of file StringTools.cpp.

-
124 {
-
125  if (str.length() == 0) return std::vector<std::string>();
-
126 
-
127  return SplitString(str, delimiter);
-
128 }
-
-
-
- -

◆ SplitString() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::vector< std::string > StringTools::SplitString (const std::string & str,
const std::string & delimiter 
)
-
-static
-
- -

Will split a string by a delimiter string. The delimiter will be excluded!

- -

Definition at line 130 of file StringTools.cpp.

-
131 {
-
132  if (str.length() == 0) return std::vector<std::string>();
-
133 
-
134  std::vector<std::string> parts;
-
135 
-
136  if (delimiter.length() == 0) // If the delimiter is "" (empty), just split between every single char. Not useful, but logical
-
137  {
-
138  for (std::size_t i = 0; i < str.length(); i++)
-
139  {
-
140  parts.push_back(std::string({ str[i] }));
-
141  }
-
142  return parts;
-
143  }
-
144 
-
145  std::size_t posFound = 0;
-
146  std::size_t lastFound = 0;
-
147 
-
148  while (posFound != std::string::npos)
-
149  {
-
150  lastFound = posFound;
-
151  posFound = str.find(delimiter, posFound);
-
152 
-
153  std::string found;
-
154 
-
155  if (posFound != std::string::npos)
-
156  {
-
157  found = str.substr(lastFound, posFound - lastFound);
-
158  posFound += delimiter.length();
-
159  }
-
160  else
-
161  {
-
162  found = str.substr(lastFound, str.length() - lastFound);
-
163  }
-
164 
-
165  parts.push_back(found);
-
166  }
-
167 
-
168  return parts;
-
169 }
-
-
-
- -

◆ ToLower()

- -
-
- - - - - -
- - - - - - - - -
std::string StringTools::ToLower (const std::string & str)
-
-static
-
- -

Will make a string all lower-case.

- -

Definition at line 171 of file StringTools.cpp.

-
172 {
-
173  std::stringstream ss;
-
174  for (std::size_t i = 0; i < str.length(); i++)
-
175  {
-
176  if ((str[i] >= 'A') && (str[i] <= 'Z')) ss << (char)(((int)str[i]) + 32);
-
177  else if (str[i] == -60) ss << (char)-28; // AE => ae
-
178  else if (str[i] == -42) ss << (char)-10; // OE => oe
-
179  else if (str[i] == -36) ss << (char)-4; // UE => ue
-
180  else ss << str[i];
-
181  }
-
182 
-
183  return ss.str();
-
184 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
StringTools::Contains
static bool Contains(const std::string &str, const char c)
Will return wether or not a given char is in a string.
Definition: StringTools.cpp:3
-
StringTools::SplitString
static std::vector< std::string > SplitString(const std::string &str, const char delimiter)
Will split a string by a delimiter char. The delimiter will be excluded!
Definition: StringTools.cpp:123
- - - - diff --git a/docs/classStringValue-members.html b/docs/classStringValue-members.html deleted file mode 100644 index 2f06bd7..0000000 --- a/docs/classStringValue-members.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
StringValue Member List
-
-
- -

This is the complete list of members for StringValue, including all inherited members.

- - - - - - - - - - - - - - - - - -
Deepcopy() const overrideStringValuevirtual
GetAsOsString() const overrideStringValuevirtual
GetDataType() constValue
GetFloat32() const overrideStringValuevirtual
GetFloat64() const overrideStringValuevirtual
GetInt32() const overrideStringValuevirtual
GetInt64() const overrideStringValuevirtual
GetList() const overrideStringValuevirtual
GetString() const overrideStringValuevirtual
GetValue() constStringValue
operator std::string() constStringValue
StringValue(const std::string &value)StringValue
typeValueprotected
Value(DATA_TYPE type)Valueprotected
~StringValue() overrideStringValueinline
~Value()Valueinlinevirtual
- - - - diff --git a/docs/classStringValue.html b/docs/classStringValue.html deleted file mode 100644 index 57ae1ac..0000000 --- a/docs/classStringValue.html +++ /dev/null @@ -1,551 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: StringValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
StringValue Class Reference
-
-
- -

Specializations for string values (uses std::string) - More...

- -

#include <StringValue.h>

-
-Inheritance diagram for StringValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for StringValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 StringValue (const std::string &value)
 
 ~StringValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
const std::string & GetValue () const
 Will return the raw value. More...
 
 operator std::string () const
 
long long int GetInt64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
int GetInt32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
long double GetFloat64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
double GetFloat32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
std::string GetString () const override
 Will return this value as a string. More...
 
const std::vector< Value * > & GetList () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for string values (uses std::string)

- -

Definition at line 7 of file StringValue.h.

-

Constructor & Destructor Documentation

- -

◆ StringValue()

- -
-
- - - - - - - - -
StringValue::StringValue (const std::string & value)
-
- -

Definition at line 5 of file StringValue.cpp.

-
6  :
- -
8  value { value }
-
9 {
-
10  return;
-
11 }
-
-
-
- -

◆ ~StringValue()

- -
-
- - - - - -
- - - - - - - -
StringValue::~StringValue ()
-
-inlineoverride
-
- -

Definition at line 11 of file StringValue.h.

-
11 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * StringValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Value.

- -

Definition at line 13 of file StringValue.cpp.

-
14 {
-
15  return new StringValue(value);
-
16 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string StringValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Value.

- -

Definition at line 18 of file StringValue.cpp.

-
19 {
-
20  std::stringstream ss;
-
21  ss << "StringValue: " << value;
-
22  return ss.str();
-
23 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double StringValue::GetFloat32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 52 of file StringValue.cpp.

-
53 {
- -
55 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double StringValue::GetFloat64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 47 of file StringValue.cpp.

-
48 {
- -
50 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int StringValue::GetInt32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 42 of file StringValue.cpp.

-
43 {
- -
45 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int StringValue::GetInt64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 37 of file StringValue.cpp.

-
38 {
- -
40 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & StringValue::GetList () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 62 of file StringValue.cpp.

-
63 {
- -
65 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string StringValue::GetString () const
-
-overridevirtual
-
- -

Will return this value as a string.

- -

Implements Value.

- -

Definition at line 57 of file StringValue.cpp.

-
58 {
-
59  return value;
-
60 }
-
-
-
- -

◆ GetValue()

- -
-
- - - - - - - -
const std::string & StringValue::GetValue () const
-
- -

Will return the raw value.

- -

Definition at line 25 of file StringValue.cpp.

-
26 {
-
27  return value;
-
28 }
-
-
-
- -

◆ operator std::string()

- -
-
- - - - - - - -
StringValue::operator std::string () const
-
- -

Definition at line 30 of file StringValue.cpp.

-
31 {
-
32  return value;
-
33 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:33
-
Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:3
-
StringValue::StringValue
StringValue(const std::string &value)
Definition: StringValue.cpp:5
-
DATA_TYPE::STRING
@ STRING
- - - - diff --git a/docs/classStringValue__coll__graph.map b/docs/classStringValue__coll__graph.map deleted file mode 100644 index d2b7fd3..0000000 --- a/docs/classStringValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classStringValue__coll__graph.md5 b/docs/classStringValue__coll__graph.md5 deleted file mode 100644 index 8d0e42c..0000000 --- a/docs/classStringValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -22c37eb3e53210c1533895d69c2ccfe0 \ No newline at end of file diff --git a/docs/classStringValue__coll__graph.png b/docs/classStringValue__coll__graph.png deleted file mode 100644 index dda135c..0000000 Binary files a/docs/classStringValue__coll__graph.png and /dev/null differ diff --git a/docs/classStringValue__inherit__graph.map b/docs/classStringValue__inherit__graph.map deleted file mode 100644 index d2b7fd3..0000000 --- a/docs/classStringValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classStringValue__inherit__graph.md5 b/docs/classStringValue__inherit__graph.md5 deleted file mode 100644 index 8d0e42c..0000000 --- a/docs/classStringValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -22c37eb3e53210c1533895d69c2ccfe0 \ No newline at end of file diff --git a/docs/classStringValue__inherit__graph.png b/docs/classStringValue__inherit__graph.png deleted file mode 100644 index dda135c..0000000 Binary files a/docs/classStringValue__inherit__graph.png and /dev/null differ diff --git a/docs/classValue-members.html b/docs/classValue-members.html deleted file mode 100644 index 0a363f8..0000000 --- a/docs/classValue-members.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Value Member List
-
-
- -

This is the complete list of members for Value, including all inherited members.

- - - - - - - - - - - - - - -
Deepcopy() const =0Valuepure virtual
GetAsOsString() const =0Valuepure virtual
GetDataType() constValue
GetFloat32() const =0Valuepure virtual
GetFloat64() const =0Valuepure virtual
GetInt32() const =0Valuepure virtual
GetInt64() const =0Valuepure virtual
GetList() const =0Valuepure virtual
GetString() const =0Valuepure virtual
operator<<(std::ostream &os, const Value &v)Valuefriend
typeValueprotected
Value(DATA_TYPE type)Valueprotected
~Value()Valueinlinevirtual
- - - - diff --git a/docs/classValue.html b/docs/classValue.html deleted file mode 100644 index 3e7e312..0000000 --- a/docs/classValue.html +++ /dev/null @@ -1,553 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Value Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -Protected Member Functions | -Protected Attributes | -Friends | -List of all members
-
-
Value Class Referenceabstract
-
-
- -

Abstract class for values. - More...

- -

#include <Value.h>

-
-Inheritance diagram for Value:
-
-
Inheritance graph
- - - - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

virtual ~Value ()
 
virtual ValueDeepcopy () const =0
 Will return a deeopopy of this object. More...
 
virtual std::string GetAsOsString () const =0
 Will return a string suitable for an std::ostream. More...
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
virtual long long int GetInt64 () const =0
 Will attempt to return the integer data (long long) More...
 
virtual int GetInt32 () const =0
 Will attempt to return the integer data (int) More...
 
virtual long double GetFloat64 () const =0
 Will attempt to return the floating-point data (long double) More...
 
virtual double GetFloat32 () const =0
 Will attempt to return the floating-point data (double) More...
 
virtual std::string GetString () const =0
 Will attempt to return the string-data. More...
 
virtual const std::vector< Value * > & GetList () const =0
 Will attempt to return the list-data. More...
 
- - - -

-Protected Member Functions

 Value (DATA_TYPE type)
 
- - - -

-Protected Attributes

DATA_TYPE type
 
- - - -

-Friends

std::ostream & operator<< (std::ostream &os, const Value &v)
 
-

Detailed Description

-

Abstract class for values.

- -

Definition at line 8 of file Value.h.

-

Constructor & Destructor Documentation

- -

◆ ~Value()

- -
-
- - - - - -
- - - - - - - -
virtual Value::~Value ()
-
-inlinevirtual
-
- -

Definition at line 11 of file Value.h.

-
11 {};
-
-
-
- -

◆ Value()

- -
-
- - - - - -
- - - - - - - - -
Value::Value (DATA_TYPE type)
-
-protected
-
- -

Definition at line 3 of file Value.cpp.

-
4  :
-
5  type{ type }
-
6 {
-
7  return;
-
8 }
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
virtual Value* Value::Deepcopy () const
-
-pure virtual
-
- -

Will return a deeopopy of this object.

- -

Implemented in FloatValue, ListValue, StringValue, IntValue, and VoidValue.

- -
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
virtual std::string Value::GetAsOsString () const
-
-pure virtual
-
- -

Will return a string suitable for an std::ostream.

- -

Implemented in FloatValue, ListValue, StringValue, IntValue, and VoidValue.

- -
-
- -

◆ GetDataType()

- -
-
- - - - - - - -
DATA_TYPE Value::GetDataType () const
-
- -

Will return the data type of this value.

- -

Definition at line 10 of file Value.cpp.

-
11 {
-
12  return type;
-
13 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
virtual double Value::GetFloat32 () const
-
-pure virtual
-
- -

Will attempt to return the floating-point data (double)

- -

Implemented in ListValue, FloatValue, IntValue, StringValue, and VoidValue.

- -
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
virtual long double Value::GetFloat64 () const
-
-pure virtual
-
- -

Will attempt to return the floating-point data (long double)

- -

Implemented in ListValue, FloatValue, IntValue, StringValue, and VoidValue.

- -
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
virtual int Value::GetInt32 () const
-
-pure virtual
-
- -

Will attempt to return the integer data (int)

- -

Implemented in ListValue, FloatValue, IntValue, StringValue, and VoidValue.

- -
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
virtual long long int Value::GetInt64 () const
-
-pure virtual
-
- -

Will attempt to return the integer data (long long)

- -

Implemented in ListValue, FloatValue, IntValue, StringValue, and VoidValue.

- -
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
virtual const std::vector<Value*>& Value::GetList () const
-
-pure virtual
-
- -

Will attempt to return the list-data.

- -

Implemented in ListValue, FloatValue, IntValue, StringValue, and VoidValue.

- -
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
virtual std::string Value::GetString () const
-
-pure virtual
-
- -

Will attempt to return the string-data.

- -

Implemented in ListValue, FloatValue, IntValue, StringValue, and VoidValue.

- -
-
-

Friends And Related Function Documentation

- -

◆ operator<<

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
std::ostream& operator<< (std::ostream & os,
const Valuev 
)
-
-friend
-
- -

Definition at line 22 of file Value.h.

-
23  {
-
24  return os << v.GetAsOsString();
-
25  }
-
-
-
-

Member Data Documentation

- -

◆ type

- -
-
- - - - - -
- - - - -
DATA_TYPE Value::type
-
-protected
-
- -

Definition at line 46 of file Value.h.

- -
-
-
The documentation for this class was generated from the following files: -
-
Value::type
DATA_TYPE type
Definition: Value.h:46
-
Value::GetAsOsString
virtual std::string GetAsOsString() const =0
Will return a string suitable for an std::ostream.
- - - - diff --git a/docs/classValue__inherit__graph.map b/docs/classValue__inherit__graph.map deleted file mode 100644 index 21e25b5..0000000 --- a/docs/classValue__inherit__graph.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/classValue__inherit__graph.md5 b/docs/classValue__inherit__graph.md5 deleted file mode 100644 index 003a4ef..0000000 --- a/docs/classValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -77b1f35d4bc0222204841b7253e3c0c7 \ No newline at end of file diff --git a/docs/classValue__inherit__graph.png b/docs/classValue__inherit__graph.png deleted file mode 100644 index 110109e..0000000 Binary files a/docs/classValue__inherit__graph.png and /dev/null differ diff --git a/docs/classVoidValue-members.html b/docs/classVoidValue-members.html deleted file mode 100644 index b30b9b0..0000000 --- a/docs/classVoidValue-members.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
VoidValue Member List
-
-
- -

This is the complete list of members for VoidValue, including all inherited members.

- - - - - - - - - - - - - - - -
Deepcopy() const overrideVoidValuevirtual
GetAsOsString() const overrideVoidValuevirtual
GetDataType() constValue
GetFloat32() const overrideVoidValuevirtual
GetFloat64() const overrideVoidValuevirtual
GetInt32() const overrideVoidValuevirtual
GetInt64() const overrideVoidValuevirtual
GetList() constVoidValuevirtual
GetString() const overrideVoidValuevirtual
typeValueprotected
Value(DATA_TYPE type)Valueprotected
VoidValue()VoidValue
~Value()Valueinlinevirtual
~VoidValue() overrideVoidValueinline
- - - - diff --git a/docs/classVoidValue.html b/docs/classVoidValue.html deleted file mode 100644 index 0ae229b..0000000 --- a/docs/classVoidValue.html +++ /dev/null @@ -1,497 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: VoidValue Class Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-Public Member Functions | -List of all members
-
-
VoidValue Class Reference
-
-
- -

Specializations for void values. - More...

- -

#include <VoidValue.h>

-
-Inheritance diagram for VoidValue:
-
-
Inheritance graph
- - - - -
[legend]
-
-Collaboration diagram for VoidValue:
-
-
Collaboration graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 VoidValue ()
 
 ~VoidValue () override
 
ValueDeepcopy () const override
 Will return a deeopopy of this object. More...
 
std::string GetAsOsString () const override
 Will return a string suitable for an std::ostream;. More...
 
long long int GetInt64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
int GetInt32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
long double GetFloat64 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
double GetFloat32 () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
std::string GetString () const override
 Throws HazelnuppValueNotConvertibleException. More...
 
const std::vector< Value * > & GetList () const
 Throws HazelnuppValueNotConvertibleException. More...
 
- Public Member Functions inherited from Value
virtual ~Value ()
 
DATA_TYPE GetDataType () const
 Will return the data type of this value. More...
 
- - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from Value
 Value (DATA_TYPE type)
 
- Protected Attributes inherited from Value
DATA_TYPE type
 
-

Detailed Description

-

Specializations for void values.

-

These house no value whatsoever, but only communicate information by merely existing.

- -

Definition at line 6 of file VoidValue.h.

-

Constructor & Destructor Documentation

- -

◆ VoidValue()

- -
-
- - - - - - - -
VoidValue::VoidValue ()
-
- -

Definition at line 4 of file VoidValue.cpp.

-
5  :
- -
7 {
-
8  return;
-
9 }
-
-
-
- -

◆ ~VoidValue()

- -
-
- - - - - -
- - - - - - - -
VoidValue::~VoidValue ()
-
-inlineoverride
-
- -

Definition at line 10 of file VoidValue.h.

-
10 {};
-
-
-
-

Member Function Documentation

- -

◆ Deepcopy()

- -
-
- - - - - -
- - - - - - - -
Value * VoidValue::Deepcopy () const
-
-overridevirtual
-
- -

Will return a deeopopy of this object.

- -

Implements Value.

- -

Definition at line 11 of file VoidValue.cpp.

-
12 {
-
13  return new VoidValue();
-
14 }
-
-
-
- -

◆ GetAsOsString()

- -
-
- - - - - -
- - - - - - - -
std::string VoidValue::GetAsOsString () const
-
-overridevirtual
-
- -

Will return a string suitable for an std::ostream;.

- -

Implements Value.

- -

Definition at line 16 of file VoidValue.cpp.

-
17 {
-
18  return "VoidValue";
-
19 }
-
-
-
- -

◆ GetFloat32()

- -
-
- - - - - -
- - - - - - - -
double VoidValue::GetFloat32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 38 of file VoidValue.cpp.

-
39 {
- -
41 }
-
-
-
- -

◆ GetFloat64()

- -
-
- - - - - -
- - - - - - - -
long double VoidValue::GetFloat64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 33 of file VoidValue.cpp.

-
34 {
- -
36 }
-
-
-
- -

◆ GetInt32()

- -
-
- - - - - -
- - - - - - - -
int VoidValue::GetInt32 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 28 of file VoidValue.cpp.

-
29 {
- -
31 }
-
-
-
- -

◆ GetInt64()

- -
-
- - - - - -
- - - - - - - -
long long int VoidValue::GetInt64 () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 23 of file VoidValue.cpp.

-
24 {
- -
26 }
-
-
-
- -

◆ GetList()

- -
-
- - - - - -
- - - - - - - -
const std::vector< Value * > & VoidValue::GetList () const
-
-virtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 48 of file VoidValue.cpp.

-
49 {
- -
51 }
-
-
-
- -

◆ GetString()

- -
-
- - - - - -
- - - - - - - -
std::string VoidValue::GetString () const
-
-overridevirtual
-
- -

Throws HazelnuppValueNotConvertibleException.

- -

Implements Value.

- -

Definition at line 43 of file VoidValue.cpp.

-
44 {
- -
46 }
-
-
-
-
The documentation for this class was generated from the following files: -
-
DATA_TYPE::VOID
@ VOID
-
VoidValue::VoidValue
VoidValue()
Definition: VoidValue.cpp:4
-
HazelnuppValueNotConvertibleException
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
Definition: HazelnuppException.h:33
-
Value::Value
Value(DATA_TYPE type)
Definition: Value.cpp:3
- - - - diff --git a/docs/classVoidValue__coll__graph.map b/docs/classVoidValue__coll__graph.map deleted file mode 100644 index f9c9a0e..0000000 --- a/docs/classVoidValue__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classVoidValue__coll__graph.md5 b/docs/classVoidValue__coll__graph.md5 deleted file mode 100644 index 8bca56a..0000000 --- a/docs/classVoidValue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -49110319ff8617406aa3f422d40aa923 \ No newline at end of file diff --git a/docs/classVoidValue__coll__graph.png b/docs/classVoidValue__coll__graph.png deleted file mode 100644 index abb7ae4..0000000 Binary files a/docs/classVoidValue__coll__graph.png and /dev/null differ diff --git a/docs/classVoidValue__inherit__graph.map b/docs/classVoidValue__inherit__graph.map deleted file mode 100644 index f9c9a0e..0000000 --- a/docs/classVoidValue__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classVoidValue__inherit__graph.md5 b/docs/classVoidValue__inherit__graph.md5 deleted file mode 100644 index 8bca56a..0000000 --- a/docs/classVoidValue__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -49110319ff8617406aa3f422d40aa923 \ No newline at end of file diff --git a/docs/classVoidValue__inherit__graph.png b/docs/classVoidValue__inherit__graph.png deleted file mode 100644 index abb7ae4..0000000 Binary files a/docs/classVoidValue__inherit__graph.png and /dev/null differ diff --git a/docs/classes.html b/docs/classes.html deleted file mode 100644 index 2f8a6cc..0000000 --- a/docs/classes.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Index - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Index
-
-
-
c | f | h | i | l | p | s | v
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  c  
-
HazelnuppConstraintIncompatibleParameters (Hazelnp)   
  l  
-
  s  
-
VoidValue (Hazelnp)   
HazelnuppConstraintMissingValue (Hazelnp)   
CmdArgsInterface (Hazelnp)   HazelnuppConstraintTypeMissmatch (Hazelnp)   ListValue (Hazelnp)   StringTools (Hazelnp::Internal)   
  f  
-
HazelnuppException (Hazelnp)   
  p  
-
StringValue (Hazelnp)   
HazelnuppInvalidKeyException (Hazelnp)   
  v  
-
FloatValue (Hazelnp)   HazelnuppValueNotConvertibleException (Hazelnp)   ParamConstraint (Hazelnp)   
  h  
-
  i  
-
Parameter (Hazelnp)   Value (Hazelnp)   
HazelnuppConstraintException (Hazelnp)   IntValue (Hazelnp)   
-
c | f | h | i | l | p | s | v
-
- - - - diff --git a/docs/closed.png b/docs/closed.png deleted file mode 100644 index 3ff4431..0000000 Binary files a/docs/closed.png and /dev/null differ diff --git a/docs/dir_000003_000000.html b/docs/dir_000003_000000.html deleted file mode 100644 index 1ffa3dc..0000000 --- a/docs/dir_000003_000000.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp -> Hazelnupp Relation - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-

Test_Hazelnupp → Hazelnupp Relation

File in Test_HazelnuppIncludes file in Hazelnupp
Abbreviations.cppHazelnupp.h
Basics.cppHazelnupp.h
Basics.cppHazelnuppException.h
Constraints.cppHazelnupp.h
Constraints.cppHazelnuppException.h
Conversion.cppHazelnupp.h
Conversion.cppHazelnuppException.h
- - - - diff --git a/docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html b/docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html deleted file mode 100644 index bd72d8c..0000000 --- a/docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Hazelnupp Directory Reference
-
-
- - - - - - -

-Directories

directory  Debug
 
directory  Release
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  CmdArgsInterface.cpp [code]
 
file  CmdArgsInterface.h [code]
 
file  DataType.h [code]
 
file  FloatValue.cpp [code]
 
file  FloatValue.h [code]
 
file  HazelnuppException.h [code]
 
file  IntValue.cpp [code]
 
file  IntValue.h [code]
 
file  ListValue.cpp [code]
 
file  ListValue.h [code]
 
file  ParamConstraint.h [code]
 
file  Parameter.cpp [code]
 
file  Parameter.h [code]
 
file  Placeholders.h [code]
 
file  StringTools.cpp [code]
 
file  StringTools.h [code]
 
file  StringValue.cpp [code]
 
file  StringValue.h [code]
 
file  Value.cpp [code]
 
file  Value.h [code]
 
file  Version.h [code]
 
file  VoidValue.cpp [code]
 
file  VoidValue.h [code]
 
-
- - - - diff --git a/docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html b/docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html deleted file mode 100644 index 2ad44d1..0000000 --- a/docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Release Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Release Directory Reference
-
-
-
- - - - diff --git a/docs/dir_0cc5f59b28c403d42cc56800132eb975.html b/docs/dir_0cc5f59b28c403d42cc56800132eb975.html deleted file mode 100644 index a9e07d5..0000000 --- a/docs/dir_0cc5f59b28c403d42cc56800132eb975.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Debug Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Debug Directory Reference
-
-
-
- - - - diff --git a/docs/dir_1148ebc2b25b55095aebf6f4cbb6efca.html b/docs/dir_1148ebc2b25b55095aebf6f4cbb6efca.html deleted file mode 100644 index ec1a133..0000000 --- a/docs/dir_1148ebc2b25b55095aebf6f4cbb6efca.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Doxygen Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Doxygen Directory Reference
-
-
-
- - - - diff --git a/docs/dir_5c0eadceca12ef8285078e2e738769ee.html b/docs/dir_5c0eadceca12ef8285078e2e738769ee.html deleted file mode 100644 index 2e6c637..0000000 --- a/docs/dir_5c0eadceca12ef8285078e2e738769ee.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/Debug Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Debug Directory Reference
-
-
-
- - - - diff --git a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492.html b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492.html deleted file mode 100644 index 9f333a8..0000000 --- a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Test_Hazelnupp Directory Reference
-
-
-
-Directory dependency graph for Test_Hazelnupp:
-
-
Test_Hazelnupp
- - - - - - - -
- - - - - - -

-Directories

directory  Debug
 
directory  Release
 
- - - - - - - - - - - -

-Files

file  Abbreviations.cpp [code]
 
file  Basics.cpp [code]
 
file  Constraints.cpp [code]
 
file  Conversion.cpp [code]
 
file  helper.h [code]
 
-
- - - - diff --git a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.map b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.map deleted file mode 100644 index 43702a4..0000000 --- a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 deleted file mode 100644 index 93c45c0..0000000 --- a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -39d561844e34e2a7e7b390ed90e30357 \ No newline at end of file diff --git a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.png b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.png deleted file mode 100644 index 670d84c..0000000 Binary files a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.png and /dev/null differ diff --git a/docs/dir_a8cffda729361e9d9637effa362fcea9.html b/docs/dir_a8cffda729361e9d9637effa362fcea9.html deleted file mode 100644 index f98b8a6..0000000 --- a/docs/dir_a8cffda729361e9d9637effa362fcea9.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/Release Directory Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Release Directory Reference
-
-
-
- - - - diff --git a/docs/doc.png b/docs/doc.png deleted file mode 100644 index 260aaf7..0000000 Binary files a/docs/doc.png and /dev/null differ diff --git a/docs/doxygen.css b/docs/doxygen.css deleted file mode 100644 index 2ba8ca9..0000000 --- a/docs/doxygen.css +++ /dev/null @@ -1,1771 +0,0 @@ -/* The standard CSS for doxygen 1.8.17 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #D3D7BD; - color: #A0A96F; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -th p.starttd, p.intertd, p.endtd { - font-size: 100%; - font-weight: 700; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -p.interli { -} - -p.interdd { -} - -p.intertd { -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #F8F9F5; - border: 1px solid #DEE1CD; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #A8B17C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #B3BB8D; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #DBDFC9; - color: #FFFFFF; - border: 1px double #D3D7BC; -} - -.contents a.qindexHL:visited { - color: #FFFFFF; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #B3BB8D; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #B3BB8D; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ -} - -#side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ -} - -#main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ -} - -.fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; -} - -pre.fragment { - border: 1px solid #EAECE0; - background-color: #FDFDFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FDFDFD; - border: 1px solid #EAECE0; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #F8F9F5; - font-weight: bold; - border: 1px solid #EAECE0; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #F8F9F5; - border: 1px solid #EAECE0; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #F9F9F6; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl, img.inline { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #FCFCFB; - border-left: 2px solid #DBDFC9; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #DBDFC9; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #DEE1CD; -} - -th.dirtab { - background: #F8F9F5; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #B7BE92; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #FDFDFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #F3F4EE; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight, .memTemplItemRight { - width: 100%; -} - -.memTemplParams { - color: #B3BB8D; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid #E0E3D0; - border-left: 1px solid #E0E3D0; - border-right: 1px solid #E0E3D0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #F5F6F0; - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #B3BB8D; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #F8F9F5; - border: 1px solid #DEE1CD; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #E0E3D0; - border-left: 1px solid #E0E3D0; - border-right: 1px solid #E0E3D0; - padding: 6px 0px 6px 0px; - color: #858F55; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #F4F5EE; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #E0E3D0; - border-left: 1px solid #E0E3D0; - border-right: 1px solid #E0E3D0; - padding: 6px 10px 2px 10px; - background-color: #FDFDFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #CAD0B0; - border-top:1px solid #BDC49B; - border-left:1px solid #BDC49B; - border-right:1px solid #EAECE0; - border-bottom:1px solid #EAECE0; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #DBDFC9; - border-bottom: 1px solid #DBDFC9; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #FCFCFB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #A8B17C; -} - -.arrow { - color: #DBDFC9; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #CAD0B0; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #909B5C; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #95A05F; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #A2AB73; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #E0E3D0; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #E0E3D0; - border-bottom: 1px solid #E0E3D0; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #E0E3D0; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #F5F6F0; - font-size: 90%; - color: #858F55; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #E0E3D0; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#D4D8BE; - border:solid 1px #E9ECDF; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#A0AA70; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #8C9659; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#C6CCA9; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#A0AA70; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #FDFDFC; - margin: 0px; - border-bottom: 1px solid #EAECE0; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - -dl { - padding: 0 0 0 0; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #BDC49B; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #D6DBC2; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#9CA66A; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #FBFBF9; - border: 1px solid #F1F3EB; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #B3BB8D; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -/* -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #95A05F; - padding: 3px 7px 2px; -} - -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #95A05F; - padding: 3px 7px 2px; -} - -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #A2AB73; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft { - text-align: left -} - -th.markdownTableHeadRight { - text-align: right -} - -th.markdownTableHeadCenter { - text-align: center -} -*/ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #95A05F; - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #A2AB73; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - -.DocNodeRTL { - text-align: right; - direction: rtl; -} - -.DocNodeLTR { - text-align: left; - direction: ltr; -} - -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; -} - -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; -} - -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; -} -/* @end */ - -u { - text-decoration: underline; -} - diff --git a/docs/doxygen.png b/docs/doxygen.png deleted file mode 100644 index bc0e10e..0000000 Binary files a/docs/doxygen.png and /dev/null differ diff --git a/docs/dynsections.js b/docs/dynsections.js deleted file mode 100644 index c8e84aa..0000000 --- a/docs/dynsections.js +++ /dev/null @@ -1,127 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - - -Leonetienne/Hazelnupp: File List - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
-
- - - - diff --git a/docs/folderclosed.png b/docs/folderclosed.png deleted file mode 100644 index 72913ae..0000000 Binary files a/docs/folderclosed.png and /dev/null differ diff --git a/docs/folderopen.png b/docs/folderopen.png deleted file mode 100644 index b85d251..0000000 Binary files a/docs/folderopen.png and /dev/null differ diff --git a/docs/functions.html b/docs/functions.html deleted file mode 100644 index f87e96a..0000000 --- a/docs/functions.html +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Members - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
- -

- a -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- k -

- - -

- l -

- - -

- m -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

- - -

- w -

- - -

- ~ -

-
- - - - diff --git a/docs/functions_func.html b/docs/functions_func.html deleted file mode 100644 index c778ffc..0000000 --- a/docs/functions_func.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Members - Functions - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- k -

- - -

- l -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

- - -

- w -

- - -

- ~ -

-
- - - - diff --git a/docs/functions_rela.html b/docs/functions_rela.html deleted file mode 100644 index ee8bdf0..0000000 --- a/docs/functions_rela.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Members - Related Functions - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/functions_vars.html b/docs/functions_vars.html deleted file mode 100644 index b8a2aea..0000000 --- a/docs/functions_vars.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Members - Variables - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/globals.html b/docs/globals.html deleted file mode 100644 index eccea3d..0000000 --- a/docs/globals.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: File Members - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
-
- - - - diff --git a/docs/globals_defs.html b/docs/globals_defs.html deleted file mode 100644 index 2412a02..0000000 --- a/docs/globals_defs.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: File Members - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/globals_enum.html b/docs/globals_enum.html deleted file mode 100644 index 28b08db..0000000 --- a/docs/globals_enum.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: File Members - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/globals_func.html b/docs/globals_func.html deleted file mode 100644 index f6eaa80..0000000 --- a/docs/globals_func.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: File Members - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/globals_type.html b/docs/globals_type.html deleted file mode 100644 index d524f11..0000000 --- a/docs/globals_type.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: File Members - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/graph_legend.html b/docs/graph_legend.html deleted file mode 100644 index 44dfbc2..0000000 --- a/docs/graph_legend.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Graph Legend - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Graph Legend
-
-
-

This page explains how to interpret the graphs that are generated by doxygen.

-

Consider the following example:

/*! Invisible class because of truncation */
-
class Invisible { };
-
-
/*! Truncated class, inheritance relation is hidden */
-
class Truncated : public Invisible { };
-
-
/* Class not documented with doxygen comments */
-
class Undocumented { };
-
-
/*! Class that is inherited using public inheritance */
-
class PublicBase : public Truncated { };
-
-
/*! A template class */
-
template<class T> class Templ { };
-
-
/*! Class that is inherited using protected inheritance */
-
class ProtectedBase { };
-
-
/*! Class that is inherited using private inheritance */
-
class PrivateBase { };
-
-
/*! Class that is used by the Inherited class */
-
class Used { };
-
-
/*! Super class that inherits a number of other classes */
-
class Inherited : public PublicBase,
-
protected ProtectedBase,
-
private PrivateBase,
-
public Undocumented,
-
public Templ<int>
-
{
-
private:
-
Used *m_usedClass;
-
};
-

This will result in the following graph:

-

The boxes in the above graph have the following meaning:

- -

The arrows have the following meaning:

- -
- - - - diff --git a/docs/graph_legend.md5 b/docs/graph_legend.md5 deleted file mode 100644 index 8fcdccd..0000000 --- a/docs/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file diff --git a/docs/graph_legend.png b/docs/graph_legend.png deleted file mode 100644 index 7e2cbcf..0000000 Binary files a/docs/graph_legend.png and /dev/null differ diff --git a/docs/helper_8h.html b/docs/helper_8h.html deleted file mode 100644 index c9c2151..0000000 --- a/docs/helper_8h.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/helper.h File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
helper.h File Reference
-
-
-
#include <vector>
-
-Include dependency graph for helper.h:
-
-
- - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Macros

#define C_Ify(vector)   vector.size(), vector.data()
 
- - - -

-Typedefs

typedef std::vector< const char * > ArgList
 
-

Macro Definition Documentation

- -

◆ C_Ify

- -
-
- - - - - - - - -
#define C_Ify( vector)   vector.size(), vector.data()
-
- -

Definition at line 4 of file helper.h.

- -
-
-

Typedef Documentation

- -

◆ ArgList

- -
-
- - - - -
typedef std::vector<const char*> ArgList
-
- -

Definition at line 6 of file helper.h.

- -
-
-
- - - - diff --git a/docs/helper_8h__dep__incl.map b/docs/helper_8h__dep__incl.map deleted file mode 100644 index 89aaa7e..0000000 --- a/docs/helper_8h__dep__incl.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/helper_8h__dep__incl.md5 b/docs/helper_8h__dep__incl.md5 deleted file mode 100644 index 426dd98..0000000 --- a/docs/helper_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1227db7e106ab3999edfad0e739912b2 \ No newline at end of file diff --git a/docs/helper_8h__dep__incl.png b/docs/helper_8h__dep__incl.png deleted file mode 100644 index 856b621..0000000 Binary files a/docs/helper_8h__dep__incl.png and /dev/null differ diff --git a/docs/helper_8h__incl.map b/docs/helper_8h__incl.map deleted file mode 100644 index 22e622e..0000000 --- a/docs/helper_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/helper_8h__incl.md5 b/docs/helper_8h__incl.md5 deleted file mode 100644 index e553760..0000000 --- a/docs/helper_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -259281a56cf33665dc686d86fe837a4d \ No newline at end of file diff --git a/docs/helper_8h__incl.png b/docs/helper_8h__incl.png deleted file mode 100644 index d2165c2..0000000 Binary files a/docs/helper_8h__incl.png and /dev/null differ diff --git a/docs/helper_8h_source.html b/docs/helper_8h_source.html deleted file mode 100644 index 3ca0786..0000000 --- a/docs/helper_8h_source.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Test_Hazelnupp/helper.h Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
helper.h
-
-
-Go to the documentation of this file.
1 #pragma once
-
2 #include <vector>
-
3 
-
4 #define C_Ify(vector) vector.size(), vector.data()
-
5 
-
6 typedef std::vector<const char*> ArgList;
-
-
std::vector< const char * > ArgList
Definition: helper.h:6
- - - - diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index 8b32ce0..0000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Hierarchy - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
-
-

Go to the graphical class hierarchy

-This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 1234]
- - - - - - - - - - - - - - - - - - -
 CHazelnp::CmdArgsInterfaceThe main class to interface with
 Cstd::exceptionSTL class
 CHazelnp::HazelnuppExceptionGeneric hazelnupp exception
 CHazelnp::HazelnuppConstraintExceptionGets thrown something bad happens because of parameter constraints
 CHazelnp::HazelnuppConstraintIncompatibleParametersGets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones
 CHazelnp::HazelnuppConstraintMissingValueGets thrown when a parameter constrained to be required is not provided, and has no default value set
 CHazelnp::HazelnuppConstraintTypeMissmatchGets thrown when a parameter is of a type that does not match the required type, and is not convertible to it
 CHazelnp::HazelnuppInvalidKeyExceptionGets thrown when an non-existent key gets dereferenced
 CHazelnp::HazelnuppValueNotConvertibleExceptionGets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible
 CHazelnp::ParamConstraint
 CHazelnp::Parameter
 CHazelnp::Internal::StringToolsInternal helper class
 CHazelnp::ValueAbstract class for values
 CHazelnp::FloatValueSpecializations for floating point values (uses long double)
 CHazelnp::IntValueSpecializations for integer values (uses long long int)
 CHazelnp::ListValueSpecializations for list values (uses std::vector<Value*>)
 CHazelnp::StringValueSpecializations for string values (uses std::string)
 CHazelnp::VoidValueSpecializations for void values
-
-
- - - - diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index c00fb8a..0000000 --- a/docs/index.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Hazelnupp
-
-
-

is a simple, easy to use command line parameter parser.
- Hazelnupp does not support windows-, or bsd-style arguments. Only linux-style.
-

-

What is the linux-style? This:

# Using a long parameter
-
$ a.out --long-parameter 1234
-
-
# Using an abbreviated parameter
-
$ a.out -lp 1234
-

-Note

-

These examples reference exceptions. These are not enabled by default. The default behaviour for user-fault exceptions is to produce output to stderr and kill the process.
- To enable exceptions, call this method:

CmdArgsInterface args;
-
args.SetCrashOnFail(false);
-

-Index

-
    -
  1. Importing into a project
  2. -
  3. What's the concept?
  4. -
  5. Minimal working example
  6. -
  7. Abbreviations
  8. -
  9. Constraints
  10. -
  11. Automatic parameter documentation
  12. -
  13. Descriptive error messages
  14. -
  15. More examples?
  16. -
  17. What is not supported?
  18. -
  19. Further notes
  20. -
  21. Contributing
  22. -
  23. LICENSE
  24. -
-

-

-Importing into a project

-
-

How do i actually import this into my existing project?

-
-

Super easily! Just grab the latest files (2) from /INCLUDE and put them into your project! You may have to add the .cpp to your compile list, but most IDEs should do this automatically.

-

-

-What's the concept?

-

The concept is that each parameter must be one of five types. These are:

    -
  • Void
  • -
  • Int
  • -
  • Float
  • -
  • String
  • -
  • List (non-recursive)
  • -
-

Here are examples on how to create them

# Void
-
$ a.out --foo
-
-
# Int
-
$ a.out --foo 5
-
-
# Float
-
$ a.out --foo 5.5
-
-
# String
-
$ a.out --foo peter
-
-
# List (any type above works, except void)
-
$ a.out --foo peter jake jeff billy
-
-
# List, mixed types
-
$ a.out --foo 1 2 3 4 peter willy billy bob 3
-

These parameters can then be accessed via a simple lookup!

-

-

-Minimal working example

-

So what's the simplest way to use Hazelnupp to work with command-line parameters? See:

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
-
CmdArgsInterface args(argc, argv);
-
-
if (args.HasParam("--force"))
-
// do forced
-
else
-
// be gentle
-
-
return 0;
-
}
-

Looks super easy! But what about actual values?

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
-
CmdArgsInterface args(argc, argv);
-
-
// Either check via HasParam(), or do a try-catch
-
try
-
{
-
int myInt = args["--my-int"].GetInt32();
-
double myFlt = args["--my-float"].GetFloat32();
-
std::string myStr = args["--my-string"].GetString();
-
}
- -
{
-
return -1;
-
}
-
-
return 0;
-
}
-

What about lists?

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
-
CmdArgsInterface args(argc, argv);
-
-
const auto& myList = args["--my-list"].GetList(); // std::vector<Value*>
-
-
for (const auto* it : myList)
-
{
-
// Should probably check for type-correctness with it->GetDataType()
-
std::cout << it->GetString() << std::endl;
-
}
-
-
return 0;
-
}
-

-

-Abbreviations

-

Abbreviations are a very important part of command line arguments. Like, typing -f instead of --force. Here's how to use them in Hazelnupp:

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
- -
-
// Register abbreviations
-
args.RegisterAbbreviation("-f", "--force");
-
-
// Parse
-
args.Parse(argc, argv);
-
-
if (args.HasParam("--force")) // This key will be present, even if the user passed '-f'
-
// do forced
-
else
-
// be gentle
-
-
return 0;
-
}
-

-

-Constraints

-
-

That's all cool and stuff, but this looks like a LOT of error-checking and not elegant at all! How would i actually use this?

-
-

For exactly this reason, there are constraints. With this, you can control what your data looks like! Constraints serve three main purposes:

-

-Requiring data

-

With ParamConstraint::Require() you can declare that a paramater must either always be present, or provide a default value.
-

    -
  • If a parameter is not present, but has a default value, it will be automatically created.
  • -
  • If a parameter is not present, and has no default value, the process will terminate with a descriptive error message.
  • -
-

Minimal working example:

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
- -
-
// Register constraints
-
args.RegisterConstraint("--this-is-required", ParamConstraint::Require()); // This missing throws an exception
-
args.RegisterConstraint("--also-required-but-defaulted", ParamConstraint::Require({"122"})); // This will default to 122
-
-
// Parse
-
args.Parse(argc, argv);
-
-
return 0;
-
}
-

-Type safety

-

With type safety you can always be certain that you are working with the correct type!
- By creating a type-constraint, you force Hazelnupp to use a certain type.
- If a supplied type does not match, but is convertible, it will be converted.
- If it is not convertible, the process will terminate with a descriptive error message.

-

These conversions are:

    -
  • int -> [float, string, list, void]
  • -
  • float ->[int, string, list, void]
  • -
  • string -> [list, void]
  • -
  • list -> [void]
  • -
  • void -> [list, string]
  • -
-

The conversions *->list just create a list with a single entry (except for void->list which produces an empty list).
- The *->void conversions just drop their value.
- void->string just produces an empty string.

-

Minimal working example:

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
- -
-
// Register constraints
- -
-
// Parse
-
args.Parse(argc, argv);
-
-
return 0;
-
}
-

If --this-must-be-int would be passed as a float, it would be converted to int. If it was passed, for example, as a string, it would throw an exception.

-

-Parameter incompatibilities

-

With parameter incompatibilities you can declare that certain parameters are just incompatible.
- If they get passed together, the process will terminate with a descriptive error message.

-

Minimal working example:

#include "Hazelnupp.h"
-
using namespace Hazelnp;
-
-
int main(int argc, char** argv)
-
{
- -
-
// Register constraints
-
-
// Register a single incompatibility
-
args.RegisterConstraint("--be-vegan", ParamConstraint::Incompatibility("--be-carnivore"));
-
-
// OR register a whole bunch of incompatibilities
- -
"--be-carnivore",
-
"--like-meat",
-
"--buy-meat",
-
"--grill-meat",
-
"--eat-meat"
-
}));
-
-
-
// Parse
-
args.Parse(argc, argv);
-
-
return 0;
-
}
-

-

Keep in mind that you can only register ONE constraint for each parameter! Adding another one will just overwrite the prior one. However, one constraint can do all three "types" at once if you daisychain them:

-
"--width",
-
ParamConstraint::Require() // Make this parameter mandatory
-
.AddTypeSafety(DATA_TYPE::FLOAT) // Force this param to be a float
-
.AddIncompatibilities({ "--antiwidth" }) // Make this param incompatible with '--antiwidth'
-
);
-

-

-Automatic parameter documentation

-

Hazelnupp does automatically create a parameter documentation, accessible via --help.
- If you want to use --help yourself, just turn it off.

CmdArgsInterface args;
-
args.SetCatchHelp(false);
-

What does this automatically generated documentation look like?

$ a.out --help
-
-
This is the testing application for Hazelnupp.
-
-
==== AVAILABLE PARAMETERS ====
-
-
--help This will display the parameter documentation.
-
-
--names LIST default=['peter' 'hannes'] The names to target
-
-
--force -f Just forces it.
-
-
--width -w FLOAT The width of something...
-
-
--fruit STRING [[REQUIRED]] The fruit to use
-
-
--height -h
-

This documentation is automatically fed by any information provided on parameters.
- You have to set the brief descriptions yourself though.

CmdArgsInterface args;
-
args.RegisterDescription("--force", "Just forces it.");
-

Additionally you can provide a brief description of your application to be added right above the parameter list.

CmdArgsInterface args;
-
args.SetBriefDescription("This is the testing application for Hazelnupp.");
-

If you want to display this information somewhere else, you can always access it as a string via args.GenerateDocumentation().

-

-

-Descriptive error messages

-

Given that you did not disable crash-on-error, Hazelnupps default behaviour on user error is to terminate the process with a descriptive error message to stderr.

-

Here's how they look like:

-

Type mismatch:

$ a.out --width "about 3 meters"
-
<< --help page gets printed here aswell >>
-
-
Parameter error: Cannot convert parameter --width to type FLOAT. You supplied type: VOID.
-
--width => The width of something...
-

Missing required parameter:

$ a.out"
-
<< --help page gets printed here aswell >>
-
-
Parameter error: Missing required parameter --width.
-
--width => The width of something...
-

This assumes that you've set a description for, in this example, --width. If a description is not set, the last line will simply be omitted.

-

-

-More examples?

-

Check out the tests! They may help you out!
- Also make sure to check out the doxygen docs!

-

-

-What is not supported?

-

Chaining abbreviated parameters, like this:

# This is not supported. It would think -ltr is one parameter.
-
$ a.out -ltr
-
-
# Instead do this
-
$ a.out -l -t -r
-

Using parameters multiple times

# This is not supported.
-
# Let's say -i is short for --input
-
$ a.out -i hello.txt -i shoe.txt -i somsang.txt
-
-
# Instead do this
-
$ a.out -i hello.txt shoe.txt somsang.txt
-

-

-Further notes

-

This is still in alpha! There is no guarantee at all that this actually works.
- Whilst i did my best to make sure it does, i bet there are still a few flaws i've overlooked.
- Please know that i am not obliged to work on fixes. I do have other stuff to do. This does not mean that i won't, but i'm not sure when.
- Feel free to submit a PR if you think you improved it in any way :)

-

-

-Contributing

-

If you want to contribute, feel free to fork the repository, and submit a pull request.
- Bugfixes and tests are almost certain to be accepted, features should be agreed upon and come with tests.
- Just create an issue with the tag feature request. Don't forget to update the UML (Hazelnupp.vpp)! The (free) modelling software used is Visual Paradigm.
-

-

Any code added must match the existing style!

    -
  • Objects begin with a lowercase initial
  • -
  • Classifiers and Functions/Methods begin with an uppercase initial
  • -
  • Classifiers are camel-case
  • -
  • Classifiers get documented via /** */ for doxygen. See existing classifiers
  • -
  • Members (methods and objects) get documented via //! for doxygen. See existing definitions
  • -
  • { always gets a new line
  • -
  • Enumerations (and their values) and macros are all-upper case snake-case
  • -
  • No using namespace std
  • -
  • Do using namespace Hazelnp in cpp files. Don't do Hazelnp:: if possible
  • -
  • Files outside the project (like STL) have to be included with #include <>. Not ""
  • -
-

-

-LICENSE

-
Copyright (c) 2021, Leon Etienne
-
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
-
static ParamConstraint Require(const std::initializer_list< std::string > &defaultValue={}, bool required=true)
Constructs a require constraint.
-
The main class to interface with.
-
static ParamConstraint Incompatibility(const std::initializer_list< std::string > &incompatibleParameters)
Constructs an incompatibility constraint.
-
void SetCatchHelp(bool catchHelp)
Sets whether the CmdArgsInterface should automatically catch the –help parameter, print the parameter...
-
Gets thrown when an non-existent key gets dereferenced.
-
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
-
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
-
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
-
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
-
static ParamConstraint TypeSafety(DATA_TYPE requiredType, bool constrainType=true)
Constructs a type-safety constraint.
-
@ INT
- - - - diff --git a/docs/index_8md.html b/docs/index_8md.html deleted file mode 100644 index f59a1fe..0000000 --- a/docs/index_8md.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Doxygen/index.md File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Doxygen/index.md File Reference
-
-
-
- - - - diff --git a/docs/inherit_graph_0.map b/docs/inherit_graph_0.map deleted file mode 100644 index 81bd617..0000000 --- a/docs/inherit_graph_0.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/inherit_graph_0.md5 b/docs/inherit_graph_0.md5 deleted file mode 100644 index 08869e1..0000000 --- a/docs/inherit_graph_0.md5 +++ /dev/null @@ -1 +0,0 @@ -b51d05eec03cf85b1bdc9f391bc5e48c \ No newline at end of file diff --git a/docs/inherit_graph_0.png b/docs/inherit_graph_0.png deleted file mode 100644 index 1c29da1..0000000 Binary files a/docs/inherit_graph_0.png and /dev/null differ diff --git a/docs/inherit_graph_1.map b/docs/inherit_graph_1.map deleted file mode 100644 index 60adf25..0000000 --- a/docs/inherit_graph_1.map +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/docs/inherit_graph_1.md5 b/docs/inherit_graph_1.md5 deleted file mode 100644 index 32e12d8..0000000 --- a/docs/inherit_graph_1.md5 +++ /dev/null @@ -1 +0,0 @@ -414008b1001331bfd5d70936aa6acf74 \ No newline at end of file diff --git a/docs/inherit_graph_1.png b/docs/inherit_graph_1.png deleted file mode 100644 index d65deab..0000000 Binary files a/docs/inherit_graph_1.png and /dev/null differ diff --git a/docs/inherit_graph_2.map b/docs/inherit_graph_2.map deleted file mode 100644 index 0465d4f..0000000 --- a/docs/inherit_graph_2.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/inherit_graph_2.md5 b/docs/inherit_graph_2.md5 deleted file mode 100644 index 263113e..0000000 --- a/docs/inherit_graph_2.md5 +++ /dev/null @@ -1 +0,0 @@ -07998a2db940c611db700a6971a05277 \ No newline at end of file diff --git a/docs/inherit_graph_2.png b/docs/inherit_graph_2.png deleted file mode 100644 index 645803e..0000000 Binary files a/docs/inherit_graph_2.png and /dev/null differ diff --git a/docs/inherit_graph_3.map b/docs/inherit_graph_3.map deleted file mode 100644 index 28dcc03..0000000 --- a/docs/inherit_graph_3.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/inherit_graph_3.md5 b/docs/inherit_graph_3.md5 deleted file mode 100644 index b80eac4..0000000 --- a/docs/inherit_graph_3.md5 +++ /dev/null @@ -1 +0,0 @@ -4f0b35bc688eabf2cb9ac18b4e4afbc3 \ No newline at end of file diff --git a/docs/inherit_graph_3.png b/docs/inherit_graph_3.png deleted file mode 100644 index 1282d1d..0000000 Binary files a/docs/inherit_graph_3.png and /dev/null differ diff --git a/docs/inherit_graph_4.map b/docs/inherit_graph_4.map deleted file mode 100644 index d7e3fbb..0000000 --- a/docs/inherit_graph_4.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/inherit_graph_4.md5 b/docs/inherit_graph_4.md5 deleted file mode 100644 index fd7dc51..0000000 --- a/docs/inherit_graph_4.md5 +++ /dev/null @@ -1 +0,0 @@ -3396960537c122b0b3247a767ac311f4 \ No newline at end of file diff --git a/docs/inherit_graph_4.png b/docs/inherit_graph_4.png deleted file mode 100644 index a1f8985..0000000 Binary files a/docs/inherit_graph_4.png and /dev/null differ diff --git a/docs/inherit_graph_5.map b/docs/inherit_graph_5.map deleted file mode 100644 index 29d72ae..0000000 --- a/docs/inherit_graph_5.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/inherit_graph_5.md5 b/docs/inherit_graph_5.md5 deleted file mode 100644 index 7583c18..0000000 --- a/docs/inherit_graph_5.md5 +++ /dev/null @@ -1 +0,0 @@ -7e4a693e66d05f2ee8664e3ea22c9807 \ No newline at end of file diff --git a/docs/inherit_graph_5.png b/docs/inherit_graph_5.png deleted file mode 100644 index be7a7d7..0000000 Binary files a/docs/inherit_graph_5.png and /dev/null differ diff --git a/docs/inherits.html b/docs/inherits.html deleted file mode 100644 index 7223cbf..0000000 --- a/docs/inherits.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Class Hierarchy - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
- - - - - - - -
- - - -
- - - - - - - - - - -
- - - -
- - - -
- - - -
- - - - - - - - -
-
- - - - diff --git a/docs/jquery.js b/docs/jquery.js deleted file mode 100644 index 103c32d..0000000 --- a/docs/jquery.js +++ /dev/null @@ -1,35 +0,0 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element -},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** - * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler - * Licensed under MIT - * @author Ariel Flesler - * @version 2.1.2 - */ -;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 - * http://www.smartmenus.org/ - * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/docs/main_8cpp.html b/docs/main_8cpp.html deleted file mode 100644 index 5dc698d..0000000 --- a/docs/main_8cpp.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/main.cpp File Reference - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
main.cpp File Reference
-
-
-
#include <iostream>
-#include "Hazelnupp.h"
-#include "IntValue.h"
-
-Include dependency graph for main.cpp:
-
-
- - - - - - - - - - - - - - -
-
-

Go to the source code of this file.

- - - - -

-Functions

int main (int argc, char **argv)
 
-

Function Documentation

- -

◆ main()

- -
-
- - - - - - - - - - - - - - - - - - -
int main (int argc,
char ** argv 
)
-
- -

Definition at line 7 of file main.cpp.

-
8 {
-
9  Hazelnupp nupp;
-
10 
-
11  nupp.SetBriefDescription("This is the testing application for Hazelnupp.");
-
12 
-
13  nupp.RegisterDescription("--help", "This will display the parameter documentation.");
-
14  nupp.RegisterDescription("--force", "Just forces it.");
-
15  nupp.RegisterDescription("--width", "The width of something...");
-
16  nupp.RegisterDescription("--name", "The names to target");
-
17  nupp.RegisterDescription("--fruit", "The fruit to use");
-
18 
-
19  nupp.RegisterAbbreviation("-f", "--force");
-
20  nupp.RegisterAbbreviation("-w", "--width");
-
21  nupp.RegisterAbbreviation("-h", "--height");
-
22 
-
23  nupp.RegisterConstraint("--width", ParamConstraint::TypeSafety(DATA_TYPE::FLOAT));
-
24  nupp.RegisterConstraint("--name", ParamConstraint(true, DATA_TYPE::LIST, {"peter", "hannes"}, true));
-
25  nupp.RegisterConstraint("--fruit", ParamConstraint(true, DATA_TYPE::STRING, {}, true));
-
26 
-
27  nupp.Parse(argc, argv);
-
28 
-
29  return 0;
-
30 }
-
-
-
-
-
The main class to interface with.
Definition: Hazelnupp.h:11
-
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition: Hazelnupp.cpp:313
- -
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:36
-
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:527
-
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition: Hazelnupp.cpp:558
-
void RegisterDescription(const std::string &parameter, const std::string &description)
Willl register a short description for a parameter.
Definition: Hazelnupp.cpp:324
- - - - diff --git a/docs/main_8cpp__incl.map b/docs/main_8cpp__incl.map deleted file mode 100644 index 1dc0ca5..0000000 --- a/docs/main_8cpp__incl.map +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/docs/main_8cpp__incl.md5 b/docs/main_8cpp__incl.md5 deleted file mode 100644 index 1f3b9dc..0000000 --- a/docs/main_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -be550128eeb7dd5982b9bdd719aee419 \ No newline at end of file diff --git a/docs/main_8cpp__incl.png b/docs/main_8cpp__incl.png deleted file mode 100644 index 1ab17c5..0000000 Binary files a/docs/main_8cpp__incl.png and /dev/null differ diff --git a/docs/main_8cpp_source.html b/docs/main_8cpp_source.html deleted file mode 100644 index aaddd68..0000000 --- a/docs/main_8cpp_source.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp/main.cpp Source File - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
main.cpp
-
-
-Go to the documentation of this file.
1 #include <iostream>
-
2 #include "Hazelnupp.h"
-
3 #include "IntValue.h"
-
4 
-
5 using namespace Hazelnp;
-
6 
-
7 int main(int argc, char** argv)
-
8 {
-
9  Hazelnupp nupp;
-
10 
-
11  nupp.SetBriefDescription("This is the testing application for Hazelnupp.");
-
12 
-
13  nupp.RegisterDescription("--help", "This will display the parameter documentation.");
-
14  nupp.RegisterDescription("--force", "Just forces it.");
-
15  nupp.RegisterDescription("--width", "The width of something...");
-
16  nupp.RegisterDescription("--name", "The names to target");
-
17  nupp.RegisterDescription("--fruit", "The fruit to use");
-
18 
-
19  nupp.RegisterAbbreviation("-f", "--force");
-
20  nupp.RegisterAbbreviation("-w", "--width");
-
21  nupp.RegisterAbbreviation("-h", "--height");
-
22 
- -
24  nupp.RegisterConstraint("--name", ParamConstraint(true, DATA_TYPE::LIST, {"peter", "hannes"}, true));
-
25  nupp.RegisterConstraint("--fruit", ParamConstraint(true, DATA_TYPE::STRING, {}, true));
-
26 
-
27  nupp.Parse(argc, argv);
-
28 
-
29  return 0;
-
30 }
-
- -
The main class to interface with.
Definition: Hazelnupp.h:11
- -
int main(int argc, char **argv)
Definition: main.cpp:7
-
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition: Hazelnupp.cpp:313
- - -
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:36
-
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:527
- -
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition: Hazelnupp.cpp:558
- - -
void RegisterDescription(const std::string &parameter, const std::string &description)
Willl register a short description for a parameter.
Definition: Hazelnupp.cpp:324
-
static ParamConstraint TypeSafety(DATA_TYPE wantedType, bool constrainType=true)
Constructs a type-safety constraint.
- - - - diff --git a/docs/md_Doxygen_index.html b/docs/md_Doxygen_index.html deleted file mode 100644 index 4716109..0000000 --- a/docs/md_Doxygen_index.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnupp - - - - - - - - - - - -
-
- - - - - - - -
-
Leonetienne/Hazelnupp -
-
Simple, easy to use, command line parameter interface
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
-

is a simple, easy to use command line parameter parser.
- Hazelnupp does not support windows-, or bsd-style arguments. Only linux-style.
-

-

What is the linux-style? This:

# Using a long parameter
-
a.out --long-parameter 1234
-
# Using an abbreviated parameter
-
a.out -lp 1234
-

-Note

-

These examples reference exceptions. These are not enabled by default. The default behaviour for user-fault exceptions is to produce output to stderr and kill the process.
- To enable exceptions, call this method:

Hazelnupp args;
-
args.SetCrashOnFail(false);
-

-Importing into a project

-
-

How do i actually import this into my existing project?

-
-

I am working on a proper way to make this a fast-and-easy include.
- I am probably going to make it a single-header–single-cpp file solution. A namespace will obviously also be used.
-

-

If you want to use it NOW, the best idea would probably be to either compile a lib from source or set the entire Visual Studio project as a dependency, if you are using VS.

-

-What's the concept?

-

The concept is that each parameter must be one of five types. These are:

    -
  • Void
  • -
  • Int
  • -
  • Float
  • -
  • String
  • -
  • List (non-recursive)
  • -
-

Here are examples on how to create them

# Void
-
a.out --foo
-
-
# Int
-
a.out --foo 5
-
-
# Float
-
a.out --foo 5.5
-
-
# String
-
a.out --foo peter
-
-
# List (any type above works)
-
a.out --foo peter jake jeff billy
-
-
# List, mixed types
-
a.out --foo 1 2 3 4 peter willy billy bob 3
-

These parameters can then be accessed via a simple lookup!

-

-Minimal working example

-

So what's the simplest way to use Hazelnupp to work with command-line parameters? See:

#include "Hazelnupp.h"
-
-
int main(int argc, char** argv)
-
{
-
Hazelnupp args(argc, argv);
-
-
if (args.HasParam("--force"))
-
// do forced
-
else
-
// be gentle
-
-
return 0;
-
}
-

Looks super easy! But what about actual values?

#include "Hazelnupp.h"
-
-
int main(int argc, char** argv)
-
{
-
Hazelnupp args(argc, argv);
-
-
// Either check via HasParam(), or do a try-catch
-
try
-
{
-
int myInt = args["--my-int"].GetInt32();
-
double myInt = args["--my-float"].GetFloat32();
-
std::string myStr = args["--my-string"].GetString();
-
}
- -
{
-
return -1;
-
}
-
-
return 0;
-
}
-

What about lists?

#include "Hazelnupp.h"
-
-
int main(int argc, char** argv)
-
{
-
Hazelnupp args(argc, argv);
-
-
const auto& myList = args["--my-list"].GetList(); // std::vector<Value*>
-
-
for (const auto* it : myList)
-
{
-
// Should probably check for type-correctness with it->GetDataType()
-
std::cout << it->GetString() << std::endl;
-
}
-
-
return 0;
-
}
-

-Abbreviations

-

Abbreviations are a very important part of command line arguments. Like, typing -f instead of --force. Here's how to use them in Hazelnupp:

#include "Hazelnupp.h"
-
-
int main(int argc, char** argv)
-
{
-
Hazelnupp args;
-
-
// Register abbreviations
-
args.RegisterAbbreviation("-f", "--force");
-
-
// Parse
-
args.Parse(argc, argv);
-
-
if (args.HasParam("--force")) // This key will be present, even if the user passed '-f'
-
// do forced
-
else
-
// be gentle
-
-
return 0;
-
}
-

-Constraints

-
-

That's all cool and stuff, but this looks like a LOT of error-checking and not elegant at all! How would i actually use this?

-
-

For exactly this reason, there are constraints. With this, you can control what the data looks like! Constraints serve two main purposes:

-

-Requiring data

-

With ParamConstraint::Require() you can declare that a paramater must either always be present, or provide a default value.
-

    -
  • If a parameter is not present, but has a default value, it will be automatically created.
  • -
  • If a parameter is not present, and has no default value, an exception will be thrown.
  • -
-

Minimal working example:

#include "Hazelnupp.h"
-
-
int main(int argc, char** argv)
-
{
-
Hazelnupp args;
-
-
// Register constraints
- -
ParamConstraint::Require("--this-is-required"), // This missing throws an exception
-
ParamConstraint::Require("--also-required-but-defaulted", {"122"}), // This will default to 122
-
});
-
-
// Parse
-
args.Parse(argc, argv);
-
-
return 0;
-
}
-

-Type safety

-

With type safety you can always be certain that you are working with the correct type!
- By creating a type-constraint you force Hazelnupp to use a certain type.
- If a supplied type does not match, but is convertible, it will be converted.
- If it is not convertible, an exception will be thrown.

-

These conversions are:

    -
  • int -> [float, string, list, void]
  • -
  • float ->[int, string, list, void]
  • -
  • string -> [list, void]
  • -
  • list -> [void]
  • -
  • void -> [list]
  • -
-

The conversions *->list just create a list with a single entry (except for void->list which produces an empty list).
- The *->void conversions just drop their value.

-

Minimal working example:

#include "Hazelnupp.h"
-
-
int main(int argc, char** argv)
-
{
-
Hazelnupp args;
-
-
// Register constraints
- - -
});
-
-
// Parse
-
args.Parse(argc, argv);
-
-
return 0;
-
}
-

If --this-must-be-int would be passed as a float, it would be converted to int. If it was passed, for example, as a string, it would throw an exception.

-
-

Note that you can also combine these two constraint-types by populating the struct yourself:

-
pc.key = "--my-key";
-
pc.constrainType = true;
- -
pc.defaultValue = {}; // no default value
-
pc.required = true;
-
- -

What doesn't work is inserting multiple constraints for one key. It will just discard the oldest one. But that's okay because one can describe all possible constraints for a single key in one struct.

-

-More examples?

-

Check out the unit tests! They may help you out!
- Also make sure to check out the doxygen docs!

-

-Further notes

-

This is still in alpha! There is no guarantee at all that this actually works.
- Whilst i did my best do make sure it does, i bet there are still a few flaws i did overlook.
- Please know that i am not obliged to work on fixes. I do have other stuff to do. This does not mean that i won't do it, but i'm not sure when.
- Feel free to submit a PR if you fixed something :)

-

-What is not supported?

-

Chaining abbreviated parameters, like this:

# This is not supported. It would think -ltr is one parameter.
-
a.out -ltr
-
-
# Instead do this
-
a.out -l -t -r
-

-LICENSE

-
Copyright (c) 2021, Leon Etienne
-
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:330
-
bool required
If set to true, and no default value set, an error will be produced if this parameter is not supplied...
-
void RegisterConstraints(const std::vector< ParamConstraint > &constraints)
Will register parameter constraints.
Definition: Hazelnupp.cpp:352
-
static ParamConstraint TypeSafety(const std::string &key, DATA_TYPE wantedType, bool constrainType=true)
Constructs a type-safety constraint.
-
int main(int argc, char **argv)
Definition: main.cpp:5
-
std::vector< std::string > defaultValue
The default value for this parameter.
- -
static ParamConstraint Require(const std::string &key, const std::vector< std::string > &defaultValue={}, bool required=true)
Constructs a require constraint.
-
std::string key
The key of the parameter to constrain.
- -
Gets thrown when an non-existent key gets dereferenced.
-
void SetCrashOnFail(bool crashOnFail)
Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
Definition: Hazelnupp.cpp:379
-
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: Hazelnupp.cpp:151
-
bool constrainType
Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
- -
DATA_TYPE wantedType
Constrain the parameter to this value. Requires constrainType to be set to true.
-
The main class to interface with.
Definition: Hazelnupp.h:9
- -
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:33
- - - - diff --git a/docs/menu.js b/docs/menu.js deleted file mode 100644 index 433c15b..0000000 --- a/docs/menu.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { - function makeTree(data,relPath) { - var result=''; - if ('children' in data) { - result+=''; - } - return result; - } - - $('#main-nav').append(makeTree(menudata,relPath)); - $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchEnabled) { - if (serverSide) { - $('#main-menu').append('
  • '); - } else { - $('#main-menu').append('
  • '); - } - } - $('#main-menu').smartmenus(); -} -/* @license-end */ diff --git a/docs/menudata.js b/docs/menudata.js deleted file mode 100644 index a4ef47a..0000000 --- a/docs/menudata.js +++ /dev/null @@ -1,80 +0,0 @@ -/* -@licstart The following is the entire license notice for the -JavaScript code in this file. - -Copyright (C) 1997-2019 by Dimitri van Heesch - -This program is free software; you can redistribute it and/or modify -it under the terms of version 2 of the GNU General Public License as published by -the Free Software Foundation - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -@licend The above is the entire license notice -for the JavaScript code in this file -*/ -var menudata={children:[ -{text:"Main Page",url:"index.html"}, -{text:"Namespaces",url:"namespaces.html",children:[ -{text:"Namespace List",url:"namespaces.html"}, -{text:"Namespace Members",url:"namespacemembers.html",children:[ -{text:"All",url:"namespacemembers.html"}, -{text:"Functions",url:"namespacemembers_func.html"}, -{text:"Variables",url:"namespacemembers_vars.html"}, -{text:"Enumerations",url:"namespacemembers_enum.html"}]}]}, -{text:"Classes",url:"annotated.html",children:[ -{text:"Class List",url:"annotated.html"}, -{text:"Class Index",url:"classes.html"}, -{text:"Class Hierarchy",url:"inherits.html"}, -{text:"Class Members",url:"functions.html",children:[ -{text:"All",url:"functions.html",children:[ -{text:"a",url:"functions.html#index_a"}, -{text:"c",url:"functions.html#index_c"}, -{text:"d",url:"functions.html#index_d"}, -{text:"f",url:"functions.html#index_f"}, -{text:"g",url:"functions.html#index_g"}, -{text:"h",url:"functions.html#index_h"}, -{text:"i",url:"functions.html#index_i"}, -{text:"k",url:"functions.html#index_k"}, -{text:"l",url:"functions.html#index_l"}, -{text:"m",url:"functions.html#index_m"}, -{text:"o",url:"functions.html#index_o"}, -{text:"p",url:"functions.html#index_p"}, -{text:"r",url:"functions.html#index_r"}, -{text:"s",url:"functions.html#index_s"}, -{text:"t",url:"functions.html#index_t"}, -{text:"v",url:"functions.html#index_v"}, -{text:"w",url:"functions.html#index_w"}, -{text:"~",url:"functions.html#index__7E"}]}, -{text:"Functions",url:"functions_func.html",children:[ -{text:"a",url:"functions_func.html#index_a"}, -{text:"c",url:"functions_func.html#index_c"}, -{text:"d",url:"functions_func.html#index_d"}, -{text:"f",url:"functions_func.html#index_f"}, -{text:"g",url:"functions_func.html#index_g"}, -{text:"h",url:"functions_func.html#index_h"}, -{text:"i",url:"functions_func.html#index_i"}, -{text:"k",url:"functions_func.html#index_k"}, -{text:"l",url:"functions_func.html#index_l"}, -{text:"o",url:"functions_func.html#index_o"}, -{text:"p",url:"functions_func.html#index_p"}, -{text:"r",url:"functions_func.html#index_r"}, -{text:"s",url:"functions_func.html#index_s"}, -{text:"t",url:"functions_func.html#index_t"}, -{text:"v",url:"functions_func.html#index_v"}, -{text:"w",url:"functions_func.html#index_w"}, -{text:"~",url:"functions_func.html#index__7E"}]}, -{text:"Variables",url:"functions_vars.html"}, -{text:"Related Functions",url:"functions_rela.html"}]}]}, -{text:"Files",url:"files.html",children:[ -{text:"File List",url:"files.html"}, -{text:"File Members",url:"globals.html",children:[ -{text:"All",url:"globals.html"}, -{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/docs/namespaceHazelnp.html b/docs/namespaceHazelnp.html deleted file mode 100644 index e0a6af9..0000000 --- a/docs/namespaceHazelnp.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp Namespace Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    Hazelnp Namespace Reference
    -
    -
    - - - - - - -

    -Namespaces

     Internal
     
     Placeholders
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Classes

    class  CmdArgsInterface
     The main class to interface with. More...
     
    class  FloatValue
     Specializations for floating point values (uses long double) More...
     
    class  HazelnuppConstraintException
     Gets thrown something bad happens because of parameter constraints. More...
     
    class  HazelnuppConstraintIncompatibleParameters
     Gets thrown when a parameter constrained to be incompatible with other parameters gets supplied alongside at least one of those incompatible ones. More...
     
    class  HazelnuppConstraintMissingValue
     Gets thrown when a parameter constrained to be required is not provided, and has no default value set. More...
     
    class  HazelnuppConstraintTypeMissmatch
     Gets thrown when a parameter is of a type that does not match the required type, and is not convertible to it. More...
     
    class  HazelnuppException
     Generic hazelnupp exception. More...
     
    class  HazelnuppInvalidKeyException
     Gets thrown when an non-existent key gets dereferenced. More...
     
    class  HazelnuppValueNotConvertibleException
     Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not convertible. More...
     
    class  IntValue
     Specializations for integer values (uses long long int) More...
     
    class  ListValue
     Specializations for list values (uses std::vector<Value*>) More...
     
    struct  ParamConstraint
     
    class  Parameter
     
    class  StringValue
     Specializations for string values (uses std::string) More...
     
    class  Value
     Abstract class for values. More...
     
    class  VoidValue
     Specializations for void values. More...
     
    - - - - -

    -Enumerations

    enum  DATA_TYPE {
    -  DATA_TYPE::VOID, -DATA_TYPE::INT, -DATA_TYPE::FLOAT, -DATA_TYPE::STRING, -
    -  DATA_TYPE::LIST -
    - }
     The different data types a paramater can be. More...
     
    - - - -

    -Functions

    static std::string DataTypeToString (DATA_TYPE type)
     
    -

    Enumeration Type Documentation

    - -

    ◆ DATA_TYPE

    - -
    -
    - - - - - -
    - - - - -
    enum Hazelnp::DATA_TYPE
    -
    -strong
    -
    - -

    The different data types a paramater can be.

    - - - - - - -
    Enumerator
    VOID 
    INT 
    FLOAT 
    STRING 
    LIST 
    - -

    Definition at line 8 of file DataType.h.

    -
    9  {
    -
    10  VOID,
    -
    11  INT,
    -
    12  FLOAT,
    -
    13  STRING,
    -
    14  LIST
    -
    15  };
    -
    -
    -
    -

    Function Documentation

    - -

    ◆ DataTypeToString()

    - -
    -
    - - - - - -
    - - - - - - - - -
    static std::string Hazelnp::DataTypeToString (DATA_TYPE type)
    -
    -inlinestatic
    -
    - -

    Definition at line 17 of file DataType.h.

    -
    18  {
    -
    19  switch (type)
    -
    20  {
    -
    21  case DATA_TYPE::VOID:
    -
    22  return "VOID";
    -
    23 
    -
    24  case DATA_TYPE::INT:
    -
    25  return "INT";
    -
    26 
    -
    27  case DATA_TYPE::FLOAT:
    -
    28  return "FLOAT";
    -
    29 
    -
    30  case DATA_TYPE::STRING:
    -
    31  return "STRING";
    -
    32 
    -
    33  case DATA_TYPE::LIST:
    -
    34  return "LIST";
    -
    35  }
    -
    36 
    -
    37  return "";
    -
    38  }
    -
    -
    -
    -
    - - - - - - - - - diff --git a/docs/namespaceHazelnp_1_1Internal.html b/docs/namespaceHazelnp_1_1Internal.html deleted file mode 100644 index 4330a69..0000000 --- a/docs/namespaceHazelnp_1_1Internal.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::Internal Namespace Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    Hazelnp::Internal Namespace Reference
    -
    -
    - - - - - -

    -Classes

    class  StringTools
     Internal helper class. More...
     
    -
    - - - - diff --git a/docs/namespaceHazelnp_1_1Placeholders.html b/docs/namespaceHazelnp_1_1Placeholders.html deleted file mode 100644 index bca147d..0000000 --- a/docs/namespaceHazelnp_1_1Placeholders.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::Placeholders Namespace Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    Hazelnp::Placeholders Namespace Reference
    -
    -
    - - - - - -

    -Variables

    static const std::string g_emptyString
     The only purpose of this is to provide the ability to return an empty string as an error for std::string& methods. More...
     
    -

    Variable Documentation

    - -

    ◆ g_emptyString

    - -
    -
    - - - - - -
    - - - - -
    const std::string Hazelnp::Placeholders::g_emptyString
    -
    -static
    -
    - -

    The only purpose of this is to provide the ability to return an empty string as an error for std::string& methods.

    - -

    Definition at line 9 of file Placeholders.h.

    - -
    -
    -
    - - - - diff --git a/docs/namespaceTestHazelnupp.html b/docs/namespaceTestHazelnupp.html deleted file mode 100644 index ac25f51..0000000 --- a/docs/namespaceTestHazelnupp.html +++ /dev/null @@ -1,1139 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: TestHazelnupp Namespace Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    - -
    -
    TestHazelnupp Namespace Reference
    -
    -
    - - - - - - - - - - -

    -Functions

     TEST_CLASS (_Abbreviations)
     
     TEST_CLASS (_Basics)
     
     TEST_CLASS (_Constraints)
     
     TEST_CLASS (_Conversion)
     
    -

    Function Documentation

    - -

    ◆ TEST_CLASS() [1/4]

    - -
    -
    - - - - - - - - -
    TestHazelnupp::TEST_CLASS (_Abbreviations )
    -
    - -

    Definition at line 9 of file Abbreviations.cpp.

    -
    10  {
    -
    11  public:
    -
    12 
    -
    13  // Tests keys exist after parsing
    -
    14  TEST_METHOD(KeysExist)
    -
    15  {
    -
    16  // Setup
    -
    17  ArgList args({
    -
    18  "/my/fake/path/wahoo.out",
    -
    19  "-ms",
    -
    20  "billybob",
    -
    21  "-mv",
    -
    22  "-mf",
    -
    23  "-23.199",
    -
    24  "-mi",
    -
    25  "199",
    -
    26  "-mnl",
    -
    27  "1",
    -
    28  "2",
    -
    29  "3",
    -
    30  "4",
    -
    31  "-msl",
    -
    32  "apple",
    -
    33  "banana",
    -
    34  "pumpkin",
    -
    35  });
    -
    36 
    -
    37  // Exercise
    -
    38  Hazelnupp nupp;
    -
    39  nupp.SetCrashOnFail(false);
    -
    40 
    -
    41  nupp.RegisterAbbreviation("-ms", "--my_string");
    -
    42  nupp.RegisterAbbreviation("-mv", "--my_void");
    -
    43  nupp.RegisterAbbreviation("-mi", "--my_int");
    -
    44  nupp.RegisterAbbreviation("-mf", "--my_float");
    -
    45  nupp.RegisterAbbreviation("-mnl", "--my_num_list");
    -
    46  nupp.RegisterAbbreviation("-msl", "--my_str_list");
    -
    47 
    -
    48  nupp.Parse(C_Ify(args));
    -
    49 
    -
    50  // Verify
    -
    51  Assert::IsTrue(nupp.HasParam("--my_string"));
    -
    52  Assert::IsTrue(nupp.HasParam("--my_void"));
    -
    53  Assert::IsTrue(nupp.HasParam("--my_float"));
    -
    54  Assert::IsTrue(nupp.HasParam("--my_int"));
    -
    55  Assert::IsTrue(nupp.HasParam("--my_num_list"));
    -
    56  Assert::IsTrue(nupp.HasParam("--my_str_list"));
    -
    57 
    -
    58  return;
    -
    59  }
    -
    60 
    -
    61  // Tests keys are of the correct type after parsing
    -
    62  TEST_METHOD(CorrectType)
    -
    63  {
    -
    64  // Setup
    -
    65  ArgList args({
    -
    66  "/my/fake/path/wahoo.out",
    -
    67  "-ms",
    -
    68  "billybob",
    -
    69  "-mv",
    -
    70  "-mf",
    -
    71  "-23.199",
    -
    72  "-mi",
    -
    73  "199",
    -
    74  "-mnl",
    -
    75  "1",
    -
    76  "2",
    -
    77  "3",
    -
    78  "4",
    -
    79  "-msl",
    -
    80  "apple",
    -
    81  "banana",
    -
    82  "pumpkin",
    -
    83  });
    -
    84 
    -
    85  // Exercise
    -
    86  Hazelnupp nupp;
    -
    87  nupp.SetCrashOnFail(false);
    -
    88 
    -
    89  nupp.RegisterAbbreviation("-ms", "--my_string");
    -
    90  nupp.RegisterAbbreviation("-mv", "--my_void");
    -
    91  nupp.RegisterAbbreviation("-mi", "--my_int");
    -
    92  nupp.RegisterAbbreviation("-mf", "--my_float");
    -
    93  nupp.RegisterAbbreviation("-mnl", "--my_num_list");
    -
    94  nupp.RegisterAbbreviation("-msl", "--my_str_list");
    -
    95 
    -
    96  nupp.Parse(C_Ify(args));
    -
    97 
    -
    98  // Verify
    -
    99  Assert::IsTrue(nupp["--my_string"].GetDataType() == DATA_TYPE::STRING);
    -
    100  Assert::IsTrue(nupp["--my_void"].GetDataType() == DATA_TYPE::VOID);
    -
    101  Assert::IsTrue(nupp["--my_float"].GetDataType() == DATA_TYPE::FLOAT);
    -
    102  Assert::IsTrue(nupp["--my_int"].GetDataType() == DATA_TYPE::INT);
    -
    103  Assert::IsTrue(nupp["--my_num_list"].GetDataType() == DATA_TYPE::LIST);
    -
    104  Assert::IsTrue(nupp["--my_str_list"].GetDataType() == DATA_TYPE::LIST);
    -
    105 
    -
    106  return;
    -
    107  }
    -
    108 
    -
    109  // Tests keys have the correct value after parsing
    -
    110  TEST_METHOD(CorrectValues)
    -
    111  {
    -
    112  // Setup
    -
    113  ArgList args({
    -
    114  "/my/fake/path/wahoo.out",
    -
    115  "-ms",
    -
    116  "billybob",
    -
    117  "-mv",
    -
    118  "-mf",
    -
    119  "-23.199",
    -
    120  "-mi",
    -
    121  "199",
    -
    122  "-mnl",
    -
    123  "1",
    -
    124  "2",
    -
    125  "3",
    -
    126  "4",
    -
    127  "-msl",
    -
    128  "apple",
    -
    129  "banana",
    -
    130  "pumpkin",
    -
    131  });
    -
    132 
    -
    133  // Exercise
    -
    134  Hazelnupp nupp;
    -
    135  nupp.SetCrashOnFail(false);
    -
    136 
    -
    137  nupp.RegisterAbbreviation("-ms", "--my_string");
    -
    138  nupp.RegisterAbbreviation("-mv", "--my_void");
    -
    139  nupp.RegisterAbbreviation("-mi", "--my_int");
    -
    140  nupp.RegisterAbbreviation("-mf", "--my_float");
    -
    141  nupp.RegisterAbbreviation("-mnl", "--my_num_list");
    -
    142  nupp.RegisterAbbreviation("-msl", "--my_str_list");
    -
    143 
    -
    144  nupp.Parse(C_Ify(args));
    -
    145 
    -
    146  // Verify
    -
    147  Assert::AreEqual(nupp["--my_string"].GetString(), std::string("billybob"));
    -
    148  Assert::AreEqual(nupp["--my_float"].GetFloat32(), -23.199);
    -
    149  Assert::AreEqual(nupp["--my_int"].GetInt32(), 199);
    -
    150  Assert::AreEqual(nupp["--my_num_list"].GetList()[0]->GetInt32(), 1);
    -
    151  Assert::AreEqual(nupp["--my_num_list"].GetList()[1]->GetInt32(), 2);
    -
    152  Assert::AreEqual(nupp["--my_num_list"].GetList()[2]->GetInt32(), 3);
    -
    153  Assert::AreEqual(nupp["--my_num_list"].GetList()[3]->GetInt32(), 4);
    -
    154  Assert::AreEqual(nupp["--my_str_list"].GetList()[0]->GetString(), std::string("apple"));
    -
    155  Assert::AreEqual(nupp["--my_str_list"].GetList()[1]->GetString(), std::string("banana"));
    -
    156  Assert::AreEqual(nupp["--my_str_list"].GetList()[2]->GetString(), std::string("pumpkin"));
    -
    157 
    -
    158  return;
    -
    159  }
    -
    160  };
    -
    -
    -
    - -

    ◆ TEST_CLASS() [2/4]

    - -
    -
    - - - - - - - - -
    TestHazelnupp::TEST_CLASS (_Basics )
    -
    - -

    Definition at line 10 of file Basics.cpp.

    -
    11  {
    -
    12  public:
    -
    13 
    -
    14  // Tests the application path gets exported correctly
    -
    15  TEST_METHOD(ApplicationPathWorks)
    -
    16  {
    -
    17  // Setup
    -
    18  ArgList args({
    -
    19  "/my/fake/path/wahoo.out"
    -
    20  });
    -
    21 
    -
    22  // Exercise
    -
    23  Hazelnupp nupp(C_Ify(args));
    -
    24  nupp.SetCrashOnFail(false);
    -
    25 
    -
    26  // Verify
    -
    27  Assert::AreEqual(std::string("/my/fake/path/wahoo.out"), nupp.GetExecutableName());
    -
    28 
    -
    29  return;
    -
    30  }
    -
    31 
    -
    32  // Edgecase test: We only have one param.
    -
    33  TEST_METHOD(Only_One_Param)
    -
    34  {
    -
    35  // Setup
    -
    36  ArgList args({
    -
    37  "/my/fake/path/wahoo.out",
    -
    38  "--dummy"
    -
    39  });
    -
    40 
    -
    41  // Exercise
    -
    42  Hazelnupp nupp(C_Ify(args));
    -
    43  nupp.SetCrashOnFail(false);
    -
    44 
    -
    45  // Verify
    -
    46  Assert::IsTrue(nupp.HasParam("--dummy"));
    -
    47 
    -
    48  return;
    -
    49  }
    -
    50 
    -
    51  // Edgecase test: We begin with an actual value, instead of an argument.
    -
    52  TEST_METHOD(Weird_Case_1)
    -
    53  {
    -
    54  // Setup
    -
    55  ArgList args({
    -
    56  "/my/fake/path/wahoo.out",
    -
    57  "dummy"
    -
    58  });
    -
    59 
    -
    60  // Exercise
    -
    61  Hazelnupp nupp(C_Ify(args));
    -
    62  nupp.SetCrashOnFail(false);
    -
    63 
    -
    64  // Verify (no exception)
    -
    65 
    -
    66  return;
    -
    67  }
    -
    68 
    -
    69  // Edgecase test: We begin with first an actual value, and then an argument.
    -
    70  TEST_METHOD(Weird_Case_2)
    -
    71  {
    -
    72  // Setup
    -
    73  ArgList args({
    -
    74  "/my/fake/path/wahoo.out",
    -
    75  "dummy",
    -
    76  "--dummy"
    -
    77  });
    -
    78 
    -
    79  // Exercise
    -
    80  Hazelnupp nupp(C_Ify(args));
    -
    81  nupp.SetCrashOnFail(false);
    -
    82 
    -
    83  // Verify
    -
    84  Assert::IsTrue(nupp.HasParam("--dummy"), L"Failed has-param");
    -
    85  Assert::IsTrue(nupp["--dummy"].GetDataType() == DATA_TYPE::VOID, L"Failed type");
    -
    86 
    -
    87  return;
    -
    88  }
    -
    89 
    -
    90  // Tests keys exist after parsing
    -
    91  TEST_METHOD(KeysExist)
    -
    92  {
    -
    93  // Setup
    -
    94  ArgList args({
    -
    95  "/my/fake/path/wahoo.out",
    -
    96  "--my_string",
    -
    97  "billybob",
    -
    98  "--my_void",
    -
    99  "--my_float",
    -
    100  "-23.199",
    -
    101  "--my_int",
    -
    102  "199",
    -
    103  "--my_num_list",
    -
    104  "1",
    -
    105  "2",
    -
    106  "3",
    -
    107  "4",
    -
    108  "--my_str_list",
    -
    109  "apple",
    -
    110  "banana",
    -
    111  "pumpkin",
    -
    112  });
    -
    113 
    -
    114  // Exercise
    -
    115  Hazelnupp nupp(C_Ify(args));
    -
    116  nupp.SetCrashOnFail(false);
    -
    117 
    -
    118  // Verify
    -
    119  Assert::IsTrue(nupp.HasParam("--my_string"));
    -
    120  Assert::IsTrue(nupp.HasParam("--my_void"));
    -
    121  Assert::IsTrue(nupp.HasParam("--my_float"));
    -
    122  Assert::IsTrue(nupp.HasParam("--my_int"));
    -
    123  Assert::IsTrue(nupp.HasParam("--my_num_list"));
    -
    124  Assert::IsTrue(nupp.HasParam("--my_str_list"));
    -
    125 
    -
    126  return;
    -
    127  }
    -
    128 
    -
    129  // Tests keys are of the correct type after parsing
    -
    130  TEST_METHOD(CorrectType)
    -
    131  {
    -
    132  // Setup
    -
    133  ArgList args({
    -
    134  "/my/fake/path/wahoo.out",
    -
    135  "--my_string",
    -
    136  "billybob",
    -
    137  "--my_void",
    -
    138  "--my_float",
    -
    139  "-23.199",
    -
    140  "--my_int",
    -
    141  "199",
    -
    142  "--my_num_list",
    -
    143  "1",
    -
    144  "2",
    -
    145  "3",
    -
    146  "4",
    -
    147  "--my_str_list",
    -
    148  "apple",
    -
    149  "banana",
    -
    150  "pumpkin",
    -
    151  });
    -
    152 
    -
    153  // Exercise
    -
    154  Hazelnupp nupp(C_Ify(args));
    -
    155  nupp.SetCrashOnFail(false);
    -
    156 
    -
    157  // Verify
    -
    158  Assert::IsTrue(nupp["--my_string"].GetDataType() == DATA_TYPE::STRING);
    -
    159  Assert::IsTrue(nupp["--my_void"].GetDataType() == DATA_TYPE::VOID);
    -
    160  Assert::IsTrue(nupp["--my_float"].GetDataType() == DATA_TYPE::FLOAT);
    -
    161  Assert::IsTrue(nupp["--my_int"].GetDataType() == DATA_TYPE::INT);
    -
    162  Assert::IsTrue(nupp["--my_num_list"].GetDataType() == DATA_TYPE::LIST);
    -
    163  Assert::IsTrue(nupp["--my_str_list"].GetDataType() == DATA_TYPE::LIST);
    -
    164 
    -
    165  return;
    -
    166  }
    -
    167 
    -
    168  // Tests keys have the correct value after parsing
    -
    169  TEST_METHOD(CorrectValues)
    -
    170  {
    -
    171  // Setup
    -
    172  ArgList args({
    -
    173  "/my/fake/path/wahoo.out",
    -
    174  "--my_string",
    -
    175  "billybob",
    -
    176  "--my_void",
    -
    177  "--my_float",
    -
    178  "-23.199",
    -
    179  "--my_int",
    -
    180  "199",
    -
    181  "--my_num_list",
    -
    182  "1",
    -
    183  "2",
    -
    184  "3",
    -
    185  "4",
    -
    186  "--my_str_list",
    -
    187  "apple",
    -
    188  "banana",
    -
    189  "pumpkin",
    -
    190  });
    -
    191 
    -
    192  // Exercise
    -
    193  Hazelnupp nupp(C_Ify(args));
    -
    194  nupp.SetCrashOnFail(false);
    -
    195 
    -
    196  // Verify
    -
    197  Assert::AreEqual(nupp["--my_string"].GetString(), std::string("billybob"));
    -
    198  Assert::AreEqual(nupp["--my_float"].GetFloat32(), -23.199);
    -
    199  Assert::AreEqual(nupp["--my_int"].GetInt32(), 199);
    -
    200  Assert::AreEqual(nupp["--my_num_list"].GetList()[0]->GetInt32(), 1);
    -
    201  Assert::AreEqual(nupp["--my_num_list"].GetList()[1]->GetInt32(), 2);
    -
    202  Assert::AreEqual(nupp["--my_num_list"].GetList()[2]->GetInt32(), 3);
    -
    203  Assert::AreEqual(nupp["--my_num_list"].GetList()[3]->GetInt32(), 4);
    -
    204  Assert::AreEqual(nupp["--my_str_list"].GetList()[0]->GetString(), std::string("apple"));
    -
    205  Assert::AreEqual(nupp["--my_str_list"].GetList()[1]->GetString(), std::string("banana"));
    -
    206  Assert::AreEqual(nupp["--my_str_list"].GetList()[2]->GetString(), std::string("pumpkin"));
    -
    207 
    -
    208  return;
    -
    209  }
    -
    210 
    -
    211  // Tests that an HazelnuppInvalidKeyException gets raised, if an invalid gey is tried to access
    -
    212  TEST_METHOD(Exception_On_Invalid_Key)
    -
    213  {
    -
    214  // Setup
    -
    215  ArgList args({
    -
    216  "/my/fake/path/wahoo.out",
    -
    217  "--my_string",
    -
    218  "billybob",
    -
    219  "--my_void",
    -
    220  "--my_float",
    -
    221  "-23.199",
    -
    222  "--my_int",
    -
    223  "199",
    -
    224  "--my_num_list",
    -
    225  "1",
    -
    226  "2",
    -
    227  "3",
    -
    228  "4",
    -
    229  "--my_str_list",
    -
    230  "apple",
    -
    231  "banana",
    -
    232  "pumpkin",
    -
    233  });
    -
    234 
    -
    235  Hazelnupp nupp(C_Ify(args));
    -
    236  nupp.SetCrashOnFail(false);
    -
    237 
    -
    238  // Exercise, Verify
    -
    239  Assert::ExpectException<HazelnuppInvalidKeyException>(
    -
    240  [args]
    -
    241  {
    -
    242  Hazelnupp nupp(C_Ify(args));
    -
    243  nupp["--borrnana"];
    -
    244  }
    -
    245  );
    -
    246 
    -
    247  return;
    -
    248  }
    -
    249  };
    -
    -
    -
    - -

    ◆ TEST_CLASS() [3/4]

    - -
    -
    - - - - - - - - -
    TestHazelnupp::TEST_CLASS (_Constraints )
    -
    - -

    Definition at line 10 of file Constraints.cpp.

    -
    11  {
    -
    12  public:
    -
    13 
    -
    14  // Tests that default values get added
    -
    15  TEST_METHOD(DefaultValues_GetAdded)
    -
    16  {
    -
    17  // Setup
    -
    18  ArgList args({
    -
    19  "/my/fake/path/wahoo.out",
    -
    20  "--dummy",
    -
    21  "123"
    -
    22  });
    -
    23 
    -
    24  // Exercise
    -
    25  Hazelnupp nupp;
    -
    26  nupp.SetCrashOnFail(false);
    -
    27 
    -
    28  nupp.RegisterConstraints({
    -
    29  ParamConstraint::Require("--elenor-int", {"5994"}),
    -
    30  ParamConstraint::Require("--federich-float", {"420.69"}),
    -
    31  ParamConstraint::Require("--siegbert-string", {"banana"}),
    -
    32  ParamConstraint::Require("--lieber-liste", {"banana", "apple", "59"})
    -
    33  });
    -
    34 
    -
    35  nupp.Parse(C_Ify(args));
    -
    36 
    -
    37  // Verify
    -
    38  Assert::IsTrue(nupp.HasParam("--elenor-int"));
    -
    39  Assert::IsTrue(nupp["--elenor-int"].GetDataType() == DATA_TYPE::INT);
    -
    40  Assert::AreEqual(nupp["--elenor-int"].GetInt32(), 5994);
    -
    41 
    -
    42  Assert::IsTrue(nupp.HasParam("--federich-float"));
    -
    43  Assert::IsTrue(nupp["--federich-float"].GetDataType() == DATA_TYPE::FLOAT);
    -
    44  Assert::AreEqual(nupp["--federich-float"].GetFloat32(), 420.69);
    -
    45 
    -
    46  Assert::IsTrue(nupp.HasParam("--siegbert-string"));
    -
    47  Assert::IsTrue(nupp["--siegbert-string"].GetDataType() == DATA_TYPE::STRING);
    -
    48  Assert::AreEqual(nupp["--siegbert-string"].GetString(), std::string("banana"));
    -
    49 
    -
    50  Assert::IsTrue(nupp.HasParam("--lieber-liste"));
    -
    51  Assert::IsTrue(nupp["--lieber-liste"].GetDataType() == DATA_TYPE::LIST);
    -
    52  Assert::AreEqual(nupp["--lieber-liste"].GetList()[0]->GetString(), std::string("banana"));
    -
    53  Assert::AreEqual(nupp["--lieber-liste"].GetList()[1]->GetString(), std::string("apple"));
    -
    54  Assert::AreEqual(nupp["--lieber-liste"].GetList()[2]->GetInt32(), 59);
    -
    55 
    -
    56  return;
    -
    57  }
    -
    58 
    -
    59  // Tests that the default values do not override actually set values
    -
    60  TEST_METHOD(DefaultValues_DefaultDoesntOverride)
    -
    61  {
    -
    62  // Setup
    -
    63  ArgList args({
    -
    64  "/my/fake/path/wahoo.out",
    -
    65  "--dummy",
    -
    66  "--elenor-int",
    -
    67  "5994",
    -
    68  "--federich-float",
    -
    69  "420.69",
    -
    70  "--siegbert-string",
    -
    71  "banana",
    -
    72  "--lieber-liste",
    -
    73  "banana",
    -
    74  "apple",
    -
    75  "59"
    -
    76  });
    -
    77 
    -
    78  // Exercise
    -
    79  Hazelnupp nupp;
    -
    80  nupp.SetCrashOnFail(false);
    -
    81 
    -
    82  nupp.RegisterConstraints({
    -
    83  ParamConstraint::Require("--elenor-int", {"6871"}),
    -
    84  ParamConstraint::Require("--federich-float", {"-199.44"}),
    -
    85  ParamConstraint::Require("--siegbert-string", {"bornana"}),
    -
    86  ParamConstraint::Require("--lieber-liste", {"bornana", "ollpe", "5"})
    -
    87  });
    -
    88 
    -
    89  nupp.Parse(C_Ify(args));
    -
    90 
    -
    91  // Verify
    -
    92  Assert::IsTrue(nupp.HasParam("--elenor-int"));
    -
    93  Assert::IsTrue(nupp["--elenor-int"].GetDataType() == DATA_TYPE::INT);
    -
    94  Assert::AreEqual(nupp["--elenor-int"].GetInt32(), 5994);
    -
    95 
    -
    96  Assert::IsTrue(nupp.HasParam("--federich-float"));
    -
    97  Assert::IsTrue(nupp["--federich-float"].GetDataType() == DATA_TYPE::FLOAT);
    -
    98  Assert::AreEqual(nupp["--federich-float"].GetFloat32(), 420.69);
    -
    99 
    -
    100  Assert::IsTrue(nupp.HasParam("--siegbert-string"));
    -
    101  Assert::IsTrue(nupp["--siegbert-string"].GetDataType() == DATA_TYPE::STRING);
    -
    102  Assert::AreEqual(nupp["--siegbert-string"].GetString(), std::string("banana"));
    -
    103 
    -
    104  Assert::IsTrue(nupp.HasParam("--lieber-liste"));
    -
    105  Assert::IsTrue(nupp["--lieber-liste"].GetDataType() == DATA_TYPE::LIST);
    -
    106  Assert::AreEqual(nupp["--lieber-liste"].GetList()[0]->GetString(), std::string("banana"));
    -
    107  Assert::AreEqual(nupp["--lieber-liste"].GetList()[1]->GetString(), std::string("apple"));
    -
    108  Assert::AreEqual(nupp["--lieber-liste"].GetList()[2]->GetInt32(), 59);
    -
    109 
    -
    110  return;
    -
    111  }
    -
    112 
    -
    113  // Tests that data types get forced according to the constraints
    -
    114  TEST_METHOD(ForceTypes)
    -
    115  {
    -
    116  // Setup
    -
    117  ArgList args({
    -
    118  "/my/fake/path/wahoo.out",
    -
    119  "--dummy",
    -
    120  "--num-apples",
    -
    121  "39.75",
    -
    122  "--table-height",
    -
    123  "400",
    -
    124  "--license-plate",
    -
    125  "193273",
    -
    126  "--fav-fruits",
    -
    127  "apple",
    -
    128  "--indices",
    -
    129  "9",
    -
    130  "--force",
    -
    131  "plsdontuseme"
    -
    132  });
    -
    133 
    -
    134  // Exercise
    -
    135  Hazelnupp nupp;
    -
    136  nupp.SetCrashOnFail(false);
    -
    137 
    -
    138  nupp.RegisterConstraints({
    - - - - - - -
    145  });
    -
    146 
    -
    147  nupp.Parse(C_Ify(args));
    -
    148 
    -
    149  // Verify
    -
    150  Assert::IsTrue(nupp.HasParam("--num-apples"));
    -
    151  Assert::IsTrue(nupp["--num-apples"].GetDataType() == DATA_TYPE::INT);
    -
    152  Assert::AreEqual(nupp["--num-apples"].GetInt32(), 39);
    -
    153 
    -
    154  Assert::IsTrue(nupp.HasParam("--table-height"));
    -
    155  Assert::IsTrue(nupp["--table-height"].GetDataType() == DATA_TYPE::FLOAT);
    -
    156  Assert::AreEqual(nupp["--table-height"].GetFloat32(), 400.0);
    -
    157 
    -
    158  Assert::IsTrue(nupp.HasParam("--license-plate"));
    -
    159  Assert::IsTrue(nupp["--license-plate"].GetDataType() == DATA_TYPE::STRING);
    -
    160  Assert::AreEqual(nupp["--license-plate"].GetString(), std::string("193273"));
    -
    161 
    -
    162  Assert::IsTrue(nupp.HasParam("--fav-fruits"));
    -
    163  Assert::IsTrue(nupp["--fav-fruits"].GetDataType() == DATA_TYPE::LIST);
    -
    164  Assert::AreEqual(nupp["--fav-fruits"].GetList()[0]->GetString(), std::string("apple"));
    -
    165 
    -
    166  Assert::IsTrue(nupp.HasParam("--indices"));
    -
    167  Assert::IsTrue(nupp["--indices"].GetDataType() == DATA_TYPE::LIST);
    -
    168  Assert::AreEqual(nupp["--indices"].GetList()[0]->GetInt32(), 9);
    -
    169 
    -
    170  Assert::IsTrue(nupp.HasParam("--force"));
    -
    171  Assert::IsTrue(nupp["--force"].GetDataType() == DATA_TYPE::VOID);
    -
    172 
    -
    173  return;
    -
    174  }
    -
    175 
    -
    176  // Tests that an HazelnuppConstraintMissingValue gets raised if a required parameter
    -
    177  // is missing and does not have a default parameter
    -
    178  TEST_METHOD(Exception_MissingImportant_Parameter_WithoutDefault)
    -
    179  {
    -
    180  // Setup
    -
    181  ArgList args({
    -
    182  "/my/fake/path/wahoo.out",
    -
    183  "--dummy",
    -
    184  "--federich-float",
    -
    185  "420.69",
    -
    186  "--siegbert-string",
    -
    187  "banana",
    -
    188  "--lieber-liste",
    -
    189  "banana",
    -
    190  "apple",
    -
    191  "59"
    -
    192  });
    -
    193 
    -
    194  Assert::ExpectException<HazelnuppConstraintMissingValue>(
    -
    195  [args]
    -
    196  {
    -
    197  Hazelnupp nupp;
    -
    198  nupp.SetCrashOnFail(false);
    -
    199 
    -
    200  nupp.RegisterConstraints({
    -
    201  ParamConstraint::Require("--elenor-int"),
    -
    202  });
    -
    203 
    -
    204  nupp.Parse(C_Ify(args));
    -
    205  }
    -
    206  );
    -
    207 
    -
    208  return;
    -
    209  }
    -
    210 
    -
    211  // Tests that an HazelnuppConstraintTypeMissmatch gets raised if a required parameter
    -
    212  // is missing of the wrong type and cannot be converted
    -
    213  TEST_METHOD(Exception_TypeMismatch_Parameter_NotConvertable)
    -
    214  {
    -
    215  // Setup
    -
    216  ArgList args({
    -
    217  "/my/fake/path/wahoo.out",
    -
    218  "--dummy",
    -
    219  "--elenor-int",
    -
    220  "hello"
    -
    221  "--federich-float",
    -
    222  "420.69",
    -
    223  "--siegbert-string",
    -
    224  "banana",
    -
    225  "--lieber-liste",
    -
    226  "banana",
    -
    227  "apple",
    -
    228  "59"
    -
    229  });
    -
    230 
    -
    231  Assert::ExpectException<HazelnuppConstraintTypeMissmatch>(
    -
    232  [args]
    -
    233  {
    -
    234  Hazelnupp nupp;
    -
    235  nupp.SetCrashOnFail(false);
    -
    236 
    -
    237  nupp.RegisterConstraints({
    - -
    239  });
    -
    240 
    -
    241  nupp.Parse(C_Ify(args));
    -
    242  }
    -
    243  );
    -
    244 
    -
    245  return;
    -
    246  }
    -
    247 
    -
    248  // Tests that everything can be converted to void
    -
    249  TEST_METHOD(Weird_Load_Conversions_ToVoid)
    -
    250  {
    -
    251  // Setup
    -
    252  ArgList args({
    -
    253  "/my/fake/path/wahoo.out",
    -
    254  "--dummy",
    -
    255  "--void1",
    -
    256  "--void2",
    -
    257  "12",
    -
    258  "--void3",
    -
    259  "9.5",
    -
    260  "--void4",
    -
    261  "hello",
    -
    262  "--void5",
    -
    263  "foo",
    -
    264  "baz"
    -
    265  });
    -
    266 
    -
    267  Hazelnupp nupp;
    -
    268  nupp.SetCrashOnFail(false);
    -
    269 
    -
    270  nupp.RegisterConstraints({
    - - - - - -
    276  });
    -
    277 
    -
    278 
    -
    279  // Exercise
    -
    280  nupp.Parse(C_Ify(args));
    -
    281 
    -
    282  // Verify
    -
    283  Assert::IsTrue(nupp["--void1"].GetDataType() == DATA_TYPE::VOID);
    -
    284  Assert::IsTrue(nupp["--void2"].GetDataType() == DATA_TYPE::VOID);
    -
    285  Assert::IsTrue(nupp["--void3"].GetDataType() == DATA_TYPE::VOID);
    -
    286  Assert::IsTrue(nupp["--void4"].GetDataType() == DATA_TYPE::VOID);
    -
    287  Assert::IsTrue(nupp["--void5"].GetDataType() == DATA_TYPE::VOID);
    -
    288 
    -
    289  return;
    -
    290  }
    -
    291 
    -
    292  // Tests that everything a void can be converted to an empty list
    -
    293  TEST_METHOD(Weird_Load_Conversions_VoidToEmptyList)
    -
    294  {
    -
    295  // Setup
    -
    296  ArgList args({
    -
    297  "/my/fake/path/wahoo.out",
    -
    298  "--dummy",
    -
    299  "--empty-list",
    -
    300  });
    -
    301 
    -
    302  Hazelnupp nupp;
    -
    303  nupp.SetCrashOnFail(false);
    -
    304 
    -
    305  nupp.RegisterConstraints({
    - -
    307  });
    -
    308 
    -
    309 
    -
    310  // Exercise
    -
    311  nupp.Parse(C_Ify(args));
    -
    312 
    -
    313  // Verify
    -
    314  Assert::IsTrue(nupp["--empty-list"].GetDataType() == DATA_TYPE::LIST);
    -
    315  Assert::AreEqual(std::size_t(0), nupp["--empty-list"].GetList().size());
    -
    316 
    -
    317  return;
    -
    318  }
    -
    319  };
    -
    -
    -
    - -

    ◆ TEST_CLASS() [4/4]

    - -
    -
    - - - - - - - - -
    TestHazelnupp::TEST_CLASS (_Conversion )
    -
    - -

    Definition at line 10 of file Conversion.cpp.

    -
    11  {
    -
    12  public:
    -
    13 
    -
    14  // Tests that string conversion methods work
    -
    15  TEST_METHOD(Convert_String)
    -
    16  {
    -
    17  // Setup
    -
    18  ArgList args({
    -
    19  "/my/fake/path/wahoo.out",
    -
    20  "--pud",
    -
    21  "hello"
    -
    22  });
    -
    23 
    -
    24  // Exercise
    -
    25  Hazelnupp nupp(C_Ify(args));
    -
    26  nupp.SetCrashOnFail(false);
    -
    27 
    -
    28  // Verify
    -
    29  const Hazelnupp* ptnupp = &nupp;
    -
    30 
    -
    31  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    32  [ptnupp]
    -
    33  {
    -
    34  (*ptnupp)["--pud"].GetInt64();
    -
    35  }
    -
    36  , L"Int64");
    -
    37 
    -
    38  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    39  [ptnupp]
    -
    40  {
    -
    41  (*ptnupp)["--pud"].GetInt32();
    -
    42  }
    -
    43  , L"Int32");
    -
    44 
    -
    45  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    46  [ptnupp]
    -
    47  {
    -
    48  (*ptnupp)["--pud"].GetFloat64();
    -
    49  }
    -
    50  , L"Float64");
    -
    51 
    -
    52  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    53  [ptnupp]
    -
    54  {
    -
    55  (*ptnupp)["--pud"].GetFloat32();
    -
    56  }
    -
    57  , L"Float32");
    -
    58 
    -
    59  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    60  [ptnupp]
    -
    61  {
    -
    62  (*ptnupp)["--pud"].GetList();
    -
    63  }
    -
    64  , L"List");
    -
    65 
    -
    66 
    -
    67  return;
    -
    68  }
    -
    69 
    -
    70  // Tests that void conversion methods work
    -
    71  TEST_METHOD(Convert_Void)
    -
    72  {
    -
    73  // Setup
    -
    74  ArgList args({
    -
    75  "/my/fake/path/wahoo.out",
    -
    76  "--pud"
    -
    77  });
    -
    78 
    -
    79  // Exercise
    -
    80  Hazelnupp nupp(C_Ify(args));
    -
    81  nupp.SetCrashOnFail(false);
    -
    82 
    -
    83  // Verify
    -
    84  const Hazelnupp* ptnupp = &nupp;
    -
    85 
    -
    86  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    87  [ptnupp]
    -
    88  {
    -
    89  (*ptnupp)["--pud"].GetInt64();
    -
    90  }
    -
    91  , L"Int64");
    -
    92 
    -
    93  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    94  [ptnupp]
    -
    95  {
    -
    96  (*ptnupp)["--pud"].GetInt32();
    -
    97  }
    -
    98  , L"Int32");
    -
    99 
    -
    100  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    101  [ptnupp]
    -
    102  {
    -
    103  (*ptnupp)["--pud"].GetFloat64();
    -
    104  }
    -
    105  , L"Float64");
    -
    106 
    -
    107  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    108  [ptnupp]
    -
    109  {
    -
    110  (*ptnupp)["--pud"].GetFloat32();
    -
    111  }
    -
    112  , L"Float32");
    -
    113 
    -
    114  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    115  [ptnupp]
    -
    116  {
    -
    117  (*ptnupp)["--pud"].GetString();
    -
    118  }
    -
    119  , L"String");
    -
    120 
    -
    121  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    122  [ptnupp]
    -
    123  {
    -
    124  (*ptnupp)["--pud"].GetList();
    -
    125  }
    -
    126  , L"List");
    -
    127 
    -
    128 
    -
    129  return;
    -
    130  }
    -
    131 
    -
    132  // Tests that int conversion methods work
    -
    133  TEST_METHOD(Convert_Int)
    -
    134  {
    -
    135  // Setup
    -
    136  ArgList args({
    -
    137  "/my/fake/path/wahoo.out",
    -
    138  "--pud",
    -
    139  "39"
    -
    140  });
    -
    141 
    -
    142  // Exercise
    -
    143  Hazelnupp nupp(C_Ify(args));
    -
    144  nupp.SetCrashOnFail(false);
    -
    145 
    -
    146  // Verify
    -
    147  const Hazelnupp* ptnupp = &nupp;
    -
    148 
    -
    149  Assert::AreEqual(39ll, nupp["--pud"].GetInt64(), L"Int64");
    -
    150  Assert::AreEqual(39, nupp["--pud"].GetInt32(), L"Int32");
    -
    151  Assert::IsTrue(39.0l == nupp["--pud"].GetFloat64(), L"Float64");
    -
    152  Assert::AreEqual(39.0, nupp["--pud"].GetFloat32(), L"Float32");
    -
    153  Assert::AreEqual(std::string("39"), nupp["--pud"].GetString(), L"String");
    -
    154 
    -
    155  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    156  [ptnupp]
    -
    157  {
    -
    158  (*ptnupp)["--pud"].GetList();
    -
    159  }
    -
    160  , L"List");
    -
    161 
    -
    162 
    -
    163  return;
    -
    164  }
    -
    165 
    -
    166  // Tests that float conversion methods work
    -
    167  TEST_METHOD(Convert_Float)
    -
    168  {
    -
    169  // Setup
    -
    170  ArgList args({
    -
    171  "/my/fake/path/wahoo.out",
    -
    172  "--pud",
    -
    173  "39.5"
    -
    174  });
    -
    175 
    -
    176  // Exercise
    -
    177  Hazelnupp nupp(C_Ify(args));
    -
    178  nupp.SetCrashOnFail(false);
    -
    179 
    -
    180  // Verify
    -
    181  const Hazelnupp* ptnupp = &nupp;
    -
    182 
    -
    183  Assert::AreEqual(39ll, nupp["--pud"].GetInt64(), L"Int64");
    -
    184  Assert::AreEqual(39, nupp["--pud"].GetInt32(), L"Int32");
    -
    185  Assert::IsTrue(39.5l == nupp["--pud"].GetFloat64(), L"Float64");
    -
    186  Assert::AreEqual(39.5, nupp["--pud"].GetFloat32(), L"Float32");
    -
    187  Assert::AreEqual(std::string("39.5"), nupp["--pud"].GetString(), L"String");
    -
    188 
    -
    189  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    190  [ptnupp]
    -
    191  {
    -
    192  (*ptnupp)["--pud"].GetList();
    -
    193  }
    -
    194  , L"List");
    -
    195 
    -
    196 
    -
    197  return;
    -
    198  }
    -
    199 
    -
    200  // Tests that list conversion methods work
    -
    201  TEST_METHOD(Convert_List)
    -
    202  {
    -
    203  // Setup
    -
    204  ArgList args({
    -
    205  "/my/fake/path/wahoo.out",
    -
    206  "--pud",
    -
    207  "apple",
    -
    208  "1",
    -
    209  "2",
    -
    210  "3"
    -
    211  });
    -
    212 
    -
    213  // Exercise
    -
    214  Hazelnupp nupp(C_Ify(args));
    -
    215  nupp.SetCrashOnFail(false);
    -
    216 
    -
    217  // Verify
    -
    218  const Hazelnupp* ptnupp = &nupp;
    -
    219 
    -
    220  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    221  [ptnupp]
    -
    222  {
    -
    223  (*ptnupp)["--pud"].GetInt64();
    -
    224  }
    -
    225  , L"Int64");
    -
    226 
    -
    227  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    228  [ptnupp]
    -
    229  {
    -
    230  (*ptnupp)["--pud"].GetInt32();
    -
    231  }
    -
    232  , L"Int32");
    -
    233 
    -
    234  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    235  [ptnupp]
    -
    236  {
    -
    237  (*ptnupp)["--pud"].GetFloat64();
    -
    238  }
    -
    239  , L"Float64");
    -
    240 
    -
    241  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    242  [ptnupp]
    -
    243  {
    -
    244  (*ptnupp)["--pud"].GetFloat32();
    -
    245  }
    -
    246  , L"Float32");
    -
    247 
    -
    248  Assert::ExpectException<HazelnuppValueNotConvertibleException>(
    -
    249  [ptnupp]
    -
    250  {
    -
    251  (*ptnupp)["--pud"].GetString();
    -
    252  }
    -
    253  , L"String");
    -
    254 
    -
    255  return;
    -
    256  }
    -
    257  };
    -
    -
    -
    -
    - -
    void RegisterConstraints(const std::vector< ParamConstraint > &constraints)
    Will register parameter constraints.
    Definition: Hazelnupp.cpp:352
    - - -
    static ParamConstraint TypeSafety(const std::string &key, DATA_TYPE wantedType, bool constrainType=true)
    Constructs a type-safety constraint.
    - -
    static ParamConstraint Require(const std::string &key, const std::vector< std::string > &defaultValue={}, bool required=true)
    Constructs a require constraint.
    -
    #define C_Ify(vector)
    Definition: helper.h:4
    -
    void SetCrashOnFail(bool crashOnFail)
    Sets whether to crash the application, and print to stderr, when an exception is raised whilst parsin...
    Definition: Hazelnupp.cpp:379
    -
    std::vector< const char * > ArgList
    Definition: helper.h:6
    - -
    The main class to interface with.
    Definition: Hazelnupp.h:9
    -
    void Parse(const int argc, const char *const *argv)
    Will parse command line arguments.
    Definition: Hazelnupp.cpp:33
    - - - - diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html deleted file mode 100644 index 64c8abb..0000000 --- a/docs/namespacemembers.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Namespace Members - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    Here is a list of all namespace members with links to the namespace documentation for each member:
    -
    - - - - diff --git a/docs/namespacemembers_enum.html b/docs/namespacemembers_enum.html deleted file mode 100644 index e85a2ba..0000000 --- a/docs/namespacemembers_enum.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Namespace Members - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    - - - - diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html deleted file mode 100644 index 6312e01..0000000 --- a/docs/namespacemembers_func.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Namespace Members - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
      -
    • DataTypeToString() -: Hazelnp -
    • -
    -
    - - - - diff --git a/docs/namespacemembers_vars.html b/docs/namespacemembers_vars.html deleted file mode 100644 index 1c9d4a8..0000000 --- a/docs/namespacemembers_vars.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Namespace Members - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    - - - - diff --git a/docs/namespaces.html b/docs/namespaces.html deleted file mode 100644 index 77b6fc8..0000000 --- a/docs/namespaces.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Namespace List - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    Namespace List
    -
    -
    -
    Here is a list of all namespaces with brief descriptions:
    -
    [detail level 12]
    - - - -
     NHazelnp
     NInternal
     NPlaceholders
    -
    -
    - - - - diff --git a/docs/nav_f.png b/docs/nav_f.png deleted file mode 100644 index 700ee6e..0000000 Binary files a/docs/nav_f.png and /dev/null differ diff --git a/docs/nav_g.png b/docs/nav_g.png deleted file mode 100644 index 2093a23..0000000 Binary files a/docs/nav_g.png and /dev/null differ diff --git a/docs/nav_h.png b/docs/nav_h.png deleted file mode 100644 index 565e61d..0000000 Binary files a/docs/nav_h.png and /dev/null differ diff --git a/docs/nupp_small.png b/docs/nupp_small.png deleted file mode 100644 index 68785e0..0000000 Binary files a/docs/nupp_small.png and /dev/null differ diff --git a/docs/open.png b/docs/open.png deleted file mode 100644 index 2011ce1..0000000 Binary files a/docs/open.png and /dev/null differ diff --git a/docs/pages.html b/docs/pages.html deleted file mode 100644 index ab71acb..0000000 --- a/docs/pages.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Related Pages - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    Related Pages
    -
    -
    -
    Here is a list of all related documentation pages:
    - - -
     Hazelnupp
    -
    -
    - - - - diff --git a/docs/readme_8md.html b/docs/readme_8md.html deleted file mode 100644 index 79490f2..0000000 --- a/docs/readme_8md.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: readme.md File Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    readme.md File Reference
    -
    -
    -
    - - - - diff --git a/docs/search/all_0.html b/docs/search/all_0.html deleted file mode 100644 index 26dd244..0000000 --- a/docs/search/all_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_0.js b/docs/search/all_0.js deleted file mode 100644 index 7040121..0000000 --- a/docs/search/all_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['addincompatibilities_0',['AddIncompatibilities',['../structHazelnp_1_1ParamConstraint.html#ae335d099a2735b77239ad7eec5136991',1,'Hazelnp::ParamConstraint::AddIncompatibilities(const std::string &incompatibleParameters)'],['../structHazelnp_1_1ParamConstraint.html#a207eead7df641c7741082687db654e55',1,'Hazelnp::ParamConstraint::AddIncompatibilities(const std::initializer_list< std::string > &incompatibleParameters)']]], - ['addrequire_1',['AddRequire',['../structHazelnp_1_1ParamConstraint.html#ac23b54cad8636b3f64a27b51161b8749',1,'Hazelnp::ParamConstraint']]], - ['addtypesafety_2',['AddTypeSafety',['../structHazelnp_1_1ParamConstraint.html#ae057d0d8186c0a7936405096a58be981',1,'Hazelnp::ParamConstraint']]], - ['addvalue_3',['AddValue',['../classHazelnp_1_1ListValue.html#af8787d266aa353d3f96e2c76cce76c41',1,'Hazelnp::ListValue']]] -]; diff --git a/docs/search/all_1.html b/docs/search/all_1.html deleted file mode 100644 index 8eb215b..0000000 --- a/docs/search/all_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_1.js b/docs/search/all_1.js deleted file mode 100644 index 3dabdd9..0000000 --- a/docs/search/all_1.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['clearabbreviation_4',['ClearAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#a31f690bd95d5469d38af816183cbe3e7',1,'Hazelnp::CmdArgsInterface']]], - ['clearabbreviations_5',['ClearAbbreviations',['../classHazelnp_1_1CmdArgsInterface.html#a019e48f48427e7caa76c964bd0f117d0',1,'Hazelnp::CmdArgsInterface']]], - ['clearconstraint_6',['ClearConstraint',['../classHazelnp_1_1CmdArgsInterface.html#a112d2d5e3fd1cf1507592389c8454984',1,'Hazelnp::CmdArgsInterface']]], - ['clearconstraints_7',['ClearConstraints',['../classHazelnp_1_1CmdArgsInterface.html#ad472671fb12450b8d929418fbbffbe40',1,'Hazelnp::CmdArgsInterface']]], - ['cleardescription_8',['ClearDescription',['../classHazelnp_1_1CmdArgsInterface.html#a62889ce1faa90d0f20be3ae45803baa0',1,'Hazelnp::CmdArgsInterface']]], - ['cleardescriptions_9',['ClearDescriptions',['../classHazelnp_1_1CmdArgsInterface.html#a328dbc265e7ffa9ab526ed8aa755e107',1,'Hazelnp::CmdArgsInterface']]], - ['cmdargsinterface_10',['CmdArgsInterface',['../classHazelnp_1_1CmdArgsInterface.html',1,'Hazelnp::CmdArgsInterface'],['../structHazelnp_1_1ParamConstraint.html#a01773a2aa9845fd639f63468586b67b0',1,'Hazelnp::ParamConstraint::CmdArgsInterface()'],['../classHazelnp_1_1CmdArgsInterface.html#aa1189c249bf0d8a4fbd5fb8f03a30212',1,'Hazelnp::CmdArgsInterface::CmdArgsInterface()'],['../classHazelnp_1_1CmdArgsInterface.html#ad79ff83ead06900eb7b45d6c563703d9',1,'Hazelnp::CmdArgsInterface::CmdArgsInterface(const int argc, const char *const *argv)']]], - ['cmdargsinterface_2ecpp_11',['CmdArgsInterface.cpp',['../CmdArgsInterface_8cpp.html',1,'']]], - ['cmdargsinterface_2eh_12',['CmdArgsInterface.h',['../CmdArgsInterface_8h.html',1,'']]], - ['constraintype_13',['constrainType',['../structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac',1,'Hazelnp::ParamConstraint']]], - ['contains_14',['Contains',['../classHazelnp_1_1Internal_1_1StringTools.html#a4f1ff9fb44995407ea45b8c7c67ffeb6',1,'Hazelnp::Internal::StringTools']]] -]; diff --git a/docs/search/all_10.html b/docs/search/all_10.html deleted file mode 100644 index 6fd3a4a..0000000 --- a/docs/search/all_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_10.js b/docs/search/all_10.js deleted file mode 100644 index 52427b9..0000000 --- a/docs/search/all_10.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['what_118',['What',['../classHazelnp_1_1HazelnuppException.html#aa86c415a0f2b4ea5f11892145d1ea83e',1,'Hazelnp::HazelnuppException']]] -]; diff --git a/docs/search/all_11.html b/docs/search/all_11.html deleted file mode 100644 index f78343b..0000000 --- a/docs/search/all_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_11.js b/docs/search/all_11.js deleted file mode 100644 index e38cc88..0000000 --- a/docs/search/all_11.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['_7ecmdargsinterface_119',['~CmdArgsInterface',['../classHazelnp_1_1CmdArgsInterface.html#aadc75b3b6c9662cfbd4a936468d50466',1,'Hazelnp::CmdArgsInterface']]], - ['_7efloatvalue_120',['~FloatValue',['../classHazelnp_1_1FloatValue.html#a02e61e453c3e8e32d4d527799c11fd4a',1,'Hazelnp::FloatValue']]], - ['_7eintvalue_121',['~IntValue',['../classHazelnp_1_1IntValue.html#af69f25847b0666f9d6c1bb1fed18d917',1,'Hazelnp::IntValue']]], - ['_7elistvalue_122',['~ListValue',['../classHazelnp_1_1ListValue.html#a91f1450f299d46b3301774a6b4eb6c18',1,'Hazelnp::ListValue']]], - ['_7eparameter_123',['~Parameter',['../classHazelnp_1_1Parameter.html#a6e2ade42a712f1d3675653329266e42d',1,'Hazelnp::Parameter']]], - ['_7estringvalue_124',['~StringValue',['../classHazelnp_1_1StringValue.html#a5176062e2110d121466a6855fdc65d6d',1,'Hazelnp::StringValue']]], - ['_7evalue_125',['~Value',['../classHazelnp_1_1Value.html#a977dea61ee5b00b6c6d77ad6ad2c8d4c',1,'Hazelnp::Value']]], - ['_7evoidvalue_126',['~VoidValue',['../classHazelnp_1_1VoidValue.html#a6024b40919c3a6acea92be0439be2db0',1,'Hazelnp::VoidValue']]] -]; diff --git a/docs/search/all_12.html b/docs/search/all_12.html deleted file mode 100644 index dd9ff1d..0000000 --- a/docs/search/all_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_12.js b/docs/search/all_12.js deleted file mode 100644 index a02268b..0000000 --- a/docs/search/all_12.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['_7efloatvalue_103',['~FloatValue',['../classFloatValue.html#a5c6c7a2c805ac0207d325edd28a5db1c',1,'FloatValue']]], - ['_7ehazelnupp_104',['~Hazelnupp',['../classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be',1,'Hazelnupp']]], - ['_7eintvalue_105',['~IntValue',['../classIntValue.html#a45514417be35da78376822a0dd50f488',1,'IntValue']]], - ['_7elistvalue_106',['~ListValue',['../classListValue.html#a91f1450f299d46b3301774a6b4eb6c18',1,'ListValue']]], - ['_7eparameter_107',['~Parameter',['../classParameter.html#a6e2ade42a712f1d3675653329266e42d',1,'Parameter']]], - ['_7estringvalue_108',['~StringValue',['../classStringValue.html#a829a8f064ec6b31b57d1dbebc8cd05d8',1,'StringValue']]], - ['_7evalue_109',['~Value',['../classValue.html#aceb26b90be781020c0c71ae5d16ca06f',1,'Value']]], - ['_7evoidvalue_110',['~VoidValue',['../classVoidValue.html#a8229e255a6fc31da4a4ec7aba97d4111',1,'VoidValue']]] -]; diff --git a/docs/search/all_2.html b/docs/search/all_2.html deleted file mode 100644 index b26d916..0000000 --- a/docs/search/all_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_2.js b/docs/search/all_2.js deleted file mode 100644 index 64f28e6..0000000 --- a/docs/search/all_2.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['data_5ftype_15',['DATA_TYPE',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803f',1,'Hazelnp']]], - ['datatype_2eh_16',['DataType.h',['../DataType_8h.html',1,'']]], - ['datatypetostring_17',['DataTypeToString',['../namespaceHazelnp.html#a7fb1e5ad9e2ecb6c0025beb19f11621b',1,'Hazelnp']]], - ['deepcopy_18',['Deepcopy',['../classHazelnp_1_1FloatValue.html#ab071916339a0d5a266d821ebbc8f12b0',1,'Hazelnp::FloatValue::Deepcopy()'],['../classHazelnp_1_1IntValue.html#aa599004242b27f8f3e246b88742b034e',1,'Hazelnp::IntValue::Deepcopy()'],['../classHazelnp_1_1ListValue.html#a51c89ff315026b03d908345c6f58169d',1,'Hazelnp::ListValue::Deepcopy()'],['../classHazelnp_1_1StringValue.html#a1952487a786fb53cb0b9aefdb3367268',1,'Hazelnp::StringValue::Deepcopy()'],['../classHazelnp_1_1Value.html#aec9bc16f1630734c79bc69e916622dc6',1,'Hazelnp::Value::Deepcopy()'],['../classHazelnp_1_1VoidValue.html#ac36e85add840057659ec24484548165f',1,'Hazelnp::VoidValue::Deepcopy()']]], - ['defaultvalue_19',['defaultValue',['../structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/all_3.html b/docs/search/all_3.html deleted file mode 100644 index b61b96f..0000000 --- a/docs/search/all_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_3.js b/docs/search/all_3.js deleted file mode 100644 index 30f3d13..0000000 --- a/docs/search/all_3.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['float_20',['FLOAT',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fae738c26bf4ce1037fa81b039a915cbf6',1,'Hazelnp']]], - ['floatvalue_21',['FloatValue',['../classHazelnp_1_1FloatValue.html',1,'Hazelnp::FloatValue'],['../classHazelnp_1_1FloatValue.html#a6bb35564e3331a3feb57b08caad0df44',1,'Hazelnp::FloatValue::FloatValue()']]], - ['floatvalue_2ecpp_22',['FloatValue.cpp',['../FloatValue_8cpp.html',1,'']]], - ['floatvalue_2eh_23',['FloatValue.h',['../FloatValue_8h.html',1,'']]] -]; diff --git a/docs/search/all_4.html b/docs/search/all_4.html deleted file mode 100644 index 06de155..0000000 --- a/docs/search/all_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_4.js b/docs/search/all_4.js deleted file mode 100644 index 3b9f8e1..0000000 --- a/docs/search/all_4.js +++ /dev/null @@ -1,21 +0,0 @@ -var searchData= -[ - ['g_5femptystring_24',['g_emptyString',['../namespaceHazelnp_1_1Placeholders.html#a90536f0cd5261b18da736e954c6b8b79',1,'Hazelnp::Placeholders']]], - ['generatedocumentation_25',['GenerateDocumentation',['../classHazelnp_1_1CmdArgsInterface.html#a9b9bc5c4443799ea847077e9cefb1927',1,'Hazelnp::CmdArgsInterface']]], - ['getabbreviation_26',['GetAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#a1486bfef870e6502aefc23b11ce6caaf',1,'Hazelnp::CmdArgsInterface']]], - ['getasosstring_27',['GetAsOsString',['../classHazelnp_1_1FloatValue.html#a6c9a4b70a7618252f56d9062c483531c',1,'Hazelnp::FloatValue::GetAsOsString()'],['../classHazelnp_1_1IntValue.html#a7d7dbda9a051084600d3eabdac96ee45',1,'Hazelnp::IntValue::GetAsOsString()'],['../classHazelnp_1_1ListValue.html#a5b1f8af329e48c5469fee16634b7889c',1,'Hazelnp::ListValue::GetAsOsString()'],['../classHazelnp_1_1StringValue.html#a71869ee46b88a3cbb9571f481f0c216d',1,'Hazelnp::StringValue::GetAsOsString()'],['../classHazelnp_1_1Value.html#ae1fdc694ed1c2b3080ad3929efda0a0e',1,'Hazelnp::Value::GetAsOsString()'],['../classHazelnp_1_1VoidValue.html#a44b1917d9ba41ee91e2131432e01ec90',1,'Hazelnp::VoidValue::GetAsOsString()']]], - ['getbriefdescription_28',['GetBriefDescription',['../classHazelnp_1_1CmdArgsInterface.html#a1945208a97707b2e3c654424f0760441',1,'Hazelnp::CmdArgsInterface']]], - ['getcatchhelp_29',['GetCatchHelp',['../classHazelnp_1_1CmdArgsInterface.html#a1026d98c23659b6d3d108b231806a1e3',1,'Hazelnp::CmdArgsInterface']]], - ['getconstraint_30',['GetConstraint',['../classHazelnp_1_1CmdArgsInterface.html#adec82884377a5193f68dcc7b6ef69d8b',1,'Hazelnp::CmdArgsInterface']]], - ['getcrashonfail_31',['GetCrashOnFail',['../classHazelnp_1_1CmdArgsInterface.html#a3e60c7a90c11bdc634d0f5d0dba5064c',1,'Hazelnp::CmdArgsInterface']]], - ['getdatatype_32',['GetDataType',['../classHazelnp_1_1Value.html#adbb80bf6d455a316e6e5103353429993',1,'Hazelnp::Value']]], - ['getdescription_33',['GetDescription',['../classHazelnp_1_1CmdArgsInterface.html#a89bc3f54d7ff0740549dbdf7b7f727e3',1,'Hazelnp::CmdArgsInterface']]], - ['getexecutablename_34',['GetExecutableName',['../classHazelnp_1_1CmdArgsInterface.html#afe83a815b21d37b3d2a6d0ef67137faf',1,'Hazelnp::CmdArgsInterface']]], - ['getfloat32_35',['GetFloat32',['../classHazelnp_1_1FloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81',1,'Hazelnp::FloatValue::GetFloat32()'],['../classHazelnp_1_1IntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4',1,'Hazelnp::IntValue::GetFloat32()'],['../classHazelnp_1_1ListValue.html#a637fec02ed7f7325554e494fc7cd4e86',1,'Hazelnp::ListValue::GetFloat32()'],['../classHazelnp_1_1StringValue.html#a31fc4d2517a7454c1e9f329df2f14be7',1,'Hazelnp::StringValue::GetFloat32()'],['../classHazelnp_1_1Value.html#a64eeb2943ccea6e16ce4e6f53a6e9b6d',1,'Hazelnp::Value::GetFloat32()'],['../classHazelnp_1_1VoidValue.html#a6d39d2983e54e1a407c66e303273aa48',1,'Hazelnp::VoidValue::GetFloat32()']]], - ['getfloat64_36',['GetFloat64',['../classHazelnp_1_1FloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9',1,'Hazelnp::FloatValue::GetFloat64()'],['../classHazelnp_1_1IntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5',1,'Hazelnp::IntValue::GetFloat64()'],['../classHazelnp_1_1ListValue.html#a571178db1c9d23f6c685ea8898dbb60e',1,'Hazelnp::ListValue::GetFloat64()'],['../classHazelnp_1_1StringValue.html#a74bedb828c901a4895062f62303b9653',1,'Hazelnp::StringValue::GetFloat64()'],['../classHazelnp_1_1Value.html#af645b9d78970d102360be37fc18e9e8a',1,'Hazelnp::Value::GetFloat64()'],['../classHazelnp_1_1VoidValue.html#a18b6f0d697c5f9286372a05927e4759c',1,'Hazelnp::VoidValue::GetFloat64()']]], - ['getint32_37',['GetInt32',['../classHazelnp_1_1FloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99',1,'Hazelnp::FloatValue::GetInt32()'],['../classHazelnp_1_1IntValue.html#a163f21536fa49491aa0ae03c8091344a',1,'Hazelnp::IntValue::GetInt32()'],['../classHazelnp_1_1ListValue.html#a565c2b86fcfb3a13de29e59d95a358e7',1,'Hazelnp::ListValue::GetInt32()'],['../classHazelnp_1_1StringValue.html#ac8b53a7792ff1ed048722e2e404f3e6b',1,'Hazelnp::StringValue::GetInt32()'],['../classHazelnp_1_1Value.html#a2cb73333bdeca657dfbf6c8b2e50a5ef',1,'Hazelnp::Value::GetInt32()'],['../classHazelnp_1_1VoidValue.html#a5b7f50c390ef8f3636ba211a72a78065',1,'Hazelnp::VoidValue::GetInt32()']]], - ['getint64_38',['GetInt64',['../classHazelnp_1_1FloatValue.html#a762520d504d4564c48cf3bbefbb0f183',1,'Hazelnp::FloatValue::GetInt64()'],['../classHazelnp_1_1IntValue.html#ae0643023dfd56eafe2e3da5a4ba13080',1,'Hazelnp::IntValue::GetInt64()'],['../classHazelnp_1_1ListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995',1,'Hazelnp::ListValue::GetInt64()'],['../classHazelnp_1_1StringValue.html#aabdc7d681945403d24df6a8fe27948af',1,'Hazelnp::StringValue::GetInt64()'],['../classHazelnp_1_1Value.html#a92d75905211e964cb900bdc868ed12a7',1,'Hazelnp::Value::GetInt64()'],['../classHazelnp_1_1VoidValue.html#a3806945596866f3630dc5426a6b55e58',1,'Hazelnp::VoidValue::GetInt64()']]], - ['getlist_39',['GetList',['../classHazelnp_1_1FloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1',1,'Hazelnp::FloatValue::GetList()'],['../classHazelnp_1_1IntValue.html#acc74ba6070a516a4bcad10bb113d6fa2',1,'Hazelnp::IntValue::GetList()'],['../classHazelnp_1_1ListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f',1,'Hazelnp::ListValue::GetList()'],['../classHazelnp_1_1StringValue.html#a2b2810350b5eb7e58062ad095320aa69',1,'Hazelnp::StringValue::GetList()'],['../classHazelnp_1_1Value.html#a358092f951e817cd2a878225b5b1c869',1,'Hazelnp::Value::GetList()'],['../classHazelnp_1_1VoidValue.html#aba53ae37d415959b583f33f3e381be16',1,'Hazelnp::VoidValue::GetList()']]], - ['getstring_40',['GetString',['../classHazelnp_1_1FloatValue.html#afd5d078683f410cb9d450c61f12f250d',1,'Hazelnp::FloatValue::GetString()'],['../classHazelnp_1_1IntValue.html#a3631e3b16f010889e942c0c0f72d403c',1,'Hazelnp::IntValue::GetString()'],['../classHazelnp_1_1ListValue.html#aeaf80c07236045a77d72349ebcfc3b89',1,'Hazelnp::ListValue::GetString()'],['../classHazelnp_1_1StringValue.html#a7ed55493cfd25274f8571c1ea45f93e5',1,'Hazelnp::StringValue::GetString()'],['../classHazelnp_1_1Value.html#a1446705c062026f03866d0f452c39501',1,'Hazelnp::Value::GetString()'],['../classHazelnp_1_1VoidValue.html#a5af0c47a873b84226df47a90e63b2acd',1,'Hazelnp::VoidValue::GetString()']]], - ['getvalue_41',['GetValue',['../classHazelnp_1_1FloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f',1,'Hazelnp::FloatValue::GetValue()'],['../classHazelnp_1_1IntValue.html#a89967cafbdeb21362336067b772808c7',1,'Hazelnp::IntValue::GetValue()'],['../classHazelnp_1_1ListValue.html#a7907ae7433e4011157f1b31dd5339702',1,'Hazelnp::ListValue::GetValue()'],['../classHazelnp_1_1Parameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af',1,'Hazelnp::Parameter::GetValue()'],['../classHazelnp_1_1StringValue.html#a521a573887a3f31718f74e71ff01e86e',1,'Hazelnp::StringValue::GetValue()']]] -]; diff --git a/docs/search/all_5.html b/docs/search/all_5.html deleted file mode 100644 index 2544c4e..0000000 --- a/docs/search/all_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_5.js b/docs/search/all_5.js deleted file mode 100644 index 72a3052..0000000 --- a/docs/search/all_5.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['hasabbreviation_42',['HasAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#a58b81709e631cee5f3db3f3f48611fe9',1,'Hazelnp::CmdArgsInterface']]], - ['hasdescription_43',['HasDescription',['../classHazelnp_1_1CmdArgsInterface.html#a5003f826ee31c6365bf4b6e8b2c8d9f1',1,'Hazelnp::CmdArgsInterface']]], - ['hasparam_44',['HasParam',['../classHazelnp_1_1CmdArgsInterface.html#a3a7fa36fe69ee8bf3b400983a21ecd24',1,'Hazelnp::CmdArgsInterface']]], - ['hazelnp_45',['Hazelnp',['../namespaceHazelnp.html',1,'']]], - ['hazelnupp_2evcxproj_2efilelistabsolute_2etxt_46',['Hazelnupp.vcxproj.FileListAbsolute.txt',['../Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)'],['../Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)']]], - ['hazelnupp_5fversion_47',['HAZELNUPP_VERSION',['../Version_8h.html#a5ade51e925f9cad08d64d4021c8312a0',1,'Version.h']]], - ['hazelnuppconstraintexception_48',['HazelnuppConstraintException',['../classHazelnp_1_1HazelnuppConstraintException.html',1,'Hazelnp::HazelnuppConstraintException'],['../classHazelnp_1_1HazelnuppConstraintException.html#a4d08002a96bf9b3da3c6e931a51960e9',1,'Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException()'],['../classHazelnp_1_1HazelnuppConstraintException.html#a944f0e6a384e032a762c5892964e1cc0',1,'Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException(const std::string &msg)']]], - ['hazelnuppconstraintincompatibleparameters_49',['HazelnuppConstraintIncompatibleParameters',['../classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html',1,'Hazelnp::HazelnuppConstraintIncompatibleParameters'],['../classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html#a3eceb69d0d4794252ab41b0d2b22ef3d',1,'Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters()'],['../classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html#ad9427954049ceb66f42130ac8476dc46',1,'Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters(const std::string &key1, const std::string &key2)']]], - ['hazelnuppconstraintmissingvalue_50',['HazelnuppConstraintMissingValue',['../classHazelnp_1_1HazelnuppConstraintMissingValue.html',1,'Hazelnp::HazelnuppConstraintMissingValue'],['../classHazelnp_1_1HazelnuppConstraintMissingValue.html#aad4a7b5573790ddfbe1a453aef71eb10',1,'Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue()'],['../classHazelnp_1_1HazelnuppConstraintMissingValue.html#a192ef8133047beadf8fc9f585d384c04',1,'Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue(const std::string &key, const std::string &paramDescription="")']]], - ['hazelnuppconstrainttypemissmatch_51',['HazelnuppConstraintTypeMissmatch',['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html',1,'Hazelnp::HazelnuppConstraintTypeMissmatch'],['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html#ab7c9e9afd9d3286e563a7656785242e8',1,'Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch()'],['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html#a603d91c9af39e53b54e5aa288266cfe4',1,'Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch(const std::string &msg)'],['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html#abd5ae6630884725b614e8fe603cccdc5',1,'Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch(const std::string &key, const DATA_TYPE requiredType, const DATA_TYPE actualType, const std::string &paramDescription="")']]], - ['hazelnuppexception_52',['HazelnuppException',['../classHazelnp_1_1HazelnuppException.html',1,'Hazelnp::HazelnuppException'],['../classHazelnp_1_1HazelnuppException.html#a0b21fd5d4f22e5e677b74eb0acd7c6ff',1,'Hazelnp::HazelnuppException::HazelnuppException()'],['../classHazelnp_1_1HazelnuppException.html#a816f823fe2ebd35076049e33b9f3c05c',1,'Hazelnp::HazelnuppException::HazelnuppException(const std::string &msg)']]], - ['hazelnuppexception_2eh_53',['HazelnuppException.h',['../HazelnuppException_8h.html',1,'']]], - ['hazelnuppinvalidkeyexception_54',['HazelnuppInvalidKeyException',['../classHazelnp_1_1HazelnuppInvalidKeyException.html',1,'Hazelnp::HazelnuppInvalidKeyException'],['../classHazelnp_1_1HazelnuppInvalidKeyException.html#ab23be8f7cb84129fa85ed1e7a0b280a0',1,'Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException()'],['../classHazelnp_1_1HazelnuppInvalidKeyException.html#a18a08dc4efe80a378216460db5769891',1,'Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException(const std::string &msg)']]], - ['hazelnuppvaluenotconvertibleexception_55',['HazelnuppValueNotConvertibleException',['../classHazelnp_1_1HazelnuppValueNotConvertibleException.html',1,'Hazelnp::HazelnuppValueNotConvertibleException'],['../classHazelnp_1_1HazelnuppValueNotConvertibleException.html#a0babee1bb5cec9fdd4abfd86995561f4',1,'Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException()'],['../classHazelnp_1_1HazelnuppValueNotConvertibleException.html#a7ba376cd7fc7edcb934ee0257d4867f2',1,'Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException(const std::string &msg)']]], - ['hazelnupp_56',['Hazelnupp',['../index.html',1,'']]], - ['internal_57',['Internal',['../namespaceHazelnp_1_1Internal.html',1,'Hazelnp']]], - ['placeholders_58',['Placeholders',['../namespaceHazelnp_1_1Placeholders.html',1,'Hazelnp']]] -]; diff --git a/docs/search/all_6.html b/docs/search/all_6.html deleted file mode 100644 index 43f14ea..0000000 --- a/docs/search/all_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_6.js b/docs/search/all_6.js deleted file mode 100644 index 038c769..0000000 --- a/docs/search/all_6.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['incompatibility_59',['Incompatibility',['../structHazelnp_1_1ParamConstraint.html#a20fa41460106b5327a51114f8a187871',1,'Hazelnp::ParamConstraint::Incompatibility(const std::initializer_list< std::string > &incompatibleParameters)'],['../structHazelnp_1_1ParamConstraint.html#a6bb383f8945fb99cbd2370fd9a4bc6fc',1,'Hazelnp::ParamConstraint::Incompatibility(const std::string &incompatibleParameters)']]], - ['incompatibleparameters_60',['incompatibleParameters',['../structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c',1,'Hazelnp::ParamConstraint']]], - ['index_2emd_61',['index.md',['../index_8md.html',1,'']]], - ['int_62',['INT',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa53f93baa3057821107c750323892fa92',1,'Hazelnp']]], - ['intvalue_63',['IntValue',['../classHazelnp_1_1IntValue.html',1,'Hazelnp::IntValue'],['../classHazelnp_1_1IntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba',1,'Hazelnp::IntValue::IntValue()']]], - ['intvalue_2ecpp_64',['IntValue.cpp',['../IntValue_8cpp.html',1,'']]], - ['intvalue_2eh_65',['IntValue.h',['../IntValue_8h.html',1,'']]], - ['isnumeric_66',['IsNumeric',['../classHazelnp_1_1Internal_1_1StringTools.html#a1abf1454a223165acfb52f2a246c8215',1,'Hazelnp::Internal::StringTools']]] -]; diff --git a/docs/search/all_7.html b/docs/search/all_7.html deleted file mode 100644 index af52f82..0000000 --- a/docs/search/all_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_7.js b/docs/search/all_7.js deleted file mode 100644 index 463500e..0000000 --- a/docs/search/all_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['key_67',['Key',['../classHazelnp_1_1Parameter.html#a7acd68ce06eec06ab286b1a062f9c8d6',1,'Hazelnp::Parameter']]] -]; diff --git a/docs/search/all_8.html b/docs/search/all_8.html deleted file mode 100644 index cf2b5df..0000000 --- a/docs/search/all_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_8.js b/docs/search/all_8.js deleted file mode 100644 index a6acfb2..0000000 --- a/docs/search/all_8.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['list_68',['LIST',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa298cb25408234de02baf2085803a464a',1,'Hazelnp']]], - ['listvalue_69',['ListValue',['../classHazelnp_1_1ListValue.html',1,'Hazelnp::ListValue'],['../classHazelnp_1_1ListValue.html#a6082aaa506b31496720a168da8ab2708',1,'Hazelnp::ListValue::ListValue()']]], - ['listvalue_2ecpp_70',['ListValue.cpp',['../ListValue_8cpp.html',1,'']]], - ['listvalue_2eh_71',['ListValue.h',['../ListValue_8h.html',1,'']]] -]; diff --git a/docs/search/all_9.html b/docs/search/all_9.html deleted file mode 100644 index 690785a..0000000 --- a/docs/search/all_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_9.js b/docs/search/all_9.js deleted file mode 100644 index 7ed3fb9..0000000 --- a/docs/search/all_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['message_72',['message',['../classHazelnp_1_1HazelnuppException.html#aa905cabcd12f542dfc67638732737e88',1,'Hazelnp::HazelnuppException']]] -]; diff --git a/docs/search/all_a.html b/docs/search/all_a.html deleted file mode 100644 index f2f3d3a..0000000 --- a/docs/search/all_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_a.js b/docs/search/all_a.js deleted file mode 100644 index cc5576d..0000000 --- a/docs/search/all_a.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['operator_20double_73',['operator double',['../classHazelnp_1_1FloatValue.html#ae02de376bbb2b76e0f9d16b1fc4de06d',1,'Hazelnp::FloatValue']]], - ['operator_20int_74',['operator int',['../classHazelnp_1_1IntValue.html#ab30a38c8f58cefd7cbf365c4aeae79bd',1,'Hazelnp::IntValue']]], - ['operator_20long_20double_75',['operator long double',['../classHazelnp_1_1FloatValue.html#ad0d4c589190fbab7e6c4d8fcc130ac1b',1,'Hazelnp::FloatValue']]], - ['operator_20long_20long_20int_76',['operator long long int',['../classHazelnp_1_1IntValue.html#a45b283dae9904ad0643035d3ee5883eb',1,'Hazelnp::IntValue']]], - ['operator_3c_3c_77',['operator<<',['../classHazelnp_1_1Parameter.html#a11b3529badcbf99b46262772472495c7',1,'Hazelnp::Parameter::operator<<()'],['../classHazelnp_1_1Value.html#ad29db86c4a2dec5bc8d0006031b07211',1,'Hazelnp::Value::operator<<()']]], - ['operator_5b_5d_78',['operator[]',['../classHazelnp_1_1CmdArgsInterface.html#af5e43c1067fb6c1074d9be3427c7a415',1,'Hazelnp::CmdArgsInterface']]], - ['string_79',['string',['../classHazelnp_1_1StringValue.html#a23449775f14f828d29b115de040a696b',1,'Hazelnp::StringValue']]], - ['vector_3c_20value_20_2a_20_3e_80',['vector< Value * >',['../classHazelnp_1_1ListValue.html#a5d92ff2b9a1fa92fbc303ac4d07765d0',1,'Hazelnp::ListValue']]] -]; diff --git a/docs/search/all_b.html b/docs/search/all_b.html deleted file mode 100644 index 14f3403..0000000 --- a/docs/search/all_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_b.js b/docs/search/all_b.js deleted file mode 100644 index 0a9380b..0000000 --- a/docs/search/all_b.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['paramconstraint_81',['ParamConstraint',['../structHazelnp_1_1ParamConstraint.html',1,'Hazelnp::ParamConstraint'],['../structHazelnp_1_1ParamConstraint.html#afa9e1b4378c9fa1b4a7b5b792c062cbe',1,'Hazelnp::ParamConstraint::ParamConstraint()=default'],['../structHazelnp_1_1ParamConstraint.html#aea39497a14939fa887c236ee1e755cb3',1,'Hazelnp::ParamConstraint::ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > &defaultValue, bool required, const std::initializer_list< std::string > &incompatibleParameters)']]], - ['paramconstraint_2eh_82',['ParamConstraint.h',['../ParamConstraint_8h.html',1,'']]], - ['parameter_83',['Parameter',['../classHazelnp_1_1Parameter.html',1,'Hazelnp::Parameter'],['../classHazelnp_1_1Parameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c',1,'Hazelnp::Parameter::Parameter()']]], - ['parameter_2ecpp_84',['Parameter.cpp',['../Parameter_8cpp.html',1,'']]], - ['parameter_2eh_85',['Parameter.h',['../Parameter_8h.html',1,'']]], - ['parse_86',['Parse',['../classHazelnp_1_1CmdArgsInterface.html#a1f4845041e08b3335510de44fafaee19',1,'Hazelnp::CmdArgsInterface']]], - ['parsenumber_87',['ParseNumber',['../classHazelnp_1_1Internal_1_1StringTools.html#a3cc71bfffcad9a4334e74aac69dbfd68',1,'Hazelnp::Internal::StringTools']]], - ['placeholders_2eh_88',['Placeholders.h',['../Placeholders_8h.html',1,'']]] -]; diff --git a/docs/search/all_c.html b/docs/search/all_c.html deleted file mode 100644 index da60ab8..0000000 --- a/docs/search/all_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_c.js b/docs/search/all_c.js deleted file mode 100644 index 56eccd5..0000000 --- a/docs/search/all_c.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['registerabbreviation_89',['RegisterAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#aaccf591a74408aeb4363033fe8cb2224',1,'Hazelnp::CmdArgsInterface']]], - ['registerconstraint_90',['RegisterConstraint',['../classHazelnp_1_1CmdArgsInterface.html#aa30222df012f357455f90e3620346bb2',1,'Hazelnp::CmdArgsInterface']]], - ['registerdescription_91',['RegisterDescription',['../classHazelnp_1_1CmdArgsInterface.html#a6589d2e818ba32f2a3e5b5a6a5e2bf1e',1,'Hazelnp::CmdArgsInterface']]], - ['replace_92',['Replace',['../classHazelnp_1_1Internal_1_1StringTools.html#ac45f8b6d0572443e9d2597447091b000',1,'Hazelnp::Internal::StringTools::Replace(const std::string &str, const char find, const std::string &subst)'],['../classHazelnp_1_1Internal_1_1StringTools.html#afaebf388806c331db0757231b0366fd7',1,'Hazelnp::Internal::StringTools::Replace(const std::string &str, const std::string &find, const std::string &subst)']]], - ['require_93',['Require',['../structHazelnp_1_1ParamConstraint.html#a8a7e5d7ddffc3cfbb54ac6823dd7eded',1,'Hazelnp::ParamConstraint']]], - ['required_94',['required',['../structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c',1,'Hazelnp::ParamConstraint']]], - ['requiredtype_95',['requiredType',['../structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/all_d.html b/docs/search/all_d.html deleted file mode 100644 index bc376fe..0000000 --- a/docs/search/all_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_d.js b/docs/search/all_d.js deleted file mode 100644 index d87175a..0000000 --- a/docs/search/all_d.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['setbriefdescription_96',['SetBriefDescription',['../classHazelnp_1_1CmdArgsInterface.html#a67ba6cb3176884c85dd56fc9084ab66a',1,'Hazelnp::CmdArgsInterface']]], - ['setcatchhelp_97',['SetCatchHelp',['../classHazelnp_1_1CmdArgsInterface.html#abf553ed4acabf9e1db357715bc10533c',1,'Hazelnp::CmdArgsInterface']]], - ['setcrashonfail_98',['SetCrashOnFail',['../classHazelnp_1_1CmdArgsInterface.html#a16a3a02f77d240d8cf51cd4ee1797113',1,'Hazelnp::CmdArgsInterface']]], - ['splitstring_99',['SplitString',['../classHazelnp_1_1Internal_1_1StringTools.html#aaf3aae30ed06c37d18f79b8450061ad1',1,'Hazelnp::Internal::StringTools::SplitString(const std::string &str, const char delimiter)'],['../classHazelnp_1_1Internal_1_1StringTools.html#a8cb6e05d822c184a8e982327c01fdb03',1,'Hazelnp::Internal::StringTools::SplitString(const std::string &str, const std::string &delimiter)']]], - ['string_100',['STRING',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa63b588d5559f64f89a416e656880b949',1,'Hazelnp']]], - ['stringtools_101',['StringTools',['../classHazelnp_1_1Internal_1_1StringTools.html',1,'Hazelnp::Internal']]], - ['stringtools_2ecpp_102',['StringTools.cpp',['../StringTools_8cpp.html',1,'']]], - ['stringtools_2eh_103',['StringTools.h',['../StringTools_8h.html',1,'']]], - ['stringvalue_104',['StringValue',['../classHazelnp_1_1StringValue.html',1,'Hazelnp::StringValue'],['../classHazelnp_1_1StringValue.html#a24dad2deec92b51bf60a11400cc8c204',1,'Hazelnp::StringValue::StringValue()']]], - ['stringvalue_2ecpp_105',['StringValue.cpp',['../StringValue_8cpp.html',1,'']]], - ['stringvalue_2eh_106',['StringValue.h',['../StringValue_8h.html',1,'']]] -]; diff --git a/docs/search/all_e.html b/docs/search/all_e.html deleted file mode 100644 index 2e3c74d..0000000 --- a/docs/search/all_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_e.js b/docs/search/all_e.js deleted file mode 100644 index c5c481a..0000000 --- a/docs/search/all_e.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['tolower_107',['ToLower',['../classHazelnp_1_1Internal_1_1StringTools.html#a10f61d7d8bcbfee50882bae801c0e68c',1,'Hazelnp::Internal::StringTools']]], - ['type_108',['type',['../classHazelnp_1_1Value.html#ae5760a30c237095db595c466372e3c23',1,'Hazelnp::Value']]], - ['typesafety_109',['TypeSafety',['../structHazelnp_1_1ParamConstraint.html#a7df61dbc8dbaff4bc596fdf2c0532d5b',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/all_f.html b/docs/search/all_f.html deleted file mode 100644 index 246f8ab..0000000 --- a/docs/search/all_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/all_f.js b/docs/search/all_f.js deleted file mode 100644 index 8fa7ea1..0000000 --- a/docs/search/all_f.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['value_110',['Value',['../classHazelnp_1_1Value.html',1,'Hazelnp::Value'],['../classHazelnp_1_1Value.html#a8455d65bb2d939e850d6772dfbf8bfec',1,'Hazelnp::Value::Value()']]], - ['value_2ecpp_111',['Value.cpp',['../Value_8cpp.html',1,'']]], - ['value_2eh_112',['Value.h',['../Value_8h.html',1,'']]], - ['version_2eh_113',['Version.h',['../Version_8h.html',1,'']]], - ['void_114',['VOID',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa6d0c9fc747131795e6e5d0c5119f12cb',1,'Hazelnp']]], - ['voidvalue_115',['VoidValue',['../classHazelnp_1_1VoidValue.html',1,'Hazelnp::VoidValue'],['../classHazelnp_1_1VoidValue.html#a75abf334b7f55cd149d2bb1962f2d8f1',1,'Hazelnp::VoidValue::VoidValue()']]], - ['voidvalue_2ecpp_116',['VoidValue.cpp',['../VoidValue_8cpp.html',1,'']]], - ['voidvalue_2eh_117',['VoidValue.h',['../VoidValue_8h.html',1,'']]] -]; diff --git a/docs/search/classes_0.html b/docs/search/classes_0.html deleted file mode 100644 index f7e4c14..0000000 --- a/docs/search/classes_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js deleted file mode 100644 index d085b18..0000000 --- a/docs/search/classes_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['cmdargsinterface_127',['CmdArgsInterface',['../classHazelnp_1_1CmdArgsInterface.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_1.html b/docs/search/classes_1.html deleted file mode 100644 index c7ff4b3..0000000 --- a/docs/search/classes_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js deleted file mode 100644 index 0f471bc..0000000 --- a/docs/search/classes_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['floatvalue_128',['FloatValue',['../classHazelnp_1_1FloatValue.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_2.html b/docs/search/classes_2.html deleted file mode 100644 index 0d1e8a0..0000000 --- a/docs/search/classes_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js deleted file mode 100644 index a85677e..0000000 --- a/docs/search/classes_2.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['hazelnuppconstraintexception_129',['HazelnuppConstraintException',['../classHazelnp_1_1HazelnuppConstraintException.html',1,'Hazelnp']]], - ['hazelnuppconstraintincompatibleparameters_130',['HazelnuppConstraintIncompatibleParameters',['../classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html',1,'Hazelnp']]], - ['hazelnuppconstraintmissingvalue_131',['HazelnuppConstraintMissingValue',['../classHazelnp_1_1HazelnuppConstraintMissingValue.html',1,'Hazelnp']]], - ['hazelnuppconstrainttypemissmatch_132',['HazelnuppConstraintTypeMissmatch',['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html',1,'Hazelnp']]], - ['hazelnuppexception_133',['HazelnuppException',['../classHazelnp_1_1HazelnuppException.html',1,'Hazelnp']]], - ['hazelnuppinvalidkeyexception_134',['HazelnuppInvalidKeyException',['../classHazelnp_1_1HazelnuppInvalidKeyException.html',1,'Hazelnp']]], - ['hazelnuppvaluenotconvertibleexception_135',['HazelnuppValueNotConvertibleException',['../classHazelnp_1_1HazelnuppValueNotConvertibleException.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_3.html b/docs/search/classes_3.html deleted file mode 100644 index 2102545..0000000 --- a/docs/search/classes_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js deleted file mode 100644 index 63570b9..0000000 --- a/docs/search/classes_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['intvalue_136',['IntValue',['../classHazelnp_1_1IntValue.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_4.html b/docs/search/classes_4.html deleted file mode 100644 index 095ab59..0000000 --- a/docs/search/classes_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js deleted file mode 100644 index 8d56088..0000000 --- a/docs/search/classes_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['listvalue_137',['ListValue',['../classHazelnp_1_1ListValue.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_5.html b/docs/search/classes_5.html deleted file mode 100644 index fc9cdc9..0000000 --- a/docs/search/classes_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js deleted file mode 100644 index d8ca1d2..0000000 --- a/docs/search/classes_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['paramconstraint_138',['ParamConstraint',['../structHazelnp_1_1ParamConstraint.html',1,'Hazelnp']]], - ['parameter_139',['Parameter',['../classHazelnp_1_1Parameter.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_6.html b/docs/search/classes_6.html deleted file mode 100644 index 1ecfddd..0000000 --- a/docs/search/classes_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js deleted file mode 100644 index 45d58d8..0000000 --- a/docs/search/classes_6.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['stringtools_140',['StringTools',['../classHazelnp_1_1Internal_1_1StringTools.html',1,'Hazelnp::Internal']]], - ['stringvalue_141',['StringValue',['../classHazelnp_1_1StringValue.html',1,'Hazelnp']]] -]; diff --git a/docs/search/classes_7.html b/docs/search/classes_7.html deleted file mode 100644 index 0fc6fc3..0000000 --- a/docs/search/classes_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js deleted file mode 100644 index bce960f..0000000 --- a/docs/search/classes_7.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['value_142',['Value',['../classHazelnp_1_1Value.html',1,'Hazelnp']]], - ['voidvalue_143',['VoidValue',['../classHazelnp_1_1VoidValue.html',1,'Hazelnp']]] -]; diff --git a/docs/search/close.png b/docs/search/close.png deleted file mode 100644 index 9342d3d..0000000 Binary files a/docs/search/close.png and /dev/null differ diff --git a/docs/search/defines_0.html b/docs/search/defines_0.html deleted file mode 100644 index 2deb369..0000000 --- a/docs/search/defines_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js deleted file mode 100644 index 749ea17..0000000 --- a/docs/search/defines_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['hazelnupp_5fversion_269',['HAZELNUPP_VERSION',['../Version_8h.html#a5ade51e925f9cad08d64d4021c8312a0',1,'Version.h']]] -]; diff --git a/docs/search/enums_0.html b/docs/search/enums_0.html deleted file mode 100644 index 9669700..0000000 --- a/docs/search/enums_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/enums_0.js b/docs/search/enums_0.js deleted file mode 100644 index 560bed7..0000000 --- a/docs/search/enums_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['data_5ftype_261',['DATA_TYPE',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803f',1,'Hazelnp']]] -]; diff --git a/docs/search/enumvalues_0.html b/docs/search/enumvalues_0.html deleted file mode 100644 index 9286248..0000000 --- a/docs/search/enumvalues_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/enumvalues_0.js b/docs/search/enumvalues_0.js deleted file mode 100644 index c907e26..0000000 --- a/docs/search/enumvalues_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['float_262',['FLOAT',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fae738c26bf4ce1037fa81b039a915cbf6',1,'Hazelnp']]] -]; diff --git a/docs/search/enumvalues_1.html b/docs/search/enumvalues_1.html deleted file mode 100644 index e22a79f..0000000 --- a/docs/search/enumvalues_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/enumvalues_1.js b/docs/search/enumvalues_1.js deleted file mode 100644 index 8c7d2eb..0000000 --- a/docs/search/enumvalues_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['int_263',['INT',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa53f93baa3057821107c750323892fa92',1,'Hazelnp']]] -]; diff --git a/docs/search/enumvalues_2.html b/docs/search/enumvalues_2.html deleted file mode 100644 index 01a77bf..0000000 --- a/docs/search/enumvalues_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/enumvalues_2.js b/docs/search/enumvalues_2.js deleted file mode 100644 index bdf636f..0000000 --- a/docs/search/enumvalues_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['list_264',['LIST',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa298cb25408234de02baf2085803a464a',1,'Hazelnp']]] -]; diff --git a/docs/search/enumvalues_3.html b/docs/search/enumvalues_3.html deleted file mode 100644 index 4e761d6..0000000 --- a/docs/search/enumvalues_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/enumvalues_3.js b/docs/search/enumvalues_3.js deleted file mode 100644 index 3546288..0000000 --- a/docs/search/enumvalues_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['string_265',['STRING',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa63b588d5559f64f89a416e656880b949',1,'Hazelnp']]] -]; diff --git a/docs/search/enumvalues_4.html b/docs/search/enumvalues_4.html deleted file mode 100644 index e2977a0..0000000 --- a/docs/search/enumvalues_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/enumvalues_4.js b/docs/search/enumvalues_4.js deleted file mode 100644 index 2ba184f..0000000 --- a/docs/search/enumvalues_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['void_266',['VOID',['../namespaceHazelnp.html#a07b61ac22ce9cd97eceebdf9487f803fa6d0c9fc747131795e6e5d0c5119f12cb',1,'Hazelnp']]] -]; diff --git a/docs/search/files_0.html b/docs/search/files_0.html deleted file mode 100644 index 737608e..0000000 --- a/docs/search/files_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_0.js b/docs/search/files_0.js deleted file mode 100644 index c39b3f4..0000000 --- a/docs/search/files_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['cmdargsinterface_2ecpp_147',['CmdArgsInterface.cpp',['../CmdArgsInterface_8cpp.html',1,'']]], - ['cmdargsinterface_2eh_148',['CmdArgsInterface.h',['../CmdArgsInterface_8h.html',1,'']]] -]; diff --git a/docs/search/files_1.html b/docs/search/files_1.html deleted file mode 100644 index f27a62d..0000000 --- a/docs/search/files_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_1.js b/docs/search/files_1.js deleted file mode 100644 index 6f56f1a..0000000 --- a/docs/search/files_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['datatype_2eh_149',['DataType.h',['../DataType_8h.html',1,'']]] -]; diff --git a/docs/search/files_2.html b/docs/search/files_2.html deleted file mode 100644 index a45066e..0000000 --- a/docs/search/files_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_2.js b/docs/search/files_2.js deleted file mode 100644 index bcc52cd..0000000 --- a/docs/search/files_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['floatvalue_2ecpp_150',['FloatValue.cpp',['../FloatValue_8cpp.html',1,'']]], - ['floatvalue_2eh_151',['FloatValue.h',['../FloatValue_8h.html',1,'']]] -]; diff --git a/docs/search/files_3.html b/docs/search/files_3.html deleted file mode 100644 index 1076bc5..0000000 --- a/docs/search/files_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_3.js b/docs/search/files_3.js deleted file mode 100644 index b40d41b..0000000 --- a/docs/search/files_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['hazelnupp_2evcxproj_2efilelistabsolute_2etxt_152',['Hazelnupp.vcxproj.FileListAbsolute.txt',['../Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)'],['../Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)']]], - ['hazelnuppexception_2eh_153',['HazelnuppException.h',['../HazelnuppException_8h.html',1,'']]] -]; diff --git a/docs/search/files_4.html b/docs/search/files_4.html deleted file mode 100644 index e5cd7f4..0000000 --- a/docs/search/files_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_4.js b/docs/search/files_4.js deleted file mode 100644 index 76779b1..0000000 --- a/docs/search/files_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['index_2emd_154',['index.md',['../index_8md.html',1,'']]], - ['intvalue_2ecpp_155',['IntValue.cpp',['../IntValue_8cpp.html',1,'']]], - ['intvalue_2eh_156',['IntValue.h',['../IntValue_8h.html',1,'']]] -]; diff --git a/docs/search/files_5.html b/docs/search/files_5.html deleted file mode 100644 index 2cc480f..0000000 --- a/docs/search/files_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_5.js b/docs/search/files_5.js deleted file mode 100644 index 217867c..0000000 --- a/docs/search/files_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['listvalue_2ecpp_157',['ListValue.cpp',['../ListValue_8cpp.html',1,'']]], - ['listvalue_2eh_158',['ListValue.h',['../ListValue_8h.html',1,'']]] -]; diff --git a/docs/search/files_6.html b/docs/search/files_6.html deleted file mode 100644 index 6510245..0000000 --- a/docs/search/files_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_6.js b/docs/search/files_6.js deleted file mode 100644 index 763cafb..0000000 --- a/docs/search/files_6.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['paramconstraint_2eh_159',['ParamConstraint.h',['../ParamConstraint_8h.html',1,'']]], - ['parameter_2ecpp_160',['Parameter.cpp',['../Parameter_8cpp.html',1,'']]], - ['parameter_2eh_161',['Parameter.h',['../Parameter_8h.html',1,'']]], - ['placeholders_2eh_162',['Placeholders.h',['../Placeholders_8h.html',1,'']]] -]; diff --git a/docs/search/files_7.html b/docs/search/files_7.html deleted file mode 100644 index 819f7b8..0000000 --- a/docs/search/files_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_7.js b/docs/search/files_7.js deleted file mode 100644 index 19a75fb..0000000 --- a/docs/search/files_7.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['stringtools_2ecpp_163',['StringTools.cpp',['../StringTools_8cpp.html',1,'']]], - ['stringtools_2eh_164',['StringTools.h',['../StringTools_8h.html',1,'']]], - ['stringvalue_2ecpp_165',['StringValue.cpp',['../StringValue_8cpp.html',1,'']]], - ['stringvalue_2eh_166',['StringValue.h',['../StringValue_8h.html',1,'']]] -]; diff --git a/docs/search/files_8.html b/docs/search/files_8.html deleted file mode 100644 index fa1a27f..0000000 --- a/docs/search/files_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_8.js b/docs/search/files_8.js deleted file mode 100644 index 3a46a00..0000000 --- a/docs/search/files_8.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['value_2ecpp_167',['Value.cpp',['../Value_8cpp.html',1,'']]], - ['value_2eh_168',['Value.h',['../Value_8h.html',1,'']]], - ['version_2eh_169',['Version.h',['../Version_8h.html',1,'']]], - ['voidvalue_2ecpp_170',['VoidValue.cpp',['../VoidValue_8cpp.html',1,'']]], - ['voidvalue_2eh_171',['VoidValue.h',['../VoidValue_8h.html',1,'']]] -]; diff --git a/docs/search/files_9.html b/docs/search/files_9.html deleted file mode 100644 index 3af3e47..0000000 --- a/docs/search/files_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_9.js b/docs/search/files_9.js deleted file mode 100644 index fd06a3e..0000000 --- a/docs/search/files_9.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['paramconstraint_2eh_145',['ParamConstraint.h',['../ParamConstraint_8h.html',1,'']]], - ['parameter_2ecpp_146',['Parameter.cpp',['../Parameter_8cpp.html',1,'']]], - ['parameter_2eh_147',['Parameter.h',['../Parameter_8h.html',1,'']]] -]; diff --git a/docs/search/files_a.html b/docs/search/files_a.html deleted file mode 100644 index 17f65ad..0000000 --- a/docs/search/files_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_a.js b/docs/search/files_a.js deleted file mode 100644 index 51ad956..0000000 --- a/docs/search/files_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['readme_2emd_148',['readme.md',['../readme_8md.html',1,'']]] -]; diff --git a/docs/search/files_b.html b/docs/search/files_b.html deleted file mode 100644 index aaa7731..0000000 --- a/docs/search/files_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_b.js b/docs/search/files_b.js deleted file mode 100644 index 31af2b3..0000000 --- a/docs/search/files_b.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['stringtools_2ecpp_149',['StringTools.cpp',['../StringTools_8cpp.html',1,'']]], - ['stringtools_2eh_150',['StringTools.h',['../StringTools_8h.html',1,'']]], - ['stringvalue_2ecpp_151',['StringValue.cpp',['../StringValue_8cpp.html',1,'']]], - ['stringvalue_2eh_152',['StringValue.h',['../StringValue_8h.html',1,'']]] -]; diff --git a/docs/search/files_c.html b/docs/search/files_c.html deleted file mode 100644 index 79e7963..0000000 --- a/docs/search/files_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_c.js b/docs/search/files_c.js deleted file mode 100644 index ecd6060..0000000 --- a/docs/search/files_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['test_5fhazelnupp_2evcxproj_2efilelistabsolute_2etxt_153',['Test_Hazelnupp.vcxproj.FileListAbsolute.txt',['../Debug_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)'],['../Release_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)']]] -]; diff --git a/docs/search/files_d.html b/docs/search/files_d.html deleted file mode 100644 index 94b2ff2..0000000 --- a/docs/search/files_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/files_d.js b/docs/search/files_d.js deleted file mode 100644 index d261589..0000000 --- a/docs/search/files_d.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['value_2ecpp_154',['Value.cpp',['../Value_8cpp.html',1,'']]], - ['value_2eh_155',['Value.h',['../Value_8h.html',1,'']]], - ['voidvalue_2ecpp_156',['VoidValue.cpp',['../VoidValue_8cpp.html',1,'']]], - ['voidvalue_2eh_157',['VoidValue.h',['../VoidValue_8h.html',1,'']]] -]; diff --git a/docs/search/functions_0.html b/docs/search/functions_0.html deleted file mode 100644 index e17c711..0000000 --- a/docs/search/functions_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js deleted file mode 100644 index 2137edf..0000000 --- a/docs/search/functions_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['addincompatibilities_172',['AddIncompatibilities',['../structHazelnp_1_1ParamConstraint.html#ae335d099a2735b77239ad7eec5136991',1,'Hazelnp::ParamConstraint::AddIncompatibilities(const std::string &incompatibleParameters)'],['../structHazelnp_1_1ParamConstraint.html#a207eead7df641c7741082687db654e55',1,'Hazelnp::ParamConstraint::AddIncompatibilities(const std::initializer_list< std::string > &incompatibleParameters)']]], - ['addrequire_173',['AddRequire',['../structHazelnp_1_1ParamConstraint.html#ac23b54cad8636b3f64a27b51161b8749',1,'Hazelnp::ParamConstraint']]], - ['addtypesafety_174',['AddTypeSafety',['../structHazelnp_1_1ParamConstraint.html#ae057d0d8186c0a7936405096a58be981',1,'Hazelnp::ParamConstraint']]], - ['addvalue_175',['AddValue',['../classHazelnp_1_1ListValue.html#af8787d266aa353d3f96e2c76cce76c41',1,'Hazelnp::ListValue']]] -]; diff --git a/docs/search/functions_1.html b/docs/search/functions_1.html deleted file mode 100644 index 0ddac0a..0000000 --- a/docs/search/functions_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js deleted file mode 100644 index 3b85ea8..0000000 --- a/docs/search/functions_1.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['clearabbreviation_176',['ClearAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#a31f690bd95d5469d38af816183cbe3e7',1,'Hazelnp::CmdArgsInterface']]], - ['clearabbreviations_177',['ClearAbbreviations',['../classHazelnp_1_1CmdArgsInterface.html#a019e48f48427e7caa76c964bd0f117d0',1,'Hazelnp::CmdArgsInterface']]], - ['clearconstraint_178',['ClearConstraint',['../classHazelnp_1_1CmdArgsInterface.html#a112d2d5e3fd1cf1507592389c8454984',1,'Hazelnp::CmdArgsInterface']]], - ['clearconstraints_179',['ClearConstraints',['../classHazelnp_1_1CmdArgsInterface.html#ad472671fb12450b8d929418fbbffbe40',1,'Hazelnp::CmdArgsInterface']]], - ['cleardescription_180',['ClearDescription',['../classHazelnp_1_1CmdArgsInterface.html#a62889ce1faa90d0f20be3ae45803baa0',1,'Hazelnp::CmdArgsInterface']]], - ['cleardescriptions_181',['ClearDescriptions',['../classHazelnp_1_1CmdArgsInterface.html#a328dbc265e7ffa9ab526ed8aa755e107',1,'Hazelnp::CmdArgsInterface']]], - ['cmdargsinterface_182',['CmdArgsInterface',['../classHazelnp_1_1CmdArgsInterface.html#aa1189c249bf0d8a4fbd5fb8f03a30212',1,'Hazelnp::CmdArgsInterface::CmdArgsInterface()'],['../classHazelnp_1_1CmdArgsInterface.html#ad79ff83ead06900eb7b45d6c563703d9',1,'Hazelnp::CmdArgsInterface::CmdArgsInterface(const int argc, const char *const *argv)']]], - ['contains_183',['Contains',['../classHazelnp_1_1Internal_1_1StringTools.html#a4f1ff9fb44995407ea45b8c7c67ffeb6',1,'Hazelnp::Internal::StringTools']]] -]; diff --git a/docs/search/functions_10.html b/docs/search/functions_10.html deleted file mode 100644 index 09422e1..0000000 --- a/docs/search/functions_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_10.js b/docs/search/functions_10.js deleted file mode 100644 index aeca254..0000000 --- a/docs/search/functions_10.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['_7ecmdargsinterface_245',['~CmdArgsInterface',['../classHazelnp_1_1CmdArgsInterface.html#aadc75b3b6c9662cfbd4a936468d50466',1,'Hazelnp::CmdArgsInterface']]], - ['_7efloatvalue_246',['~FloatValue',['../classHazelnp_1_1FloatValue.html#a02e61e453c3e8e32d4d527799c11fd4a',1,'Hazelnp::FloatValue']]], - ['_7eintvalue_247',['~IntValue',['../classHazelnp_1_1IntValue.html#af69f25847b0666f9d6c1bb1fed18d917',1,'Hazelnp::IntValue']]], - ['_7elistvalue_248',['~ListValue',['../classHazelnp_1_1ListValue.html#a91f1450f299d46b3301774a6b4eb6c18',1,'Hazelnp::ListValue']]], - ['_7eparameter_249',['~Parameter',['../classHazelnp_1_1Parameter.html#a6e2ade42a712f1d3675653329266e42d',1,'Hazelnp::Parameter']]], - ['_7estringvalue_250',['~StringValue',['../classHazelnp_1_1StringValue.html#a5176062e2110d121466a6855fdc65d6d',1,'Hazelnp::StringValue']]], - ['_7evalue_251',['~Value',['../classHazelnp_1_1Value.html#a977dea61ee5b00b6c6d77ad6ad2c8d4c',1,'Hazelnp::Value']]], - ['_7evoidvalue_252',['~VoidValue',['../classHazelnp_1_1VoidValue.html#a6024b40919c3a6acea92be0439be2db0',1,'Hazelnp::VoidValue']]] -]; diff --git a/docs/search/functions_11.html b/docs/search/functions_11.html deleted file mode 100644 index 1cde7b4..0000000 --- a/docs/search/functions_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_11.js b/docs/search/functions_11.js deleted file mode 100644 index 3e0f3c3..0000000 --- a/docs/search/functions_11.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['_7efloatvalue_232',['~FloatValue',['../classHazelnp_1_1FloatValue.html#a02e61e453c3e8e32d4d527799c11fd4a',1,'Hazelnp::FloatValue']]], - ['_7ehazelnupp_233',['~Hazelnupp',['../classHazelnp_1_1Hazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be',1,'Hazelnp::Hazelnupp']]], - ['_7eintvalue_234',['~IntValue',['../classHazelnp_1_1IntValue.html#af69f25847b0666f9d6c1bb1fed18d917',1,'Hazelnp::IntValue']]], - ['_7elistvalue_235',['~ListValue',['../classHazelnp_1_1ListValue.html#a91f1450f299d46b3301774a6b4eb6c18',1,'Hazelnp::ListValue']]], - ['_7eparameter_236',['~Parameter',['../classHazelnp_1_1Parameter.html#a6e2ade42a712f1d3675653329266e42d',1,'Hazelnp::Parameter']]], - ['_7estringvalue_237',['~StringValue',['../classHazelnp_1_1StringValue.html#a5176062e2110d121466a6855fdc65d6d',1,'Hazelnp::StringValue']]], - ['_7evalue_238',['~Value',['../classHazelnp_1_1Value.html#a977dea61ee5b00b6c6d77ad6ad2c8d4c',1,'Hazelnp::Value']]], - ['_7evoidvalue_239',['~VoidValue',['../classHazelnp_1_1VoidValue.html#a6024b40919c3a6acea92be0439be2db0',1,'Hazelnp::VoidValue']]] -]; diff --git a/docs/search/functions_2.html b/docs/search/functions_2.html deleted file mode 100644 index 2737c5a..0000000 --- a/docs/search/functions_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js deleted file mode 100644 index 7cdfbc3..0000000 --- a/docs/search/functions_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['datatypetostring_184',['DataTypeToString',['../namespaceHazelnp.html#a7fb1e5ad9e2ecb6c0025beb19f11621b',1,'Hazelnp']]], - ['deepcopy_185',['Deepcopy',['../classHazelnp_1_1FloatValue.html#ab071916339a0d5a266d821ebbc8f12b0',1,'Hazelnp::FloatValue::Deepcopy()'],['../classHazelnp_1_1IntValue.html#aa599004242b27f8f3e246b88742b034e',1,'Hazelnp::IntValue::Deepcopy()'],['../classHazelnp_1_1ListValue.html#a51c89ff315026b03d908345c6f58169d',1,'Hazelnp::ListValue::Deepcopy()'],['../classHazelnp_1_1StringValue.html#a1952487a786fb53cb0b9aefdb3367268',1,'Hazelnp::StringValue::Deepcopy()'],['../classHazelnp_1_1Value.html#aec9bc16f1630734c79bc69e916622dc6',1,'Hazelnp::Value::Deepcopy()'],['../classHazelnp_1_1VoidValue.html#ac36e85add840057659ec24484548165f',1,'Hazelnp::VoidValue::Deepcopy()']]] -]; diff --git a/docs/search/functions_3.html b/docs/search/functions_3.html deleted file mode 100644 index 6da86e7..0000000 --- a/docs/search/functions_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js deleted file mode 100644 index 854c00c..0000000 --- a/docs/search/functions_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['floatvalue_186',['FloatValue',['../classHazelnp_1_1FloatValue.html#a6bb35564e3331a3feb57b08caad0df44',1,'Hazelnp::FloatValue']]] -]; diff --git a/docs/search/functions_4.html b/docs/search/functions_4.html deleted file mode 100644 index 911304e..0000000 --- a/docs/search/functions_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js deleted file mode 100644 index d3adaae..0000000 --- a/docs/search/functions_4.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['generatedocumentation_187',['GenerateDocumentation',['../classHazelnp_1_1CmdArgsInterface.html#a9b9bc5c4443799ea847077e9cefb1927',1,'Hazelnp::CmdArgsInterface']]], - ['getabbreviation_188',['GetAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#a1486bfef870e6502aefc23b11ce6caaf',1,'Hazelnp::CmdArgsInterface']]], - ['getasosstring_189',['GetAsOsString',['../classHazelnp_1_1FloatValue.html#a6c9a4b70a7618252f56d9062c483531c',1,'Hazelnp::FloatValue::GetAsOsString()'],['../classHazelnp_1_1IntValue.html#a7d7dbda9a051084600d3eabdac96ee45',1,'Hazelnp::IntValue::GetAsOsString()'],['../classHazelnp_1_1ListValue.html#a5b1f8af329e48c5469fee16634b7889c',1,'Hazelnp::ListValue::GetAsOsString()'],['../classHazelnp_1_1StringValue.html#a71869ee46b88a3cbb9571f481f0c216d',1,'Hazelnp::StringValue::GetAsOsString()'],['../classHazelnp_1_1Value.html#ae1fdc694ed1c2b3080ad3929efda0a0e',1,'Hazelnp::Value::GetAsOsString()'],['../classHazelnp_1_1VoidValue.html#a44b1917d9ba41ee91e2131432e01ec90',1,'Hazelnp::VoidValue::GetAsOsString()']]], - ['getbriefdescription_190',['GetBriefDescription',['../classHazelnp_1_1CmdArgsInterface.html#a1945208a97707b2e3c654424f0760441',1,'Hazelnp::CmdArgsInterface']]], - ['getcatchhelp_191',['GetCatchHelp',['../classHazelnp_1_1CmdArgsInterface.html#a1026d98c23659b6d3d108b231806a1e3',1,'Hazelnp::CmdArgsInterface']]], - ['getconstraint_192',['GetConstraint',['../classHazelnp_1_1CmdArgsInterface.html#adec82884377a5193f68dcc7b6ef69d8b',1,'Hazelnp::CmdArgsInterface']]], - ['getcrashonfail_193',['GetCrashOnFail',['../classHazelnp_1_1CmdArgsInterface.html#a3e60c7a90c11bdc634d0f5d0dba5064c',1,'Hazelnp::CmdArgsInterface']]], - ['getdatatype_194',['GetDataType',['../classHazelnp_1_1Value.html#adbb80bf6d455a316e6e5103353429993',1,'Hazelnp::Value']]], - ['getdescription_195',['GetDescription',['../classHazelnp_1_1CmdArgsInterface.html#a89bc3f54d7ff0740549dbdf7b7f727e3',1,'Hazelnp::CmdArgsInterface']]], - ['getexecutablename_196',['GetExecutableName',['../classHazelnp_1_1CmdArgsInterface.html#afe83a815b21d37b3d2a6d0ef67137faf',1,'Hazelnp::CmdArgsInterface']]], - ['getfloat32_197',['GetFloat32',['../classHazelnp_1_1FloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81',1,'Hazelnp::FloatValue::GetFloat32()'],['../classHazelnp_1_1IntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4',1,'Hazelnp::IntValue::GetFloat32()'],['../classHazelnp_1_1ListValue.html#a637fec02ed7f7325554e494fc7cd4e86',1,'Hazelnp::ListValue::GetFloat32()'],['../classHazelnp_1_1StringValue.html#a31fc4d2517a7454c1e9f329df2f14be7',1,'Hazelnp::StringValue::GetFloat32()'],['../classHazelnp_1_1Value.html#a64eeb2943ccea6e16ce4e6f53a6e9b6d',1,'Hazelnp::Value::GetFloat32()'],['../classHazelnp_1_1VoidValue.html#a6d39d2983e54e1a407c66e303273aa48',1,'Hazelnp::VoidValue::GetFloat32()']]], - ['getfloat64_198',['GetFloat64',['../classHazelnp_1_1FloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9',1,'Hazelnp::FloatValue::GetFloat64()'],['../classHazelnp_1_1IntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5',1,'Hazelnp::IntValue::GetFloat64()'],['../classHazelnp_1_1ListValue.html#a571178db1c9d23f6c685ea8898dbb60e',1,'Hazelnp::ListValue::GetFloat64()'],['../classHazelnp_1_1StringValue.html#a74bedb828c901a4895062f62303b9653',1,'Hazelnp::StringValue::GetFloat64()'],['../classHazelnp_1_1Value.html#af645b9d78970d102360be37fc18e9e8a',1,'Hazelnp::Value::GetFloat64()'],['../classHazelnp_1_1VoidValue.html#a18b6f0d697c5f9286372a05927e4759c',1,'Hazelnp::VoidValue::GetFloat64()']]], - ['getint32_199',['GetInt32',['../classHazelnp_1_1FloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99',1,'Hazelnp::FloatValue::GetInt32()'],['../classHazelnp_1_1IntValue.html#a163f21536fa49491aa0ae03c8091344a',1,'Hazelnp::IntValue::GetInt32()'],['../classHazelnp_1_1ListValue.html#a565c2b86fcfb3a13de29e59d95a358e7',1,'Hazelnp::ListValue::GetInt32()'],['../classHazelnp_1_1StringValue.html#ac8b53a7792ff1ed048722e2e404f3e6b',1,'Hazelnp::StringValue::GetInt32()'],['../classHazelnp_1_1Value.html#a2cb73333bdeca657dfbf6c8b2e50a5ef',1,'Hazelnp::Value::GetInt32()'],['../classHazelnp_1_1VoidValue.html#a5b7f50c390ef8f3636ba211a72a78065',1,'Hazelnp::VoidValue::GetInt32()']]], - ['getint64_200',['GetInt64',['../classHazelnp_1_1FloatValue.html#a762520d504d4564c48cf3bbefbb0f183',1,'Hazelnp::FloatValue::GetInt64()'],['../classHazelnp_1_1IntValue.html#ae0643023dfd56eafe2e3da5a4ba13080',1,'Hazelnp::IntValue::GetInt64()'],['../classHazelnp_1_1ListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995',1,'Hazelnp::ListValue::GetInt64()'],['../classHazelnp_1_1StringValue.html#aabdc7d681945403d24df6a8fe27948af',1,'Hazelnp::StringValue::GetInt64()'],['../classHazelnp_1_1Value.html#a92d75905211e964cb900bdc868ed12a7',1,'Hazelnp::Value::GetInt64()'],['../classHazelnp_1_1VoidValue.html#a3806945596866f3630dc5426a6b55e58',1,'Hazelnp::VoidValue::GetInt64()']]], - ['getlist_201',['GetList',['../classHazelnp_1_1FloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1',1,'Hazelnp::FloatValue::GetList()'],['../classHazelnp_1_1IntValue.html#acc74ba6070a516a4bcad10bb113d6fa2',1,'Hazelnp::IntValue::GetList()'],['../classHazelnp_1_1ListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f',1,'Hazelnp::ListValue::GetList()'],['../classHazelnp_1_1StringValue.html#a2b2810350b5eb7e58062ad095320aa69',1,'Hazelnp::StringValue::GetList()'],['../classHazelnp_1_1Value.html#a358092f951e817cd2a878225b5b1c869',1,'Hazelnp::Value::GetList()'],['../classHazelnp_1_1VoidValue.html#aba53ae37d415959b583f33f3e381be16',1,'Hazelnp::VoidValue::GetList()']]], - ['getstring_202',['GetString',['../classHazelnp_1_1FloatValue.html#afd5d078683f410cb9d450c61f12f250d',1,'Hazelnp::FloatValue::GetString()'],['../classHazelnp_1_1IntValue.html#a3631e3b16f010889e942c0c0f72d403c',1,'Hazelnp::IntValue::GetString()'],['../classHazelnp_1_1ListValue.html#aeaf80c07236045a77d72349ebcfc3b89',1,'Hazelnp::ListValue::GetString()'],['../classHazelnp_1_1StringValue.html#a7ed55493cfd25274f8571c1ea45f93e5',1,'Hazelnp::StringValue::GetString()'],['../classHazelnp_1_1Value.html#a1446705c062026f03866d0f452c39501',1,'Hazelnp::Value::GetString()'],['../classHazelnp_1_1VoidValue.html#a5af0c47a873b84226df47a90e63b2acd',1,'Hazelnp::VoidValue::GetString()']]], - ['getvalue_203',['GetValue',['../classHazelnp_1_1FloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f',1,'Hazelnp::FloatValue::GetValue()'],['../classHazelnp_1_1IntValue.html#a89967cafbdeb21362336067b772808c7',1,'Hazelnp::IntValue::GetValue()'],['../classHazelnp_1_1ListValue.html#a7907ae7433e4011157f1b31dd5339702',1,'Hazelnp::ListValue::GetValue()'],['../classHazelnp_1_1Parameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af',1,'Hazelnp::Parameter::GetValue()'],['../classHazelnp_1_1StringValue.html#a521a573887a3f31718f74e71ff01e86e',1,'Hazelnp::StringValue::GetValue()']]] -]; diff --git a/docs/search/functions_5.html b/docs/search/functions_5.html deleted file mode 100644 index 61b920d..0000000 --- a/docs/search/functions_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js deleted file mode 100644 index 8bbbe53..0000000 --- a/docs/search/functions_5.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['hasabbreviation_204',['HasAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#a58b81709e631cee5f3db3f3f48611fe9',1,'Hazelnp::CmdArgsInterface']]], - ['hasdescription_205',['HasDescription',['../classHazelnp_1_1CmdArgsInterface.html#a5003f826ee31c6365bf4b6e8b2c8d9f1',1,'Hazelnp::CmdArgsInterface']]], - ['hasparam_206',['HasParam',['../classHazelnp_1_1CmdArgsInterface.html#a3a7fa36fe69ee8bf3b400983a21ecd24',1,'Hazelnp::CmdArgsInterface']]], - ['hazelnuppconstraintexception_207',['HazelnuppConstraintException',['../classHazelnp_1_1HazelnuppConstraintException.html#a4d08002a96bf9b3da3c6e931a51960e9',1,'Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException()'],['../classHazelnp_1_1HazelnuppConstraintException.html#a944f0e6a384e032a762c5892964e1cc0',1,'Hazelnp::HazelnuppConstraintException::HazelnuppConstraintException(const std::string &msg)']]], - ['hazelnuppconstraintincompatibleparameters_208',['HazelnuppConstraintIncompatibleParameters',['../classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html#a3eceb69d0d4794252ab41b0d2b22ef3d',1,'Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters()'],['../classHazelnp_1_1HazelnuppConstraintIncompatibleParameters.html#ad9427954049ceb66f42130ac8476dc46',1,'Hazelnp::HazelnuppConstraintIncompatibleParameters::HazelnuppConstraintIncompatibleParameters(const std::string &key1, const std::string &key2)']]], - ['hazelnuppconstraintmissingvalue_209',['HazelnuppConstraintMissingValue',['../classHazelnp_1_1HazelnuppConstraintMissingValue.html#aad4a7b5573790ddfbe1a453aef71eb10',1,'Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue()'],['../classHazelnp_1_1HazelnuppConstraintMissingValue.html#a192ef8133047beadf8fc9f585d384c04',1,'Hazelnp::HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue(const std::string &key, const std::string &paramDescription="")']]], - ['hazelnuppconstrainttypemissmatch_210',['HazelnuppConstraintTypeMissmatch',['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html#ab7c9e9afd9d3286e563a7656785242e8',1,'Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch()'],['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html#a603d91c9af39e53b54e5aa288266cfe4',1,'Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch(const std::string &msg)'],['../classHazelnp_1_1HazelnuppConstraintTypeMissmatch.html#abd5ae6630884725b614e8fe603cccdc5',1,'Hazelnp::HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch(const std::string &key, const DATA_TYPE requiredType, const DATA_TYPE actualType, const std::string &paramDescription="")']]], - ['hazelnuppexception_211',['HazelnuppException',['../classHazelnp_1_1HazelnuppException.html#a0b21fd5d4f22e5e677b74eb0acd7c6ff',1,'Hazelnp::HazelnuppException::HazelnuppException()'],['../classHazelnp_1_1HazelnuppException.html#a816f823fe2ebd35076049e33b9f3c05c',1,'Hazelnp::HazelnuppException::HazelnuppException(const std::string &msg)']]], - ['hazelnuppinvalidkeyexception_212',['HazelnuppInvalidKeyException',['../classHazelnp_1_1HazelnuppInvalidKeyException.html#ab23be8f7cb84129fa85ed1e7a0b280a0',1,'Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException()'],['../classHazelnp_1_1HazelnuppInvalidKeyException.html#a18a08dc4efe80a378216460db5769891',1,'Hazelnp::HazelnuppInvalidKeyException::HazelnuppInvalidKeyException(const std::string &msg)']]], - ['hazelnuppvaluenotconvertibleexception_213',['HazelnuppValueNotConvertibleException',['../classHazelnp_1_1HazelnuppValueNotConvertibleException.html#a0babee1bb5cec9fdd4abfd86995561f4',1,'Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException()'],['../classHazelnp_1_1HazelnuppValueNotConvertibleException.html#a7ba376cd7fc7edcb934ee0257d4867f2',1,'Hazelnp::HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException(const std::string &msg)']]] -]; diff --git a/docs/search/functions_6.html b/docs/search/functions_6.html deleted file mode 100644 index dc70a4a..0000000 --- a/docs/search/functions_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js deleted file mode 100644 index 67170c6..0000000 --- a/docs/search/functions_6.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['incompatibility_214',['Incompatibility',['../structHazelnp_1_1ParamConstraint.html#a20fa41460106b5327a51114f8a187871',1,'Hazelnp::ParamConstraint::Incompatibility(const std::initializer_list< std::string > &incompatibleParameters)'],['../structHazelnp_1_1ParamConstraint.html#a6bb383f8945fb99cbd2370fd9a4bc6fc',1,'Hazelnp::ParamConstraint::Incompatibility(const std::string &incompatibleParameters)']]], - ['intvalue_215',['IntValue',['../classHazelnp_1_1IntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba',1,'Hazelnp::IntValue']]], - ['isnumeric_216',['IsNumeric',['../classHazelnp_1_1Internal_1_1StringTools.html#a1abf1454a223165acfb52f2a246c8215',1,'Hazelnp::Internal::StringTools']]] -]; diff --git a/docs/search/functions_7.html b/docs/search/functions_7.html deleted file mode 100644 index 7de3106..0000000 --- a/docs/search/functions_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js deleted file mode 100644 index c024805..0000000 --- a/docs/search/functions_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['key_217',['Key',['../classHazelnp_1_1Parameter.html#a7acd68ce06eec06ab286b1a062f9c8d6',1,'Hazelnp::Parameter']]] -]; diff --git a/docs/search/functions_8.html b/docs/search/functions_8.html deleted file mode 100644 index 7422be2..0000000 --- a/docs/search/functions_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js deleted file mode 100644 index 8ecaed1..0000000 --- a/docs/search/functions_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['listvalue_218',['ListValue',['../classHazelnp_1_1ListValue.html#a6082aaa506b31496720a168da8ab2708',1,'Hazelnp::ListValue']]] -]; diff --git a/docs/search/functions_9.html b/docs/search/functions_9.html deleted file mode 100644 index befd4fa..0000000 --- a/docs/search/functions_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js deleted file mode 100644 index 1496b6c..0000000 --- a/docs/search/functions_9.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['operator_20double_219',['operator double',['../classHazelnp_1_1FloatValue.html#ae02de376bbb2b76e0f9d16b1fc4de06d',1,'Hazelnp::FloatValue']]], - ['operator_20int_220',['operator int',['../classHazelnp_1_1IntValue.html#ab30a38c8f58cefd7cbf365c4aeae79bd',1,'Hazelnp::IntValue']]], - ['operator_20long_20double_221',['operator long double',['../classHazelnp_1_1FloatValue.html#ad0d4c589190fbab7e6c4d8fcc130ac1b',1,'Hazelnp::FloatValue']]], - ['operator_20long_20long_20int_222',['operator long long int',['../classHazelnp_1_1IntValue.html#a45b283dae9904ad0643035d3ee5883eb',1,'Hazelnp::IntValue']]], - ['operator_5b_5d_223',['operator[]',['../classHazelnp_1_1CmdArgsInterface.html#af5e43c1067fb6c1074d9be3427c7a415',1,'Hazelnp::CmdArgsInterface']]], - ['string_224',['string',['../classHazelnp_1_1StringValue.html#a23449775f14f828d29b115de040a696b',1,'Hazelnp::StringValue']]], - ['vector_3c_20value_20_2a_20_3e_225',['vector< Value * >',['../classHazelnp_1_1ListValue.html#a5d92ff2b9a1fa92fbc303ac4d07765d0',1,'Hazelnp::ListValue']]] -]; diff --git a/docs/search/functions_a.html b/docs/search/functions_a.html deleted file mode 100644 index a81e963..0000000 --- a/docs/search/functions_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js deleted file mode 100644 index 7da6fda..0000000 --- a/docs/search/functions_a.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['paramconstraint_226',['ParamConstraint',['../structHazelnp_1_1ParamConstraint.html#afa9e1b4378c9fa1b4a7b5b792c062cbe',1,'Hazelnp::ParamConstraint::ParamConstraint()=default'],['../structHazelnp_1_1ParamConstraint.html#aea39497a14939fa887c236ee1e755cb3',1,'Hazelnp::ParamConstraint::ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > &defaultValue, bool required, const std::initializer_list< std::string > &incompatibleParameters)']]], - ['parameter_227',['Parameter',['../classHazelnp_1_1Parameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c',1,'Hazelnp::Parameter']]], - ['parse_228',['Parse',['../classHazelnp_1_1CmdArgsInterface.html#a1f4845041e08b3335510de44fafaee19',1,'Hazelnp::CmdArgsInterface']]], - ['parsenumber_229',['ParseNumber',['../classHazelnp_1_1Internal_1_1StringTools.html#a3cc71bfffcad9a4334e74aac69dbfd68',1,'Hazelnp::Internal::StringTools']]] -]; diff --git a/docs/search/functions_b.html b/docs/search/functions_b.html deleted file mode 100644 index 345265d..0000000 --- a/docs/search/functions_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js deleted file mode 100644 index 7956b7d..0000000 --- a/docs/search/functions_b.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['registerabbreviation_230',['RegisterAbbreviation',['../classHazelnp_1_1CmdArgsInterface.html#aaccf591a74408aeb4363033fe8cb2224',1,'Hazelnp::CmdArgsInterface']]], - ['registerconstraint_231',['RegisterConstraint',['../classHazelnp_1_1CmdArgsInterface.html#aa30222df012f357455f90e3620346bb2',1,'Hazelnp::CmdArgsInterface']]], - ['registerdescription_232',['RegisterDescription',['../classHazelnp_1_1CmdArgsInterface.html#a6589d2e818ba32f2a3e5b5a6a5e2bf1e',1,'Hazelnp::CmdArgsInterface']]], - ['replace_233',['Replace',['../classHazelnp_1_1Internal_1_1StringTools.html#ac45f8b6d0572443e9d2597447091b000',1,'Hazelnp::Internal::StringTools::Replace(const std::string &str, const char find, const std::string &subst)'],['../classHazelnp_1_1Internal_1_1StringTools.html#afaebf388806c331db0757231b0366fd7',1,'Hazelnp::Internal::StringTools::Replace(const std::string &str, const std::string &find, const std::string &subst)']]], - ['require_234',['Require',['../structHazelnp_1_1ParamConstraint.html#a8a7e5d7ddffc3cfbb54ac6823dd7eded',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/functions_c.html b/docs/search/functions_c.html deleted file mode 100644 index 858bfd6..0000000 --- a/docs/search/functions_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js deleted file mode 100644 index ccce9df..0000000 --- a/docs/search/functions_c.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['setbriefdescription_235',['SetBriefDescription',['../classHazelnp_1_1CmdArgsInterface.html#a67ba6cb3176884c85dd56fc9084ab66a',1,'Hazelnp::CmdArgsInterface']]], - ['setcatchhelp_236',['SetCatchHelp',['../classHazelnp_1_1CmdArgsInterface.html#abf553ed4acabf9e1db357715bc10533c',1,'Hazelnp::CmdArgsInterface']]], - ['setcrashonfail_237',['SetCrashOnFail',['../classHazelnp_1_1CmdArgsInterface.html#a16a3a02f77d240d8cf51cd4ee1797113',1,'Hazelnp::CmdArgsInterface']]], - ['splitstring_238',['SplitString',['../classHazelnp_1_1Internal_1_1StringTools.html#aaf3aae30ed06c37d18f79b8450061ad1',1,'Hazelnp::Internal::StringTools::SplitString(const std::string &str, const char delimiter)'],['../classHazelnp_1_1Internal_1_1StringTools.html#a8cb6e05d822c184a8e982327c01fdb03',1,'Hazelnp::Internal::StringTools::SplitString(const std::string &str, const std::string &delimiter)']]], - ['stringvalue_239',['StringValue',['../classHazelnp_1_1StringValue.html#a24dad2deec92b51bf60a11400cc8c204',1,'Hazelnp::StringValue']]] -]; diff --git a/docs/search/functions_d.html b/docs/search/functions_d.html deleted file mode 100644 index 2f09f51..0000000 --- a/docs/search/functions_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js deleted file mode 100644 index 0a9447c..0000000 --- a/docs/search/functions_d.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['tolower_240',['ToLower',['../classHazelnp_1_1Internal_1_1StringTools.html#a10f61d7d8bcbfee50882bae801c0e68c',1,'Hazelnp::Internal::StringTools']]], - ['typesafety_241',['TypeSafety',['../structHazelnp_1_1ParamConstraint.html#a7df61dbc8dbaff4bc596fdf2c0532d5b',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/functions_e.html b/docs/search/functions_e.html deleted file mode 100644 index ee5afa6..0000000 --- a/docs/search/functions_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_e.js b/docs/search/functions_e.js deleted file mode 100644 index ab74e90..0000000 --- a/docs/search/functions_e.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['value_242',['Value',['../classHazelnp_1_1Value.html#a8455d65bb2d939e850d6772dfbf8bfec',1,'Hazelnp::Value']]], - ['voidvalue_243',['VoidValue',['../classHazelnp_1_1VoidValue.html#a75abf334b7f55cd149d2bb1962f2d8f1',1,'Hazelnp::VoidValue']]] -]; diff --git a/docs/search/functions_f.html b/docs/search/functions_f.html deleted file mode 100644 index f17c412..0000000 --- a/docs/search/functions_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/functions_f.js b/docs/search/functions_f.js deleted file mode 100644 index 184aad6..0000000 --- a/docs/search/functions_f.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['what_244',['What',['../classHazelnp_1_1HazelnuppException.html#aa86c415a0f2b4ea5f11892145d1ea83e',1,'Hazelnp::HazelnuppException']]] -]; diff --git a/docs/search/mag_sel.png b/docs/search/mag_sel.png deleted file mode 100644 index 39c0ed5..0000000 Binary files a/docs/search/mag_sel.png and /dev/null differ diff --git a/docs/search/namespaces_0.html b/docs/search/namespaces_0.html deleted file mode 100644 index 76996d1..0000000 --- a/docs/search/namespaces_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js deleted file mode 100644 index 1a1fb00..0000000 --- a/docs/search/namespaces_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['hazelnp_144',['Hazelnp',['../namespaceHazelnp.html',1,'']]], - ['internal_145',['Internal',['../namespaceHazelnp_1_1Internal.html',1,'Hazelnp']]], - ['placeholders_146',['Placeholders',['../namespaceHazelnp_1_1Placeholders.html',1,'Hazelnp']]] -]; diff --git a/docs/search/nomatches.html b/docs/search/nomatches.html deleted file mode 100644 index 4377320..0000000 --- a/docs/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
    -
    No Matches
    -
    - - diff --git a/docs/search/pages_0.html b/docs/search/pages_0.html deleted file mode 100644 index 9a6a29a..0000000 --- a/docs/search/pages_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/pages_0.js b/docs/search/pages_0.js deleted file mode 100644 index afd3f53..0000000 --- a/docs/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['hazelnupp_270',['Hazelnupp',['../index.html',1,'']]] -]; diff --git a/docs/search/related_0.html b/docs/search/related_0.html deleted file mode 100644 index bbe15fa..0000000 --- a/docs/search/related_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/related_0.js b/docs/search/related_0.js deleted file mode 100644 index 8a3c1b3..0000000 --- a/docs/search/related_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['cmdargsinterface_267',['CmdArgsInterface',['../structHazelnp_1_1ParamConstraint.html#a01773a2aa9845fd639f63468586b67b0',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/related_1.html b/docs/search/related_1.html deleted file mode 100644 index 024707b..0000000 --- a/docs/search/related_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/related_1.js b/docs/search/related_1.js deleted file mode 100644 index a3475eb..0000000 --- a/docs/search/related_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['operator_3c_3c_268',['operator<<',['../classHazelnp_1_1Parameter.html#a11b3529badcbf99b46262772472495c7',1,'Hazelnp::Parameter::operator<<()'],['../classHazelnp_1_1Value.html#ad29db86c4a2dec5bc8d0006031b07211',1,'Hazelnp::Value::operator<<()']]] -]; diff --git a/docs/search/search.css b/docs/search/search.css deleted file mode 100644 index 2416cc3..0000000 --- a/docs/search/search.css +++ /dev/null @@ -1,271 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#MSearchBox { - white-space : nowrap; - float: none; - margin-top: 8px; - right: 0px; - width: 170px; - height: 24px; - z-index: 102; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:115px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; - -webkit-border-radius: 0px; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:8px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #D6DBC2; - background-color: #FDFDFC; - z-index: 10001; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #A8B17C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #F9F9F6; - z-index:10000; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #AEB685; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #AEB685; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.searchresult { - background-color: #FAFAF7; -} - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/docs/search/search.js b/docs/search/search.js deleted file mode 100644 index a554ab9..0000000 --- a/docs/search/search.js +++ /dev/null @@ -1,814 +0,0 @@ -/* - @licstart The following is the entire license notice for the - JavaScript code in this file. - - Copyright (C) 1997-2017 by Dimitri van Heesch - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - @licend The above is the entire license notice - for the JavaScript code in this file - */ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; e - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/typedefs_0.js b/docs/search/typedefs_0.js deleted file mode 100644 index 77729e3..0000000 --- a/docs/search/typedefs_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['arglist_229',['ArgList',['../helper_8h.html#ae87ff642ae2445b823a32470b938cd0e',1,'helper.h']]] -]; diff --git a/docs/search/variables_0.html b/docs/search/variables_0.html deleted file mode 100644 index bf3eba5..0000000 --- a/docs/search/variables_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js deleted file mode 100644 index f741cb4..0000000 --- a/docs/search/variables_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['constraintype_253',['constrainType',['../structHazelnp_1_1ParamConstraint.html#a88a4a4c215723259c71853992d09acac',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/variables_1.html b/docs/search/variables_1.html deleted file mode 100644 index 49fe59a..0000000 --- a/docs/search/variables_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js deleted file mode 100644 index 2c49ad2..0000000 --- a/docs/search/variables_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['defaultvalue_254',['defaultValue',['../structHazelnp_1_1ParamConstraint.html#a1d3a627b3a23fe0db3a368e51dbcd5a7',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/variables_2.html b/docs/search/variables_2.html deleted file mode 100644 index 0c8a18c..0000000 --- a/docs/search/variables_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js deleted file mode 100644 index 0862033..0000000 --- a/docs/search/variables_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['g_5femptystring_255',['g_emptyString',['../namespaceHazelnp_1_1Placeholders.html#a90536f0cd5261b18da736e954c6b8b79',1,'Hazelnp::Placeholders']]] -]; diff --git a/docs/search/variables_3.html b/docs/search/variables_3.html deleted file mode 100644 index 19a31fc..0000000 --- a/docs/search/variables_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js deleted file mode 100644 index 84b866d..0000000 --- a/docs/search/variables_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['incompatibleparameters_256',['incompatibleParameters',['../structHazelnp_1_1ParamConstraint.html#acf45734665238b51483f77701039108c',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/variables_4.html b/docs/search/variables_4.html deleted file mode 100644 index bdc37be..0000000 --- a/docs/search/variables_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js deleted file mode 100644 index 86bb2ab..0000000 --- a/docs/search/variables_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['message_257',['message',['../classHazelnp_1_1HazelnuppException.html#aa905cabcd12f542dfc67638732737e88',1,'Hazelnp::HazelnuppException']]] -]; diff --git a/docs/search/variables_5.html b/docs/search/variables_5.html deleted file mode 100644 index 6aa2249..0000000 --- a/docs/search/variables_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js deleted file mode 100644 index d2637d0..0000000 --- a/docs/search/variables_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['required_258',['required',['../structHazelnp_1_1ParamConstraint.html#a8ccf3ebecc2d9d0105e181814af2943c',1,'Hazelnp::ParamConstraint']]], - ['requiredtype_259',['requiredType',['../structHazelnp_1_1ParamConstraint.html#a203b6fd1b9788a529aa0f15fe94fd24a',1,'Hazelnp::ParamConstraint']]] -]; diff --git a/docs/search/variables_6.html b/docs/search/variables_6.html deleted file mode 100644 index ce4a906..0000000 --- a/docs/search/variables_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
    -
    Loading...
    -
    - -
    Searching...
    -
    No Matches
    - -
    - - diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js deleted file mode 100644 index e3f208b..0000000 --- a/docs/search/variables_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['type_260',['type',['../classHazelnp_1_1Value.html#ae5760a30c237095db595c466372e3c23',1,'Hazelnp::Value']]] -]; diff --git a/docs/splitbar.png b/docs/splitbar.png deleted file mode 100644 index 6e04603..0000000 Binary files a/docs/splitbar.png and /dev/null differ diff --git a/docs/structHazelnp_1_1ParamConstraint-members.html b/docs/structHazelnp_1_1ParamConstraint-members.html deleted file mode 100644 index 545f99f..0000000 --- a/docs/structHazelnp_1_1ParamConstraint-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    -
    -
    Hazelnp::ParamConstraint Member List
    -
    -
    - -

    This is the complete list of members for Hazelnp::ParamConstraint, including all inherited members.

    - - - - - - - - - - - - - - - - - -
    AddIncompatibilities(const std::string &incompatibleParameters)Hazelnp::ParamConstraintinline
    AddIncompatibilities(const std::initializer_list< std::string > &incompatibleParameters)Hazelnp::ParamConstraintinline
    AddRequire(const std::initializer_list< std::string > &defaultValue={}, bool required=true)Hazelnp::ParamConstraintinline
    AddTypeSafety(DATA_TYPE requiredType, bool constrainType=true)Hazelnp::ParamConstraintinline
    CmdArgsInterface classHazelnp::ParamConstraintfriend
    constrainTypeHazelnp::ParamConstraint
    defaultValueHazelnp::ParamConstraint
    Incompatibility(const std::initializer_list< std::string > &incompatibleParameters)Hazelnp::ParamConstraintinlinestatic
    Incompatibility(const std::string &incompatibleParameters)Hazelnp::ParamConstraintinlinestatic
    incompatibleParametersHazelnp::ParamConstraint
    ParamConstraint()=defaultHazelnp::ParamConstraint
    ParamConstraint(bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > &defaultValue, bool required, const std::initializer_list< std::string > &incompatibleParameters)Hazelnp::ParamConstraintinline
    Require(const std::initializer_list< std::string > &defaultValue={}, bool required=true)Hazelnp::ParamConstraintinlinestatic
    requiredHazelnp::ParamConstraint
    requiredTypeHazelnp::ParamConstraint
    TypeSafety(DATA_TYPE requiredType, bool constrainType=true)Hazelnp::ParamConstraintinlinestatic
    - - - - diff --git a/docs/structHazelnp_1_1ParamConstraint.html b/docs/structHazelnp_1_1ParamConstraint.html deleted file mode 100644 index a543a29..0000000 --- a/docs/structHazelnp_1_1ParamConstraint.html +++ /dev/null @@ -1,743 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Hazelnp::ParamConstraint Struct Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - -
    -
    Hazelnp::ParamConstraint Struct Reference
    -
    -
    - -

    #include <ParamConstraint.h>

    -
    -Collaboration diagram for Hazelnp::ParamConstraint:
    -
    -
    Collaboration graph
    - - - - - - -
    [legend]
    - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     ParamConstraint ()=default
     Empty constructor. More...
     
    ParamConstraint AddRequire (const std::initializer_list< std::string > &defaultValue={}, bool required=true)
     Daisychain-method. More...
     
    ParamConstraint AddTypeSafety (DATA_TYPE requiredType, bool constrainType=true)
     Daisychain-method. More...
     
    ParamConstraint AddIncompatibilities (const std::string &incompatibleParameters)
     Daisychain-method. More...
     
    ParamConstraint AddIncompatibilities (const std::initializer_list< std::string > &incompatibleParameters)
     Daisychain-method. More...
     
     ParamConstraint (bool constrainType, DATA_TYPE requiredType, const std::initializer_list< std::string > &defaultValue, bool required, const std::initializer_list< std::string > &incompatibleParameters)
     Whole constructor. More...
     
    - - - - - - - - - - - - - -

    -Static Public Member Functions

    static ParamConstraint Require (const std::initializer_list< std::string > &defaultValue={}, bool required=true)
     Constructs a require constraint. More...
     
    static ParamConstraint TypeSafety (DATA_TYPE requiredType, bool constrainType=true)
     Constructs a type-safety constraint. More...
     
    static ParamConstraint Incompatibility (const std::initializer_list< std::string > &incompatibleParameters)
     Constructs an incompatibility constraint. More...
     
    static ParamConstraint Incompatibility (const std::string &incompatibleParameters)
     Constructs an incompatibility constraint. More...
     
    - - - - - - - - - - - - - - - - -

    -Public Attributes

    bool constrainType = false
     Should this parameter be forced to be of a certain type?
    - Remember to set constrainTo to the wanted type. More...
     
    DATA_TYPE requiredType = DATA_TYPE::VOID
     Constrain the parameter to this value. Requires constrainType to be set to true. More...
     
    std::vector< std::string > defaultValue
     The default value for this parameter. More...
     
    bool required = false
     If set to true, and no default value set, an error will be produced if this parameter is not supplied by the user. More...
     
    std::vector< std::string > incompatibleParameters
     Parameters that are incompatible with this parameter. More...
     
    - - - -

    -Friends

    class CmdArgsInterface
     
    -

    Detailed Description

    -
    -

    Definition at line 8 of file ParamConstraint.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ ParamConstraint() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    Hazelnp::ParamConstraint::ParamConstraint ()
    -
    -default
    -
    - -

    Empty constructor.

    - -
    -
    - -

    ◆ ParamConstraint() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Hazelnp::ParamConstraint::ParamConstraint (bool constrainType,
    DATA_TYPE requiredType,
    const std::initializer_list< std::string > & defaultValue,
    bool required,
    const std::initializer_list< std::string > & incompatibleParameters 
    )
    -
    -inline
    -
    - -

    Whole constructor.

    - -

    Definition at line 100 of file ParamConstraint.h.

    -
    101  :
    - - - -
    105  required{ required },
    - -
    107  {
    -
    108  return;
    -
    109  }
    -
    -
    -
    -

    Member Function Documentation

    - -

    ◆ AddIncompatibilities() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    ParamConstraint Hazelnp::ParamConstraint::AddIncompatibilities (const std::initializer_list< std::string > & incompatibleParameters)
    -
    -inline
    -
    - -

    Daisychain-method.

    -

    Will add a the "incompatiblity" aspect.
    - This means, that the following parameters are NOT compatible with this one and will throw an error if passed together.

    - -

    Definition at line 91 of file ParamConstraint.h.

    -
    92  {
    -
    93  ParamConstraint pc = *this;
    -
    94  pc.incompatibleParameters = incompatibleParameters;
    -
    95 
    -
    96  return pc;
    -
    97  }
    -
    -
    -
    - -

    ◆ AddIncompatibilities() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    ParamConstraint Hazelnp::ParamConstraint::AddIncompatibilities (const std::string & incompatibleParameters)
    -
    -inline
    -
    - -

    Daisychain-method.

    -

    Will add a the "incompatiblity" aspect.
    - This means, that the following parameters are NOT compatible with this one and will throw an error if passed together. Syntactical-sugar proxy method that will convert the lonely string to an initializer list for you :3

    - -

    Definition at line 81 of file ParamConstraint.h.

    -
    82  {
    -
    83  ParamConstraint pc = *this;
    -
    84  pc.incompatibleParameters = { incompatibleParameters };
    -
    85 
    -
    86  return pc;
    -
    87  }
    -
    -
    -
    - -

    ◆ AddRequire()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    ParamConstraint Hazelnp::ParamConstraint::AddRequire (const std::initializer_list< std::string > & defaultValue = {},
    bool required = true 
    )
    -
    -inline
    -
    - -

    Daisychain-method.

    -

    Will add a the "required-argument" aspect.
    - Think of the default value like of a list ofparameters. Like {"--width", "800"}

    - -

    Definition at line 27 of file ParamConstraint.h.

    -
    27  {}, bool required = true)
    -
    28  {
    -
    29  ParamConstraint pc = *this;
    -
    30  pc.defaultValue = defaultValue;
    -
    31  pc.required = required;
    -
    32 
    -
    33  return pc;
    -
    34  }
    -
    -
    -
    - -

    ◆ AddTypeSafety()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    ParamConstraint Hazelnp::ParamConstraint::AddTypeSafety (DATA_TYPE requiredType,
    bool constrainType = true 
    )
    -
    -inline
    -
    - -

    Daisychain-method.

    -

    Will add a the "type-safety" aspect.
    - Constructs a type-safety constraint

    - -

    Definition at line 48 of file ParamConstraint.h.

    -
    49  {
    -
    50  ParamConstraint pc = *this;
    -
    51  pc.constrainType = constrainType;
    -
    52  pc.requiredType = requiredType;
    -
    53 
    -
    54  return pc;
    -
    55  }
    -
    -
    -
    - -

    ◆ Incompatibility() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    static ParamConstraint Hazelnp::ParamConstraint::Incompatibility (const std::initializer_list< std::string > & incompatibleParameters)
    -
    -inlinestatic
    -
    - -

    Constructs an incompatibility constraint.

    -

    This means, that the following parameters are NOT compatible with this one and will throw an error if passed together

    - -

    Definition at line 59 of file ParamConstraint.h.

    -
    60  {
    -
    61  ParamConstraint pc;
    -
    62  pc.incompatibleParameters = incompatibleParameters;
    -
    63 
    -
    64  return pc;
    -
    65  }
    -
    -
    -
    - -

    ◆ Incompatibility() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    static ParamConstraint Hazelnp::ParamConstraint::Incompatibility (const std::string & incompatibleParameters)
    -
    -inlinestatic
    -
    - -

    Constructs an incompatibility constraint.

    -

    This means, that the following parameters are NOT compatible with this one and will throw an error if passed together. Syntactical-sugar proxy method that will convert the lonely string to an initializer list for you :3

    - -

    Definition at line 70 of file ParamConstraint.h.

    -
    71  {
    -
    72  ParamConstraint pc;
    -
    73  pc.incompatibleParameters = { incompatibleParameters };
    -
    74 
    -
    75  return pc;
    -
    76  }
    -
    -
    -
    - -

    ◆ Require()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    static ParamConstraint Hazelnp::ParamConstraint::Require (const std::initializer_list< std::string > & defaultValue = {},
    bool required = true 
    )
    -
    -inlinestatic
    -
    - -

    Constructs a require constraint.

    -


    - Think of the default value like of a list ofparameters. Like {"--width", "800"}

    - -

    Definition at line 16 of file ParamConstraint.h.

    -
    16  {}, bool required = true)
    -
    17  {
    -
    18  ParamConstraint pc;
    -
    19  pc.defaultValue = defaultValue;
    -
    20  pc.required = required;
    -
    21 
    -
    22  return pc;
    -
    23  }
    -
    -
    -
    - -

    ◆ TypeSafety()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    static ParamConstraint Hazelnp::ParamConstraint::TypeSafety (DATA_TYPE requiredType,
    bool constrainType = true 
    )
    -
    -inlinestatic
    -
    - -

    Constructs a type-safety constraint.

    - -

    Definition at line 37 of file ParamConstraint.h.

    -
    38  {
    -
    39  ParamConstraint pc;
    -
    40  pc.constrainType = constrainType;
    -
    41  pc.requiredType = requiredType;
    -
    42 
    -
    43  return pc;
    -
    44  }
    -
    -
    -
    -

    Friends And Related Function Documentation

    - -

    ◆ CmdArgsInterface

    - -
    -
    - - - - - -
    - - - - -
    friend class CmdArgsInterface
    -
    -friend
    -
    - -

    Definition at line 135 of file ParamConstraint.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ constrainType

    - -
    -
    - - - - -
    bool Hazelnp::ParamConstraint::constrainType = false
    -
    - -

    Should this parameter be forced to be of a certain type?
    - Remember to set constrainTo to the wanted type.

    - -

    Definition at line 113 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ defaultValue

    - -
    -
    - - - - -
    std::vector<std::string> Hazelnp::ParamConstraint::defaultValue
    -
    - -

    The default value for this parameter.

    -


    - Gets applied if this parameter was not given.
    - Think of this like a list of parameters. Like {"--width", "800"}

    - -

    Definition at line 121 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ incompatibleParameters

    - -
    -
    - - - - -
    std::vector<std::string> Hazelnp::ParamConstraint::incompatibleParameters
    -
    - -

    Parameters that are incompatible with this parameter.

    - -

    Definition at line 128 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ required

    - -
    -
    - - - - -
    bool Hazelnp::ParamConstraint::required = false
    -
    - -

    If set to true, and no default value set, an error will be produced if this parameter is not supplied by the user.

    - -

    Definition at line 125 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ requiredType

    - -
    -
    - - - - -
    DATA_TYPE Hazelnp::ParamConstraint::requiredType = DATA_TYPE::VOID
    -
    - -

    Constrain the parameter to this value. Requires constrainType to be set to true.

    - -

    Definition at line 116 of file ParamConstraint.h.

    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    -
    DATA_TYPE requiredType
    Constrain the parameter to this value. Requires constrainType to be set to true.
    -
    bool constrainType
    Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
    -
    ParamConstraint()=default
    Empty constructor.
    -
    std::vector< std::string > incompatibleParameters
    Parameters that are incompatible with this parameter.
    -
    bool required
    If set to true, and no default value set, an error will be produced if this parameter is not supplied...
    -
    std::vector< std::string > defaultValue
    The default value for this parameter.
    - - - - diff --git a/docs/structHazelnp_1_1ParamConstraint__coll__graph.map b/docs/structHazelnp_1_1ParamConstraint__coll__graph.map deleted file mode 100644 index c44528c..0000000 --- a/docs/structHazelnp_1_1ParamConstraint__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/structHazelnp_1_1ParamConstraint__coll__graph.md5 b/docs/structHazelnp_1_1ParamConstraint__coll__graph.md5 deleted file mode 100644 index 9cc78e1..0000000 --- a/docs/structHazelnp_1_1ParamConstraint__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a459875e45a00cc653331d1a1106e8e6 \ No newline at end of file diff --git a/docs/structHazelnp_1_1ParamConstraint__coll__graph.png b/docs/structHazelnp_1_1ParamConstraint__coll__graph.png deleted file mode 100644 index 31bc4a1..0000000 Binary files a/docs/structHazelnp_1_1ParamConstraint__coll__graph.png and /dev/null differ diff --git a/docs/structParamConstraint-members.html b/docs/structParamConstraint-members.html deleted file mode 100644 index aa4a911..0000000 --- a/docs/structParamConstraint-members.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: Member List - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    -
    -
    -
    ParamConstraint Member List
    -
    -
    - -

    This is the complete list of members for ParamConstraint, including all inherited members.

    - - - - - - - - - - -
    constrainTypeParamConstraint
    defaultValueParamConstraint
    keyParamConstraint
    ParamConstraint()=defaultParamConstraint
    ParamConstraint(const std::string &key, bool constrainType, DATA_TYPE wantedType, const std::vector< std::string > &defaultValue, bool required)ParamConstraintinline
    Require(const std::string &key, const std::vector< std::string > &defaultValue={}, bool required=true)ParamConstraintinlinestatic
    requiredParamConstraint
    TypeSafety(const std::string &key, DATA_TYPE wantedType, bool constrainType=true)ParamConstraintinlinestatic
    wantedTypeParamConstraint
    - - - - diff --git a/docs/structParamConstraint.html b/docs/structParamConstraint.html deleted file mode 100644 index dc48b5f..0000000 --- a/docs/structParamConstraint.html +++ /dev/null @@ -1,455 +0,0 @@ - - - - - - - -Leonetienne/Hazelnupp: ParamConstraint Struct Reference - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    Leonetienne/Hazelnupp -
    -
    Simple, easy to use, command line parameter interface
    -
    -
    - - - - - - - - -
    -
    - - -
    - -
    - -
    - -
    - -

    #include <ParamConstraint.h>

    -
    -Collaboration diagram for ParamConstraint:
    -
    -
    Collaboration graph
    - - - - - - -
    [legend]
    - - - - - - - - -

    -Public Member Functions

     ParamConstraint ()=default
     Empty constructor. More...
     
     ParamConstraint (const std::string &key, bool constrainType, DATA_TYPE wantedType, const std::vector< std::string > &defaultValue, bool required)
     Whole constructor. More...
     
    - - - - - - - -

    -Static Public Member Functions

    static ParamConstraint Require (const std::string &key, const std::vector< std::string > &defaultValue={}, bool required=true)
     Constructs a require constraint. More...
     
    static ParamConstraint TypeSafety (const std::string &key, DATA_TYPE wantedType, bool constrainType=true)
     Constructs a type-safety constraint. More...
     
    - - - - - - - - - - - - - - - - -

    -Public Attributes

    std::string key
     The key of the parameter to constrain. More...
     
    bool constrainType = false
     Should this parameter be forced to be of a certain type?
    - Remember to set constrainTo to the wanted type. More...
     
    DATA_TYPE wantedType = DATA_TYPE::VOID
     Constrain the parameter to this value. Requires constrainType to be set to true. More...
     
    std::vector< std::string > defaultValue
     The default value for this parameter. More...
     
    bool required = false
     If set to true, and no default value set, an error will be produced if this parameter is not supplied by the user. More...
     
    -

    Detailed Description

    -
    -

    Definition at line 6 of file ParamConstraint.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ ParamConstraint() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    ParamConstraint::ParamConstraint ()
    -
    -default
    -
    - -

    Empty constructor.

    - -
    -
    - -

    ◆ ParamConstraint() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ParamConstraint::ParamConstraint (const std::string & key,
    bool constrainType,
    DATA_TYPE wantedType,
    const std::vector< std::string > & defaultValue,
    bool required 
    )
    -
    -inline
    -
    - -

    Whole constructor.

    - -

    Definition at line 36 of file ParamConstraint.h.

    -
    37  :
    -
    38  key { key },
    - - - - -
    43  {
    -
    44  return;
    -
    45  }
    -
    -
    -
    -

    Member Function Documentation

    - -

    ◆ Require()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    static ParamConstraint ParamConstraint::Require (const std::string & key,
    const std::vector< std::string > & defaultValue = {},
    bool required = true 
    )
    -
    -inlinestatic
    -
    - -

    Constructs a require constraint.

    -


    - Think of the default value like of a list ofparameters. Like {"--width", "800"}

    - -

    Definition at line 14 of file ParamConstraint.h.

    -
    14  {}, bool required = true)
    -
    15  {
    -
    16  ParamConstraint pc;
    -
    17  pc.key = key;
    - -
    19  pc.required = required;
    -
    20 
    -
    21  return pc;
    -
    22  }
    -
    -
    -
    - -

    ◆ TypeSafety()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    static ParamConstraint ParamConstraint::TypeSafety (const std::string & key,
    DATA_TYPE wantedType,
    bool constrainType = true 
    )
    -
    -inlinestatic
    -
    - -

    Constructs a type-safety constraint.

    - -

    Definition at line 25 of file ParamConstraint.h.

    -
    26  {
    -
    27  ParamConstraint pc;
    -
    28  pc.key = key;
    - - -
    31 
    -
    32  return pc;
    -
    33  }
    -
    -
    -
    -

    Member Data Documentation

    - -

    ◆ constrainType

    - -
    -
    - - - - -
    bool ParamConstraint::constrainType = false
    -
    - -

    Should this parameter be forced to be of a certain type?
    - Remember to set constrainTo to the wanted type.

    - -

    Definition at line 52 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ defaultValue

    - -
    -
    - - - - -
    std::vector<std::string> ParamConstraint::defaultValue
    -
    - -

    The default value for this parameter.

    -


    - Gets applied if this parameter was not given.
    - Think of this like a list of parameters. Like {"--width", "800"}

    - -

    Definition at line 60 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ key

    - -
    -
    - - - - -
    std::string ParamConstraint::key
    -
    - -

    The key of the parameter to constrain.

    - -

    Definition at line 48 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ required

    - -
    -
    - - - - -
    bool ParamConstraint::required = false
    -
    - -

    If set to true, and no default value set, an error will be produced if this parameter is not supplied by the user.

    - -

    Definition at line 64 of file ParamConstraint.h.

    - -
    -
    - -

    ◆ wantedType

    - -
    -
    - - - - -
    DATA_TYPE ParamConstraint::wantedType = DATA_TYPE::VOID
    -
    - -

    Constrain the parameter to this value. Requires constrainType to be set to true.

    - -

    Definition at line 55 of file ParamConstraint.h.

    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    -
    bool required
    If set to true, and no default value set, an error will be produced if this parameter is not supplied...
    -
    std::vector< std::string > defaultValue
    The default value for this parameter.
    -
    std::string key
    The key of the parameter to constrain.
    -
    bool constrainType
    Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
    -
    DATA_TYPE wantedType
    Constrain the parameter to this value. Requires constrainType to be set to true.
    - - - - - diff --git a/docs/structParamConstraint__coll__graph.map b/docs/structParamConstraint__coll__graph.map deleted file mode 100644 index 1fdea4c..0000000 --- a/docs/structParamConstraint__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/structParamConstraint__coll__graph.md5 b/docs/structParamConstraint__coll__graph.md5 deleted file mode 100644 index 691b7a5..0000000 --- a/docs/structParamConstraint__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5b0c26b5610c7f0182528e961c22a058 \ No newline at end of file diff --git a/docs/structParamConstraint__coll__graph.png b/docs/structParamConstraint__coll__graph.png deleted file mode 100644 index bb5d73e..0000000 Binary files a/docs/structParamConstraint__coll__graph.png and /dev/null differ diff --git a/docs/sync_off.png b/docs/sync_off.png deleted file mode 100644 index 6535f48..0000000 Binary files a/docs/sync_off.png and /dev/null differ diff --git a/docs/sync_on.png b/docs/sync_on.png deleted file mode 100644 index 0fcb5e8..0000000 Binary files a/docs/sync_on.png and /dev/null differ diff --git a/docs/tab_a.png b/docs/tab_a.png deleted file mode 100644 index 72a9ec8..0000000 Binary files a/docs/tab_a.png and /dev/null differ diff --git a/docs/tab_b.png b/docs/tab_b.png deleted file mode 100644 index 30949f7..0000000 Binary files a/docs/tab_b.png and /dev/null differ diff --git a/docs/tab_h.png b/docs/tab_h.png deleted file mode 100644 index 112c6d4..0000000 Binary files a/docs/tab_h.png and /dev/null differ diff --git a/docs/tab_s.png b/docs/tab_s.png deleted file mode 100644 index 34878fa..0000000 Binary files a/docs/tab_s.png and /dev/null differ diff --git a/docs/tabs.css b/docs/tabs.css deleted file mode 100644 index 7d45d36..0000000 --- a/docs/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/readme.md b/readme.md index b6a8269..b871127 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ [![Hazelnupp](https://raw.githubusercontent.com/Leonetienne/Hazelnupp/master/Brand/nupp.png)](https://github.com/Leonetienne/Hazelnupp) -# [Documentation](https://leonetienne.github.io/Hazelnupp/) -## [Direct link to docs of the main class](https://leonetienne.github.io/Hazelnupp/classHazelnp_1_1CmdArgsInterface.html) +# [Documentation](http://hazelnupp.rtfm.etiennes.de) +## [Direct link to docs of the main class](http://hazelnupp.rtfm.etiennes.de/classHazelnp_1_1CmdArgsInterface.html) # Hazelnupp is a simple, easy to use command line parameter parser. @@ -363,7 +363,7 @@ If a description is not set, the last line will simply be omitted. ## More examples? Check out the [tests](https://github.com/Leonetienne/Hazelnupp/tree/master/Test_Hazelnupp)! They may help you out! -Also make sure to check out the [doxygen docs](https://leonetienne.github.io/Hazelnupp/)! +Also make sure to check out the [doxygen docs](http://hazelnupp.rtfm.etiennes.de)! ## What is not supported?