From c8cf9c37484d42c4427273285d7fa9afcaeb7fd9 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Thu, 3 Jun 2021 12:22:37 +0200 Subject: [PATCH] Built doxygen --- docs/Abbreviations_8cpp.html | 127 ++ docs/Abbreviations_8cpp__incl.map | 14 + docs/Abbreviations_8cpp__incl.md5 | 1 + docs/Abbreviations_8cpp__incl.png | Bin 0 -> 34023 bytes docs/Abbreviations_8cpp_source.html | 262 +++ docs/Basics_8cpp.html | 130 ++ docs/Basics_8cpp__incl.map | 16 + docs/Basics_8cpp__incl.md5 | 1 + docs/Basics_8cpp__incl.png | Bin 0 -> 38184 bytes docs/Basics_8cpp_source.html | 350 ++++ docs/Constraints_8cpp.html | 130 ++ docs/Constraints_8cpp__incl.map | 16 + docs/Constraints_8cpp__incl.md5 | 1 + docs/Constraints_8cpp__incl.png | Bin 0 -> 38428 bytes docs/Constraints_8cpp_source.html | 425 ++++ docs/Conversion_8cpp.html | 130 ++ docs/Conversion_8cpp__incl.map | 16 + docs/Conversion_8cpp__incl.md5 | 1 + docs/Conversion_8cpp__incl.png | Bin 0 -> 38508 bytes docs/Conversion_8cpp_source.html | 353 ++++ docs/DataType_8h.html | 180 ++ docs/DataType_8h__dep__incl.map | 21 + docs/DataType_8h__dep__incl.md5 | 1 + docs/DataType_8h__dep__incl.png | Bin 0 -> 58975 bytes docs/DataType_8h_source.html | 105 + ...lnupp_8vcxproj_8FileListAbsolute_8txt.html | 85 + ...lnupp_8vcxproj_8FileListAbsolute_8txt.html | 85 + docs/FloatValue_8cpp.html | 110 + docs/FloatValue_8cpp__incl.map | 11 + docs/FloatValue_8cpp__incl.md5 | 1 + docs/FloatValue_8cpp__incl.png | Bin 0 -> 18036 bytes docs/FloatValue_8cpp_source.html | 178 ++ docs/FloatValue_8h.html | 124 ++ docs/FloatValue_8h__dep__incl.map | 5 + docs/FloatValue_8h__dep__incl.md5 | 1 + docs/FloatValue_8h__dep__incl.png | Bin 0 -> 5673 bytes docs/FloatValue_8h__incl.map | 7 + docs/FloatValue_8h__incl.md5 | 1 + docs/FloatValue_8h__incl.png | Bin 0 -> 10380 bytes docs/FloatValue_8h_source.html | 135 ++ docs/HazelnuppException_8h.html | 139 ++ docs/HazelnuppException_8h__dep__incl.map | 9 + docs/HazelnuppException_8h__dep__incl.md5 | 1 + docs/HazelnuppException_8h__dep__incl.png | Bin 0 -> 14646 bytes docs/HazelnuppException_8h__incl.map | 4 + docs/HazelnuppException_8h__incl.md5 | 1 + docs/HazelnuppException_8h__incl.png | Bin 0 -> 3979 bytes docs/HazelnuppException_8h_source.html | 161 ++ docs/Hazelnupp_8cpp.html | 130 ++ docs/Hazelnupp_8cpp__incl.map | 24 + docs/Hazelnupp_8cpp__incl.md5 | 1 + docs/Hazelnupp_8cpp__incl.png | Bin 0 -> 76415 bytes docs/Hazelnupp_8cpp_source.html | 527 +++++ docs/Hazelnupp_8h.html | 130 ++ docs/Hazelnupp_8h__dep__incl.map | 5 + docs/Hazelnupp_8h__dep__incl.md5 | 1 + docs/Hazelnupp_8h__dep__incl.png | Bin 0 -> 5745 bytes docs/Hazelnupp_8h__incl.map | 11 + docs/Hazelnupp_8h__incl.md5 | 1 + docs/Hazelnupp_8h__incl.png | Bin 0 -> 27149 bytes docs/Hazelnupp_8h_source.html | 174 ++ docs/IntValue_8cpp.html | 110 + docs/IntValue_8cpp__incl.map | 11 + docs/IntValue_8cpp__incl.md5 | 1 + docs/IntValue_8cpp__incl.png | Bin 0 -> 16940 bytes docs/IntValue_8cpp_source.html | 178 ++ docs/IntValue_8h.html | 124 ++ docs/IntValue_8h__dep__incl.map | 6 + docs/IntValue_8h__dep__incl.md5 | 1 + docs/IntValue_8h__dep__incl.png | Bin 0 -> 7190 bytes docs/IntValue_8h__incl.map | 7 + docs/IntValue_8h__incl.md5 | 1 + docs/IntValue_8h__incl.png | Bin 0 -> 8631 bytes docs/IntValue_8h_source.html | 135 ++ docs/ListValue_8cpp.html | 110 + docs/ListValue_8cpp__incl.map | 11 + docs/ListValue_8cpp__incl.md5 | 1 + docs/ListValue_8cpp__incl.png | Bin 0 -> 17750 bytes docs/ListValue_8cpp_source.html | 204 ++ docs/ListValue_8h.html | 124 ++ docs/ListValue_8h__dep__incl.map | 5 + docs/ListValue_8h__dep__incl.md5 | 1 + docs/ListValue_8h__dep__incl.png | Bin 0 -> 5963 bytes docs/ListValue_8h__incl.map | 7 + docs/ListValue_8h__incl.md5 | 1 + docs/ListValue_8h__incl.png | Bin 0 -> 10843 bytes docs/ListValue_8h_source.html | 137 ++ docs/ParamConstraint_8h.html | 124 ++ docs/ParamConstraint_8h__dep__incl.map | 6 + docs/ParamConstraint_8h__dep__incl.md5 | 1 + docs/ParamConstraint_8h__dep__incl.png | Bin 0 -> 8758 bytes docs/ParamConstraint_8h__incl.map | 6 + docs/ParamConstraint_8h__incl.md5 | 1 + docs/ParamConstraint_8h__incl.png | Bin 0 -> 7044 bytes docs/ParamConstraint_8h_source.html | 153 ++ docs/Parameter_8cpp.html | 106 + docs/Parameter_8cpp__incl.map | 9 + docs/Parameter_8cpp__incl.md5 | 1 + docs/Parameter_8cpp__incl.png | Bin 0 -> 14008 bytes docs/Parameter_8cpp_source.html | 121 ++ docs/Parameter_8h.html | 127 ++ docs/Parameter_8h__dep__incl.map | 7 + docs/Parameter_8h__dep__incl.md5 | 1 + docs/Parameter_8h__dep__incl.png | Bin 0 -> 10768 bytes docs/Parameter_8h__incl.map | 8 + docs/Parameter_8h__incl.md5 | 1 + docs/Parameter_8h__incl.png | Bin 0 -> 12331 bytes docs/Parameter_8h_source.html | 121 ++ ...lnupp_8vcxproj_8FileListAbsolute_8txt.html | 85 + ...lnupp_8vcxproj_8FileListAbsolute_8txt.html | 85 + docs/StringTools_8cpp.html | 105 + docs/StringTools_8cpp__incl.map | 8 + docs/StringTools_8cpp__incl.md5 | 1 + docs/StringTools_8cpp__incl.png | Bin 0 -> 11528 bytes docs/StringTools_8cpp_source.html | 280 +++ docs/StringTools_8h.html | 126 ++ docs/StringTools_8h__dep__incl.map | 5 + docs/StringTools_8h__dep__incl.md5 | 1 + docs/StringTools_8h__dep__incl.png | Bin 0 -> 6481 bytes docs/StringTools_8h__incl.map | 7 + docs/StringTools_8h__incl.md5 | 1 + docs/StringTools_8h__incl.png | Bin 0 -> 8293 bytes docs/StringTools_8h_source.html | 121 ++ docs/StringValue_8cpp.html | 111 ++ docs/StringValue_8cpp__incl.map | 12 + docs/StringValue_8cpp__incl.md5 | 1 + docs/StringValue_8cpp__incl.png | Bin 0 -> 20145 bytes docs/StringValue_8cpp_source.html | 170 ++ docs/StringValue_8h.html | 125 ++ docs/StringValue_8h__dep__incl.map | 5 + docs/StringValue_8h__dep__incl.md5 | 1 + docs/StringValue_8h__dep__incl.png | Bin 0 -> 6182 bytes docs/StringValue_8h__incl.map | 8 + docs/StringValue_8h__incl.md5 | 1 + docs/StringValue_8h__incl.png | Bin 0 -> 11411 bytes docs/StringValue_8h_source.html | 134 ++ docs/Value_8cpp.html | 104 + docs/Value_8cpp__incl.map | 7 + docs/Value_8cpp__incl.md5 | 1 + docs/Value_8cpp__incl.png | Bin 0 -> 8631 bytes docs/Value_8cpp_source.html | 107 + docs/Value_8h.html | 138 ++ docs/Value_8h__dep__incl.map | 19 + docs/Value_8h__dep__incl.md5 | 1 + docs/Value_8h__dep__incl.png | Bin 0 -> 55574 bytes docs/Value_8h__incl.map | 6 + docs/Value_8h__incl.md5 | 1 + docs/Value_8h__incl.png | Bin 0 -> 6277 bytes docs/Value_8h_source.html | 141 ++ docs/VoidValue_8cpp.html | 108 + docs/VoidValue_8cpp__incl.map | 10 + docs/VoidValue_8cpp__incl.md5 | 1 + docs/VoidValue_8cpp__incl.png | Bin 0 -> 14268 bytes docs/VoidValue_8cpp_source.html | 155 ++ docs/VoidValue_8h.html | 123 ++ docs/VoidValue_8h__dep__incl.map | 5 + docs/VoidValue_8h__dep__incl.md5 | 1 + docs/VoidValue_8h__dep__incl.png | Bin 0 -> 6654 bytes docs/VoidValue_8h__incl.map | 7 + docs/VoidValue_8h__incl.md5 | 1 + docs/VoidValue_8h__incl.png | Bin 0 -> 8880 bytes docs/VoidValue_8h_source.html | 125 ++ docs/annotated.html | 105 + docs/bc_s.png | Bin 0 -> 640 bytes docs/bdwn.png | Bin 0 -> 152 bytes docs/classFloatValue-members.html | 105 + docs/classFloatValue.html | 578 ++++++ docs/classFloatValue__coll__graph.map | 4 + docs/classFloatValue__coll__graph.md5 | 1 + docs/classFloatValue__coll__graph.png | Bin 0 -> 2346 bytes docs/classFloatValue__inherit__graph.map | 4 + docs/classFloatValue__inherit__graph.md5 | 1 + docs/classFloatValue__inherit__graph.png | Bin 0 -> 2346 bytes docs/classHazelnupp-members.html | 103 + docs/classHazelnupp.html | 630 ++++++ ...sHazelnuppConstraintException-members.html | 94 + docs/classHazelnuppConstraintException.html | 205 ++ ...elnuppConstraintException__coll__graph.map | 7 + ...elnuppConstraintException__coll__graph.md5 | 1 + ...elnuppConstraintException__coll__graph.png | Bin 0 -> 11398 bytes ...uppConstraintException__inherit__graph.map | 7 + ...uppConstraintException__inherit__graph.md5 | 1 + ...uppConstraintException__inherit__graph.png | Bin 0 -> 12636 bytes ...zelnuppConstraintMissingValue-members.html | 96 + .../classHazelnuppConstraintMissingValue.html | 210 ++ ...uppConstraintMissingValue__coll__graph.map | 8 + ...uppConstraintMissingValue__coll__graph.md5 | 1 + ...uppConstraintMissingValue__coll__graph.png | Bin 0 -> 14321 bytes ...ConstraintMissingValue__inherit__graph.map | 6 + ...ConstraintMissingValue__inherit__graph.md5 | 1 + ...ConstraintMissingValue__inherit__graph.png | Bin 0 -> 9105 bytes ...elnuppConstraintTypeMissmatch-members.html | 96 + ...classHazelnuppConstraintTypeMissmatch.html | 210 ++ ...ppConstraintTypeMissmatch__coll__graph.map | 8 + ...ppConstraintTypeMissmatch__coll__graph.md5 | 1 + ...ppConstraintTypeMissmatch__coll__graph.png | Bin 0 -> 14346 bytes ...onstraintTypeMissmatch__inherit__graph.map | 6 + ...onstraintTypeMissmatch__inherit__graph.md5 | 1 + ...onstraintTypeMissmatch__inherit__graph.png | Bin 0 -> 9141 bytes docs/classHazelnuppException-members.html | 92 + docs/classHazelnuppException.html | 259 +++ docs/classHazelnuppException__coll__graph.map | 6 + docs/classHazelnuppException__coll__graph.md5 | 1 + docs/classHazelnuppException__coll__graph.png | Bin 0 -> 9637 bytes ...lassHazelnuppException__inherit__graph.map | 9 + ...lassHazelnuppException__inherit__graph.md5 | 1 + ...lassHazelnuppException__inherit__graph.png | Bin 0 -> 20860 bytes ...sHazelnuppInvalidKeyException-members.html | 94 + docs/classHazelnuppInvalidKeyException.html | 203 ++ ...elnuppInvalidKeyException__coll__graph.map | 7 + ...elnuppInvalidKeyException__coll__graph.md5 | 1 + ...elnuppInvalidKeyException__coll__graph.png | Bin 0 -> 11587 bytes ...uppInvalidKeyException__inherit__graph.map | 5 + ...uppInvalidKeyException__inherit__graph.md5 | 1 + ...uppInvalidKeyException__inherit__graph.png | Bin 0 -> 7047 bytes ...pValueNotConvertibleException-members.html | 94 + ...HazelnuppValueNotConvertibleException.html | 203 ++ ...ueNotConvertibleException__coll__graph.map | 7 + ...ueNotConvertibleException__coll__graph.md5 | 1 + ...ueNotConvertibleException__coll__graph.png | Bin 0 -> 13181 bytes ...otConvertibleException__inherit__graph.map | 5 + ...otConvertibleException__inherit__graph.md5 | 1 + ...otConvertibleException__inherit__graph.png | Bin 0 -> 6740 bytes docs/classIntValue-members.html | 105 + docs/classIntValue.html | 578 ++++++ docs/classIntValue__coll__graph.map | 4 + docs/classIntValue__coll__graph.md5 | 1 + docs/classIntValue__coll__graph.png | Bin 0 -> 2082 bytes docs/classIntValue__inherit__graph.map | 4 + docs/classIntValue__inherit__graph.md5 | 1 + docs/classIntValue__inherit__graph.png | Bin 0 -> 2082 bytes docs/classListValue-members.html | 105 + docs/classListValue.html | 605 ++++++ docs/classListValue__coll__graph.map | 4 + docs/classListValue__coll__graph.md5 | 1 + docs/classListValue__coll__graph.png | Bin 0 -> 2274 bytes docs/classListValue__inherit__graph.map | 4 + docs/classListValue__inherit__graph.md5 | 1 + docs/classListValue__inherit__graph.png | Bin 0 -> 2274 bytes docs/classParameter-members.html | 93 + docs/classParameter.html | 279 +++ docs/classStringTools-members.html | 96 + docs/classStringTools.html | 630 ++++++ docs/classStringValue-members.html | 104 + docs/classStringValue.html | 551 +++++ docs/classStringValue__coll__graph.map | 4 + docs/classStringValue__coll__graph.md5 | 1 + docs/classStringValue__coll__graph.png | Bin 0 -> 2908 bytes docs/classStringValue__inherit__graph.map | 4 + docs/classStringValue__inherit__graph.md5 | 1 + docs/classStringValue__inherit__graph.png | Bin 0 -> 2908 bytes docs/classValue-members.html | 101 + docs/classValue.html | 553 +++++ docs/classValue__inherit__graph.map | 8 + docs/classValue__inherit__graph.md5 | 1 + docs/classValue__inherit__graph.png | Bin 0 -> 8903 bytes docs/classVoidValue-members.html | 102 + docs/classVoidValue.html | 497 +++++ docs/classVoidValue__coll__graph.map | 4 + docs/classVoidValue__coll__graph.md5 | 1 + docs/classVoidValue__coll__graph.png | Bin 0 -> 2346 bytes docs/classVoidValue__inherit__graph.map | 4 + docs/classVoidValue__inherit__graph.md5 | 1 + docs/classVoidValue__inherit__graph.png | Bin 0 -> 2346 bytes docs/classes.html | 127 ++ docs/closed.png | Bin 0 -> 132 bytes docs/dir_000003_000000.html | 85 + .../dir_0202e1e26df2e040f4dc3d434eecf04c.html | 144 ++ .../dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html | 89 + .../dir_0cc5f59b28c403d42cc56800132eb975.html | 89 + .../dir_1148ebc2b25b55095aebf6f4cbb6efca.html | 89 + .../dir_5c0eadceca12ef8285078e2e738769ee.html | 89 + .../dir_a4e10305c1b03e566e1d27ef3ea61492.html | 122 ++ ...r_a4e10305c1b03e566e1d27ef3ea61492_dep.map | 7 + ...r_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 | 1 + ...r_a4e10305c1b03e566e1d27ef3ea61492_dep.png | Bin 0 -> 4778 bytes .../dir_a8cffda729361e9d9637effa362fcea9.html | 89 + docs/doc.png | Bin 0 -> 697 bytes docs/doxygen.css | 1771 +++++++++++++++++ docs/doxygen.png | Bin 0 -> 3713 bytes docs/dynsections.js | 127 ++ docs/files.html | 115 ++ docs/folderclosed.png | Bin 0 -> 575 bytes docs/folderopen.png | Bin 0 -> 592 bytes docs/functions.html | 408 ++++ docs/functions_func.html | 379 ++++ docs/functions_rela.html | 87 + docs/functions_vars.html | 104 + docs/globals.html | 89 + docs/globals_defs.html | 86 + docs/globals_enum.html | 86 + docs/globals_func.html | 86 + docs/globals_type.html | 86 + docs/graph_legend.html | 145 ++ docs/graph_legend.md5 | 1 + docs/graph_legend.png | Bin 0 -> 20615 bytes docs/helper_8h.html | 165 ++ docs/helper_8h__dep__incl.map | 7 + docs/helper_8h__dep__incl.md5 | 1 + docs/helper_8h__dep__incl.png | Bin 0 -> 9796 bytes docs/helper_8h__incl.map | 4 + docs/helper_8h__incl.md5 | 1 + docs/helper_8h__incl.png | Bin 0 -> 3367 bytes docs/helper_8h_source.html | 96 + docs/hierarchy.html | 108 + docs/index.html | 324 +++ docs/index_8md.html | 85 + docs/inherit_graph_0.map | 3 + docs/inherit_graph_0.md5 | 1 + docs/inherit_graph_0.png | Bin 0 -> 1049 bytes docs/inherit_graph_1.map | 9 + docs/inherit_graph_1.md5 | 1 + docs/inherit_graph_1.png | Bin 0 -> 19441 bytes docs/inherit_graph_2.map | 3 + docs/inherit_graph_2.md5 | 1 + docs/inherit_graph_2.png | Bin 0 -> 1418 bytes docs/inherit_graph_3.map | 3 + docs/inherit_graph_3.md5 | 1 + docs/inherit_graph_3.png | Bin 0 -> 962 bytes docs/inherit_graph_4.map | 3 + docs/inherit_graph_4.md5 | 1 + docs/inherit_graph_4.png | Bin 0 -> 1249 bytes docs/inherit_graph_5.map | 8 + docs/inherit_graph_5.md5 | 1 + docs/inherit_graph_5.png | Bin 0 -> 10167 bytes docs/inherits.html | 130 ++ docs/jquery.js | 35 + docs/main_8cpp.html | 219 ++ docs/main_8cpp__incl.map | 14 + docs/main_8cpp__incl.md5 | 1 + docs/main_8cpp__incl.png | Bin 0 -> 31547 bytes docs/main_8cpp_source.html | 164 ++ docs/md_Doxygen_index.html | 324 +++ docs/menu.js | 50 + docs/menudata.js | 74 + docs/namespaceTestHazelnupp.html | 1139 +++++++++++ docs/namespacemembers.html | 86 + docs/namespacemembers_func.html | 86 + docs/namespaces.html | 90 + docs/nav_f.png | Bin 0 -> 142 bytes docs/nav_g.png | Bin 0 -> 95 bytes docs/nav_h.png | Bin 0 -> 96 bytes docs/nupp_small.png | Bin 0 -> 31866 bytes docs/open.png | Bin 0 -> 123 bytes docs/pages.html | 90 + docs/readme_8md.html | 85 + docs/search/all_0.html | 30 + docs/search/all_0.js | 4 + docs/search/all_1.html | 30 + docs/search/all_1.js | 7 + docs/search/all_10.html | 30 + docs/search/all_10.js | 5 + docs/search/all_11.html | 30 + docs/search/all_11.js | 11 + docs/search/all_12.html | 30 + docs/search/all_12.js | 11 + docs/search/all_2.html | 30 + docs/search/all_2.js | 7 + docs/search/all_3.html | 30 + docs/search/all_3.js | 7 + docs/search/all_4.html | 30 + docs/search/all_4.js | 15 + docs/search/all_5.html | 30 + docs/search/all_5.js | 17 + docs/search/all_6.html | 30 + docs/search/all_6.js | 9 + docs/search/all_7.html | 30 + docs/search/all_7.js | 4 + docs/search/all_8.html | 30 + docs/search/all_8.js | 7 + docs/search/all_9.html | 30 + docs/search/all_9.js | 6 + docs/search/all_a.html | 30 + docs/search/all_a.js | 11 + docs/search/all_b.html | 30 + docs/search/all_b.js | 10 + docs/search/all_c.html | 30 + docs/search/all_c.js | 8 + docs/search/all_d.html | 30 + docs/search/all_d.js | 12 + docs/search/all_e.html | 30 + docs/search/all_e.js | 6 + docs/search/all_f.html | 30 + docs/search/all_f.js | 10 + docs/search/classes_0.html | 30 + docs/search/classes_0.js | 4 + docs/search/classes_1.html | 30 + docs/search/classes_1.js | 10 + docs/search/classes_2.html | 30 + docs/search/classes_2.js | 4 + docs/search/classes_3.html | 30 + docs/search/classes_3.js | 4 + docs/search/classes_4.html | 30 + docs/search/classes_4.js | 5 + docs/search/classes_5.html | 30 + docs/search/classes_5.js | 5 + docs/search/classes_6.html | 30 + docs/search/classes_6.js | 5 + docs/search/close.png | Bin 0 -> 273 bytes docs/search/defines_0.html | 30 + docs/search/defines_0.js | 4 + docs/search/enums_0.html | 30 + docs/search/enums_0.js | 4 + docs/search/enumvalues_0.html | 30 + docs/search/enumvalues_0.js | 4 + docs/search/enumvalues_1.html | 30 + docs/search/enumvalues_1.js | 4 + docs/search/enumvalues_2.html | 30 + docs/search/enumvalues_2.js | 4 + docs/search/enumvalues_3.html | 30 + docs/search/enumvalues_3.js | 4 + docs/search/enumvalues_4.html | 30 + docs/search/enumvalues_4.js | 4 + docs/search/files_0.html | 30 + docs/search/files_0.js | 4 + docs/search/files_1.html | 30 + docs/search/files_1.js | 5 + docs/search/files_2.html | 30 + docs/search/files_2.js | 7 + docs/search/files_3.html | 30 + docs/search/files_3.js | 6 + docs/search/files_4.html | 30 + docs/search/files_4.js | 5 + docs/search/files_5.html | 30 + docs/search/files_5.js | 4 + docs/search/files_6.html | 30 + docs/search/files_6.js | 6 + docs/search/files_7.html | 30 + docs/search/files_7.js | 7 + docs/search/files_8.html | 30 + docs/search/files_8.js | 7 + docs/search/files_9.html | 30 + docs/search/files_9.js | 6 + docs/search/files_a.html | 30 + docs/search/files_a.js | 4 + docs/search/files_b.html | 30 + docs/search/files_b.js | 7 + docs/search/files_c.html | 30 + docs/search/files_c.js | 4 + docs/search/files_d.html | 30 + docs/search/files_d.js | 7 + docs/search/functions_0.html | 30 + docs/search/functions_0.js | 4 + docs/search/functions_1.html | 30 + docs/search/functions_1.js | 6 + docs/search/functions_10.html | 30 + docs/search/functions_10.js | 4 + docs/search/functions_11.html | 30 + docs/search/functions_11.js | 11 + docs/search/functions_2.html | 30 + docs/search/functions_2.js | 4 + docs/search/functions_3.html | 30 + docs/search/functions_3.js | 4 + docs/search/functions_4.html | 30 + docs/search/functions_4.js | 15 + docs/search/functions_5.html | 30 + docs/search/functions_5.js | 12 + docs/search/functions_6.html | 30 + docs/search/functions_6.js | 5 + docs/search/functions_7.html | 30 + docs/search/functions_7.js | 4 + docs/search/functions_8.html | 30 + docs/search/functions_8.js | 4 + docs/search/functions_9.html | 30 + docs/search/functions_9.js | 4 + docs/search/functions_a.html | 30 + docs/search/functions_a.js | 10 + docs/search/functions_b.html | 30 + docs/search/functions_b.js | 7 + docs/search/functions_c.html | 30 + docs/search/functions_c.js | 7 + docs/search/functions_d.html | 30 + docs/search/functions_d.js | 6 + docs/search/functions_e.html | 30 + docs/search/functions_e.js | 5 + docs/search/functions_f.html | 30 + docs/search/functions_f.js | 5 + docs/search/mag_sel.png | Bin 0 -> 465 bytes docs/search/namespaces_0.html | 30 + docs/search/namespaces_0.js | 4 + docs/search/nomatches.html | 12 + docs/search/pages_0.html | 30 + docs/search/pages_0.js | 4 + docs/search/related_0.html | 30 + docs/search/related_0.js | 4 + docs/search/search.css | 271 +++ docs/search/search.js | 814 ++++++++ docs/search/search_l.png | Bin 0 -> 567 bytes docs/search/search_m.png | Bin 0 -> 158 bytes docs/search/search_r.png | Bin 0 -> 553 bytes docs/search/searchdata.js | 39 + docs/search/typedefs_0.html | 30 + docs/search/typedefs_0.js | 4 + docs/search/variables_0.html | 30 + docs/search/variables_0.js | 4 + docs/search/variables_1.html | 30 + docs/search/variables_1.js | 4 + docs/search/variables_2.html | 30 + docs/search/variables_2.js | 4 + docs/search/variables_3.html | 30 + docs/search/variables_3.js | 4 + docs/search/variables_4.html | 30 + docs/search/variables_4.js | 4 + docs/search/variables_5.html | 30 + docs/search/variables_5.js | 4 + docs/search/variables_6.html | 30 + docs/search/variables_6.js | 4 + docs/splitbar.png | Bin 0 -> 290 bytes docs/structParamConstraint-members.html | 97 + docs/structParamConstraint.html | 455 +++++ docs/structParamConstraint__coll__graph.map | 6 + docs/structParamConstraint__coll__graph.md5 | 1 + docs/structParamConstraint__coll__graph.png | Bin 0 -> 13567 bytes docs/sync_off.png | Bin 0 -> 820 bytes docs/sync_on.png | Bin 0 -> 808 bytes docs/tab_a.png | Bin 0 -> 143 bytes docs/tab_b.png | Bin 0 -> 158 bytes docs/tab_h.png | Bin 0 -> 157 bytes docs/tab_s.png | Bin 0 -> 170 bytes docs/tabs.css | 1 + 520 files changed, 29054 insertions(+) create mode 100644 docs/Abbreviations_8cpp.html create mode 100644 docs/Abbreviations_8cpp__incl.map create mode 100644 docs/Abbreviations_8cpp__incl.md5 create mode 100644 docs/Abbreviations_8cpp__incl.png create mode 100644 docs/Abbreviations_8cpp_source.html create mode 100644 docs/Basics_8cpp.html create mode 100644 docs/Basics_8cpp__incl.map create mode 100644 docs/Basics_8cpp__incl.md5 create mode 100644 docs/Basics_8cpp__incl.png create mode 100644 docs/Basics_8cpp_source.html create mode 100644 docs/Constraints_8cpp.html create mode 100644 docs/Constraints_8cpp__incl.map create mode 100644 docs/Constraints_8cpp__incl.md5 create mode 100644 docs/Constraints_8cpp__incl.png create mode 100644 docs/Constraints_8cpp_source.html create mode 100644 docs/Conversion_8cpp.html create mode 100644 docs/Conversion_8cpp__incl.map create mode 100644 docs/Conversion_8cpp__incl.md5 create mode 100644 docs/Conversion_8cpp__incl.png create mode 100644 docs/Conversion_8cpp_source.html create mode 100644 docs/DataType_8h.html create mode 100644 docs/DataType_8h__dep__incl.map create mode 100644 docs/DataType_8h__dep__incl.md5 create mode 100644 docs/DataType_8h__dep__incl.png create mode 100644 docs/DataType_8h_source.html create mode 100644 docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html create mode 100644 docs/Debug_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html create mode 100644 docs/FloatValue_8cpp.html create mode 100644 docs/FloatValue_8cpp__incl.map create mode 100644 docs/FloatValue_8cpp__incl.md5 create mode 100644 docs/FloatValue_8cpp__incl.png create mode 100644 docs/FloatValue_8cpp_source.html create mode 100644 docs/FloatValue_8h.html create mode 100644 docs/FloatValue_8h__dep__incl.map create mode 100644 docs/FloatValue_8h__dep__incl.md5 create mode 100644 docs/FloatValue_8h__dep__incl.png create mode 100644 docs/FloatValue_8h__incl.map create mode 100644 docs/FloatValue_8h__incl.md5 create mode 100644 docs/FloatValue_8h__incl.png create mode 100644 docs/FloatValue_8h_source.html create mode 100644 docs/HazelnuppException_8h.html create mode 100644 docs/HazelnuppException_8h__dep__incl.map create mode 100644 docs/HazelnuppException_8h__dep__incl.md5 create mode 100644 docs/HazelnuppException_8h__dep__incl.png create mode 100644 docs/HazelnuppException_8h__incl.map create mode 100644 docs/HazelnuppException_8h__incl.md5 create mode 100644 docs/HazelnuppException_8h__incl.png create mode 100644 docs/HazelnuppException_8h_source.html create mode 100644 docs/Hazelnupp_8cpp.html create mode 100644 docs/Hazelnupp_8cpp__incl.map create mode 100644 docs/Hazelnupp_8cpp__incl.md5 create mode 100644 docs/Hazelnupp_8cpp__incl.png create mode 100644 docs/Hazelnupp_8cpp_source.html create mode 100644 docs/Hazelnupp_8h.html create mode 100644 docs/Hazelnupp_8h__dep__incl.map create mode 100644 docs/Hazelnupp_8h__dep__incl.md5 create mode 100644 docs/Hazelnupp_8h__dep__incl.png create mode 100644 docs/Hazelnupp_8h__incl.map create mode 100644 docs/Hazelnupp_8h__incl.md5 create mode 100644 docs/Hazelnupp_8h__incl.png create mode 100644 docs/Hazelnupp_8h_source.html create mode 100644 docs/IntValue_8cpp.html create mode 100644 docs/IntValue_8cpp__incl.map create mode 100644 docs/IntValue_8cpp__incl.md5 create mode 100644 docs/IntValue_8cpp__incl.png create mode 100644 docs/IntValue_8cpp_source.html create mode 100644 docs/IntValue_8h.html create mode 100644 docs/IntValue_8h__dep__incl.map create mode 100644 docs/IntValue_8h__dep__incl.md5 create mode 100644 docs/IntValue_8h__dep__incl.png create mode 100644 docs/IntValue_8h__incl.map create mode 100644 docs/IntValue_8h__incl.md5 create mode 100644 docs/IntValue_8h__incl.png create mode 100644 docs/IntValue_8h_source.html create mode 100644 docs/ListValue_8cpp.html create mode 100644 docs/ListValue_8cpp__incl.map create mode 100644 docs/ListValue_8cpp__incl.md5 create mode 100644 docs/ListValue_8cpp__incl.png create mode 100644 docs/ListValue_8cpp_source.html create mode 100644 docs/ListValue_8h.html create mode 100644 docs/ListValue_8h__dep__incl.map create mode 100644 docs/ListValue_8h__dep__incl.md5 create mode 100644 docs/ListValue_8h__dep__incl.png create mode 100644 docs/ListValue_8h__incl.map create mode 100644 docs/ListValue_8h__incl.md5 create mode 100644 docs/ListValue_8h__incl.png create mode 100644 docs/ListValue_8h_source.html create mode 100644 docs/ParamConstraint_8h.html create mode 100644 docs/ParamConstraint_8h__dep__incl.map create mode 100644 docs/ParamConstraint_8h__dep__incl.md5 create mode 100644 docs/ParamConstraint_8h__dep__incl.png create mode 100644 docs/ParamConstraint_8h__incl.map create mode 100644 docs/ParamConstraint_8h__incl.md5 create mode 100644 docs/ParamConstraint_8h__incl.png create mode 100644 docs/ParamConstraint_8h_source.html create mode 100644 docs/Parameter_8cpp.html create mode 100644 docs/Parameter_8cpp__incl.map create mode 100644 docs/Parameter_8cpp__incl.md5 create mode 100644 docs/Parameter_8cpp__incl.png create mode 100644 docs/Parameter_8cpp_source.html create mode 100644 docs/Parameter_8h.html create mode 100644 docs/Parameter_8h__dep__incl.map create mode 100644 docs/Parameter_8h__dep__incl.md5 create mode 100644 docs/Parameter_8h__dep__incl.png create mode 100644 docs/Parameter_8h__incl.map create mode 100644 docs/Parameter_8h__incl.md5 create mode 100644 docs/Parameter_8h__incl.png create mode 100644 docs/Parameter_8h_source.html create mode 100644 docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html create mode 100644 docs/Release_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html create mode 100644 docs/StringTools_8cpp.html create mode 100644 docs/StringTools_8cpp__incl.map create mode 100644 docs/StringTools_8cpp__incl.md5 create mode 100644 docs/StringTools_8cpp__incl.png create mode 100644 docs/StringTools_8cpp_source.html create mode 100644 docs/StringTools_8h.html create mode 100644 docs/StringTools_8h__dep__incl.map create mode 100644 docs/StringTools_8h__dep__incl.md5 create mode 100644 docs/StringTools_8h__dep__incl.png create mode 100644 docs/StringTools_8h__incl.map create mode 100644 docs/StringTools_8h__incl.md5 create mode 100644 docs/StringTools_8h__incl.png create mode 100644 docs/StringTools_8h_source.html create mode 100644 docs/StringValue_8cpp.html create mode 100644 docs/StringValue_8cpp__incl.map create mode 100644 docs/StringValue_8cpp__incl.md5 create mode 100644 docs/StringValue_8cpp__incl.png create mode 100644 docs/StringValue_8cpp_source.html create mode 100644 docs/StringValue_8h.html create mode 100644 docs/StringValue_8h__dep__incl.map create mode 100644 docs/StringValue_8h__dep__incl.md5 create mode 100644 docs/StringValue_8h__dep__incl.png create mode 100644 docs/StringValue_8h__incl.map create mode 100644 docs/StringValue_8h__incl.md5 create mode 100644 docs/StringValue_8h__incl.png create mode 100644 docs/StringValue_8h_source.html create mode 100644 docs/Value_8cpp.html create mode 100644 docs/Value_8cpp__incl.map create mode 100644 docs/Value_8cpp__incl.md5 create mode 100644 docs/Value_8cpp__incl.png create mode 100644 docs/Value_8cpp_source.html create mode 100644 docs/Value_8h.html create mode 100644 docs/Value_8h__dep__incl.map create mode 100644 docs/Value_8h__dep__incl.md5 create mode 100644 docs/Value_8h__dep__incl.png create mode 100644 docs/Value_8h__incl.map create mode 100644 docs/Value_8h__incl.md5 create mode 100644 docs/Value_8h__incl.png create mode 100644 docs/Value_8h_source.html create mode 100644 docs/VoidValue_8cpp.html create mode 100644 docs/VoidValue_8cpp__incl.map create mode 100644 docs/VoidValue_8cpp__incl.md5 create mode 100644 docs/VoidValue_8cpp__incl.png create mode 100644 docs/VoidValue_8cpp_source.html create mode 100644 docs/VoidValue_8h.html create mode 100644 docs/VoidValue_8h__dep__incl.map create mode 100644 docs/VoidValue_8h__dep__incl.md5 create mode 100644 docs/VoidValue_8h__dep__incl.png create mode 100644 docs/VoidValue_8h__incl.map create mode 100644 docs/VoidValue_8h__incl.md5 create mode 100644 docs/VoidValue_8h__incl.png create mode 100644 docs/VoidValue_8h_source.html create mode 100644 docs/annotated.html create mode 100644 docs/bc_s.png create mode 100644 docs/bdwn.png create mode 100644 docs/classFloatValue-members.html create mode 100644 docs/classFloatValue.html create mode 100644 docs/classFloatValue__coll__graph.map create mode 100644 docs/classFloatValue__coll__graph.md5 create mode 100644 docs/classFloatValue__coll__graph.png create mode 100644 docs/classFloatValue__inherit__graph.map create mode 100644 docs/classFloatValue__inherit__graph.md5 create mode 100644 docs/classFloatValue__inherit__graph.png create mode 100644 docs/classHazelnupp-members.html create mode 100644 docs/classHazelnupp.html create mode 100644 docs/classHazelnuppConstraintException-members.html create mode 100644 docs/classHazelnuppConstraintException.html create mode 100644 docs/classHazelnuppConstraintException__coll__graph.map create mode 100644 docs/classHazelnuppConstraintException__coll__graph.md5 create mode 100644 docs/classHazelnuppConstraintException__coll__graph.png create mode 100644 docs/classHazelnuppConstraintException__inherit__graph.map create mode 100644 docs/classHazelnuppConstraintException__inherit__graph.md5 create mode 100644 docs/classHazelnuppConstraintException__inherit__graph.png create mode 100644 docs/classHazelnuppConstraintMissingValue-members.html create mode 100644 docs/classHazelnuppConstraintMissingValue.html create mode 100644 docs/classHazelnuppConstraintMissingValue__coll__graph.map create mode 100644 docs/classHazelnuppConstraintMissingValue__coll__graph.md5 create mode 100644 docs/classHazelnuppConstraintMissingValue__coll__graph.png create mode 100644 docs/classHazelnuppConstraintMissingValue__inherit__graph.map create mode 100644 docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 create mode 100644 docs/classHazelnuppConstraintMissingValue__inherit__graph.png create mode 100644 docs/classHazelnuppConstraintTypeMissmatch-members.html create mode 100644 docs/classHazelnuppConstraintTypeMissmatch.html create mode 100644 docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map create mode 100644 docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 create mode 100644 docs/classHazelnuppConstraintTypeMissmatch__coll__graph.png create mode 100644 docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.map create mode 100644 docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 create mode 100644 docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.png create mode 100644 docs/classHazelnuppException-members.html create mode 100644 docs/classHazelnuppException.html create mode 100644 docs/classHazelnuppException__coll__graph.map create mode 100644 docs/classHazelnuppException__coll__graph.md5 create mode 100644 docs/classHazelnuppException__coll__graph.png create mode 100644 docs/classHazelnuppException__inherit__graph.map create mode 100644 docs/classHazelnuppException__inherit__graph.md5 create mode 100644 docs/classHazelnuppException__inherit__graph.png create mode 100644 docs/classHazelnuppInvalidKeyException-members.html create mode 100644 docs/classHazelnuppInvalidKeyException.html create mode 100644 docs/classHazelnuppInvalidKeyException__coll__graph.map create mode 100644 docs/classHazelnuppInvalidKeyException__coll__graph.md5 create mode 100644 docs/classHazelnuppInvalidKeyException__coll__graph.png create mode 100644 docs/classHazelnuppInvalidKeyException__inherit__graph.map create mode 100644 docs/classHazelnuppInvalidKeyException__inherit__graph.md5 create mode 100644 docs/classHazelnuppInvalidKeyException__inherit__graph.png create mode 100644 docs/classHazelnuppValueNotConvertibleException-members.html create mode 100644 docs/classHazelnuppValueNotConvertibleException.html create mode 100644 docs/classHazelnuppValueNotConvertibleException__coll__graph.map create mode 100644 docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 create mode 100644 docs/classHazelnuppValueNotConvertibleException__coll__graph.png create mode 100644 docs/classHazelnuppValueNotConvertibleException__inherit__graph.map create mode 100644 docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 create mode 100644 docs/classHazelnuppValueNotConvertibleException__inherit__graph.png create mode 100644 docs/classIntValue-members.html create mode 100644 docs/classIntValue.html create mode 100644 docs/classIntValue__coll__graph.map create mode 100644 docs/classIntValue__coll__graph.md5 create mode 100644 docs/classIntValue__coll__graph.png create mode 100644 docs/classIntValue__inherit__graph.map create mode 100644 docs/classIntValue__inherit__graph.md5 create mode 100644 docs/classIntValue__inherit__graph.png create mode 100644 docs/classListValue-members.html create mode 100644 docs/classListValue.html create mode 100644 docs/classListValue__coll__graph.map create mode 100644 docs/classListValue__coll__graph.md5 create mode 100644 docs/classListValue__coll__graph.png create mode 100644 docs/classListValue__inherit__graph.map create mode 100644 docs/classListValue__inherit__graph.md5 create mode 100644 docs/classListValue__inherit__graph.png create mode 100644 docs/classParameter-members.html create mode 100644 docs/classParameter.html create mode 100644 docs/classStringTools-members.html create mode 100644 docs/classStringTools.html create mode 100644 docs/classStringValue-members.html create mode 100644 docs/classStringValue.html create mode 100644 docs/classStringValue__coll__graph.map create mode 100644 docs/classStringValue__coll__graph.md5 create mode 100644 docs/classStringValue__coll__graph.png create mode 100644 docs/classStringValue__inherit__graph.map create mode 100644 docs/classStringValue__inherit__graph.md5 create mode 100644 docs/classStringValue__inherit__graph.png create mode 100644 docs/classValue-members.html create mode 100644 docs/classValue.html create mode 100644 docs/classValue__inherit__graph.map create mode 100644 docs/classValue__inherit__graph.md5 create mode 100644 docs/classValue__inherit__graph.png create mode 100644 docs/classVoidValue-members.html create mode 100644 docs/classVoidValue.html create mode 100644 docs/classVoidValue__coll__graph.map create mode 100644 docs/classVoidValue__coll__graph.md5 create mode 100644 docs/classVoidValue__coll__graph.png create mode 100644 docs/classVoidValue__inherit__graph.map create mode 100644 docs/classVoidValue__inherit__graph.md5 create mode 100644 docs/classVoidValue__inherit__graph.png create mode 100644 docs/classes.html create mode 100644 docs/closed.png create mode 100644 docs/dir_000003_000000.html create mode 100644 docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html create mode 100644 docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html create mode 100644 docs/dir_0cc5f59b28c403d42cc56800132eb975.html create mode 100644 docs/dir_1148ebc2b25b55095aebf6f4cbb6efca.html create mode 100644 docs/dir_5c0eadceca12ef8285078e2e738769ee.html create mode 100644 docs/dir_a4e10305c1b03e566e1d27ef3ea61492.html create mode 100644 docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.map create mode 100644 docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 create mode 100644 docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.png create mode 100644 docs/dir_a8cffda729361e9d9637effa362fcea9.html create mode 100644 docs/doc.png create mode 100644 docs/doxygen.css create mode 100644 docs/doxygen.png create mode 100644 docs/dynsections.js create mode 100644 docs/files.html create mode 100644 docs/folderclosed.png create mode 100644 docs/folderopen.png create mode 100644 docs/functions.html create mode 100644 docs/functions_func.html create mode 100644 docs/functions_rela.html create mode 100644 docs/functions_vars.html create mode 100644 docs/globals.html create mode 100644 docs/globals_defs.html create mode 100644 docs/globals_enum.html create mode 100644 docs/globals_func.html create mode 100644 docs/globals_type.html create mode 100644 docs/graph_legend.html create mode 100644 docs/graph_legend.md5 create mode 100644 docs/graph_legend.png create mode 100644 docs/helper_8h.html create mode 100644 docs/helper_8h__dep__incl.map create mode 100644 docs/helper_8h__dep__incl.md5 create mode 100644 docs/helper_8h__dep__incl.png create mode 100644 docs/helper_8h__incl.map create mode 100644 docs/helper_8h__incl.md5 create mode 100644 docs/helper_8h__incl.png create mode 100644 docs/helper_8h_source.html create mode 100644 docs/hierarchy.html create mode 100644 docs/index.html create mode 100644 docs/index_8md.html create mode 100644 docs/inherit_graph_0.map create mode 100644 docs/inherit_graph_0.md5 create mode 100644 docs/inherit_graph_0.png create mode 100644 docs/inherit_graph_1.map create mode 100644 docs/inherit_graph_1.md5 create mode 100644 docs/inherit_graph_1.png create mode 100644 docs/inherit_graph_2.map create mode 100644 docs/inherit_graph_2.md5 create mode 100644 docs/inherit_graph_2.png create mode 100644 docs/inherit_graph_3.map create mode 100644 docs/inherit_graph_3.md5 create mode 100644 docs/inherit_graph_3.png create mode 100644 docs/inherit_graph_4.map create mode 100644 docs/inherit_graph_4.md5 create mode 100644 docs/inherit_graph_4.png create mode 100644 docs/inherit_graph_5.map create mode 100644 docs/inherit_graph_5.md5 create mode 100644 docs/inherit_graph_5.png create mode 100644 docs/inherits.html create mode 100644 docs/jquery.js create mode 100644 docs/main_8cpp.html create mode 100644 docs/main_8cpp__incl.map create mode 100644 docs/main_8cpp__incl.md5 create mode 100644 docs/main_8cpp__incl.png create mode 100644 docs/main_8cpp_source.html create mode 100644 docs/md_Doxygen_index.html create mode 100644 docs/menu.js create mode 100644 docs/menudata.js create mode 100644 docs/namespaceTestHazelnupp.html create mode 100644 docs/namespacemembers.html create mode 100644 docs/namespacemembers_func.html create mode 100644 docs/namespaces.html create mode 100644 docs/nav_f.png create mode 100644 docs/nav_g.png create mode 100644 docs/nav_h.png create mode 100644 docs/nupp_small.png create mode 100644 docs/open.png create mode 100644 docs/pages.html create mode 100644 docs/readme_8md.html create mode 100644 docs/search/all_0.html create mode 100644 docs/search/all_0.js create mode 100644 docs/search/all_1.html create mode 100644 docs/search/all_1.js create mode 100644 docs/search/all_10.html create mode 100644 docs/search/all_10.js create mode 100644 docs/search/all_11.html create mode 100644 docs/search/all_11.js create mode 100644 docs/search/all_12.html create mode 100644 docs/search/all_12.js create mode 100644 docs/search/all_2.html create mode 100644 docs/search/all_2.js create mode 100644 docs/search/all_3.html create mode 100644 docs/search/all_3.js create mode 100644 docs/search/all_4.html create mode 100644 docs/search/all_4.js create mode 100644 docs/search/all_5.html create mode 100644 docs/search/all_5.js create mode 100644 docs/search/all_6.html create mode 100644 docs/search/all_6.js create mode 100644 docs/search/all_7.html create mode 100644 docs/search/all_7.js create mode 100644 docs/search/all_8.html create mode 100644 docs/search/all_8.js create mode 100644 docs/search/all_9.html create mode 100644 docs/search/all_9.js create mode 100644 docs/search/all_a.html create mode 100644 docs/search/all_a.js create mode 100644 docs/search/all_b.html create mode 100644 docs/search/all_b.js create mode 100644 docs/search/all_c.html create mode 100644 docs/search/all_c.js create mode 100644 docs/search/all_d.html create mode 100644 docs/search/all_d.js create mode 100644 docs/search/all_e.html create mode 100644 docs/search/all_e.js create mode 100644 docs/search/all_f.html create mode 100644 docs/search/all_f.js create mode 100644 docs/search/classes_0.html create mode 100644 docs/search/classes_0.js create mode 100644 docs/search/classes_1.html create mode 100644 docs/search/classes_1.js create mode 100644 docs/search/classes_2.html create mode 100644 docs/search/classes_2.js create mode 100644 docs/search/classes_3.html create mode 100644 docs/search/classes_3.js create mode 100644 docs/search/classes_4.html create mode 100644 docs/search/classes_4.js create mode 100644 docs/search/classes_5.html create mode 100644 docs/search/classes_5.js create mode 100644 docs/search/classes_6.html create mode 100644 docs/search/classes_6.js create mode 100644 docs/search/close.png create mode 100644 docs/search/defines_0.html create mode 100644 docs/search/defines_0.js create mode 100644 docs/search/enums_0.html create mode 100644 docs/search/enums_0.js create mode 100644 docs/search/enumvalues_0.html create mode 100644 docs/search/enumvalues_0.js create mode 100644 docs/search/enumvalues_1.html create mode 100644 docs/search/enumvalues_1.js create mode 100644 docs/search/enumvalues_2.html create mode 100644 docs/search/enumvalues_2.js create mode 100644 docs/search/enumvalues_3.html create mode 100644 docs/search/enumvalues_3.js create mode 100644 docs/search/enumvalues_4.html create mode 100644 docs/search/enumvalues_4.js create mode 100644 docs/search/files_0.html create mode 100644 docs/search/files_0.js create mode 100644 docs/search/files_1.html create mode 100644 docs/search/files_1.js create mode 100644 docs/search/files_2.html create mode 100644 docs/search/files_2.js create mode 100644 docs/search/files_3.html create mode 100644 docs/search/files_3.js create mode 100644 docs/search/files_4.html create mode 100644 docs/search/files_4.js create mode 100644 docs/search/files_5.html create mode 100644 docs/search/files_5.js create mode 100644 docs/search/files_6.html create mode 100644 docs/search/files_6.js create mode 100644 docs/search/files_7.html create mode 100644 docs/search/files_7.js create mode 100644 docs/search/files_8.html create mode 100644 docs/search/files_8.js create mode 100644 docs/search/files_9.html create mode 100644 docs/search/files_9.js create mode 100644 docs/search/files_a.html create mode 100644 docs/search/files_a.js create mode 100644 docs/search/files_b.html create mode 100644 docs/search/files_b.js create mode 100644 docs/search/files_c.html create mode 100644 docs/search/files_c.js create mode 100644 docs/search/files_d.html create mode 100644 docs/search/files_d.js create mode 100644 docs/search/functions_0.html create mode 100644 docs/search/functions_0.js create mode 100644 docs/search/functions_1.html create mode 100644 docs/search/functions_1.js create mode 100644 docs/search/functions_10.html create mode 100644 docs/search/functions_10.js create mode 100644 docs/search/functions_11.html create mode 100644 docs/search/functions_11.js create mode 100644 docs/search/functions_2.html create mode 100644 docs/search/functions_2.js create mode 100644 docs/search/functions_3.html create mode 100644 docs/search/functions_3.js create mode 100644 docs/search/functions_4.html create mode 100644 docs/search/functions_4.js create mode 100644 docs/search/functions_5.html create mode 100644 docs/search/functions_5.js create mode 100644 docs/search/functions_6.html create mode 100644 docs/search/functions_6.js create mode 100644 docs/search/functions_7.html create mode 100644 docs/search/functions_7.js create mode 100644 docs/search/functions_8.html create mode 100644 docs/search/functions_8.js create mode 100644 docs/search/functions_9.html create mode 100644 docs/search/functions_9.js create mode 100644 docs/search/functions_a.html create mode 100644 docs/search/functions_a.js create mode 100644 docs/search/functions_b.html create mode 100644 docs/search/functions_b.js create mode 100644 docs/search/functions_c.html create mode 100644 docs/search/functions_c.js create mode 100644 docs/search/functions_d.html create mode 100644 docs/search/functions_d.js create mode 100644 docs/search/functions_e.html create mode 100644 docs/search/functions_e.js create mode 100644 docs/search/functions_f.html create mode 100644 docs/search/functions_f.js create mode 100644 docs/search/mag_sel.png create mode 100644 docs/search/namespaces_0.html create mode 100644 docs/search/namespaces_0.js create mode 100644 docs/search/nomatches.html create mode 100644 docs/search/pages_0.html create mode 100644 docs/search/pages_0.js create mode 100644 docs/search/related_0.html create mode 100644 docs/search/related_0.js create mode 100644 docs/search/search.css create mode 100644 docs/search/search.js create mode 100644 docs/search/search_l.png create mode 100644 docs/search/search_m.png create mode 100644 docs/search/search_r.png create mode 100644 docs/search/searchdata.js create mode 100644 docs/search/typedefs_0.html create mode 100644 docs/search/typedefs_0.js create mode 100644 docs/search/variables_0.html create mode 100644 docs/search/variables_0.js create mode 100644 docs/search/variables_1.html create mode 100644 docs/search/variables_1.js create mode 100644 docs/search/variables_2.html create mode 100644 docs/search/variables_2.js create mode 100644 docs/search/variables_3.html create mode 100644 docs/search/variables_3.js create mode 100644 docs/search/variables_4.html create mode 100644 docs/search/variables_4.js create mode 100644 docs/search/variables_5.html create mode 100644 docs/search/variables_5.js create mode 100644 docs/search/variables_6.html create mode 100644 docs/search/variables_6.js create mode 100644 docs/splitbar.png create mode 100644 docs/structParamConstraint-members.html create mode 100644 docs/structParamConstraint.html create mode 100644 docs/structParamConstraint__coll__graph.map create mode 100644 docs/structParamConstraint__coll__graph.md5 create mode 100644 docs/structParamConstraint__coll__graph.png create mode 100644 docs/sync_off.png create mode 100644 docs/sync_on.png create mode 100644 docs/tab_a.png create mode 100644 docs/tab_b.png create mode 100644 docs/tab_h.png create mode 100644 docs/tab_s.png create mode 100644 docs/tabs.css diff --git a/docs/Abbreviations_8cpp.html b/docs/Abbreviations_8cpp.html new file mode 100644 index 0000000..7d3bbee --- /dev/null +++ b/docs/Abbreviations_8cpp.html @@ -0,0 +1,127 @@ + + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp/Abbreviations.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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 new file mode 100644 index 0000000..3063684 --- /dev/null +++ b/docs/Abbreviations_8cpp__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/Abbreviations_8cpp__incl.md5 b/docs/Abbreviations_8cpp__incl.md5 new file mode 100644 index 0000000..deb98ee --- /dev/null +++ b/docs/Abbreviations_8cpp__incl.md5 @@ -0,0 +1 @@ +104f1fc85c82d50f566784751bc221be \ No newline at end of file diff --git a/docs/Abbreviations_8cpp__incl.png b/docs/Abbreviations_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec6bc2b4cb5c5eeb4e9cf41711bde7d9b7c085f GIT binary patch literal 34023 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 LKQDax#`pgKB}~1u literal 0 HcmV?d00001 diff --git a/docs/Abbreviations_8cpp_source.html b/docs/Abbreviations_8cpp_source.html new file mode 100644 index 0000000..5cc7ecb --- /dev/null +++ b/docs/Abbreviations_8cpp_source.html @@ -0,0 +1,262 @@ + + + + + + + +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 }
+
+ + + + +
TEST_CLASS(_Abbreviations)
+ +
#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
+ + + + + diff --git a/docs/Basics_8cpp.html b/docs/Basics_8cpp.html new file mode 100644 index 0000000..c863d6c --- /dev/null +++ b/docs/Basics_8cpp.html @@ -0,0 +1,130 @@ + + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp/Basics.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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 new file mode 100644 index 0000000..26c89de --- /dev/null +++ b/docs/Basics_8cpp__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/Basics_8cpp__incl.md5 b/docs/Basics_8cpp__incl.md5 new file mode 100644 index 0000000..233d371 --- /dev/null +++ b/docs/Basics_8cpp__incl.md5 @@ -0,0 +1 @@ +7637a15ad95d868d907efc4ded5bee64 \ No newline at end of file diff --git a/docs/Basics_8cpp__incl.png b/docs/Basics_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..7992a5a377e82772674fd169acd53098b414b7df GIT binary patch literal 38184 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 gu)`3H1OFMMw-`mdKI;Vst00Ios3IG5A literal 0 HcmV?d00001 diff --git a/docs/Basics_8cpp_source.html b/docs/Basics_8cpp_source.html new file mode 100644 index 0000000..c5e4d08 --- /dev/null +++ b/docs/Basics_8cpp_source.html @@ -0,0 +1,350 @@ + + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp/Basics.cpp Source File + + + + + + + + + + + + +
+
+
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 }
+
+ + + + +
TEST_CLASS(_Basics)
Definition: Basics.cpp:10
+ +
#define C_Ify(vector)
Definition: helper.h:4
+
std::vector< const char * > ArgList
Definition: helper.h:6
+ +
The main class to interface with.
Definition: Hazelnupp.h:9
+ + + + + diff --git a/docs/Constraints_8cpp.html b/docs/Constraints_8cpp.html new file mode 100644 index 0000000..678c1fc --- /dev/null +++ b/docs/Constraints_8cpp.html @@ -0,0 +1,130 @@ + + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp/Constraints.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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 new file mode 100644 index 0000000..8653bb5 --- /dev/null +++ b/docs/Constraints_8cpp__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/Constraints_8cpp__incl.md5 b/docs/Constraints_8cpp__incl.md5 new file mode 100644 index 0000000..5676aa1 --- /dev/null +++ b/docs/Constraints_8cpp__incl.md5 @@ -0,0 +1 @@ +62c377b56c814420aa9bd5d3797e756b \ No newline at end of file diff --git a/docs/Constraints_8cpp__incl.png b/docs/Constraints_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..834ecd75fa7e8832e6154be60a765be5c0bc3b39 GIT binary patch literal 38428 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

i(1SOc=7|BF1QPruND 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 literal 0 HcmV?d00001 diff --git a/docs/Constraints_8cpp_source.html b/docs/Constraints_8cpp_source.html new file mode 100644 index 0000000..a068a35 --- /dev/null +++ b/docs/Constraints_8cpp_source.html @@ -0,0 +1,425 @@ + + + + + + + +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 }
+
+ +
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.
+
TEST_CLASS(_Constraints)
Definition: Constraints.cpp:10
+ +
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/Conversion_8cpp.html b/docs/Conversion_8cpp.html new file mode 100644 index 0000000..a556531 --- /dev/null +++ b/docs/Conversion_8cpp.html @@ -0,0 +1,130 @@ + + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp/Conversion.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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 new file mode 100644 index 0000000..09e7105 --- /dev/null +++ b/docs/Conversion_8cpp__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/Conversion_8cpp__incl.md5 b/docs/Conversion_8cpp__incl.md5 new file mode 100644 index 0000000..cfeb8b4 --- /dev/null +++ b/docs/Conversion_8cpp__incl.md5 @@ -0,0 +1 @@ +d5db07f8e0783c171b7745265e2ec834 \ No newline at end of file diff --git a/docs/Conversion_8cpp__incl.png b/docs/Conversion_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..347956d90245f4e9c5d0dad745b870403f2e2ba9 GIT binary patch literal 38508 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 BSxEo@ literal 0 HcmV?d00001 diff --git a/docs/Conversion_8cpp_source.html b/docs/Conversion_8cpp_source.html new file mode 100644 index 0000000..34a8126 --- /dev/null +++ b/docs/Conversion_8cpp_source.html @@ -0,0 +1,353 @@ + + + + + + + +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 }
+
+ +
TEST_CLASS(_Conversion)
Definition: Conversion.cpp:10
+
#define C_Ify(vector)
Definition: helper.h:4
+
std::vector< const char * > ArgList
Definition: helper.h:6
+
The main class to interface with.
Definition: Hazelnupp.h:9
+ + + + + diff --git a/docs/DataType_8h.html b/docs/DataType_8h.html new file mode 100644 index 0000000..74bc12c --- /dev/null +++ b/docs/DataType_8h.html @@ -0,0 +1,180 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/DataType.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
DataType.h File Reference
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + +

+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...
 
+

Enumeration Type Documentation

+ +

◆ DATA_TYPE

+ +
+
+ + + + + +
+ + + + +
enum DATA_TYPE
+
+strong
+
+ +

The different data types a paramater can be.

+ + + + + + +
Enumerator
VOID 
INT 
FLOAT 
STRING 
LIST 
+ +

Definition at line 5 of file DataType.h.

+
6 {
+
7  VOID,
+
8  INT,
+
9  FLOAT,
+
10  STRING,
+
11  LIST
+
12 };
+
+
+
+
+ + + + + + + + + diff --git a/docs/DataType_8h__dep__incl.map b/docs/DataType_8h__dep__incl.map new file mode 100644 index 0000000..c561cca --- /dev/null +++ b/docs/DataType_8h__dep__incl.map @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/DataType_8h__dep__incl.md5 b/docs/DataType_8h__dep__incl.md5 new file mode 100644 index 0000000..3db0014 --- /dev/null +++ b/docs/DataType_8h__dep__incl.md5 @@ -0,0 +1 @@ +53cc32d8b6240e57e0be50e31234d161 \ No newline at end of file diff --git a/docs/DataType_8h__dep__incl.png b/docs/DataType_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..83c9a7ba2fc8cc2da30405a91a900a305ed68335 GIT binary patch literal 58975 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�{mkmZgOw_9PP((VHzq^_)boB9<2C) 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 QJnfG@fAZT|=^1h6f1;2gbpQYW literal 0 HcmV?d00001 diff --git a/docs/DataType_8h_source.html b/docs/DataType_8h_source.html new file mode 100644 index 0000000..52b5f98 --- /dev/null +++ b/docs/DataType_8h_source.html @@ -0,0 +1,105 @@ + + + + + + + +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 
+
5 enum class DATA_TYPE
+
6 {
+
7  VOID,
+
8  INT,
+
9  FLOAT,
+
10  STRING,
+
11  LIST
+
12 };
+
+
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+ + + + + + + + + diff --git a/docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html b/docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html new file mode 100644 index 0000000..2f85f9c --- /dev/null +++ b/docs/Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html @@ -0,0 +1,85 @@ + + + + + + + +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 new file mode 100644 index 0000000..dc5d6cc --- /dev/null +++ b/docs/Debug_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html @@ -0,0 +1,85 @@ + + + + + + + +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 new file mode 100644 index 0000000..a67d042 --- /dev/null +++ b/docs/FloatValue_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +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 new file mode 100644 index 0000000..baf1876 --- /dev/null +++ b/docs/FloatValue_8cpp__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/FloatValue_8cpp__incl.md5 b/docs/FloatValue_8cpp__incl.md5 new file mode 100644 index 0000000..ad58fce --- /dev/null +++ b/docs/FloatValue_8cpp__incl.md5 @@ -0,0 +1 @@ +b3f9cd4cf82115a6509a6170e6bc592c \ No newline at end of file diff --git a/docs/FloatValue_8cpp__incl.png b/docs/FloatValue_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..27c12bde47eb89ecd640ea7bdddbd92d98db2ee4 GIT binary patch literal 18036 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 + + + + + + +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 FloatValue::FloatValue(const long double& value)
+
6  :
+ +
8  value { value }
+
9 {
+
10  return;
+
11 }
+
12 
+ +
14 {
+
15  return new FloatValue(value);
+
16 }
+
17 
+
18 std::string FloatValue::GetAsOsString() const
+
19 {
+
20  std::stringstream ss;
+
21  ss << "FloatValue: " << value;
+
22  return ss.str();
+
23 }
+
24 
+
25 const long double& FloatValue::GetValue() const
+
26 {
+
27  return value;
+
28 }
+
29 
+
30 FloatValue::operator long double() const
+
31 {
+
32  return value;
+
33 }
+
34 
+
35 FloatValue::operator double() const
+
36 {
+
37  return (double)value;
+
38 }
+
39 
+
40 
+
41 
+
42 long long int FloatValue::GetInt64() const
+
43 {
+
44  return (long long int)value;
+
45 }
+
46 
+ +
48 {
+
49  return (int)value;
+
50 }
+
51 
+
52 long double FloatValue::GetFloat64() const
+
53 {
+
54  return value;
+
55 }
+
56 
+
57 double FloatValue::GetFloat32() const
+
58 {
+
59  return (double)value;
+
60 }
+
61 
+
62 std::string FloatValue::GetString() const
+
63 {
+
64  std::stringstream ss;
+
65  ss << value;
+
66 
+
67  return ss.str();
+
68 }
+
69 
+
70 const std::vector<Value*>& FloatValue::GetList() const
+
71 {
+ +
73 }
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+
const long double & GetValue() const
Will return the raw value.
Definition: FloatValue.cpp:25
+ +
Abstract class for values.
Definition: Value.h:8
+
std::string GetString() const override
Will return the data as a string.
Definition: FloatValue.cpp:62
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: FloatValue.cpp:13
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: FloatValue.cpp:18
+
long double GetFloat64() const override
Will return the data as a long double.
Definition: FloatValue.cpp:52
+
FloatValue(const long double &value)
Definition: FloatValue.cpp:5
+
int GetInt32() const override
Will return the data as an int.
Definition: FloatValue.cpp:47
+ +
long long int GetInt64() const override
Will return the data as a long long int.
Definition: FloatValue.cpp:42
+
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: FloatValue.cpp:70
+
double GetFloat32() const override
Will return the data as a double.
Definition: FloatValue.cpp:57
+ + + + diff --git a/docs/FloatValue_8h.html b/docs/FloatValue_8h.html new file mode 100644 index 0000000..1b53071 --- /dev/null +++ b/docs/FloatValue_8h.html @@ -0,0 +1,124 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/FloatValue.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  FloatValue
 Specializations for floating point values (uses long double) More...
 
+
+ + + + diff --git a/docs/FloatValue_8h__dep__incl.map b/docs/FloatValue_8h__dep__incl.map new file mode 100644 index 0000000..aa6c8a7 --- /dev/null +++ b/docs/FloatValue_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/FloatValue_8h__dep__incl.md5 b/docs/FloatValue_8h__dep__incl.md5 new file mode 100644 index 0000000..a0ee1a1 --- /dev/null +++ b/docs/FloatValue_8h__dep__incl.md5 @@ -0,0 +1 @@ +6cf23af62c7641b0c347b14a52c8bd43 \ No newline at end of file diff --git a/docs/FloatValue_8h__dep__incl.png b/docs/FloatValue_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ce816aa7e91da36aede357b32264a0aa1da7b6 GIT binary patch literal 5673 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 literal 0 HcmV?d00001 diff --git a/docs/FloatValue_8h__incl.map b/docs/FloatValue_8h__incl.map new file mode 100644 index 0000000..387f7e7 --- /dev/null +++ b/docs/FloatValue_8h__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/FloatValue_8h__incl.md5 b/docs/FloatValue_8h__incl.md5 new file mode 100644 index 0000000..1e74042 --- /dev/null +++ b/docs/FloatValue_8h__incl.md5 @@ -0,0 +1 @@ +9b604a14942d77e96210b43e148cde7d \ No newline at end of file diff --git a/docs/FloatValue_8h__incl.png b/docs/FloatValue_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..869b3b327558bafc17b98fed8862477755754e0b GIT binary patch literal 10380 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 literal 0 HcmV?d00001 diff --git a/docs/FloatValue_8h_source.html b/docs/FloatValue_8h_source.html new file mode 100644 index 0000000..5ee6b30 --- /dev/null +++ b/docs/FloatValue_8h_source.html @@ -0,0 +1,135 @@ + + + + + + + +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 
+
7 class FloatValue : public Value
+
8 {
+
9 public:
+
10  FloatValue(const long double& value);
+
11  ~FloatValue() override {};
+
12 
+
14  Value* Deepcopy() const override;
+
15 
+
17  std::string GetAsOsString() const override;
+
18 
+
20  const long double& GetValue() const;
+
21 
+
22  operator long double () const;
+
23  operator double() const;
+
24 
+
26  long long int GetInt64() const override;
+
28  int GetInt32() const override;
+
29 
+
31  long double GetFloat64() const override;
+
33  double GetFloat32() const override;
+
34 
+
36  std::string GetString() const override;
+
37 
+
39  const std::vector<Value*>& GetList() const override;
+
40 
+
41 private:
+
42  long double value;
+
43 };
+
+
const long double & GetValue() const
Will return the raw value.
Definition: FloatValue.cpp:25
+
Abstract class for values.
Definition: Value.h:8
+
~FloatValue() override
Definition: FloatValue.h:11
+
std::string GetString() const override
Will return the data as a string.
Definition: FloatValue.cpp:62
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: FloatValue.cpp:13
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: FloatValue.cpp:18
+
long double GetFloat64() const override
Will return the data as a long double.
Definition: FloatValue.cpp:52
+
Specializations for floating point values (uses long double)
Definition: FloatValue.h:7
+
FloatValue(const long double &value)
Definition: FloatValue.cpp:5
+
int GetInt32() const override
Will return the data as an int.
Definition: FloatValue.cpp:47
+
long long int GetInt64() const override
Will return the data as a long long int.
Definition: FloatValue.cpp:42
+
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: FloatValue.cpp:70
+
double GetFloat32() const override
Will return the data as a double.
Definition: FloatValue.cpp:57
+ + + + + diff --git a/docs/HazelnuppException_8h.html b/docs/HazelnuppException_8h.html new file mode 100644 index 0000000..52b0dd4 --- /dev/null +++ b/docs/HazelnuppException_8h.html @@ -0,0 +1,139 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/HazelnuppException.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
HazelnuppException.h File Reference
+
+
+
#include <stdexcept>
+
+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  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  HazelnuppConstraintException
 Gets thrown something bad happens because of parameter constraints. 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  HazelnuppConstraintMissingValue
 Gets thrown when a parameter constrained to be required is not provided, and has no default value set. More...
 
+
+ + + + diff --git a/docs/HazelnuppException_8h__dep__incl.map b/docs/HazelnuppException_8h__dep__incl.map new file mode 100644 index 0000000..be745d8 --- /dev/null +++ b/docs/HazelnuppException_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/HazelnuppException_8h__dep__incl.md5 b/docs/HazelnuppException_8h__dep__incl.md5 new file mode 100644 index 0000000..0d4788b --- /dev/null +++ b/docs/HazelnuppException_8h__dep__incl.md5 @@ -0,0 +1 @@ +57d355773249b6d7455978a59686235f \ No newline at end of file diff --git a/docs/HazelnuppException_8h__dep__incl.png b/docs/HazelnuppException_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..218459504f031011a91aa22f8af6851b02b3e434 GIT binary patch literal 14646 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 O$QyAvu_6&&pZ^7q*RhWP literal 0 HcmV?d00001 diff --git a/docs/HazelnuppException_8h__incl.map b/docs/HazelnuppException_8h__incl.map new file mode 100644 index 0000000..37033b5 --- /dev/null +++ b/docs/HazelnuppException_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/HazelnuppException_8h__incl.md5 b/docs/HazelnuppException_8h__incl.md5 new file mode 100644 index 0000000..1b8bb07 --- /dev/null +++ b/docs/HazelnuppException_8h__incl.md5 @@ -0,0 +1 @@ +7497987f6e78b96fc05595540da5a488 \ No newline at end of file diff --git a/docs/HazelnuppException_8h__incl.png b/docs/HazelnuppException_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..910c941f9a19724480d200f7fe4b740a0cc94bad GIT binary patch literal 3979 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 + + + + + + +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 
+
6 class HazelnuppException : public std::exception
+
7 {
+
8 public:
+ +
10  HazelnuppException(const std::string& msg) : message{ msg } {};
+
11 
+
13  const std::string& What() const
+
14  {
+
15  return message;
+
16  }
+
17 
+
18 protected:
+
19  std::string message;
+
20 };
+
21 
+ +
25 {
+
26 public:
+ +
28  HazelnuppInvalidKeyException(const std::string& msg) : HazelnuppException(msg) {};
+
29 };
+
30 
+ +
34 {
+
35 public:
+ +
37  HazelnuppValueNotConvertibleException(const std::string& msg) : HazelnuppException(msg) {};
+
38 };
+
39 
+ +
43 {
+
44 public:
+ +
46  HazelnuppConstraintException(const std::string& msg) : HazelnuppException(msg) {};
+
47 };
+
48 
+ +
52 {
+
53 public:
+ + +
56 };
+
57 
+ +
61 {
+
62 public:
+ + +
65 };
+
+
const std::string & What() const
Will return an error message.
+
HazelnuppConstraintMissingValue(const std::string &msg)
+
Gets thrown something bad happens because of parameter constraints.
+
HazelnuppConstraintTypeMissmatch(const std::string &msg)
+
HazelnuppInvalidKeyException(const std::string &msg)
+
Generic hazelnupp exception.
+ +
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
+
HazelnuppException(const std::string &msg)
+
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+ + + + +
Gets thrown when an non-existent key gets dereferenced.
+
HazelnuppConstraintException(const std::string &msg)
+
HazelnuppValueNotConvertibleException(const std::string &msg)
+ + + + + + diff --git a/docs/Hazelnupp_8cpp.html b/docs/Hazelnupp_8cpp.html new file mode 100644 index 0000000..35bc024 --- /dev/null +++ b/docs/Hazelnupp_8cpp.html @@ -0,0 +1,130 @@ + + + + + + + +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 "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 new file mode 100644 index 0000000..b11c750 --- /dev/null +++ b/docs/Hazelnupp_8cpp__incl.map @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/Hazelnupp_8cpp__incl.md5 b/docs/Hazelnupp_8cpp__incl.md5 new file mode 100644 index 0000000..e8b2664 --- /dev/null +++ b/docs/Hazelnupp_8cpp__incl.md5 @@ -0,0 +1 @@ +4d63500dc473ffaa933a4e0479de4f4c \ No newline at end of file diff --git a/docs/Hazelnupp_8cpp__incl.png b/docs/Hazelnupp_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a20a945408799d38a84ad7c49d8807ea2cc58b GIT binary patch literal 76415 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⋓ERUdP&sg+Hp36888{d0#Gh6cj0woXM6ii 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ℜHaj|t!Epf3sLgRaG!P^8#LSR3tv>(jnzz496&l! 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
XG{El#B>e`=t-%H!vZpa^=gr~ww%Yhq$M>#4G< z(M)5LUxuox2kBzCf0l*=1B+?IausFed(^4-sIF~%c}5rS=A9pD@9gmQ%&5hq zY;122_An_aJ(iPZvbOkMq*HA&$!-Wx{q84h!sLMJYAOhR1{ctmq@?y)kJ`ZAQ`e(} zUIHa!5P+dgz$-0Nzq`rZoNcL&Qd4Y_L&0(ZvmQb`dHeJ5<9o2!rR=x?0*rENxW zmm@Zot)ZcIvee+<>imElC;T-&U;KGAyfoEs9(G~z_+~9n&`Fsnr6j&<&(iK%@a`7! zO#BjMB-M3DtD!*yoyFN+Qj}Fd=7+(R2Qc0o%`v8V(}gYO>dH0Mrxa*E6I75NIQkVM zgOZceHCM5T@2$w{u|-xzMQuYvLVP^_j~Ag`-D^v*@>osn@e3+6^1ll_Dw;Mnfr~t& zj}0D`z6wO1`DM_M^*nfH#y4IcvWsx)$(fb@iK@Q)vYkn*gV}R&8J34fdHS!p$YXtdQ>UqK0O&C7USJ02%E*v1C7vK9^{bJ;M2-@d!(8o)?SWr9oQ8+MKd*Uwed$Zcn7XlU zt*P?M+?Lv7ZyukG4L#5Af`e`LIpbq^ zc4zB{=JdidY@)wrl-e~5#*QfzP*uC zQX1=(F>`ymnUiCyH#dVxQYI<>l1+!ldsXE-?c38k^_)ndcw~P!hElS85o_zW1wM2W zR#n?^a&UZebqM-a4O*CrOt00Fq`vp9pULb_UF+(hIuePG+J|>FhiXPcHN*-EY`om= z6*e;z5Xw(fuz!77Nk46=5->7S3KbP*ef@ zFZbDfOg3nlR>`9!DqvzMg!UyU=#Vy&Ryu1PF4f+INZ4<3xh!)5>)=8{u)4!`c(|ht z>LRiXJvB56qtzVW9V#g(*h4XuCHoTf?~r0*Y|ghZ`n7NfA+ByoN_s`d>H(KBZ{gfz zWw$pviQBq_4vfh%MO`~>#60<%0cD+Ob&Uz%c6^v~BR5BeeSdd+TCT2eM5xeWW}8!7 zj#j(>{&k3XSsDxw!TnUjtwG4iU%#yW8Sw{+-#xA!xaIxl9FHi#MJfl)_S8c0O_fzdP#~e zKV*y#ktNI)ytoW_=U_!Z5Cr>N&CSbh2G89&;gCj9Ey*@*` zQqE}WyF3jGBOG{s&275fHs>c&kS7|BF-u6CY;HEkvs)zdrHce!FC8HB*IT`NCpuYrPu1ww*k^Es z8JiU`SM2@!*kT)VE0*b>alTMbxpSw3ZZ0O8y}j`e5QK#MqN1+Csj2*~UdNJv^gO%E`%XczI${MFvK2TD+=rbK}#MCGzvL z`6#`Xx?SkvA$_%d%Ln~R;b-W56iT5>aVRFrhve->9W&Phu8Sh zl_9*QdBr<0o73vjh2`NPXS&et`S9<>!)G1|r*Poe)_T=q(jO!zCO#Gvv{H}ZU7;p{ zy{OIa7&ed0Q1$gK>wf#f5sHB$G;Werd^MPKX`c0BfzpCydd!#KWnbUem=uNE+&I(3 zsu06T9B@0dXg^2x2Yc-^RtFDVBNZy!}!x$s*%_ z`Zrj44x}1PWf~|dq7@bB)r1hXwO(BK>o*TzU|szf9knv4IvF4*=BNi-&1qlk`nPWs zLP9doctj9A7{(K75(IeA+0Rxx*dUb?fn|`llOeGIo1kBk*tum?1oi zo{mmhE&fr$!JoDGk?9~6wV95-K1$*fh5x{4xL2CP%}ro9O|Ivym(%-FEuN>&3*XKU zR{B}V$-ymt2GwZjEd=nu-Z?4QGAYP4=2oEZn+2ZoP42Bw^82Wt9&zz{#w5B0O6Dx( zD=8{gr_RIlA2u#!MEY?#^)u;{V~@0y9W)s&(WzId-&$$k=7f~R-u45$68Kj@Yifw$ z!h(RLKTseZKI~dIzt`h^4p+utlHU9`{%WT}gsMpSq|HrDsqS^9G}#F0(SMDP%HhQV z&uCFplq9sBVq(m6bQYHLIsZScSE#e%=3cjc9UcW?wA6jPr*^AHKs=WGPAfB>t9a>ldh^KIBxCHOxFzV07ohp&%@+d^zUQt1w7R&rl2s>8N8^i zO)M3*ouz$L^=ncyMw%XI)ys>AWfffA-D#N}9sC=|r#L0L&JdLNO2r=OqoF+R$neGK zP8J-0SC@$NJH2^4DumHH1qDe=wKqSfgJfjRza+d&{$DLtzY(-p7B-`MO3WGp6+xM6lgLq;Opv6C?si$Qq4KSDJCFLjEloyRC**zg?Ub1ucKJ<0F7Fy ztOn;rdXRo|)z{fa0`Q%80<5g4$XPYz;pj?uA#MKa;)KOKH{ciRQh&Ux=e3}t(6xXV z`zy4|{q*1CjDiKRE0>pyD9H4l*PGI#4=o7+MMU2P6oFk9=~wB1#mJZxA0G*1)DQgY zNbR4RJoL-KDSBiqESMNhsoM-ZSum<}{?{4_QNF5rqlg>@L&Nd>9X$&7YpX)pc@%m- zzq*efy~o8#Src-z85FyCRGy_OtE-2L5~nM73VZz+OzLK3sHO-c(olnq!Ee5NO%V|n zFG)_02ncwdFeH8-FFGp7ZXQ%~sg#O}o?n%Z2ncxMjX0P!HHUR|-P_s};qK!ye@$9_KyHe z)z2vv_7t{KHMiUh3mNb{=W1+daPqgv*x3-FK&y!C` zN9fmA%CoZ&NWQC~NkU$ICsJBop7r!d?(fZYEdbEY;7z!eB0dTTwY57~+lU1N!NtvO zRN&}%d~xv*8P&{sx@v4tK}+==Z~dt}J;7sxFpqPtE$AkUm5>e*gIi_Dtp*^7jShvo znbYs<{j+Vprj3|z8q9DicS=HI?x*p01O?rp2LWA0<$J3q5s)x07d%H>T2eZEw}uYq z7C_4eeGn!7_3IPdtL8QW=gFvnT(3*kF0w= zF8!OU#4RrF0#roaX|Rt)Mr33?*#N?ZMaJ(812?yS`i!kDY?{lgI;L=SeLx%=>Zrr_ zG<#RjpheTw)w5@yXsSV@by_D-pTeZ}|BzMkGJzFs{$sDp|NY@j-=4F+Y_+s2eR2AY z&iQQ0{Y(`R30K9Corc6G^Ft{4Iw@t?*P`ueuj|9FU)z=jM(uP*0mbgkZ7JQy z+nW>2C}EepMu>^A&4b?K^PA2zvNs~Afuk#L6W4Q<7`C^)`(jM{Zn*0*~V& z@f{t;fd|+?!eLEJ8to42P2u;WzpSbS`b@W0xz;Xeebe^AUTXIn_Fxenx34)lCqOe# zB^bU3Al=))B_`XKUH?n+h+iVB z#uXLy0fB1Xt?4B@VyruQbv51OejVVyuc$Z;q-VZ|Bj8b>Y&I{~B8I|goZ=r#dEMRw zOJc2eDg68QD#)|S!VJ`5Hf%8&Oge|sx3c_^>Br+pOQ@kJcNw4x{Raq@DlZjnZBKS) zWPtXirDah}QH9~A+&9eYi}<88w{${t)SDtX(BV}AsVXa*pOfRzoGh&5yh}F*Fz+B0=1|0dSS7-y}e(}Y4Obs zI4w>7y}{aF?Tp@eZ>Zu-^YrX)ZZ^6e{bSmG79&zq^O%W1?vCr0rje;BKTZH6!5zgR z*S@|C$TgU)wz_7O-XyEO5IEWu1pN$H-#>p2Crj7LtJFuvqq7DjiN1Ux_V>S|t*y0Q zC~f@L2%mVx$!Sh5-4qEnH1P3>3-E6!bEjEq28oP?l7IZ@f_%4rvC~Jp)d%S;F|k3| z>zUGHVipsVw|KcFyRZR+lF9~YXR@|7Tw0#>=IWOZ$}PskL~&|rS^X6~{BvbTDvFo=>K!b;GcJxxHT@!&8oix}=!bqiK}x)q*y+S% zn(#d&Bw-1uHCV<3pA0w-$EMdwf;)ph^YQV+5Lgw`=1XZr*4v}gFbLe>_x2hFk&8%n z0S&XC-+4DSC8Z%Wl#Ai?mT_GVS+O_4u-%_nz45$VIeKka7?x0z6B;9FTnkqv3)5WO zc)k#AbCu0vln=bP7@`taS-f|q8z%~H8(hZ|sNI`! z#V&0mpc6hhu{%4(f$tF&^)^5N6QA_4|Mkt>!9_I#ahL=xK&_eY4=T#aZuSj-fxv8T zD2=Sh0M#6#_(0o+4XArl<(mIX1DkS0lPB~%pe@YF!ImfFeKIfE@7l98_UqTyQZycA z@&h)u-@A(W6O)OFHLa~mKwXu-ET0;Xzu8};;+bH8l$`*GWc}BJ2t@QkP@luQAcz*u zKJGl+)q~}_!$rlhkM-3vM;_cDdj_^LlXC-i^RXF&{dJBMoR@-v@K2q#n+DITMC9dD zV>Nn~y1T*V2ebk}cW{RE4VB0$)#eUb6Cpf_Ps4*Vp9J4WFll>5#iMY_Ul!1ec|Z4z zPaS`!I|`p1Ha615MOjgiJgga=ua-*~lX7%$PfF1vCUy27L#6$+YFZT_Wo@$jRQp%8 zt*u*I8(!&8oW~b$%(NEY{tdmS1p@1XNLp1@L~n`){J;(%zM&1@n_t1j`2&i4NN6@O z(Gw9bO9c$RrKO!~pU}{g!#9U#(UfvFHr>~k`41kX-ChK@w;2He^`3(Hr}rWK-1w2F zVY(pO?F1;~CHkJx2`@v$gBt2LR2_%bL3VaH`V9icgN=BxN?N?&PA!dU-%j^3PNab} zGKw|}^S|X4T%8@s8Py%AkCgT2i%NDIy>FjrY3Xd#XsC@pWOQb`|2v}Q$w>%C?j37( zVRj(#J{anrf5QA_JNwl__ni3!bkyFrwhOg;`nvZTT4>xiqAq%)gNT~8Jw2Xxbu4FR zznDcauFDh>y!<8?|KkAasc`J(1_t-%OxO5B}U0bS^;>#A4I!lDY7b-hL=c z_y2;!=d4yBUJf38u)bXWKVE>A=4NgtrWGjQ+uKD@hr_9&{l2vuIyn^}NTU*;R*pSS{=>fPaRrW6hNJvnzb3K1^kbbS1& z*;#Coy-+UG*G5LaSM;#nTl$2OzwR=!x<^5JrsQ#T4yVKy);5gK2>2S*TOV5PrY0n^f%_=jc+{zcR4HrQMRViapTA?l zmBFsp_hRK?HXU(Kw%lgKK>Y2+L~5!&@J+BT1qbI36vGH<6<62votep@x4SS0Lig+$ zBQ0$$D0Si{pUTUtN=oQ=vI4=Lsn>Y=zvHuLqVt5AIXf^=;=g)LH8L6R%R!HT@RqM_Yw}n7V29a!v6<@Fcz+nBYhE_P z;#MO~L5IXEGzUL15}o(f-VF~5%=J<2OFz4u#*2r!v?fcL#Pcj)X6 zU$ZD?G_bcvBG{m!yrQ93B?_f>Iiwe2V*1r3dA=+oktcSKX6ls}89Y)fa~41yv$Mx} zzlr4Em}eE6LqqxHSM>I_rKV<1w%jl9H4XQS@`DkRqOG!m3mfZouD}f_?UC_klur0C z90TJ)$cSVVw8_tlt>N`bE#)K!!PoniiWEOG7>-ZFrfU5L|I3FEIR{TSHkNlVZJ3s& z5eG24CP{inBCfdr4e<$f=q|*c6@z0SE)Mx)d$-S>?Mx{PFE1ur+oAsie=)o8`Tya^ z#Ay%q4YjSTIv1nl3RHAwBBKuBEv_#qK?-I78Xg;a5dp#FbepeASOxeeFabzNU`|+n zYVj%t*I9GMAO8;@#PD*;Rn-5L{TI@o&15$aI2@8eP2SjA;0No7Z5$$~MSoULApru$ zmV!uYuE{JT`d+=Z40u7gUqtz;ht5B3j(JsE%c%>X`{LDtEb; z6!G^j4eU$aTwgyq6XtuR?s;bW&eJouXuARUnp7dd=MzHr$dFCmXuz&!`vsT&%W~3X(D@dzX4uB-fAA9CRT`Y zJEIi$8W9nnGdv^#b$Y0$2d04E@?G^{_qgcE$1XN60yPQzMSiq;T#~Nm@75-uY8RT^ z$)-ggas~Z&Kj`%7yBmL1j2Rv~+aZ!$T8)%P=zOe5)=<)#7dN+LQzfVd<6B_V$si z?6V%OW9XI12@Y2l+cS+9WZ|xR`?;uePrx-w76Un)(c@CnPm~x)wd=oNWT&o-`C$pV zt%42V<2@r;8qZgWNsY$FM_|onXSaR%KT2pU3p2I+|3$`9u=*fu>`-}}Jh~i8=>W)c zefg%Sm^hv-$=tQ3o?Iwe1FSryCA+Xf^ftF!&T=ywntKKJTSC}id~mj454RunrKa89 zYh~p_0Ifi?y?S-}=#lMLaRlS@)1AqiYi9tuzP@21`n}vj_nG@UKvFrBJy13_j&Eov{fN8(m$P{>Urk8~91I3}`e+dZ$-!frsWMvT4McSx z1$5Pcl>q;@fU@-)O%cw8l7X*@@F%N@jgQjV*|A||lJ@?m2x;h!PL@{gY`1~La&u&s z3GZ%O+r`k3K1>tSBcdU?GRfZnwU}#e z&ba*LRlS3I9{-%~%a?ZMWOZ*a7r-`@{;B^X5&qQN94g5kHt8YuJ#JRrF7zOwsf0WJ z0^k?hnIZi#HAQ^S-4tgP7Z>aG$?-0btsR{y+0`DM@Z=u9Lc5EA?BYPynIUlmy>%YV zMAet6S2w$JCQoZ?VO|v-jU%0x`8gr*tqw%Q6KTRUI+{OWp|5nyKgw+NKl~{D)Udxd z|M~lEPE=GYF)>mSIWkvta5;k7h>j`9nH@X}hN3hY%O5;sNJze{bC0KI+)uX;EG%At zO<#Y$6MSH-tn%Qk^6^RAot1&*DuGE!ySsB+W-c+pKHY>tL7V@H5`VkH1)%5`>)u^n z`2@%gS!0q=6`)OaP8@LdUEQ~kh4@bZGOu$2Rl}s-*>BD>fcP#kMNkAOc>W2a*S34|bjK%~?&-*nZ?W-O?d_HOJ2T_lU$o&Gnj7Uz6d_x~S5sS(crO847S47W zlcLptO?7c0@w(YYp#B5GE@SRGG!e$e8$hhZv8L-|mSkkOiM5N^A8364Zp!mVo>vwb z2Ya!gaHfmb^!IXdt=oyJmlr#HE+~(HC6x+$c6E@+E->vcT8~tP6)9a+fdK^p@{F}9 zw*7-T|AbR}f>9MC=R+90$?94QUq5{*W#%lY_mGk*t*X*BSh$ab)Yd24JFkzl$4TPdxzy9}t59Q-O|DU3&&P z1IGpra5dXo_YyZpiZe5xf^7D~Yi`cd!{gQAp(ybGK|%M{t%#;3CP-lx^y++#MtIZ3 zm2_{ev9rVEQeJ2Ee>$biT*i$*74eBdzTZBm?*C*{hg0b9|MwH7<=2AYfg%nb2o?Dd z80Zrmd=1{n@!e!edIDVPZ}DHWeL8Q3uh1|t)f7S}2U^9OF#hk8x}b^IlG?f z9}y6JsD&P(IwdTFVp}B#Oe-9Ausc?^1GONZUu^#3MR7p^E*+iG`C%uF z-OtoTI*(m@U!Gd+>EGHrkO5w~ch5m5@j7O+abVDIX$ez`9VIBRI3!$H>4LgzWww5D zagm>H$;8O0V+q~gUlj*OC;H)!>KY>mG_E)97El%7B}D6JYij^Q)W?q*b_?0gj!5;8I!KQ$*h86Gm`Qg~!=b8^13XLGqcJ+3+eM^EF*O6l3@X}EQA zl?l4LVfsDoKQt(;XH@5WNl(KAMG&BN{<}Gtlr8hGlz=iMBb(K3a@**SCyAJC7+t@C zUd%oeyzh8~x_9q!w~lbVWSyTDpyw?AJHdk4AYH>K2&T({fm9clbsBzJOea=CP9L0* zkgECSl!~Fkm`spvIrhir8hc^k1PC=0{8+}XMV`65bu{U`bB!1*lISl@59;8`>goI5 zsJr_5l7h}d1aOT%$Sz(790QHIVYy2gZhCYy%y?ZPUs~JksVLXMlKZD6;GqBT<%|86 zrqBL5jP4@R{*7qlpP}dz+%-#X(2MpYdD+ z$M>gla;0H`{3p4C;M)P{3_q0fKsMjamg9fFLm){j;k>6WeAyrfqYB_-5fyFjfKp~+ zB0?*nAYY@D_%Ns)-`9`(Ta$2EdAWXbk>Tt6y#1Qez)-xJ6$Vbl>&BYGp?Odp6(+1f zXYB2nE77jxp<6l(p}jExBM=0R9H~Tdb949f6k(%t=6Xr~6KtDrsGdJBiGR$NSN85X zgRy^N;(NhHj-J6khOZyKevM#dOPw66K~8C1W8AHi*Y5M7t<4QYYmka3OUOm2`j4#6K=6xCIYK!YflduDEiFx6b&OiFt@hx0eWRWvE=|=g z0{vZYt~4*tOWlcuo15D zLz-Sf6k?;Z89n{q9w%1Syb{}qam<(X?+yyJ;$rx8MT}A2+T#*=sd1TpZPtE3aqv_yS`Q8|Q8CupoFh&8%5h(84*w~zt!}nuR1hyOW^yUNWBIR)v zK0O^aQCJU-Vkw*Ufq|aRPWbszHr>BcO~h0wW;Rr9tsGv$g@$-&A3{Ul$jYRHKqn~J z{h?8>>T_|~i1D<-5eDWKe0%=>`%C(%a8bYwz|8!9={Yr+V#8=~OY$wKnn~&KK3|@N zgG>AD1luRpOGbtvG!)WCwgul8L7N3b)Jt`~uIxZdP?E$EQr}c(-=%w4)7N1FJ*nwi zblBIsHC^q^()SFkef9V_+DxoP3zciDb-9$>+)EXJg_?zUg{VGD;%-kn6<1fIR*kEx z61d)Y^!X<*sj7`bypG>@tT3w|y&WB8_Dg-vdqc`L`oKu2Dee8s<^Z7uCIiNQ35+D% zVVy^!ItPOn8XD`}&iR-Sa+v23>;F1>jfy*ed);_F!6Jtr`77d`um(qhPm{YHA=<~M zc8a5u4z4jcCZ?v(-ir9MYjWKpQ!6Q}f792Pc(VI8GBD8o7uOJs7Yvr2AXNd9O-;ZA z{FDKt+U}fEdHH$fPj-lXyw6+J)U-C98}<2f^1uKFE&kte29AlW5wNt{+jrl1u@Vyc zrKV=3E%;b?(7|%(q{c|;J@g8V7hsNbzxrDeS&A3fAr(Fbop>vRUKHp1 zOWeOcSdq&HPlLPrFtFq>b1-mV|1EKP(AW1uI0d$Yi)w3kEZnx%RUX200h9VDl%S}n zpz@c`5buOcVXipBqOX6aZ-fehqrR&8y1y^6%e0V-iwkV7 zfQs7M>b$No?tVG}DAc|OoQ`6eS7e;#6I&@SoG{l%k22s9HoixHtS?`R&6bY^sM*^9dn1!Ut)xpxuR*#*X6Al+);0G8% zc=~j1L-OJ=64Fb(IpEGuj7uT-;kBu0+u}YlVq|Qr#c-;^ix(zkTgeIj{_LQ8f}O}e zAT9Zr;NJf-YL0WGg_sSLz2D*Ds)_RfWnG!R)~YMJi*Uc-(rI|ul)-wkeCBgB?ALC{P)u*CvbVVJoE9n^L=1| zuj2LE`e+I@^~H$40L;Qmcf<0$G~wHZZ{Nr{bN(}khAgf{YNdNm*ZmR^@y_el_X*HG!+f>4#Edi+vvAryAB2t$9qCyw`WElU zMa3(?ockbo1M6{*k7e^xR z>1ie=20yg)^vv}1q%17Nbainlg!sN;(=5>1*@bon=e{acRT;Ilx$bH+N-8N?m-qG9 z|84d1B``HuSZLJLI1kdZw|?4#iUB{sRfmg!pfVbGszgr!Lp9 zti4!W5C-k=Kb?lO<0q%67_|KC>ii3?L`je=f}$O+uBcujk3Icb{4HMVYP#B?Uz6GdX3&287%MLYq*hVJ z0nFt<+OV(4eLjBJn%!t+DJvm9B|AS1ZBYbPeIR#qDS`c-aiErvzUbn)0g_RAM%Y@8^^0AkX$%l*Y| z^~}T*xHMqI#rf4-|tueLqC7+0k7=Z>gvdk7>*}#sdOxb%*@Py zmawqo+1P~G*qVxqn-mlh0CgN6i|3Y`o@`DC%f(l)uqd_cTn?udGpUm^orBe~tn4cM zJ`E+Mc;+ZXZQYD_tEtJ&&CZjMKAoCknwhbZ7sMJ#NG~fJ`u?Dx#amk3L_$sN?7wlz z4_#QV4`2)y;E$5=P7J}n1N9!PgQ=K#f`lB?KQ->V(f z{ccK$jiqHPwdeCq(j7Zk8e`E?tSmmp`f{u-A^?dm<~(k%s3vBDi%V=v^EV1gY$r$Y zSC%sCWru$L)WpZfx7|G;L@~tYyO&T|a|m=eA0>6s+0yTX?w-#H!f8&k8i_#V{y%)Z z1yq)6*ERZplr#z=9ikvDDJ3B(2-005-5_0pgwi1`AV^E6beEJgf|P`WbV;AZ-se5z z``>Z?Z;yMh8K@6;UF%wFt~uv2GBRTPxcT(y*TBFc`+l_UUI;!@Q%4%ii%HxYj}pAG zO%QKM?%r(<=e9x}d4`18T?}H*?x}h-(M~ubHf`UtNEq`{>QGxg1w(YN|r$bQQE8 zObvsg@}7OQQ5eZHS+aj*k6^k0JPC)92eVgq_QH(%L7nHq;016Z z>A2_|FoU9`#MS-sJoTCr;%T-wJKY5$!$%27x!)KbxZaT?vg`T491=Wg`m2fK!vy2!(4gZbbzG(^%GhBOW$MP0fdJ5D|_B z`g_(mVF3xv4O#+RWF|Z~f2NXwunfX^&xIBp|{S740By2$aP%q|QlC z@15XXINV?c4-S~I(sAj-Dq?L-PpJU+Ct)-}R8P+gR0pI&CAM=j(4t>8v(!LpZI%NK zJvqd#!;N@h_t&A4!8JPoSP(m0K z2_3lR=B2aanD^q4_M&(Mg`)(u6>Ga(v(ymHph8APjmN}v*jST+%2ee=r1lHDhgiLT z2c@u0=9_&#t(d%il}U7{&TVM08b3QL>T&k2yW1AX9(;V}gUh4uLqp4;w~?1`Q|mor z7f$BYA_5#GQySnb1JXoEX}_|f5F0B|q|dvw;G50vG7g?%Mkd$)@w8n?OG|_ISW-el z37M{Oq_ws z{L1{KqLOI;ATP133aA5a+q!tvE(w%VunB@I?;+3z+a?e?WTz68zb0I|_NK*5% zwfP0f-}B^t28IHK=M7-6gzIsJ;dSu_NPW5YGR(nt2bb!J;JO63saaZDO8@drozls3q8Gl=G6S#fPkCt2^(CtyC;g}tEw!3veMbTz?1xj-1Df^rjwj4H4+vOO_@NdXtGu%h_&hEpc7EX| z22Ld*VdkhHGIk&HjWEiR3QuQHr5SZCL6jQUt=s=v+|qUb32CF z=vh9hk7dl`+B!Rb&40Sah=10ofBUBAIIfmT$jr=)jg5VNaY4*-Ifb;Hs|B^h1gnXmAAK#4@S<}~n4na4 zcfYkUQT}JPAz6eP$k=Kc8v1aksKlq~&&`IzfXT$f_ae=UyW%jsJqIn_=wzGJ0BkD8 zYMpu+PVO5RnBYBpC~R&06#4@p#CM?lcuIlWPDe+Wlq@_pHsi3r(#U5SjPX>t`K5t; ziT%B8Kq3ay<`$QUiu2c%U%bF_60dldpT7>aU0@&j_? zB5=kE2ne`+>lVY##R?|mguJ$$Obj}<=Au$k+H-X-D2%9&Z-FEe9lgI^F#h}Z+hSt9 zA5)Cl+sRp&Q$dk^+mvM(^`LXW@IPFD%gak-WMpv5ij0Zr?d`pRFaR%OI0W1e82)jl zL_&ywCvQuOA&BO|E~Z$&i82wFk%nerb@lPld2w+uI0gP*S|Wr80;ZG5zGjy9oG4;_ zk!Yw(RAgmaXZ7yUwg2kEn*jNRdNK3npHVLE`v6-4daA0rnfV7(?F~D-GHTcscsGs# z1qt*{nVFLlo<==^tt5YIDBS6O@P%p?7^)zi}>#6-QUtE#$ltyPq#jmiaVJUd%WRdo!o`^)na zIJw2$zlvQ%#KgZB7kk0bZFAGf#RW3J2lyB$^mFu%_3+%d`x(-KPI^ARnwlCnKb&W>vS2>S$-!}Y zcGl#1^3u{0tC98LL%zK|0{EQ^3q5^(?F)A8R}IdWuP=MQecPI@E{0sEtPDgdq=+|Q zr}zG|wT%rJAU;_3I6TBzS-wbmUB0#Dje`T6f-Wdmm7HZ4>)rOfPWCuoNFj0d!qhr( zrC|xVzDKNERJlg!H-QVTTl%Y@&V%`(f^+_(29L7?o4>d5{5x@r+QA2-ST7|xIi$rP z9Bk}cTI|6<@95~Ltc-(_GPR_nM5c*iZO~8VA;bh`=8vyAt*tk~BNIm9fjjbSoeLWe zPu$}UHjX2gyJuhIoeCcB>XY2@b;Jd%0h%CA8-J>7UC@(N`%t9`eZl4#7L+D%r)YN% zHzq>vu&i%xQdIVXNhtW1wfHD7BDeUAPE5QlUfgw+mml!+^HV$nkH;pr{Re-y!^2@R z(fay>c$5+havASSTb4rY`g&7qD>3M=eZmb=0oV}QX+IlhuJ1&hv)gP<%;d0NAb;+a z;jph5JaRu&tj^RiqcpvF6#8xk0$3w#Y;06{r_s^T-Au?bNGfl%tG=qJD>&%5U)M*3 zS#@<+tpVSOm6cXYq2&#acxH6cAhY)df{R{T6;7v+^(GIrP z8|&-RKY<~{jX>1b*Iy6g5Mk%w$QW7$AIVZ}2gj>v3qNq=LcF=W^mgz}=M#l=^RrP! zU?3GI=M7Bbjcp%0*!fkkeLTu$g;O|chfmIoFnD&Rue=5saE z*}2s%J&A*iX5tVX~xT|7dD8uw6G6-)37`>WWTY>x^A98Lr zc#-m+-$WC;ja?MSdQp92A6{{|{w9MKzlE#ec?5Lz0;8fp_h|P=JJXY37(H=`f~l3( zF1*a@M{8F^1S%@UHBj=&?&9JM8MbL6czq#)fS*z-VD2_HxCjwP$9-^j1k+hkGP0W} ze#OOXxItuRqC7lR3tvjJmgkDzo}Zt?MrdtqeJ@9^qM{=A$jO8kNRta~6`RvDi@)}~ zJdY&AHK2`;y#6U0tk=Y}-21^uMcDf*IvQmXZv-F|6Sr;+0K?GhLQ5jk&GsgY#{T>F zFFb5UMn-VfJw7}{LNqtCpPq2sS9k@Uy{W0G3$)Go`HT({vY2MC!PC-3RLb?AlvfVu zR-<{ufXl{w&`J4dl~cru<|O`oWNgf3XTG7mJ%gC7&*?SKQ;GpDlH=JYV`P_UXkv7@ zMXP?`+Xzwa+qZA#p3Z*PZ{IULP-f-~4M%r(mq^h{fa(I=9ZT}^$kyL|G9646g4wPh z@4N(`cd!7)K#2JG2>Xg?e6^#&!jc7pW-u84O7$T!(sgf1MqM4a2u;`4yTm7d|5j91 zg0nS*vD4F2Fk5}?YJrn+em>Z>_K+UJBpg^j=-j-Y@6j5dV%*>)xTd_mRdGA91m?N0 zhcmez0tKod7`_Q*aY%U8j~Zo+b-V1Iug6E`KXaL^bt3=G1!-P@+LMw4i6fg z*6-{FYf9mnnISedwV)E)q}Q#oN>5A_#57KZHzB`vZEXZ1D;@>K6(rNZw0j|SEc|Dx z(sC$60)E4_b0+K^SXf4;rs#-y@YAMx;tBKtG8;=CRah0ETtGoZ<>unT#=$|lHnyQL zU0nocP}5hhtFusVlbGW$iQG-N$-t01Hr}|rMQQnpF69H)gzkJ0bn)}DoI;>kJyTZ> zt;iQaoL-#`)e75z!doKm+FOVk@NeBJ11ot@FhW#-8RoW_n3#0lc5v%fB8J|J_U#e~ z_pt*T0{XCkqCp=P+=VR1nFIJ~9d6yZgLY>MRGfTBK^@@3{{mf12o0?yf->vmB>ig* zA8-x@Tsp~J1sC>z2SZm2G_tV8gJ~0>ZK8%Zi2ejBD=CSKiwADte*!0xV{mIWcz6xq zR=}>ZJ=@^nF0}?k6`scFnHgeAn~uRj?uL}_9JX_pMo`S8`-YqTG&J+w+5+Q(2!+(l z-fj#~X*7bqYm{IJlZHm0RX-enqMh9zz**uPU64Zw`#Jrv9Xk#6-a|%4WQ2%{%IlT7 zj3>9RVhzh(6MT@YmsM4Hr=|j1tM=HrFfdh@R`1S?2lCmAwEzJuz!-O?@h%C;(vm+M zKW7f1mq{-u*fn}E1lct(c+QS(Zxf{VKI@jbiGySO@}-iZVqSiJS$R3!Qz{9(iScnG zD{^2{_NiUJ>5kAaH8ZQK^B@PpfWbVCwY7Vp^F0AT*rDD8{0kkO#og-04NmmLr=J<_ zDn&v_i8S!I@(zwy_mt~%p-S^g<|*{&XGo}#|1XM_7Q0Unro224D4_t3U}Dsot?$9Y z8}vG0crN{}>-!4}uu*_k*9&xM`46$Ng#`s*J=|!}f-EE?q@bYijp9oskrA}-xctHH zVRR3?;!xiDCcXi(U(MI{rQcUiz~=zWn4p33Dg2!p1DkDCh3C}w@7L7H`&l*78OTq! zuT2TK0Gv=$d$zs~Lbh~L(#AV?FsrKa3kr7f#6qxf9^JwaM?Pt#m3-%6x{zgTq2?}E6*@@r1dzw*OI|d|Wa25iHg-SRzXXHsAAuT+!*(YMs z@93Xgl7AFOJe6v`=aH~WfUiMHV0Z{h6Od!LZ0|MHhZ-ACh*1#sT>*7#u5lLwLkAyU zgYiL?lAKj+3HxAYSbYfbVBm_?zn(@jLJ;-9YKKaw_O`q{CDtkn4NF7km@07qV=(B0 z-S+qd&IDOl>~Gw7sKFT{2E@j6LuyV=BaO)(umA$63oWn;0I+Ly_`E11)m(IrLVu)m zZ9!-TKGZ7ltPOYj3a3%uN6Km4+rAKa3KZYe1C~mvG~?(x9O&6BB=hN;P+@c3&PsMuWqBezsys z(1Ujvv;B1RR07m!{2z$rS~(Tc>vPB`K)2Kj6<$T<{m{@%^+GLVr#D>Bbamkp5J0X5 z_Xkr=4i@Y_Y!Gv&r|W}j3lhR^IXDg)M~tsCGVXbw=L*>W(sXgT+W*}JCNm-wxX@UJ zE>Iuco2orRwreitk&9yw z@DjzbvHmo#m7|m2`|Y;agVF~FcJe9id(*aq*$TXkUT2QapHDu;6~BezJO9?zW4gBX z79NHB-yV7&caLdG{v}Q~4jpb{LDplRqFxINM&-P3=bQXiJk=#7aq?_!v~43fpUKFk z2~dVcRcK=l-;1*_b8vBw5eDXq;RX?to`TLqYHzPBNB-pOl>eO$vT|-@&*`hO%h`rm zd;1y!f;^9-pR?85tg+9u8r%azLLSyv!A|7u-DGaYFjHS6BOxLBy%$MDqrLqVg}{-z zn%Z)i@zI=jopdyr{o%&p#;@Y0MpdQoN3s8*7JNw%>`_VVxF z?`DPtRHZ*Z8c6ZzTui@B|BZws4~s`NAt9m3Wjn>sFR8g%Q&cq7Zp^KsyIWc@kB%{R z^yg0kk`o?5LF0~K$EhjC-nbvdTHG_;t8Y7ft12o&5Ba5f(OJ3KA}T#kY|+px)QfHW zS+)=c;3FDN8RmXc_C}26iT8PBY%B&IKNXg)?jL|+{rv@VUc7_9Iy$0EbPz20%zt3> zDR*s?mWvC_5b0-l@+tC-;jTfqdqk|T{mTw??{Gq9D~?%;obA~64xRq4-kTQ1 zO#rWYd!3opyPhI;Kr3mw;^X8jWKw?;TX9j!&P;i*(VslbX_{fq75MoxfMj|jIZqYx z8o^g!w*0rVvhwfCi;#FW7s5iO`HNc}j%P2z#!LQ!p>C9L_$O=*W=cO1cDZv30s&{& zW{nfDyl%w2sd+XeRke7MdH??5&6{$hVFYB!ZHwu2(X6o+GFj0Dg@=I$)%h;@k@9SV zgQkXgfJ0bwaHBw<6RyG=6 z63W!QzxEH}dy{zwTL%a2X9ZC@`)2M*=?$m(ei$bdB z-p+!yfB*0%a`z1KMlcrB@-bbRbF04%z(!(MIG$Xlt%H4nL~Fyj%N$MSkBY~ z^j^5d!BN7k%MRl9Nh@$KEGHra6`QoTcla+DjeINU5;^gJ8qCJfXz9);&raNJ?=kDThGDN=^}$s}h|SnBJ$OlGX88YiRcQqs_X&RELiqz)TfGL^Rmwl2Cq3Xe7|GczA& zxtO}TQ_rnBJT_9on~xr8rg^)Y!&;u7N0chK;-dJ8yrJ%%t~NFu5SNnT?CY;=I*(po zHog}}>?MgT0i=hy%fE|n$H$8bwSQaxTzybVk3-!_je+v{P1n<6eTCEAuCo|=1wmLY zeTlb()bynNnrGM7r&5In!{7G=hxMCVZ_?hXgzNaiWZ#J$LoncFVZ8}*s&-^C{)W(& z+||`p8vGr1_k0bJca=09CPY=$EcHEktSHyTL(zso#LF2Mg5hDMAiOi_ z6%98-Tx1WXhj}?ecezOKJS4Z4$he5u1pKVt;38K*?2wAtBVvC?Uk(`i}zP6F(^@dqtPUWaumva zP6Ccjok~Nnc6-_KZZ)c!Qa^uAVLJGv&W=W2-)Fc;7ptKm;DYTj;vPD@-d^yBK$QV- zBdfZ4bD`}?Mq`v!uK0b7B}?9ey3w;`;iio&s-SRWp-pi3c0Wi4A0iZ1nU(T20h($W{iIB+u$b{29QJcOqzdY*r`B*4T+d4|iA?D2bGBQo;0+yl#5!H~^q zp+B2AkXabEn>e!R%M057D*Zrs*~=z0Ug$_-7>k0)K!(t$minas^l18BRn?Y|N4;8c zD$VM0C{+{|^2t{n%D0NXPIsWc9Ul|pZ2u@rNd{gIEv;`)-5LJpP7RnI#PYig_M^kY zu`&B|`K^6@!2<)=PoT6EO_IrX`UcU=$@jOfxXeR;al z@A&D$q3Ns6?B;Z_LYg;>1+TD(-B;J|pZK1@uquJXJ`1bVh?Tq2?DqhB4+#?+B}8;} zVuAZv4E#yEs{{>YWisF!v?6!g#ijRTzcBX0DUS;fd-xsb7-?x^#b_YqGJ2WuXb-ib z;x(uVccmu5ozBIn^ehvz=atvpc_xNdHLh+G$ENeWQ+=PI!8CoTtZ0-nv~*O_PhWvU zD(JFx@)q6pfkNt6!?zpjW1J7<{a3Uv=6Ap6=2mxw3o$b0>sEBH)NS8+p2(s3Jp@^V z9nN?WiHynT&*VK0&8znJL?$L$etJW9ZBvw!x6GN^c$Ct!D3#*qjA!B~^ z@r+!&6L%(h@x@+#3_-KB)K)J%Z73=Nv+U=0?tDl4?1PUI?AzKp1)=fh*C_w4#W?2D zvxAWz+1W{cdLJTRmP5w<@akl6q^u0h)^@s3duCw?fuMqsRfuojNS!w^Ln2Irmo?mO z-b9|Bu6rt$ijLlukZ4XJ__eR62Uzq^o}|ire)Q{?10Q)&Y%FDfSf&yS1w|N&hgYq_ z^>)9pwPKJb#!O9jtJ2CEXLO84_3?wtYO@!eZEY5#A!xndNY5{xx(d#QktKg>HN}Us zEt(Y&hM!UMi)$h6c(qYQmjUL)Y#r{6T2rBI$WFpxSr`fJrpQe|{{eSM`T zhG^y|8iSBUMg~>A==@?r|FxT2 z;&Ly=L{SQAgB+Toj*iQM*v~@k9wnu}P|%R^*0#uyy%B{x7Db^CPSg?~l6miSmDgsg zSoHLt-=fEBYG4u!Z|j@mOB zQLal-xTg-U-G7XIVcY)c*1x=0-(U@65vnRHQ$G>kuZNiPS?XZUC&Ft#dvtczZc&m~ zL4iXj`NsSWQ8-cQXU~QPQmSD;lW;GnPeAp3|NaE>`G*X-H?cnw5iar7N_hQWOBw%~ zUs($IJN?PgwY5AbN&)u*iEt#vGl$oVHHJPlH7Pd<1U-FvyXork==2aqAH>b?wtD1V zzqmy2ah2xho6idN;*jY)B+U3k zjQZxCFEu_!{H)QkLaL4^UGS`iTj@>YFZoH~HYakRZ{nU0U9} z-;Axt1-<^_f0J&dwYt1^8WdajZYaF)DYH+i&&2uJj~-+8@jt00P~qBcF`EKKTWnvZ{}5^ zpxdyzZwNAw4ITQn< zW#d?G9?fj@*UX8gwfg%vUB!%X06L2AVnJ;!$caaHc2pjeyRWO@SWV{?6=762QKGM{Wla>*&(y_t znm7sx^&lZ}n)D@Ln)@ImDc}OQM#rlz4@Pc8-DP6a5~U8#fFcvp@3J31DFjxE^|xsm zaafX*_#sWcd9!bIwGZ|-SQhH)w6V{Ugr?;xf~C*K=v5OEHHRh{((}X~l=D;1pZnh| zn<(}frx)ml@a%K-+{2@~;et?Dxa+>`AMuyHZ$w1!A3v$B;~N@Ee464;yP#1J*WG;p zIXtK~Zr=_gV*037^g7T)3lU0zf$YlwWHG2gcEZC`XX*l63hFUXeIZyL&&@rTWzwta z10SLLw5Px0dY2#FCDJe*0!wCKz7Z2EGsZ4$+2mzqF|Uq=C3!0c{ENDU*yjV|BpNEw zyClyW9hOH#F(1^`@$K$jgNG4RruZ1H@DDdOU^`}Id46|r3=`I27h!y_$4S}zK+1%o zqAgfnt@M@d96BYyL&s*74NHNQxY$Jk9{?C+aIixN@$~5l-}@KDFhPJA?sEH1*SEn$ zBkzOUH2keE1n;Rqigq!YxBC4%vAnz_Iv#6V)#Q8My}i!K$&dahE9Is?HaBN9*hm=1 zhFe;s`#4Ojt!DxPxX%fWG&N)4kGh4g(_*}24QV=yV4J;#o|wM=p4il3u^S#0% z+_M;T{|xXNP;_+$1wQ)?Y6L9Js1F}?zB>Lc3=V!kL(asuBuX9BhK1v0|Ev9; zo7<0>I^q)mW0!v~7O^@%d#3oBYjNnFyRmT$n9%nnKKK_k2-(0`@l^^~S(!31*_NEt z)?9nY(2e1qMYXijuU_XI0G~i9P~~~I-++mcbbCg&&VEtV(6I3R`_5k-Bc7h*Fegj! zjw}%kK1w*N)u&}BmqJ1|4i4$P4u&e=jp=-ynSXcnB12S^4S{?eu~lbgKI;2~-NX%t z{wK`0tl0^TC0?NhX1LGxtN>ubzP{y90Nl@f&B$BL{~(ZnY7nf?s6->pN3P)mN=mhV zlH94g0MOFKYql* z4s$ENbgz{JMNO5Pg6|d)LDaK!d_0Q1s6NZFu&_-wy`>?uP{=`LWr65QdYvxI+)@$@ z%)%@sID+!xzj3jcc;Z+2k-f`a$GYudWW^AsC^~BOS>ulZ##>l;7(r?L+NsoZfNS^A zNu#1$Qe`jWGpb*6RBpaSaBzl{WOh#W9mr++l1-5|^)6Kv6|GeWFD@^5u_Xhtv-hN^ zez58Z_7C7byF}m%!b0tCJL0`O-`77qjgkMTL9^4u+Ir{zXP=Z6EtcMKKaNfx=_Mq5 zWzx^lk&n*J-H{XDH?O5#S60q+a_wB|w3;y_~k0ES7qY-0NC`qe-cjwj4~ z#~?yH9TVA{t8=!&1&{|`+thNWFLms%o&`KNH}~=sjFB{I?^t$tti!}41Q9(;>zM&> z6p~T^kQcQUBN?qM)-~#mBI*UlmwU+o&FuX3(7o++==$Df5}KPoWYc;D<8-LkM;=@e zq4-i2Wo2#j#DoIm*x9)PkqB}~K>7@Px!b+pHm_d*9tL#;j15i@m_SB0LHOT+;8Gwi zneB6C4c7I428GXRY7((t;fUQr0q^py84r3Mo{8Sxl_07+$0Q|avlBml#3X5vQ}n+J zcGuRO5p*ldNKWR1SkBocCKgP8W@f(jt>?rxpPjQjqr6<|8D{a9Gl(@$pH@Z*gQV@L zNb@!19r@&5BPr6JNkxhO-+{>!ak{Qsk=Y& zt;oiK_#zUe?zvWilZ#_?4A$aeBE(t{v9GS?_N7?*rtsaTYr%c<&JUa{lOaKjfLHbE zhYK>^f7gxJQ$*M|#$_J>_yK@i1y@T?&*WI_R|DU}$6fSd0lmwy@w{-4AXH{$;rzd8 z;gOC11$wySJlHH?VmvM`UZT4RF6)+D1+q<%f9Qy(Z5Kz}Ph!j!j_> zs1C=ISQCa|$h|2A@AjBDy8KCK@@@!ufis9NfrGR8{=EiUVqaVw>(i&)E-ukQ=siE& z7_IC`8C1=z3R>_mprRv`a1%VZxB=q~u3{8ewX`>M>;JxIm)l-lTYxuIQZidgV#rM} z^~;w;X*%hC}SXH-Uo2gVGy>o5Av?NQBBDz~nJ%`OgO^`zs& z?K5a43T#_YRXJD4FUicL6va0-Mx|ABY(@D2yKMEG`_$y!?r)7>o?mRRo&HX{nyYt< zGaW2im}8(TiDoaL=x%?%r;?w=Q02E|=lW`Ic6?kOc|jLHB!l5f9d1RD-lpfDNrx7e z7wpfTt($Y9jsI4bk(nKfUEQ(){qh}yM>XslfBv+bGIq7UQdQ>#2bPaQ)1lAq_orAQ z72iciRib8QI&APtVmjW|j}& zqvRFYj1R91Lwn-C%iq<|^R;GbIF;MC5&*#F;R)(`DnqBsI2QfvzNYrZdo_RdaV;%= zM~D2?gFS$)-n~=dNe-dL5LTU>oxM1B3vaqQ00;=naZtpH9l=8=|4*w!z{iK4VCrtY zhf6!8u9G2Gjnmal36G4{AG684D5<&+j8j;Lbe-x9~2l7Tnhlawa0S=iZCE0Vl%2rn2yU~Bl zLAFm$ew+B%I_)TR(lzupJ!MaC@78QX_rwH}U*s-$HNUmKll6Zzp)iQM&oFSq`Ml2w z;(OZ`BKwnnf9sK%X}Ze(^a-~&&FC7ZXh=+qOH8aPF-Co)fkAL5PDyQCgwEpRgzxVO z-%TIN$9y$FIJ`PIE0l>L1R*o^Y;tFf&g{lSM^uz8tXz(dtSg4J&cML+z&+^mQ$I#V0tgn6cYddD za{&GER+CN(1QXqHc5%$ix(P+ddA=AK*^P9}3Rgic?n(w)+C$isDJX=Xu7Eb3Z2Xj$ z!Q`NcV;A4He@1S@g)hKWPpV~QZ$CNlFSDKdwX4(j)!cR)s1jM%O_R^*=`*cj9+0Wz z(Ek{|Ri@!JHc@?X;o>cZ%*j{tuBRXl@cq|Z4h|e}1pYEbwBLm_?`Pmv4jme7oUw2! zeZ!X-YrhfmbFONu?dBTmpr!Y-)@j!D!6wibTrWNUoCyFYXO_m~ zGl8t^hSAG12<*M_+s^EOsa4vgS4Iu(@VdXtf+}UAI0Tjy)Jsr_2vSPXt|>8ytEx*<$8`bN8{m?l;}R_5)V}WA`Q6L2 zKS^sYppJ=cL8;C*DiYd^i8} zfFvy|pTDJ}V{~T5;nMR<%h|w)St!ikuyam5owl_^V?-e$f?9%-lHR?E4Ic&ikAQDe z37wwmD|`0$Q`~@z@=c`lXjvuq3w6jLOKNKFaqL;Ux;}#~AUL=+L*kXbevr3Rx!q$y zj+3+OYX-mg%+$JrG;Vo^K^Wu!JV8_F+F4ukzChH(LZDL{q2askLibemp4&# z#M_BSa_~$`W;;T50owcRa7CsxHBANsvb`ol0JXim{0%M8vp*auoL!#d%p(fIDL8en z#WBXiA|;LJ?i1~}=BA{i2cf?gqd7_rx`~MiGwyE&JzZKh_C7HNUibK7)BMn{-^bHm z)C0D+KfsMnNU{)wPnYh9`IoAa#^`xgRgs-dBntD-?$at_K~t_-#ZW?G5fB+(n|em( z0`5mc8uhM85fN=49>$!wxE?XX_y#Ntzgrlt_wF5jQ5UAD&O2ab4FbNziT*R#F04O8 z)AoGV?WnZ5xH~L-pdinjn@i>Mi+3uFH%S`~I$v^+tS$HSNc8jsKv8eSL+p_b86^W@ zMy|dQG9nZOR^=@xr&3+r2o+WCeIp)h$_Qn}D4)~U6YQO*V`G)ildB?ny^aHE@pk}c zLqQuLKca<{#!x4Dr+n*ZUgp_g+;J-m5$rr$V-KnRM6)H(@S?C zE8xoVJ3auq^6Ko6t5~ZG?dakMTj>d9I{f(F-oauSnTOBhS>@ze8CeRuPIvkFNci|k z0YIkcSs_HcdF)G#FP#BRf6$ERr2WObcR!%IY`D(HXPUj}{@Lke+=mYlo1XXZ?ZC|U z@t=rP=<5o3{xxjcmKUUS+4(eB>r@_i+$|z~FxwUvrN~N8zxnIsv#e;SJqvY6hR;$_ zko6Q4U|Q&*np&-&)+T$&4;{>9X$grNSKp*?hgy=uW|f+7(<^ZNXhR}rKzK1qktFWgDyxJLA~lS$8vhU z?`G7H0IhM&a@?zZVk%R^^oxTvUZac53z#D+rC8zOcc6cGV5ir>*dBZV5k^Io9+GR( zEUns_M7+jwEwPG9rzSV$=#M(kFlcgD{XRULmCGPtodmW$1c?R0UZ*Pe@AHWk6CkKx z!`^=@NS;l*V)bgcA+(+3ej@G4_=96+9Xby)bq&x4CL77|pbE~o?o%vA;8j^W&NZf-79V$^ zIY9fplu|Y@&|+(g4iE2EMZur-mz;NFNl2CcwgksKd&j8C?M_rA z1azUPBOgPB4wJ`;;zMA;LI&Gpi$sn~eCyWgrnNw(l#TUfS=ni7|H?1Buk-V&PoChm zX;7xaNvgf_7KRt2W$#aZ=WuAv__aGpie75GdjG=ChYw4@ezLN{E@`$U zXU#((+Hd|7b6y|3GKqtFR>&t6s>`1vZBbECzwBHEDVqwhXqlKUR)=so%hUVauKq5< z%*=tvD4JI$l%$g7mFw#!coDaOE#Xy_4>uI{iijZizua@~l#ikCdw|tKy1saW24>1i zKG-H(s(?n;ix-h6gFb4ItcCw>4Yatr^nh7Y%?mr3nLFgT`B_;NHYp)ZSFh8P{stNT zFKvQw_TAYWlfPa{O8z%*zhcwV5q8Y(kxn(kXI2YoxbP;Fpdiow*(7|Ps@jH6lGtd} zRhUZ2!;>xcEV%gGm!aHZQJYa{usbq zAaP6<5OQeFjjAZC9HAl*{`hdyhJmzja4@W1jH%z)ry$P?c3Dx;wA2{i7Iq+|GOMr+ zBG-MrTc z)okPWUgvy{F>_EA^y{IpYh`EM_L7jOEGm+!(V?V_NEVoQIm1s3BrwI33V59o;?$J% zuUN0!YPa75GKY7#fBf&hN=Anvj*k-2wP4o`Roj!3R|#(|E@LAGVa(Nj1ci2^yVD#^ zm{BI!#wXj_bhf{`*L_7k!E0+%RyHgv*C#7&06)7fq4FLMd^8tJ$InygHLO^<<;1M! zC@&9sFI5{G)nc7A!8_ZASGH!kXvu<*9id*=S1*l>gwF>ADYf)wlTvi!Q*_f}Rj0>0 zQ=jOXPV)reUDfrP?DJT=SGbj@ynTBVISvcobRaV`Tdn8YEo_|F=W;4Ja*8}0N<-sn z=aGX+adB~^q!|;dcn78Si_5@U@RILk_|~>Cd$=#6$c)iWgVAa-!NV=|%Z?PKbhrg( zXvxZ2I=z1N+S$aR#@gsuys@zn^a4i5e-rRzh_p1<^7C=y7P zK5=QA>U@zWX*sSD*0G#AIT;;7y!LybUtNX#%W2!}?+n1WQv}*-Yu!)#^5Wwjtgh$B z#f{&_aHXdQGb~3qWMwIO-rE5P2K>ptiu!75#>&d*e$YcJA8k4Xz1-7UVSITj9$uD04OLZ9d3h}v89f=9qQb(p!wvQQ6~$M^yJcl4=H{UP z`tXrlR1%GiNj5U(9s}cmx++l-!QkfRpNtGOSy@%VSueS?RS;hqo&NPqO8N%JxhQVK z@!F%rF<{g2LJQ_?HYOjro=7t`YCy%(Qmc;zvLa8i<;#qP1;ecT{O@OL8q8|S%2LWP zAHQs@ZexK*4J+fig9E8n<$lm&S_tI-z#{P2qr1Hpg9I<5=%f{Ea{tNxU<9Oy6vLmS z3C27c?>mdq{Eyy=c*Y7qPU0DHVPU@bTk&X!cTC+dR+pHJOkhB>3=(vE$~B(Lrh9j( z3=IvL)C%5|zlJ$k=lCcjL2~m=tt*}f&oZycKU<98c01i$BJJ&=8+(R@3 zc5-$$M{K@aRwLH*)N~!d0AROXUdBig`mHO16H2Jki!?89{AoJ36Ni_su6qM1SkML} z30eyOd;GIW=cT0L(st86^ni@2fv7w*q^zLx^1DVVh6aXdSnR_( zO`5>s?pJ@5Y-s0ja~B#LAHt_(WnF)T?*jsWxBMK#Pg-W-@Ni5{jtiPrr1H8pQkWtD#k2|FJdmV^dk`ob$--u*mfZa6n=>{03tbOb)%KPQCGuB|-{n${w{ z2CeT{Bur3d0b5aHfAAPEp%;WL!^XC=D(B~pf0lY`N3uymw@IaZ3z$WHTUkfg(* zpit)Po78wo2j5#;FWXO+VIdHUh<_iO6}0Miy6B{32w-!L2%^QvC}6g=$Tv4kH-fJ( zGoX(DF{%PHho$L;LJ;VnhIHJV>fM;oudH-humfCzo{4FB>6M`KAP~kjHl{5sv`VmF zNk|yM`M}}k2H$YFs*17fu&&oSX^7XqgAX6C}Qp6H$qN7#GX}kS=khkSF45{{s`?~dE)(%fHVn4 z*NRZjU*%zo13m#z$vw9v=v5gRc^DZcUqj$-~0n&@f!6^D$5jfL>68kB+3I#oj9kc*=l$0p|%6 z9;2fV%q$oIvs6(}12_hSA{hxW?^RMsfq-4wWGr8ml#~>7yq2b3uR9Tlo82o}MnywI z1IqPtw*9?5kW7{={)Ep2mjd`q8JV7e0oF&421sGvkiK~z{V?6!+}x(RaU3Fgih>llv zpUyKr#_{XdzpfVRcu`UMdX4o9e|MJ!Tv#=LxVR<**jo~ZF^BjY1mZgzY-Dek^&34~ z{cnQsQ-{@M6GWNg1@D7{UveZ0xNLb|p4T)qctNQhM#c*&TASJW#I&?I(;H)HK9_E1 zM^G^3faRibZ=92pQ%7fKeqP?iU*K2Avx3eRRIqqdPsH*4dzXjT4wif4$;ilxwJI^s zc7a+iDK4Inm}os+74|F(yaz_sV1kr8I6^SS20w2{Gmr-V1!(>a{`?8F+YGoYXMG{Uc7X4O9Lqa&d$#8#P$yk`UVH#f@>hQ9q{_mS_mXyo4B9^5uH6%_+KpqxHZRaHfM z+cNkO7+WA;wVtUx1ljMo!X&s$lvh_v;nRW36c^V4BvZE^$R%)@4}(B`cz77f@U~CI z#SzrfUS2|1ao0EYVq=Doh-jif6U;$4;Nfp=ZGHd#egF61ep8+K$OB$pUKCOAI$(v@ z-0i|UE#DoNDj57Ph&SNUaPn_vhRXoER%)Aig^MG3=Mg9LYcI8h^ zT~RogfI(>l3i6mhSR^W99jy*R& zmB;0pK!*KSg#n!l2%=3lxDCk!?gjPr%Md=%a&b7Qy4td@$`KU7;he9nEr6Mk(hphl z;1iC_rs>_FGmr?3sT&aW_V)V!eQjAW6*2yk^ zvRWokna6(xvTykx{p#B*ex#O4|bf9Or^hs@@)4Iu5yqKt{KwH_B^0hZNT9HW0?O_Xwv4Ic~6;%?s zu&=KVxEk?tzGYA`a`WqIYnSeB-4YvX0J}p>L48ss@G4Mv56O+Mr?*;T=qP_($*O z6GJMU&}*K-Htuq&H$z&vl0$1wE>0P|U4-%hU0q#rY-z>BI5a61>mC=tf!%ePCcpIu?jy}0Bmts``>UeNcze6Mv zeJn!p9Vo8d3W33N!9w?o1B1b4Zw3(FjBgbV6Po7d1SF?gaU`fr>=79C77U4LVzb$j zcv!b2QXV-p1Q%i!AhR4DOV@pxYRrfr%x?;8&Gs3|=0>2B4wtz-i)nsJFjTZT<_?-Y zMG}aMxfQ$5cogW0DF_;ypP_kCSLIneLmp0BbMw~DI#S}P-*Yn0N@X&y{eQ|$$;rt# zYApYCL@4Ia#p5SWEETycaQqID;zgse;;!?+x6tW)Mq{bo9L|XI$|S15v1&6!VP^!v xp82%v=N2y+1>(v~BNlD>ocdq?fBe0UPvk5I*K&u!?|RHX3g56Pq&_%N@()*H3e*4q literal 0 HcmV?d00001 diff --git a/docs/Hazelnupp_8cpp_source.html b/docs/Hazelnupp_8cpp_source.html new file mode 100644 index 0000000..ee6668c --- /dev/null +++ b/docs/Hazelnupp_8cpp_source.html @@ -0,0 +1,527 @@ + + + + + + + +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 "StringTools.h"
+
9 #include <iostream>
+
10 #include <cstdlib>
+
11 
+ +
13 {
+
14  return;
+
15 }
+
16 
+
17 Hazelnupp::Hazelnupp(const int argc, const char* const* argv)
+
18 {
+
19  Parse(argc, argv);
+
20  return;
+
21 }
+
22 
+ +
24 {
+
25  for (auto& it : parameters)
+
26  delete it.second;
+
27 
+
28  parameters.clear();
+
29 
+
30  return;
+
31 }
+
32 
+
33 void Hazelnupp::Parse(const int argc, const char* const* argv)
+
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 }
+
86 
+
87 std::size_t Hazelnupp::ParseNextParameter(const std::size_t parIndex, Parameter*& out_Par)
+
88 {
+
89  std::size_t i = parIndex;
+
90  const std::string key = rawArgs[parIndex];
+
91  std::vector<std::string> values;
+
92 
+
93  // Get values
+
94  for (i++; i < rawArgs.size(); i++)
+
95  // If not another parameter
+
96  if ((rawArgs[i].length() < 2) || (rawArgs[i].substr(0, 2) != "--"))
+
97  values.emplace_back(rawArgs[i]);
+
98  else
+
99  {
+
100  break;
+
101  }
+
102 
+
103  // Fetch constraint info
+
104  const ParamConstraint* pcn = GetConstraintForKey(key);
+
105 
+
106  Value* parsedVal = ParseValue(values, pcn);
+
107  if (parsedVal != nullptr)
+
108  {
+
109  out_Par = new Parameter(key, parsedVal);
+
110 
+
111  delete parsedVal;
+
112  parsedVal = nullptr;
+
113  }
+
114  else
+
115  throw std::runtime_error("Unable to parse parameter!");
+
116 
+
117  return i;
+
118 }
+
119 
+
120 void Hazelnupp::PopulateRawArgs(const int argc, const char* const* argv)
+
121 {
+
122  rawArgs.clear();
+
123  rawArgs.reserve(argc);
+
124 
+
125  for (int i = 0; i < argc; i++)
+
126  rawArgs.emplace_back(std::string(argv[i]));
+
127 
+
128  return;
+
129 }
+
130 
+
131 void Hazelnupp::ExpandAbbreviations()
+
132 {
+
133  // Abort if no abbreviations
+
134  if (abbreviations.size() == 0)
+
135  return;
+
136 
+
137  for (std::string& arg : rawArgs)
+
138  {
+
139  // Is arg registered as an abbreviation?
+
140  auto abbr = abbreviations.find(arg);
+
141  if (abbr != abbreviations.end())
+
142  {
+
143  // Yes: replace arg with the long form
+
144  arg = abbr->second;
+
145  }
+
146  }
+
147 
+
148  return;
+
149 }
+
150 
+
151 bool Hazelnupp::HasParam(const std::string& key) const
+
152 {
+
153  return parameters.find(key) != parameters.end();
+
154 }
+
155 
+
156 Value* Hazelnupp::ParseValue(const std::vector<std::string>& values, const ParamConstraint* constraint)
+
157 {
+
158  // Constraint values
+
159  const bool constrainType = (constraint != nullptr) && (constraint->constrainType);
+
160 
+
161  // Void-type
+
162  if (values.size() == 0)
+
163  {
+
164  // Is a list forced via a constraint? If yes, return an empty list
+
165  if ((constrainType) &&
+
166  (constraint->wantedType == DATA_TYPE::LIST))
+
167  return new ListValue();
+
168 
+
169  return new VoidValue;
+
170  }
+
171 
+
172  // Force void type by constraint
+
173  if ((constrainType) &&
+
174  (constraint->wantedType == DATA_TYPE::VOID))
+
175  {
+
176  return new VoidValue;
+
177  }
+
178 
+
179  // List-type
+
180  else if (values.size() > 1)
+
181  {
+
182  // Should the type be something other than list?
+
183  if ((constrainType) &&
+
184  (constraint->wantedType != DATA_TYPE::LIST))
+
185  {
+
186  throw HazelnuppConstraintTypeMissmatch(values[0] + " " + values[1]);
+
187  }
+
188 
+
189  ListValue* newList = new ListValue();
+
190  for (const std::string& val : values)
+
191  {
+
192  Value* tmp = ParseValue({ val });
+
193  newList->AddValue(tmp);
+
194  delete tmp;
+
195  }
+
196  return newList;
+
197  }
+
198 
+
199  // Now we're only dealing with a single value
+
200  const std::string& val = values[0];
+
201 
+
202  // String
+
203  if (!StringTools::IsNumeric(val, true))
+
204  {
+
205  // Is the type not supposed to be a string?
+
206  // void and list are already sorted out
+
207  if ((constrainType) &&
+
208  (constraint->wantedType != DATA_TYPE::STRING))
+
209  {
+
210  // We can only force a list-value from here
+
211  if (constraint->wantedType == DATA_TYPE::LIST)
+
212  {
+
213  ListValue* list = new ListValue();
+
214  Value* tmp = ParseValue({ val });
+
215  list->AddValue(tmp);
+
216  delete tmp;
+
217  tmp = nullptr;
+
218  return list;
+
219  }
+
220  // Else it not possible to convert to a numeric
+
221  else
+ +
223  }
+
224 
+
225  return new StringValue(val);
+
226  }
+
227 
+
228  // In this case we have a numeric value.
+
229  // We should still produce a string if requested
+
230  if ((constrainType) &&
+
231  (constraint->wantedType == DATA_TYPE::STRING))
+
232  return new StringValue(val);
+
233 
+
234  // Numeric
+
235  bool isInt;
+
236  long double num;
+
237 
+
238  if (StringTools::ParseNumber(val, isInt, num))
+
239  {
+
240  // Is the type constrained?
+
241  // (only int and float left)
+
242  if (constrainType)
+
243  {
+
244  // Must it be an integer?
+
245  if (constraint->wantedType == DATA_TYPE::INT)
+
246  return new IntValue((long long int)num);
+
247  // Must it be a floating point?
+
248  else if (constraint->wantedType == DATA_TYPE::FLOAT)
+
249  return new FloatValue(num);
+
250  // Else it must be a List
+
251  else
+
252  {
+
253  ListValue* list = new ListValue();
+
254  Value* tmp = ParseValue({ val });
+
255  list->AddValue(tmp);
+
256  delete tmp;
+
257  tmp = nullptr;
+
258  return list;
+
259  }
+
260  }
+
261  // Type is not constrained
+
262  else
+
263  {
+
264  // Integer
+
265  if (isInt)
+
266  return new IntValue((long long int)num);
+
267 
+
268  // Double
+
269  return new FloatValue(num);
+
270  }
+
271  }
+
272 
+
273  // Failed
+
274  return nullptr;
+
275 }
+
276 
+ +
278 {
+
279  return crashOnFail;
+
280 }
+
281 
+
282 void Hazelnupp::ApplyConstraints()
+
283 {
+
284  // Enforce required parameters / default values
+
285  for (const auto& pc : constraints)
+
286  // Parameter in question is not supplied
+
287  if (!HasParam(pc.second.key))
+
288  {
+
289  // Do we have a default value?
+
290  if (pc.second.defaultValue.size() > 0)
+
291  {
+
292  // Then create it now, by its default value
+
293 
+
294  Value* tmp = ParseValue(pc.second.defaultValue, &pc.second);
+
295  parameters.insert(std::pair<std::string, Parameter*>(
+
296  pc.second.key,
+
297  new Parameter(pc.second.key, tmp)
+
298  ));
+
299 
+
300  delete tmp;
+
301  tmp = nullptr;
+
302  }
+
303  // So we do not have a default value...
+
304  else
+
305  {
+
306  // Is it important to have the missing parameter?
+
307  if (pc.second.required)
+
308  // Throw an error message then
+
309  throw HazelnuppConstraintMissingValue(pc.second.key);
+
310  }
+
311  }
+
312 
+
313  return;
+
314 }
+
315 
+
316 const std::string& Hazelnupp::GetExecutableName() const
+
317 {
+
318  return executableName;
+
319 }
+
320 
+
321 const Value& Hazelnupp::operator[](const std::string& key) const
+
322 {
+
323  // Throw exception if param is unknown
+
324  if (!HasParam(key))
+ +
326 
+
327  return *parameters.find(key)->second->GetValue();
+
328 }
+
329 
+
330 void Hazelnupp::RegisterAbbreviation(const std::string& abbrev, const std::string& target)
+
331 {
+
332  abbreviations.insert(std::pair<std::string, std::string>(abbrev, target));
+
333  return;
+
334 }
+
335 
+
336 const std::string& Hazelnupp::GetAbbreviation(const std::string& abbrev) const
+
337 {
+
338  return abbreviations.find(abbrev)->second;
+
339 }
+
340 
+
341 bool Hazelnupp::HasAbbreviation(const std::string& abbrev) const
+
342 {
+
343  return abbreviations.find(abbrev) != abbreviations.end();
+
344 }
+
345 
+ +
347 {
+
348  abbreviations.clear();
+
349  return;
+
350 }
+
351 
+
352 void Hazelnupp::RegisterConstraints(const std::vector<ParamConstraint>& constraints)
+
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 }
+
372 
+ +
374 {
+
375  constraints.clear();
+
376  return;
+
377 }
+
378 
+
379 void Hazelnupp::SetCrashOnFail(bool crashOnFail)
+
380 {
+
381  this->crashOnFail = crashOnFail;
+
382  return;
+
383 }
+
384 
+
385 const ParamConstraint* Hazelnupp::GetConstraintForKey(const std::string& key) const
+
386 {
+
387  const auto constraint = constraints.find(key);
+
388 
+
389  if (constraint == constraints.end())
+
390  return nullptr;
+
391 
+
392  return &constraint->second;
+
393 }
+
+
const std::string & What() const
Will return an error message.
+ + +
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:31
+ +
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:330
+
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:54
+
void ClearConstraints()
Will delete all constraints.
Definition: Hazelnupp.cpp:373
+
Specializations for integer values (uses long long int)
Definition: IntValue.h:6
+
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:7
+
void RegisterConstraints(const std::vector< ParamConstraint > &constraints)
Will register parameter constraints.
Definition: Hazelnupp.cpp:352
+ + + +
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
+ +
Abstract class for values.
Definition: Value.h:8
+
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
+ +
const std::string & GetAbbreviation(const std::string &abbrev) const
Will return the long form of an abbreviation (like –force for -f)
Definition: Hazelnupp.cpp:336
+
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:19
+
Specializations for void values.
Definition: VoidValue.h:6
+
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: Hazelnupp.cpp:341
+ + +
const std::string & GetExecutableName() const
Will return argv[0], the name of the executable.
Definition: Hazelnupp.cpp:316
+
Specializations for floating point values (uses long double)
Definition: FloatValue.h:7
+
Specializations for string values (uses std::string)
Definition: StringValue.h:7
+ + +
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:80
+ +
Gets thrown when an non-existent key gets dereferenced.
+
bool GetCrashOnFail() const
Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
Definition: Hazelnupp.cpp:277
+ +
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.
+ +
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition: Hazelnupp.cpp:33
+ +
const Value & operator[](const std::string &key) const
Will return the value given a key.
Definition: Hazelnupp.cpp:321
+
void ClearAbbreviations()
Will delete all abbreviations.
Definition: Hazelnupp.cpp:346
+ + + + diff --git a/docs/Hazelnupp_8h.html b/docs/Hazelnupp_8h.html new file mode 100644 index 0000000..fa16191 --- /dev/null +++ b/docs/Hazelnupp_8h.html @@ -0,0 +1,130 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/Hazelnupp.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  Hazelnupp
 The main class to interface with. More...
 
+
+ + + + diff --git a/docs/Hazelnupp_8h__dep__incl.map b/docs/Hazelnupp_8h__dep__incl.map new file mode 100644 index 0000000..ffdcea6 --- /dev/null +++ b/docs/Hazelnupp_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/Hazelnupp_8h__dep__incl.md5 b/docs/Hazelnupp_8h__dep__incl.md5 new file mode 100644 index 0000000..a7ffd77 --- /dev/null +++ b/docs/Hazelnupp_8h__dep__incl.md5 @@ -0,0 +1 @@ +5d6fe09e5292b77269845d454a648df4 \ No newline at end of file diff --git a/docs/Hazelnupp_8h__dep__incl.png b/docs/Hazelnupp_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ec43eeadfa0e3926ff2da64e7ad5f431ce87cf GIT binary patch literal 5745 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 Z!{FkJC2ez(VL(F$y^&RcR!Ex!{SV + + + + + + + + + + diff --git a/docs/Hazelnupp_8h__incl.md5 b/docs/Hazelnupp_8h__incl.md5 new file mode 100644 index 0000000..f39864f --- /dev/null +++ b/docs/Hazelnupp_8h__incl.md5 @@ -0,0 +1 @@ +1ce9845c7ab32e24bfb9df598b5bdad8 \ No newline at end of file diff --git a/docs/Hazelnupp_8h__incl.png b/docs/Hazelnupp_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..483b0667386d5fa8048542342ba32d140c785379 GIT binary patch literal 27149 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 + + + + + + +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 
+
9 class Hazelnupp
+
10 {
+
11 public:
+
12  Hazelnupp();
+
13  Hazelnupp(const int argc, const char* const* argv);
+
14 
+
15  ~Hazelnupp();
+
16 
+
18  void Parse(const int argc, const char* const* argv);
+
19 
+
21  const std::string& GetExecutableName() const;
+
22 
+
24  const Value& operator[](const std::string& key) const;
+
25 
+
27  bool HasParam(const std::string& key) const;
+
28 
+
29  // Abbreviations
+
31  void RegisterAbbreviation(const std::string& abbrev, const std::string& target);
+
32 
+
34  const std::string& GetAbbreviation(const std::string& abbrev) const;
+
35 
+
37  bool HasAbbreviation(const std::string& abbrev) const;
+
38 
+
40  void ClearAbbreviations();
+
41 
+
43  void RegisterConstraints(const std::vector<ParamConstraint>& constraints);
+
44 
+
46  void ClearConstraints();
+
47 
+
50  void SetCrashOnFail(bool crashOnFail);
+
51 
+
53  bool GetCrashOnFail() const;
+
54 
+
55 private:
+
57  void PopulateRawArgs(const int argc, const char* const* argv);
+
58 
+
60  void ExpandAbbreviations();
+
61 
+
63  std::size_t ParseNextParameter(const std::size_t parIndex, Parameter*& out_Par);
+
64 
+
66  Value* ParseValue(const std::vector<std::string>& values, const ParamConstraint* constraint = nullptr);
+
67 
+
69  void ApplyConstraints();
+
70 
+
72  const ParamConstraint* GetConstraintForKey(const std::string& key) const;
+
73 
+
74  std::string executableName;
+
75  std::unordered_map<std::string, Parameter*> parameters;
+
76 
+
77  // These are abbreviations. Like, -f for --force.
+
78  std::unordered_map<std::string, std::string> abbreviations;
+
79 
+
80  // Parameter constraints, mapped to keys
+
81  std::unordered_map<std::string, ParamConstraint> constraints;
+
82 
+
83  std::vector<std::string> rawArgs;
+
84 
+
86  bool crashOnFail = true;
+
87 };
+
+ +
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition: Hazelnupp.cpp:330
+
void ClearConstraints()
Will delete all constraints.
Definition: Hazelnupp.cpp:373
+
void RegisterConstraints(const std::vector< ParamConstraint > &constraints)
Will register parameter constraints.
Definition: Hazelnupp.cpp:352
+
Abstract class for values.
Definition: Value.h:8
+ + +
const std::string & GetAbbreviation(const std::string &abbrev) const
Will return the long form of an abbreviation (like –force for -f)
Definition: Hazelnupp.cpp:336
+
bool HasAbbreviation(const std::string &abbrev) const
Will check wether or not an abbreviation is registered.
Definition: Hazelnupp.cpp:341
+
const std::string & GetExecutableName() const
Will return argv[0], the name of the executable.
Definition: Hazelnupp.cpp:316
+ + +
bool GetCrashOnFail() const
Gets whether the application crashes on an exception whilst parsing, and prints to stderr.
Definition: Hazelnupp.cpp:277
+
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
+
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
+
const Value & operator[](const std::string &key) const
Will return the value given a key.
Definition: Hazelnupp.cpp:321
+
void ClearAbbreviations()
Will delete all abbreviations.
Definition: Hazelnupp.cpp:346
+ + + + diff --git a/docs/IntValue_8cpp.html b/docs/IntValue_8cpp.html new file mode 100644 index 0000000..85296a3 --- /dev/null +++ b/docs/IntValue_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +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 new file mode 100644 index 0000000..287f93f --- /dev/null +++ b/docs/IntValue_8cpp__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/IntValue_8cpp__incl.md5 b/docs/IntValue_8cpp__incl.md5 new file mode 100644 index 0000000..ca0299a --- /dev/null +++ b/docs/IntValue_8cpp__incl.md5 @@ -0,0 +1 @@ +a513bf2aa6a8c4f9e291d3f6fb3798e4 \ No newline at end of file diff --git a/docs/IntValue_8cpp__incl.png b/docs/IntValue_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5a94f62938f9517ab0aa980a49432be6c84603 GIT binary patch literal 16940 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 RzWxDm@2 + + + + + + +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 IntValue::IntValue(const long long int& value)
+
6  :
+ +
8  value { value }
+
9 {
+
10  return;
+
11 }
+
12 
+ +
14 {
+
15  return new IntValue(value);
+
16 }
+
17 
+
18 std::string IntValue::GetAsOsString() const
+
19 {
+
20  std::stringstream ss;
+
21  ss << "IntValue: " << value;
+
22  return ss.str();
+
23 }
+
24 
+
25 const long long int& IntValue::GetValue() const
+
26 {
+
27  return value;
+
28 }
+
29 
+
30 IntValue::operator long long int() const
+
31 {
+
32  return value;
+
33 }
+
34 
+
35 IntValue::operator int() const
+
36 {
+
37  return (int)value;
+
38 }
+
39 
+
40 
+
41 
+
42 long long int IntValue::GetInt64() const
+
43 {
+
44  return value;
+
45 }
+
46 
+
47 int IntValue::GetInt32() const
+
48 {
+
49  return (int)value;
+
50 }
+
51 
+
52 long double IntValue::GetFloat64() const
+
53 {
+
54  return (long double)value;
+
55 }
+
56 
+
57 double IntValue::GetFloat32() const
+
58 {
+
59  return (double)value;
+
60 }
+
61 
+
62 std::string IntValue::GetString() const
+
63 {
+
64  std::stringstream ss;
+
65  ss << value;
+
66 
+
67  return ss.str();
+
68 }
+
69 
+
70 const std::vector<Value*>& IntValue::GetList() const
+
71 {
+ +
73 }
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: IntValue.cpp:18
+
double GetFloat32() const override
Will return the data as a double.
Definition: IntValue.cpp:57
+ +
Abstract class for values.
Definition: Value.h:8
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+ +
const long long int & GetValue() const
Will return the raw value.
Definition: IntValue.cpp:25
+
IntValue(const long long int &value)
Definition: IntValue.cpp:5
+
int GetInt32() const override
Will return the data as an int.
Definition: IntValue.cpp:47
+
long double GetFloat64() const override
Will return the data as a long double.
Definition: IntValue.cpp:52
+
std::string GetString() const override
Will return the data as a string.
Definition: IntValue.cpp:62
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: IntValue.cpp:13
+
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: IntValue.cpp:70
+
long long int GetInt64() const override
Will return the data as a long long int.
Definition: IntValue.cpp:42
+ + + + diff --git a/docs/IntValue_8h.html b/docs/IntValue_8h.html new file mode 100644 index 0000000..084ee89 --- /dev/null +++ b/docs/IntValue_8h.html @@ -0,0 +1,124 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/IntValue.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  IntValue
 Specializations for integer values (uses long long int) More...
 
+
+ + + + diff --git a/docs/IntValue_8h__dep__incl.map b/docs/IntValue_8h__dep__incl.map new file mode 100644 index 0000000..017ecc5 --- /dev/null +++ b/docs/IntValue_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/IntValue_8h__dep__incl.md5 b/docs/IntValue_8h__dep__incl.md5 new file mode 100644 index 0000000..d25bda3 --- /dev/null +++ b/docs/IntValue_8h__dep__incl.md5 @@ -0,0 +1 @@ +5a4141368586afbf5f14dba7b0235510 \ No newline at end of file diff --git a/docs/IntValue_8h__dep__incl.png b/docs/IntValue_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..bae9cf283951bfe1e05e2f4b8549d0f0a01927bf GIT binary patch literal 7190 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 c0+U}#(=oj + + + + + + diff --git a/docs/IntValue_8h__incl.md5 b/docs/IntValue_8h__incl.md5 new file mode 100644 index 0000000..4f49589 --- /dev/null +++ b/docs/IntValue_8h__incl.md5 @@ -0,0 +1 @@ +caf40a9d83fa450c538f6eb146b29652 \ No newline at end of file diff --git a/docs/IntValue_8h__incl.png b/docs/IntValue_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c565f064a76ae9ba9067bf9c8169e0a82dcc83dc GIT binary patch literal 8631 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 U*v + + + + + + +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 
+
6 class IntValue : public Value
+
7 {
+
8 public:
+
9  IntValue(const long long int& value);
+
10  ~IntValue() override {};
+
11 
+
13  Value* Deepcopy() const override;
+
14 
+
16  std::string GetAsOsString() const override;
+
17 
+
19  const long long int& GetValue() const;
+
20 
+
21  operator long long int() const;
+
22  operator int() const;
+
23 
+
24 
+
26  long long int GetInt64() const override;
+
28  int GetInt32() const override;
+
29 
+
31  long double GetFloat64() const override;
+
33  double GetFloat32() const override;
+
34 
+
36  std::string GetString() const override;
+
37 
+
39  const std::vector<Value*>& GetList() const override;
+
40 
+
41 private:
+
42  long long int value;
+
43 };
+
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: IntValue.cpp:18
+
double GetFloat32() const override
Will return the data as a double.
Definition: IntValue.cpp:57
+
Specializations for integer values (uses long long int)
Definition: IntValue.h:6
+
Abstract class for values.
Definition: Value.h:8
+
const long long int & GetValue() const
Will return the raw value.
Definition: IntValue.cpp:25
+
IntValue(const long long int &value)
Definition: IntValue.cpp:5
+
~IntValue() override
Definition: IntValue.h:10
+
int GetInt32() const override
Will return the data as an int.
Definition: IntValue.cpp:47
+
long double GetFloat64() const override
Will return the data as a long double.
Definition: IntValue.cpp:52
+
std::string GetString() const override
Will return the data as a string.
Definition: IntValue.cpp:62
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: IntValue.cpp:13
+
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: IntValue.cpp:70
+
long long int GetInt64() const override
Will return the data as a long long int.
Definition: IntValue.cpp:42
+ + + + + diff --git a/docs/ListValue_8cpp.html b/docs/ListValue_8cpp.html new file mode 100644 index 0000000..6d592d0 --- /dev/null +++ b/docs/ListValue_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +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 new file mode 100644 index 0000000..b0c8d9b --- /dev/null +++ b/docs/ListValue_8cpp__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/ListValue_8cpp__incl.md5 b/docs/ListValue_8cpp__incl.md5 new file mode 100644 index 0000000..1d088a2 --- /dev/null +++ b/docs/ListValue_8cpp__incl.md5 @@ -0,0 +1 @@ +12fd1618e97deaecd680b70f119f5cac \ No newline at end of file diff --git a/docs/ListValue_8cpp__incl.png b/docs/ListValue_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..441db2beeaef2bd1327bc771b8f20e262b4bbe55 GIT binary patch literal 17750 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 + + + + + + +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 
+ + +
7 {
+
8  return;
+
9 }
+
10 
+ +
12 {
+
13  for (Value* val : value)
+
14  delete val;
+
15 
+
16  value.clear();
+
17 
+
18  return;
+
19 }
+
20 
+ +
22 {
+
23  ListValue* newList = new ListValue();
+
24 
+
25  for (const Value* val : value)
+
26  newList->AddValue(val);
+
27 
+
28  return newList;
+
29 }
+
30 
+
31 void ListValue::AddValue(const Value* value)
+
32 {
+
33  this->value.emplace_back(value->Deepcopy());
+
34  return;
+
35 }
+
36 
+
37 const std::vector<Value*>& ListValue::GetValue() const
+
38 {
+
39  return value;
+
40 }
+
41 
+
42 std::string ListValue::GetAsOsString() const
+
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 }
+
59 
+
60 ListValue::operator std::vector<Value*>() const
+
61 {
+
62  return value;
+
63 }
+
64 
+
65 
+
66 
+
67 long long int ListValue::GetInt64() const
+
68 {
+ +
70 }
+
71 
+ +
73 {
+ +
75 }
+
76 
+
77 long double ListValue::GetFloat64() const
+
78 {
+ +
80 }
+
81 
+
82 double ListValue::GetFloat32() const
+
83 {
+ +
85 }
+
86 
+
87 std::string ListValue::GetString() const
+
88 {
+ +
90 }
+
91 
+
92 const std::vector<Value*>& ListValue::GetList() const
+
93 {
+
94  return value;
+
95 }
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:31
+
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:7
+
~ListValue() override
Definition: ListValue.cpp:11
+
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:82
+ + +
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: ListValue.cpp:21
+
Abstract class for values.
Definition: Value.h:8
+
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
+
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:77
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
const std::vector< Value * > & GetList() const override
Will return this values list.
Definition: ListValue.cpp:92
+ +
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: ListValue.cpp:42
+
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:67
+
const std::vector< Value * > & GetValue() const
Will return the raw value.
Definition: ListValue.cpp:37
+
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:72
+
std::string GetString() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:87
+ + + + diff --git a/docs/ListValue_8h.html b/docs/ListValue_8h.html new file mode 100644 index 0000000..1ec16cf --- /dev/null +++ b/docs/ListValue_8h.html @@ -0,0 +1,124 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/ListValue.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  ListValue
 Specializations for list values (uses std::vector<Value*>) More...
 
+
+ + + + diff --git a/docs/ListValue_8h__dep__incl.map b/docs/ListValue_8h__dep__incl.map new file mode 100644 index 0000000..cc98cae --- /dev/null +++ b/docs/ListValue_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/ListValue_8h__dep__incl.md5 b/docs/ListValue_8h__dep__incl.md5 new file mode 100644 index 0000000..6b7d0aa --- /dev/null +++ b/docs/ListValue_8h__dep__incl.md5 @@ -0,0 +1 @@ +802f41af52b697b82dc77a4af0f62c8c \ No newline at end of file diff --git a/docs/ListValue_8h__dep__incl.png b/docs/ListValue_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..aee092db785f421264a6c9ad45271969fb5169f6 GIT binary patch literal 5963 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 PG(=qmp + + + + + + diff --git a/docs/ListValue_8h__incl.md5 b/docs/ListValue_8h__incl.md5 new file mode 100644 index 0000000..50099b1 --- /dev/null +++ b/docs/ListValue_8h__incl.md5 @@ -0,0 +1 @@ +1f357c8bbe0826b683d0428f992ad690 \ No newline at end of file diff --git a/docs/ListValue_8h__incl.png b/docs/ListValue_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..32cc822738a3a8e8f63c265d7699345b803614ad GIT binary patch literal 10843 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 literal 0 HcmV?d00001 diff --git a/docs/ListValue_8h_source.html b/docs/ListValue_8h_source.html new file mode 100644 index 0000000..03518a4 --- /dev/null +++ b/docs/ListValue_8h_source.html @@ -0,0 +1,137 @@ + + + + + + + +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 
+
7 class ListValue : public Value
+
8 {
+
9 public:
+
10  ListValue();
+
11  ~ListValue() override;
+
12 
+
14  Value* Deepcopy() const override;
+
15 
+
17  std::string GetAsOsString() const override;
+
18 
+
20  void AddValue(const Value* value);
+
21 
+
23  const std::vector<Value*>& GetValue() const;
+
24 
+
25  operator std::vector<Value*>() const;
+
26 
+
28  long long int GetInt64() const override;
+
30  int GetInt32() const override;
+
31 
+
33  long double GetFloat64() const override;
+
35  double GetFloat32() const override;
+
36 
+
38  std::string GetString() const override;
+
39 
+
41  const std::vector<Value*>& GetList() const override;
+
42 
+
43 private:
+
44  std::vector<Value*> value;
+
45 };
+
+
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:31
+
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:7
+
~ListValue() override
Definition: ListValue.cpp:11
+
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:82
+ +
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: ListValue.cpp:21
+
Abstract class for values.
Definition: Value.h:8
+
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:77
+
const std::vector< Value * > & GetList() const override
Will return this values list.
Definition: ListValue.cpp:92
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: ListValue.cpp:42
+
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:67
+
const std::vector< Value * > & GetValue() const
Will return the raw value.
Definition: ListValue.cpp:37
+
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:72
+
std::string GetString() const override
Throws HazelnuppValueNotConvertibleException.
Definition: ListValue.cpp:87
+ + + + + diff --git a/docs/ParamConstraint_8h.html b/docs/ParamConstraint_8h.html new file mode 100644 index 0000000..617965d --- /dev/null +++ b/docs/ParamConstraint_8h.html @@ -0,0 +1,124 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/ParamConstraint.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  ParamConstraint
 
+
+ + + + diff --git a/docs/ParamConstraint_8h__dep__incl.map b/docs/ParamConstraint_8h__dep__incl.map new file mode 100644 index 0000000..8501976 --- /dev/null +++ b/docs/ParamConstraint_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/ParamConstraint_8h__dep__incl.md5 b/docs/ParamConstraint_8h__dep__incl.md5 new file mode 100644 index 0000000..3833a5c --- /dev/null +++ b/docs/ParamConstraint_8h__dep__incl.md5 @@ -0,0 +1 @@ +8f1eb59f86ed8a0013eb1f57ade7c0a6 \ No newline at end of file diff --git a/docs/ParamConstraint_8h__dep__incl.png b/docs/ParamConstraint_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..164ba47957d757427cacaeade6cf4651febdc446 GIT binary patch literal 8758 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 + + + + + diff --git a/docs/ParamConstraint_8h__incl.md5 b/docs/ParamConstraint_8h__incl.md5 new file mode 100644 index 0000000..e1a5448 --- /dev/null +++ b/docs/ParamConstraint_8h__incl.md5 @@ -0,0 +1 @@ +112e8f880b838c8ff96327d435079d1f \ No newline at end of file diff --git a/docs/ParamConstraint_8h__incl.png b/docs/ParamConstraint_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6c428db3b3bc6a0a86fcaf920812efbcccc1b83a GIT binary patch literal 7044 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 + + + + + + +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 
+ +
7 {
+
8 public:
+
10  ParamConstraint() = default;
+
11 
+
14  static ParamConstraint Require(const std::string& key, const std::vector<std::string>& defaultValue = {}, bool required = true)
+
15  {
+
16  ParamConstraint pc;
+
17  pc.key = key;
+ +
19  pc.required = required;
+
20 
+
21  return pc;
+
22  }
+
23 
+
25  static ParamConstraint TypeSafety(const std::string& key, DATA_TYPE wantedType, bool constrainType = true)
+
26  {
+
27  ParamConstraint pc;
+
28  pc.key = key;
+ + +
31 
+
32  return pc;
+
33  }
+
34 
+
36  ParamConstraint(const std::string& key, bool constrainType, DATA_TYPE wantedType, const std::vector<std::string>& defaultValue, bool required)
+
37  :
+
38  key { key },
+ + + + +
43  {
+
44  return;
+
45  }
+
46 
+
48  std::string key;
+
49 
+
52  bool constrainType = false;
+
53 
+ +
56 
+
60  std::vector<std::string> defaultValue;
+
61 
+
64  bool required = false;
+
65 };
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+ +
bool required
If set to true, and no default value set, an error will be produced if this parameter is not supplied...
+
ParamConstraint(const std::string &key, bool constrainType, DATA_TYPE wantedType, const std::vector< std::string > &defaultValue, bool required)
Whole constructor.
+
static ParamConstraint TypeSafety(const std::string &key, DATA_TYPE wantedType, bool constrainType=true)
Constructs a type-safety constraint.
+
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.
+
bool constrainType
Should this parameter be forced to be of a certain type? Remember to set constrainTo to the wanted ...
+
ParamConstraint()=default
Empty constructor.
+
DATA_TYPE wantedType
Constrain the parameter to this value. Requires constrainType to be set to true.
+ + + + + diff --git a/docs/Parameter_8cpp.html b/docs/Parameter_8cpp.html new file mode 100644 index 0000000..078e35d --- /dev/null +++ b/docs/Parameter_8cpp.html @@ -0,0 +1,106 @@ + + + + + + + +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 new file mode 100644 index 0000000..7376c9f --- /dev/null +++ b/docs/Parameter_8cpp__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/Parameter_8cpp__incl.md5 b/docs/Parameter_8cpp__incl.md5 new file mode 100644 index 0000000..42ec160 --- /dev/null +++ b/docs/Parameter_8cpp__incl.md5 @@ -0,0 +1 @@ +89588e764ed7b9e840675c3b459cf4bc \ No newline at end of file diff --git a/docs/Parameter_8cpp__incl.png b/docs/Parameter_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5f79f28ae42dcffc3945233cba714a3245700c7a GIT binary patch literal 14008 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 Z!0SZp=q(fL!&lJ|Ph_4-7fG7D{vXMS0jvN3 literal 0 HcmV?d00001 diff --git a/docs/Parameter_8cpp_source.html b/docs/Parameter_8cpp_source.html new file mode 100644 index 0000000..57ec943 --- /dev/null +++ b/docs/Parameter_8cpp_source.html @@ -0,0 +1,121 @@ + + + + + + + +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 Parameter::Parameter(const std::string& key, const ::Value* value)
+
4  :
+
5  key{ key }
+
6 {
+
7  this->value = value->Deepcopy();
+
8  return;
+
9 }
+
10 
+ +
12 {
+
13  delete value;
+
14  value = nullptr;
+
15 
+
16  return;
+
17 }
+
18 
+
19 const std::string& Parameter::Key() const
+
20 {
+
21  return key;
+
22 }
+
23 
+
24 const ::Value* Parameter::GetValue() const
+
25 {
+
26  return value;
+
27 }
+
+ +
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:19
+
const Value * GetValue() const
Will return the value of this parameter.
Definition: Parameter.cpp:24
+ +
Parameter(const std::string &key, const Value *value)
Definition: Parameter.cpp:3
+ + + + diff --git a/docs/Parameter_8h.html b/docs/Parameter_8h.html new file mode 100644 index 0000000..78c55df --- /dev/null +++ b/docs/Parameter_8h.html @@ -0,0 +1,127 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/Parameter.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  Parameter
 
+
+ + + + diff --git a/docs/Parameter_8h__dep__incl.map b/docs/Parameter_8h__dep__incl.map new file mode 100644 index 0000000..9780187 --- /dev/null +++ b/docs/Parameter_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/Parameter_8h__dep__incl.md5 b/docs/Parameter_8h__dep__incl.md5 new file mode 100644 index 0000000..a83b01b --- /dev/null +++ b/docs/Parameter_8h__dep__incl.md5 @@ -0,0 +1 @@ +0792589fb3c9949d71f6142d7142a87c \ No newline at end of file diff --git a/docs/Parameter_8h__dep__incl.png b/docs/Parameter_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..67dc0517accd2f884cdc9927629dcc7794c79b70 GIT binary patch literal 10768 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 + + + + + + + diff --git a/docs/Parameter_8h__incl.md5 b/docs/Parameter_8h__incl.md5 new file mode 100644 index 0000000..dd474e6 --- /dev/null +++ b/docs/Parameter_8h__incl.md5 @@ -0,0 +1 @@ +5a29230ca588044835e12098cae44dbe \ No newline at end of file diff --git a/docs/Parameter_8h__incl.png b/docs/Parameter_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..2b19eb5c2dc44268ba55400b29f7f9f1a81869f5 GIT binary patch literal 12331 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 literal 0 HcmV?d00001 diff --git a/docs/Parameter_8h_source.html b/docs/Parameter_8h_source.html new file mode 100644 index 0000000..3e2b320 --- /dev/null +++ b/docs/Parameter_8h_source.html @@ -0,0 +1,121 @@ + + + + + + + +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 class Parameter
+
7 {
+
8 public:
+
9  explicit Parameter(const std::string& key, const Value* value);
+
10  ~Parameter();
+
11 
+
13  const std::string& Key() const;
+
14 
+
16  const Value* GetValue() const;
+
17 
+
18  friend std::ostream& operator<< (std::ostream& os, const Parameter& p)
+
19  {
+
20  return os << "{ Key: \"" << p.key << "\" -> " << *p.value << " }";
+
21  }
+
22 
+
23 private:
+
24  std::string key;
+
25  ::Value* value;
+
26 };
+
+
friend std::ostream & operator<<(std::ostream &os, const Parameter &p)
Definition: Parameter.h:18
+
Abstract class for values.
Definition: Value.h:8
+ + +
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:19
+
const Value * GetValue() const
Will return the value of this parameter.
Definition: Parameter.cpp:24
+
Parameter(const std::string &key, const Value *value)
Definition: Parameter.cpp:3
+ + + + + diff --git a/docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html b/docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html new file mode 100644 index 0000000..3cc2a2f --- /dev/null +++ b/docs/Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html @@ -0,0 +1,85 @@ + + + + + + + +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 new file mode 100644 index 0000000..7eda615 --- /dev/null +++ b/docs/Release_2Test__Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html @@ -0,0 +1,85 @@ + + + + + + + +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 new file mode 100644 index 0000000..6e04e69 --- /dev/null +++ b/docs/StringTools_8cpp.html @@ -0,0 +1,105 @@ + + + + + + + +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 new file mode 100644 index 0000000..762e92c --- /dev/null +++ b/docs/StringTools_8cpp__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/StringTools_8cpp__incl.md5 b/docs/StringTools_8cpp__incl.md5 new file mode 100644 index 0000000..7011543 --- /dev/null +++ b/docs/StringTools_8cpp__incl.md5 @@ -0,0 +1 @@ +4d994ee3745469dd451021ef4507b101 \ No newline at end of file diff --git a/docs/StringTools_8cpp__incl.png b/docs/StringTools_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..e632c77b70949aa165b02062471c2d0e9822854c GIT binary patch literal 11528 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 F{s)4cYUBU_ literal 0 HcmV?d00001 diff --git a/docs/StringTools_8cpp_source.html b/docs/StringTools_8cpp_source.html new file mode 100644 index 0000000..04ee1b2 --- /dev/null +++ b/docs/StringTools_8cpp_source.html @@ -0,0 +1,280 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/StringTools.cpp Source File + + + + + + + + + + + + +
+
+
StringTools.cpp
+
+
+Go to the documentation of this file.
1 #include "StringTools.h"
+
2 
+
3 bool StringTools::Contains(const std::string& str, const char c)
+
4 {
+
5  for (const char& i : str)
+
6  if (i == c)
+
7  return true;
+
8 
+
9  return false;
+
10 }
+
11 
+
12 std::string StringTools::Replace(const std::string& str, const char find, const std::string& subst)
+
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 }
+
24 
+
25 std::string StringTools::Replace(const std::string& str, const std::string& find, const std::string& subst)
+
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 }
+
52 
+
53 
+
54 bool StringTools::IsNumeric(const std::string& str, const bool allowDecimalPoint)
+
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 }
+
79 
+
80 bool StringTools::ParseNumber(const std::string& str, bool& out_isInt, long double& out_number)
+
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 }
+
122 
+
123 std::vector<std::string> StringTools::SplitString(const std::string& str, const char delimiter)
+
124 {
+
125  if (str.length() == 0) return std::vector<std::string>();
+
126 
+
127  return SplitString(str, delimiter);
+
128 }
+
129 
+
130 std::vector<std::string> StringTools::SplitString(const std::string& str, const std::string& delimiter)
+
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 }
+
170 
+
171 std::string StringTools::ToLower(const std::string& str)
+
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 }
+
+
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:54
+
static std::string ToLower(const std::string &str)
Will make a string all lower-case.
+
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
+
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:80
+
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:12
+
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!
+ + + + + diff --git a/docs/StringTools_8h.html b/docs/StringTools_8h.html new file mode 100644 index 0000000..b529eba --- /dev/null +++ b/docs/StringTools_8h.html @@ -0,0 +1,126 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/StringTools.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  StringTools
 Internal helper class. More...
 
+
+ + + + diff --git a/docs/StringTools_8h__dep__incl.map b/docs/StringTools_8h__dep__incl.map new file mode 100644 index 0000000..c2f6e1b --- /dev/null +++ b/docs/StringTools_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/StringTools_8h__dep__incl.md5 b/docs/StringTools_8h__dep__incl.md5 new file mode 100644 index 0000000..345b1d1 --- /dev/null +++ b/docs/StringTools_8h__dep__incl.md5 @@ -0,0 +1 @@ +4ba8b953211065d16127937b8012e0e9 \ No newline at end of file diff --git a/docs/StringTools_8h__dep__incl.png b/docs/StringTools_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..91c51dd3b89bb23d79c7b26066c8c9a088ec40ee GIT binary patch literal 6481 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 literal 0 HcmV?d00001 diff --git a/docs/StringTools_8h__incl.map b/docs/StringTools_8h__incl.map new file mode 100644 index 0000000..31b2cdc --- /dev/null +++ b/docs/StringTools_8h__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/StringTools_8h__incl.md5 b/docs/StringTools_8h__incl.md5 new file mode 100644 index 0000000..7975647 --- /dev/null +++ b/docs/StringTools_8h__incl.md5 @@ -0,0 +1 @@ +67b004299d6fdf50268756d41946bfee \ No newline at end of file diff --git a/docs/StringTools_8h__incl.png b/docs/StringTools_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdea0cf4d418d3f344ee62d758435b825632146 GIT binary patch literal 8293 zcmZ8{by$>5-1Q9-D-9CTB`GZ+%@Wexjg){$Nq0y*w19M%(yY=*BPl6Jm(tx`-}wFY zzVFRm3m13n%x}&)Gjq;HsHw}Ht}eaB8nP%{IDgQ)z{#nI{ET*$@lCdA|LWok zYsQUi;k7|590@!q2#!J|GKm4F!D9>JfROQRaxnwpC}f++G)R1sF zMMYuPO}t41CvpK|C3uii_H;Dfn#tzJpn#GqC1MGPnl_H z|LpCFDtJjuLroC>(Z$8cz(D68CkzaX_4W0PmySJuoCF00TU%T2I58hT=H}ws+~1Fl zjUDdm+uYrq7$2Ye?okyS+zADN-kxlXfP<5bjpC(4W=2LvULGy<8kF1L-yaPP4GO%z zzRn4_7i3|Pmz3=6=rG%#Z#-CP<78*o*3ofybIanlCu0pa6M|@7yl?^M*ue>H?Qk4Q zN%{gTZ0xaU9BMHmEiKpE%cGUvIMpnnv)!5Me|5Ue&!^+$tP+2?9q;^in8WPJ$;c!n zCB=L%X_%O-t*qRxPq)5%94II%j_bZwR8+LIv~+ObfZ9RnN3ul|5)z~eFE)m=gdabC zJTx>kJ3Gt4!I8+M`Z>i^UH#9WKiqIpn5Yw5pmHpwaB_M&c-VMXI4%Y3P;pL^Lw)XEw=r~+h5{fD+?yj!QE*rzgYd=2(2Zv#6 zDk>?})Yq%Z$#L=Vot>T8+uD)}iGq$VHhb~#@UXJ7>Q=ejj!eFD5ljmn= z%F4<`wO7<)z6}<=u{Re78EI+U1$%i?;b43n=Np`Nr@!W*ui{XNOplG>Q&LhA5ow#6 zQWFyLx(dY%3=DwJ-&<-E=jI;k@3%!PqLd}EAmAiig!PU~{CmA$RCCab0()1ORI{7i z_hwT#P0v+TRaE>>H`Se-5XHqdetv%5-c9xO_4)bvfD(y`PvYg+I61$JINV*IX?|A1 z$H&)i@pc3CwXj$j-PYIF-`d%Uiint*ogL`!x3aXvieFq@G||(uv9bBD>kk+yODn5~ zlbi=VJv}g#OroNG2)6Qy3O6^mBTqDU$tw1ExxtYU4>z}@_;__N@~*BFO7Fl~6O+Zo z7N6cYYEDkhgTH?hva%MYrv>!9AABC81b_Va5i|~gKmeG6CU&vuRVW3ax}$`dFEqJ5 z3VURmGydxrV1mB7`q=pRBPf@z4hgC-z+|w{Lm* z_|Pqx=;=TB%2r@P{j-wXG z!NL-8+y2zrD&|Lge0=<2O{L0SO6o&#F>}Stl4%Um#P8quu#m@37;{aNl9G@h@U)he z7OZj5ucbC=bQ}tSfO}s%yRziu$tJg*nwpwabw@5M6pBsc>Ac3qtG;-8z>Rc1yJSH3 zy}A0aSP053EPMtq15N>fu^9jlcM_Oi`0i0uSUBCMC@mfGrnQDq6l2@SCWnMgk4xJ7 z&71Yxs}pn>$&)9B)o+x2eSQ7?0oldw=BUEExT{Lb%ino;c-YxJ-$uPIw9?gl&vaOR`jGscs2UfW*< zvT;H}LT~Nt3i9)>A3lMRO-Y&h{hNq{MAy``&FN2P$1fH_1r?RyX0H=4C1GRVobUOZ ztSkHY_*h$8YiMXFD-TVSXd*!?Ju%OpKQB;Y-qnu!_U&6`rGvDzG=Qp`+ZoVDwC@_~ z>dt`JfbB6cF#uzrAK5Rghk@3hD;@+K>`YY^6cj{A)1@hW)+hl?&|)QmoQ_xJRaI5b zc}Xl^KM$m2R7ynviqXr)0%n6gavIcZ0;PfiPft(7!ou3y;j>Ab(SdDk54Cnvpw#IZ z8GO9F{PwfFZw8+-p3FA7SUWi#UZ3qGefp$RWfFsvR8VeE%PJ&9MtLRfzWcOdOEKqu ze?b@sa!nBX^XGOz*mfo>Iy)sXLIEWuGn^5%wW40ft69PxHMO-fQOGcGU}G=T*d~^j zmjldzF+zWC`}*~A+6(JC$EDb=KW|2|_jY$hT!pax{O%GG2uw|v!otvqh>}2S)z#Jc zwL)`Y`~FBlK|#JPdecC(K^?{KPM^HkvL4AMA|`fsa$3$0rV$nvW@cvQ=8n%ui$!t$ zipUkkN6^#YHG7|7?4d^Umz0!nnlx{2Z?m$q$3#Zv=O~06lKs2DsLel1n3VMC(~$7+ z@Q{#bO5w@rY0v+>Bw%rnG1NvtNjan;IhR@dUM-@k=@ z&P{ZuehzN@-S+l6-)%8AZs{`d+M7K{WF##q5ky60sI7D7&OvnyuC;$pj%1H|$N~!% z@iV}qxCQKVSdpQ}jaz%d$Tj^jJeyvYz;WI)DSf-Fn7PZ+q_)FH+Oy)Cp|Vgx&}Wbu}5|}m}bc&oERybxY|1I9Uye>=--wSK^mShBtj<~Hdk1n$*B$iX!KRoH9!`OOu`W?S^&r8bw< z)dAoN^79*NYA%kuT$O5Lxzhz5;_2Pc^r`t?Yprd1zEXFtO8R|JWs-!TrR6=1|NL3i z%S+S;!}n%Vz&7EaM6F- z(tEZ0n1!QKTlYdJK+Nq~dZutnY3cUWl?xyF#rnFx{`d2m{J)Frh8)Ss-$uQHoUo_y zmjz2p4LZB1dwbs4+4OmNRUm3II~EBUlOpvDa~R{9<>ehvkZ&}_wOGG-yP*WrT=mOt!9WN>C`Jt z{7A{tqkC7}5BMp)xM}Ipo1o~e{r&H*ETTL-sNs)>hu_TAbCL-s&)B1ew@;pn#82O@ zM!fv8z9Ii?;F}fg`}YaX&fjI88iJ{qh&1iEmzuLDF2%{^W-G;X{qK=4b$Ng9>jf-) zqwDLwsVeL39dsMpJbR1S?%xYdNk!$m*@>DxEJ4hTjiy>!BIXv=f^-$7r89HFDzCb` zCQb$BR55G|6~)EF~~7ft3QM$$XE*SJ2W}D&>KG zmin5^KL?K734hRFKmYZR#-y3q=qsHT0NvQp0JCy}xPN9<;c9mBxfgFpfu$wkbCyPN z&yT&%{hTI*>1mX@+GnTdv1Mg;D-FIdDKL!WtLy%v{M-@e8e-G z;t=o<7yx~_a=1FLz^6Roe<7Tmdg)$Mt*FXLR&*{X)iAnZ^Y)ra?QKVJ?vEe!TC8rT z#{~aos1q&S`jAl3*q9+5-ITL)lYaLQ&Xe2%S5R(sbwgRcf_niW6R(SX!?&deHqpYr zXb3U_9`5=p3}?UDoS%MdNanMqch{ri=l9_?|AG- z@Q*^2K07QqG`oB$3HiayAC2DL(O`Ujxt3BqFu;f-Lx+nEh<)(DSvt_$YowzSjCtkX z3mPuA8Rk_(%0`mHprJ7@wt2tWAHFg2rKs?-xWrlD$A9vpXL77HKBZ$t@R%f?w)=OSKaoyT!_L3bF0J{Mlr3v`dp^R*GTUZLcQS)V{W?6!M zes%Rrp5v0bx~0LiAi$^uIj1s7_rMA$SzeV>$XDQK{0l2)6zR>mzWLcT<&_E*#f0VF zY+tL`G3)SMoExAifrKxmd{T&2q%V0!z_i55N_DVkw)B(~ z?(bhzT57GN#5fsAqs7X{eY7{!{_Yf15p80kCR;G^{hjyvkBAi`po#&!>_KxBo~6-yj$02gEhRwDjejZ%iPw3ka2rk?yJjKa;8>~1D?uPmppMTcSXU$ zrJo3?xw*~C-OS*sxVHTXi3SGmrz-c_4N?NY?zZJU!^*`{j+{bd(|6A5+N=+IC>SF_ zZZAS~!Lzov_cz`H_RP23$jJALinid{y$YjyQ7tXsf4A83Qt$aO=i9di%`Gd8DyMqQ z0;yk`+){x;KJb#LX8TSrEY!R0NMGkmTLbL5`TTdg|-q-HW-{SE6s#oMTXtCTMXk#kYirn92{HpQdwFhk&)Yh z>B4(ki=mv)eDHiPg<8}b7vkcd#CiNx(C2)n#peJ>?MhYXS7qfaM#hdZovnjetMxUa zjBFDWNbjrpHFdzWS;cG{-l4@XN;hh=-wnIS?NK5Vbxcg{#a?wLw*}oK88${RjgZid zq2YHVNKz7o0!KDat+OjYzikoE?zi6h`QDU+!^_an$Il3oB=eA=!lGB07{Q)S47iHD znd;0F2XEdS`7q14xkY8n4R!dlb5t%go|G0@d1`9P`rht0G#EGE-adj96t+hk1Y&Dsq>?^aVEUs?z4wajMN} zGZBEUCmZ$881{@CoOl=&zDeuoYz4l=3Z|hJCm0%3K|x($if7hi=@GHyIU7u~jv_(d zSohDOfcAcG6ZT`mh zJ5^&XEtX23R@rVB@NMjN^jn1T%gbXGUb(s@QHh_!o z2nw63D*4L#*yFrjSNc6ye{p!sC@3mg=(a<*)Oy!*sEdr`XjK%jK3HWm8HxRr%H{mb zZlyEyAy2Is1-WDJ-9VAzxv!-G)*lO!(Q&EShNJnp`lUY0)9(Mi`_A|eQw+VZ*5EK! zNQuXH@!05wEt#cp)91FfW{DZg!NeUhf2{qSvmVx3Yt>;pI^TQgb0eOfE<{?VzqcPbNA&G`6lDLQ^fY|@3{NMU4_=qQQ9sIksxahy zWBKX!;RF|klG)tsYHdA|$}L%0saXF`zdg=Qven-{^W_1vpAc1Cj;P^XXQ=)A_Y}e( zJhf~c_FdmMogZ6qCk?c>fBWXYa_LoCfS#t*;`V$8tPF;S7s2aZ6^klvuG%^xCkNGi zHil5lM=D>fW+_ zyn0n+R!D}vEKU+g^Iw(Y?FV$P(-tcfiT5sT$7hB65DA=S`PHjlY1z5GCC7dbKNSj` zjos$eSw3{I4ZK&yp^6JQi}a91L0?(;?wBL4n<$4>zJK`V$K_=k_t@Lj!!&IqC^&e3 zsX1*3@eoXtTUog`S@CY)uAAl8cvSytKy);mMk$-^VK;3A$m8@|K7wSnF?q$4EFtaq zb<{pf1#fTKI)kr(yhunM=+wHBBBBh)2si!N~Kzx|o@BAF~q;?9*lAD#3PK;0;zboCbm}?F5z=Tk0hxAKs0F z{{^*b$`sK(Bj}zy_XV({D>dP6^0}f!gW-3 zZhC=|c{*CWL`1&{Nv4uNP551FX&V?!&CHaw0xcWwLu^*%n=)bg7#qp7(+%A)}F;$g|*te zv}Qd&BE+$t#+8(puTJ!21M3Hvs1*3!RQC1@lapxY=Pt7J!y(n#eyhaqua2V?Q@&|w z@isKx$y=?ptC`l3b{fpi`3(Hbkd}st-xs%+>HI&^2ec*# z7GgR!H5C^TL7Ioh(HPk1vLPcY>%zndt`wngK>{9;Zlw|F?o@d>8#+3=%3AjgmN7Zr zn?N_Y5u1s}yRd&@gD?jT9i60Z{!0R_}7#SGOR^r6P{BNHsGZ91pmmgFLR1)}I!0QJF z8U-t(buOns*AFv0;COWn4FS_xSw^Pk*RNw>f)z6Z&kP7l?+S1LVyQ$GFy|+xrY;T- zx%l~$KYj$EL;vtF4mP&7x_W$aGBCXhHAt(BJ0kn~`he&3t2H?#Q z+B`mWLxz~y*a`za=@mTWA=lQ{0*^_GT0{+G8*c_vfhWJezYi>Q;8^Buf%E~m*`JO1 zEqbDX-`ebZm7v5(596^O&Ws}A{N=Bqtvxh6ybpXZ@6+PuW|1U?S9q2k!KnQF{J;q; zDk_qZk@**2m^OV-v(wW|K^MkQ$vk5v z#>Ay&uNStz3dvtOj5_G*>IU3hyZQKh&&tXwEL;Ui0vS1ZRAeMD4e_X{#or-mYH9+{ zP``{&hRcE$lpH|Kap~U0)fx^DOiLrZ_Cf?3>g%%`H5>v@5u_Bros*ZBhZ$3Hm^4q% z&u7X#^S?PCnwXfFpQli!R;!n4SGJQtVF6+WZ~%a` zCsu4GNwts+KqPo%WRd33P4%$H45bu6dqWNWX1QcF?qOzdi(Or}6IHS0Dn;B-GGMF^_M#LX>x3?o{U`Yzv znwlU8kU--Um?dWB;Gm)@44_O-PDX|Xe*PS*0)YkuX=!WIx+e3Z%-1A$V08DG&MXmZ z?nU0KlNoS(E52@|&&|to-kD@~baVvZ_wl)DZf@?V)Y7KpRZ1W>Vqs;)fIu|GNDu*X zJ>c)!G<{|qp}ZPEEWewO@$wRc;QIQc#v-aTcp%*wb$<^MsB-=4XV0EF34o}|@FCS* zurVOEl|tCP9C*wP4FY?19v&CPgq|qVGcyYf&IKS8WMBYLu-cogeSH`laCICCr?IiM z#im67>s3xp&e)jpPRRDxGhX~Vp^zf8ZoE+Q^(u-^0yOvo^Vd>VVGE=(oeFOdrl_dI zrlrl~zls7rIRts$!qwT>J=Aq{_Ca>!cK>t0)0tZkAj^RK?c2AWBCUCOd2LK4wQsfU z?JFuO?BQ^@n;Tz}0yZWled3i{#0?xU8&9lbP^TbSdZF zO~CoDG*8;?-kdo3`%j-f-P5c zHNXaFCa~Yfd_c8ALqn^-eFI5PgNbx(Q143pyBPv}eCLf}N^k|QGiWGq>I{JL&IMeb zmekgs{q2srI9Nh|sFVW6{i`TqL1AG)9bGN0hNh-UqekG;3&CECt~m$+V1&jF}0;`~i1oQ|m(+wok-A938F5LXa$f(DHv2*$luf z|6mw)7#xZ~sv&OgBk;6o+XL97rOgAQ4nm`=>+9L+>DLwbD93kQQe#1iDICgja%!5I z)ipJ|FJ53`V|N?S!&Yy?!wrytYHXBja=@hVmh*HV6y!f*|2w?~wmR2S9O*BjSHX34 z{46ZP6ciJalRdJiy~JV_%r@*;U=8q8*qzND`;jRP14DPbc#>vvM>UwW0sP!o-(L<( zUO%cp<@$!wDyWHv92AY_#P+`ecz^6RPVnsjoPXa1zzg~}9ZKh3i6d2>Tl*S|AA&QG N{3{jdO3By3{|~?A;zs}g literal 0 HcmV?d00001 diff --git a/docs/StringTools_8h_source.html b/docs/StringTools_8h_source.html new file mode 100644 index 0000000..3f3d1a9 --- /dev/null +++ b/docs/StringTools_8h_source.html @@ -0,0 +1,121 @@ + + + + + + + +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 
+ +
10 {
+
11 public:
+
13  static bool Contains(const std::string& str, const char c);
+
14 
+
16  static std::string Replace(const std::string& str, const char find, const std::string& subst);
+
17 
+
19  static std::string Replace(const std::string& str, const std::string& find, const std::string& subst);
+
20 
+
22  static bool IsNumeric(const std::string& str, const bool allowDecimalPoint = false);
+
23 
+
27  static bool ParseNumber(const std::string& str, bool& out_isInt, long double& out_number);
+
28 
+
30  static std::vector<std::string> SplitString(const std::string& str, const char delimiter);
+
31 
+
33  static std::vector<std::string> SplitString(const std::string& str, const std::string& delimiter);
+
34 
+
36  static std::string ToLower(const std::string& str);
+
37 };
+
+
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:54
+
static std::string ToLower(const std::string &str)
Will make a string all lower-case.
+
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
+
Internal helper class.
Definition: StringTools.h:9
+
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:80
+
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:12
+
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!
+ + + + diff --git a/docs/StringValue_8cpp.html b/docs/StringValue_8cpp.html new file mode 100644 index 0000000..2c9f29c --- /dev/null +++ b/docs/StringValue_8cpp.html @@ -0,0 +1,111 @@ + + + + + + + +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 new file mode 100644 index 0000000..cecdb13 --- /dev/null +++ b/docs/StringValue_8cpp__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/StringValue_8cpp__incl.md5 b/docs/StringValue_8cpp__incl.md5 new file mode 100644 index 0000000..c059726 --- /dev/null +++ b/docs/StringValue_8cpp__incl.md5 @@ -0,0 +1 @@ +ba78d6fa329f3f88ca5a096174459af0 \ No newline at end of file diff --git a/docs/StringValue_8cpp__incl.png b/docs/StringValue_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..03913b0db36a3f75ab436dfbf7c37f0c3ff1079b GIT binary patch literal 20145 zcmb5Wby!y2*6)8)f`D{)34(-lgEXRoq)1AugaXnjN|y+TAR#57Qc6fjccUQPASvB> z#&ZAO-+ABbI_HnG_kONtqxa2PYtAvp9OLu-&J}u3UF8Zc4K50Wx^hcZQ457a7e}Gc zuy8KHpP*Ikv%|kGncr4XL|q{N{qQ3v7KLI$-BOg(aZg^GaMK~P8N0M;``{iYIt39H zUI&!w`j@KDdwP1zRj!E+v;X_$ zB;j<(J*fV-D|a*wnfgUqv_^%}XO7Rf=Db1fBbUxXQ!Xh&iGVnd?&;H~UkuB6hc*jq z&uPZW?605PThV#;QGbiXQc6NVVQglcBf${e?4Tfrv94t`L*tets(cCN|d0!UBVlk#T8d z#eA+Ma`WIII46f=e{F>IiHw_@n^CnpaeI5ac#w*+^6dWKv89o3IjZfs)#kF|idkiU zx)NVbPd`*;BN@om#E|yft$WR^z!alOL_&hj$e3nS_@KsH+@SPHU`dIP-Dt_>1U^$` zH8tEMVcVd`zdoibN78uk+U_p(AD-^?Iv%VWOSx~NbU*7g59De0SGw4u9-N_kcDh9$ z4Spg=G4b*eoShuB#;~e9eE876KU1Y~a+1MqeY`%FL*t=?Llmd>#}DvZ!;UD07*GW! zKXARgyx7>-reUrQXM!2Y=()=rCJbU0S{ePC8iNUoE!#=BAAH4(q!n#B-diQ_{O)zY z%OK+&^5C1b*~R(UGZz=#AAVNV(%j-xJB6;{QNJfsw92Sk8J3q+==YR$^v6z zh}F|%B4vDzuQ@SFdyjj7t+;^d8* z6M`$WB1ljL1OycMo_RKZC*@Fo2rEL&bN8Br%ZkqY-YJadhr+_>i7GdX{tP8C=RXm% zE+nCt1qB7-qlcE(*0V5!&zzkx?rq9kkIGnY4aB3Ig&EVYcIV$;p9qJEpV_Fr(2KYj z@KO8}hy;8V1~x(6$cT7rFHG`Ivfl06cvonIZl=ljJX`39H=5IcL4k=j-Pee_jpZmPy79Gj5ggUjmg*Q#v#rBBE|-7k!~I6tU` zC}_^Q75i-YXSTecySw{`Te0kYKRYhwWNY^#!onJ01o*8w$f#&(k^7*MbhV2bs;sPp zaUSC`R`Q;M?QIL(1G_*nSo`-Kgyt=Mp>z!xvj#>dBl`nH8m+JrSCXeqabf_)Lfi4GdiqyEK`b|J+~b#FXTRk9r>lN< z`ImDFCybQR$^PGB_bqcpWn~s=Y5I%v6TX_WeM3u2OS0?HrKQ5^sZycy^Oj9bO?5*< zqC-N+vV>I^laz$(=jYed+?=iuOb{5A&~Axy`Ld>wUTAc5>v)B;HQu2uk+c}7PkQ-bMMXE-EWeuPYnZ?-_h;QA{bF22aryG)kf^8@_>lA6gb9?# z`RP$naq)}n?5q9_2MB&$EcQT^sczT*|SpLx599>XQ5cR-D2bOEG+lC3UEeIsyQ&3QduglX2JtBf2 z3PLg+B&x3d!$WQFg9$f?6s${x3=xoMGvQed52pN_?L*L4S_E?V1y}j-Oz2_{&TTbM} zF=1mB&N;)xWXQG&dEVk^dm&dRkA#k%-g!bKnXE|xmteJ#5=>xH zC@eH$;>TejQ%_kF>#FY?1ZkO4mY z=geF0agL6*^!@twGS!5%sdYoi`p>GCajMP}%nB*;fP2*{_sJAl`e8-AeErsyk(0BW z2`BMt4Sq((EYG~6q7^qA8-DGn6N61}P=>?A6Dska#HK!0gwj87vn$69NO=sHOf)@vNU;A2U2iQc^D)D%37=S-omE?oKQrp%p>Zk7m&#R^L~omB$l% zjS;D_)U>sJN@8NZnjSKJNyKGT?#PPX{eGw=S2JpJ^AVQ4{or!coi4av zCnt%rr?n9-t33+rvGtvwG1%{}V6w7G_Y1_d;LaoS(7e0;#U-}yYvQ6InJ<8ztMHuY?7ulWBRdQlNk;g3iGotZm5ty)??i|q~dieqD#8|z;DypQ6mygPRvtlj$;|C(}e*~Ol~*~PTpnd7}@Lblc~$gf}eWaLHbl2d3( zoT=j0bl-HuqBr&77ehA+uY*e#eN0|=k_M=SpHPL-#|#i511iPFkz+AcBU|h^hgIz! zGdS5Y<%dp3Pa8&mH*I*1;eI@t@whTaVp z0*30)Pr7^jo+Yfxkt=OgK8hbdzt>&Er`;DvM?Y`qh|eJ++N3-_c>0oBu(G}@qM2YJ z8d;8pBY*8h?2j=Lc%>D8ef$I2jLGxB;W9ma-tg8E207OwWDxPG`Y6uNne{8S$xhD{ zZalnccqi@rDvUCPBugF>tbLvJtgNiLgQ=$t5C#p6bA2^F7NdrL44TR_weveOIaY z*XR3qUGMs@?5*fh!lh7fsjRK_$;gJ5NXlnReN#6?em6qUB8y-5(^5Enq)bdy6j^Gj zeP5N^ZKdL!X3FpfYefIPmJaiKzd)+t<6Xb$u0*e*;=I5>ypx7s->z`!&8wt+Jo-NT z;Ky-9#&Dv{*=>D;q!9WT#X8oM5TTBfgG90COVAd%5kxb#W+()I*%vXc9KOjC6G9)Y zHqzSMlO$|2Jzs+P!?U!m8KY$n^;OgbBsP#W~}^h+B6pm zq?+RnhD;U7uiwPbQI8(q>id>MZ)9xmxHfFhZS09|>Rn7#P*Cxz$$#2#!i}bEEVMyr| zxwbE|I+WJ>5}U98W8~E`d)nrGk*pHJ@D%4o`Qqoxm&GLc3b35hSj0=rNPfwzY7_IS|V-3=pzT>-oC|zh(Nw5=Eh6b`8MU|!TNP1 zWmtEwL|J!pH$|yl^+&G%Wph&uavpV+nFmE7m=0L4Ue!;XY*0koyp4W;Q!qNZ3I>=CZ2SI9}mEB{j@YSxFAzMWe>j z{$TBkkq0g>@8>?`+g(eS3=JtHS3;0$zly-8Mpn}m+JI*lzCxoV#Z5t18v8O;oFO}# zw`MxAR1GhWmR{yH_6$)9kE(CBx(X}Yyoc`o@W>#sBnvrm2PA{5L!84^qEzoiO&dPn zZ(o}HLH(A87Ru077>N#XmDZqV&+S5PCon)~VX@S2K@PuT_We_%{tT>edKYAAD{k#R zmO>J{v{yiSetzKj*_e3)rp>^o<{Z`7Cr3rY55CTe85w^Iqi0NG;BL{SgUfPh!-FGh zDvGfd123HGonR~ZzgmrC^JT~H75U2VMc!_1Ex+iMEvJxVSa^YCf=YO9 z_0&`Bni|SyJJy&w+8ip#b@v9X_U*QzrqhBo~-)yQrCMfsa==s^u zMd9#r6ahU=7=1MIxN35WP1o&4cd_@^uLMD$AX~uUmii6RLKat{43eR;d~$U38fEyt z-WM?#3_m4!hIc}Ff|aiJEUwi~|B8!ul5VLMzdp)to@|JkIhbJm%JB4Q;w*KKu&SxHZSF~b)##)3#7woMN>08c1Ed$JBS$= z@;~Hv?~9lpE$1|bM0m$q3`f#xm|0l`aOv(k<6msGPI^D_;yhd}e1>EPo1Srn)!%R5 zNhLO`Q{&Ai!hF1)pMSnKcEI87!^b2cftDgUHr6@YB(GktzWxis$a;Ki?{B~^Y8C(5p*!5m`eeJDelr1tG$KORtM0w(>!Z~F_6I+T;YTDab@P>h0yT2U+A~)SdPx!a zy_HK=aXNp2dvQg>Fiekp8`A$?r19dHReAY?@^!lND4 zH9y*pZR?6#5U6~x3kigV=ZfB@bZu@UCCH#l!rhuXxT^q9fgI_U81fHT)XS2kMw zrwaNA*X!Km2gS2&zK1hJ`)d_JuU-vE<=nb;tF^#*sIPdAC4#D$x~0Vv;=un`j!ivm z0C;r5{W%)f+bp-GS|8iqo>?CG7(v<}Y-jhRerO2Krne`cw3M?Ydg=wQ@!OfU7{kNE z)5fMyDE)o06R}m3+poPP=XqBiR9o1=?-{mwi(wk26%V0`aJk3o|Wy2vjCwwwgz@;T{ zJbZT24`u1j;ooxFN5g&ir0imuuq0JAdKEwGO|kOxU%9Dg`004>?&jFjSTnn>&StFX z1+I+ko9wZTW0EM?wZ&`JKIsb9b-$mQtACj={Cx|Zfc}^kwo9|6zFvN(EQ%t9Lv z4b3#uX+e$UqwZsgw_@pNI&zLP__`?P-0dCJmd6 z3^k8|H+JIM#la7qPsmnm4mCMkFwkRj`s(j5;x8>)9avde-Kx0k?KzV~gjH_V4MFvO zOc$E50_=K2`C&lr;eK)#FqfViNzw6&G>DhZ` z7J6vVNKx{Ta^@h9VE-g_qxgLyXX6hqO)9Zx7*JYvilulyj8Vu+M~cHfCeviui>Eb_ z8VgQn{r#a<$q^k%IX1S<8!(}er?*8cg2{=8x1gpL07~cV?qT0h5>OTaJZ;jGb+-nc3Lr8iS6QrKP{wHRN4}(uam!WS?hzVu(dZh^u$?kg>BX zZl)m++x=9m4F6{g71#ZOSCDm4CJ4xb(^<)9LN z60X(iaOn23ad0m;(RBL(<9 zyp&8hNImFyagO)Ba+FJ#?(z3~0JgcV0!GBRgiju_Q;o7GgP#N*LV7I((F{MaW<@=Ea0e}f!hdVF%^_?v*8cv5=I5i<``VNgde^_Bx=(ia zdeyw9`g3NyYEL1ucV$n_S+uT5QRHPoaF!ly&L{wrsv8&})BU9LB0L-qpkWr(6wq(G zv9kQWBTQ^;3n1iI-{b+br4q5zPn}CnN#TF|GmGQ_!NTt!UT$~Zi|`CR1K1rmRHFeH zj389;&FbRX$TxG9&YeT2)T+)i zOG`Kk3JN85BP90=jN17x0$M2NK~Kol%v6pN;mTBw4EXl#+w4pMY-{f%T)4P-cr>%s z$RlV)34qzD*@p*wU2yaE_2zDAX_@_8SQC(!$N6L+7mbgPuiE#_VEONR%Ddhhg#eY_ zzJ1#_G!&ef$?7m!{b1>PhPN_BSs~uZ9r*o?5!8aya3>fThypO(D|^utMt=RFnHd`7 z0^G*pl>y||cQkpzGr$M5_o=k=R6EZq718%u_d?#z?#t$UJ83$|ALuA%US4(h1&3R$jDbMFIsYW2rt-df_in!9O=2SFc(sRi zQCS&<>&9e0)wv^sv$OL|SE688ZJMkfFN$cg+JhA*fC&}=4lggSyuSXs*YDn4>q-{a z2F)svDYkuk+%+&iO(3kYHtdtw&c^Tj_cuWFFlrntwdLqala(FXJT1Ejh6)2a9k6D@ zSou>dxoh5rlzaasv9y%@lTIEBCKlG^(9qBZV31fao6I62dU;z%_OW(0J;}t7ths^f z;=)%cVQQEaRaCCGR8>{s(Mvohf{^0?1x*QV8Vzq(i9WMu|x z6&jerSHO;Ofmh4lym>RGO#9BA2qH4FxS?F=t+TYkcCsm`sX6Z?i)kXG{`~oKNFUfU zupq;>j_B*~D7f4BxeNI|l3&-mb`G~#in`|iA`p4xf+ z(OF#fCnW-ZDZgzlr>{QMXWt-B?g9|j@m{|EEkAtQgamUT3~=$E`L;n&5umiY|8F`7 zr)ojb zOsd_}2lmhOZ&e@Y=C@tO!z10@+uMF`meSQPv-XVLNdx1K%>WYk`)Dx18M z(^vChAk=|RYmPon$DgUnDG~79j~Nvd6>Y6_S>1#bh~Vwb>H5vx-L9P(SH@3}2Ge)W zizHn@4nf^CFrdlE$Uu}x0M6H23?DpLaJSDlD4kwe2?M%~-d3q2{Cw%&((*D|+X_Vu zL?`53e?^vh&^dN|&ehC7y+yOM4_~`|9WW&15BKBU$1y`16AOdqS;kea;vY4wPeA>m zk&%%R^F0*<6psoi&zJS}djOYeGaNpwE^80om;wcbm4yYJ$Drh9j(Q4NBYXunPbUlz z^nnMzje2mw-?88X zqFcIrATAC80q<^J3&?VizOR#zkO1391IfPmJ0$D6i3xg8vs>XGkdwk{&yVpK7#LJF zG_X;iPb9hhI@K^6lZ6OzaBzVB#k9Z1=Y+0M*V>R$SMEe)Ea(dDv#nVrL}lts;8U@* zWRsGTieoT+jfF=s4f@A$u?04m0bW8)GXvQ$Y|q8nxe*DJi*q03F+oFtl0w(hkSs30 zXzo`>2QIy&Yg1DwDKR~L=<4p)gn@ zlEoa+L1qn;#8wNat(Ao_xmWA!^S!dN;ny!x)V=hE3t3D}kdQ4}BIICqi5hEJ9sC@e zeLKM%_Qe}QLQSxx_T^}#p(m7s4FFbp|#a?GB3q-QqeDu%H!XJa zsJAU(-^EepSBGMZ!2wbH*Pjk;21)QucAY#er8O!mHF8=8TNXn@L%{th%?y0(x;^`x zI{7n>9(wm0E$m}#xmijVHZ}+$b9f&uB;erTy#!CdB?7u@uG}mv$BY2`xjsU%%5>uf z5h7+oRR!Vr3bvLI`tXpD^I#jNkgz;Zv4+c^rVaDw(tU?daYRzaa@nwUw*ox*pQSVW zNb_GJmWUL4eB4AaLtfdejP2*#LtiFcQaU=LjFj*{90CF)pkrs((7EW{)0mTrRp82o zGJ9#L5UvsTHZdEBn6pTr@S~W8Qvbb;XZ- z`1C0uHg>RpnI?f=e|2Xnacd`v_LFkPowz- z9UIjWg@k-XXih*=lMeK}@|nuQ z{C>WLB#AjyUU=`4Xv|lCcU~2Mwch~@T=f<_PkXEzE6-o))6?n?nXEi9M}Q9az1^|b z#y!ZNPSsqG@gN~426~yzW9W)b$tP0>!mVazkY;F)*U~*~=-5DXP4WVM`|$Ue@>o*h zcuZ)xjsWNU`uJB)ULN=KRQZE^;7`8+T1jj+7A|qX9^1uE3!G3}5Z2T*npx|8y%M?8 z*n<`tqDBx-mm!7x#b>>g77f`wxhhvZt4cdp0#!vF0Z>bQ*tod~VmUUHr)u)~?S>bv zYP|pV-+??%pQ&swH&HoQWEq-sje1y|iCDA!UpE)P^sptu$NfwKYpg6%9&mn!mD!@d zqGDQ<5<&mPmj}+5I5f^*UZJhN_w8eG?gQkT{W%sf3YgQ;vJ4NK!?X|2PfVUY%jI*W zL#@%h4q4JJZcBICINBL{cf*VWB%n}YR=Vb>%sS*TWUhqMaSb78p-;n0;=((|{6I;!ckxfzBAJ%%%%IzxHT*+8iN@0FFQUFg-$@*eL zwBK-Dqcm^j)Nx((2hGd^d0-`o*p7I&4S^e;yL#^usm+eI(ac*lY5rYb0*8$qo?$GB+VtHoEEsQfh6Cno#vkscwB1Z|21w~;%h^I~QF z$dO?29NB-Ki3Td(t&EJxho^^smp}(#zw?YjvWMf}=y$*f)9^@3lUlUcDGYu(*8g#Q z9a_O+Rv!{%TC=3!yZwKmb(!?U$@0355Mhdm3pb=n&oxJ> zun%M8_A~ySpAkgScsZ^N0rECM@vOI#)wk*y{iK>oZ8iF`I|asn&|)!t zPTx8^;VZK0RE^|)2A2eQEoU(5g->^Qo!7|Sf9>MFx%nGKb(K#a+&12#aBJS*V?i4& z$!kRq7J7@ACd201V#ZJ?IU*v;1B!xz&xqo;Hswd}>)Y7>LGDTn>D#EREH`8Rni_9VEBX62A)< zB@DyFI|PY$0_y5kp)n*tlm@5DpN`-ZKo*Im0JVVNw^5dbJ*>B{UmN`HSH;rJ|3s+L zdg=S~WzCvi$yil?D1{On1v0)icIsxinwygVpwOPTQ)fpJJzMN?-d+AiP+a`9Iqd$E z%IA**qUdQeiu9f@FDI(r_A(VoSIyr0J4SOPTotEw^_lBAK2U3`j9|U z)uGA=$Z9+gQmzpFTtz8z%F67svy`-(`=(b?-78pMYDmLcQ-y$1sN{7`7h z-&)jl2hHcWgoKk=a|D*ulZEmr2PRh5#S|8xw`?SrJ@-o#o^ATwunc)QDr;{+$b%OKwW zOB?O78g$K5hL;a<9lXGZg|7K(bN2O6Maa|Q!1>XssUIYKDJjhcYenMImzFGdA*l_t z)V~x3GtY1AZ*VQRF|d5JEOY|-8NN6Fd={Xa1Ud#shSpVj5FKB4VwJV0Lyi80`~qcZ z-ElrdD-iPsQq2=NB1}2}*Z`mrJ-E68t0(QCrP{+GS3kzbK*Yg_)axMXC0rme(W$BV zv5BmljyGKEc)z>SxEi#b5?hz@WYaWOI7T*FZ!q1dM=F20qkuNgM^W3^#& zlFaYIhuH7JSfX=vs@8A0i|QtTOmJe|pWVqfHYBwDy$hD&6IQMja&rrd+uqd8W|o$( zfD=*3q|>NrXsDQ*XF!Ft-AwrwG6#-mIeSQS^z~CLt`Az-YETiANnXn1mkF#+)+!IG zP*(1Ft;)sBxy&-Z{nO7*?lA+!!TN-Pk)#~)>$7R7PY5ZO0 zn#afS9|V1EZz1kaFzoYv)knsV(s<&JD4W4n)f9D)JvlkKDe6Pq#c9sh(QygijY;WZ z*4LLFzNgc|v(lV?^oFmNthSDMFq0RHK=T&F+J7%5Vdr80KTuf?Epo&zsmLM+z3Q-L zhzL#cz0P?bRmV~g7=CKpH_ss*AdLz?}Q#}QFCMvmO4!QGh;um1lu#>|JudS zEat4@8w~uIPngFD*UE*=g4l;uRaM*gPr>v0-F=G%oVnMv1Xx%yPGPr`ciEVv2kYr@ zg|ki646Ufcs~y#aQ~r%1TGf@jlKy>*M2 zf?J;neA~EA6-LW0WSDYrCzNU@MPLvwcm^)@>>R(%=@%b>)f&}!KLGzADcAzpyOM-& z^VdL!R`JFdy=O`8E%?EYhKc65m%aYwZB;{;DJX zI$nBudIRwEKpNpEIQ{+oVMqU0bXg6JTp*Y3CmcCBIeAD1Mc`LOuw6)GWVf47obJHf zt80X4+)f>N85H9GcLbR13$1*EKN<#^A7yr1`?)k1mm0qbdo0568&V|QwvAHZ>5I&p zahsO41Pvf-9S(D=e@IX zmDDv47Uo)`u~6b=GeBd=Pvk}{tiWk1|MJq6e@_h^t2TagNC*)MCz?UJBVH-dV+^<{ zcyimfDuFoR)zs8@6liD`wWX5~)xnk@2YqP$;2=2!KIUteyeDvw0zBgwD9lTjGX4je zBZf`li&bE7Fa`>IwV*t}X$GcvwV1fLSFoo3oKzB~MQ45fjE910zpi&l*ZlG0&>vn0 z=DA`!79*L&UEeWoKtq=`6hrFnHcd79B#URWg`ppW#z!ZZun z!9r8ht*WoB9f*CMnD_<6cjJb4$<`v@IhadneGr|I3iR`2#6cji_q0cvRSP$hJQi3@fvVJfk z=6LR}J@CAq+W`L#1<1j|#)b(?KpxlvV5GedT0HsHgmW4mIG-yjkW(VgCAGj+ukW8O zU65Ou8tCgoPjt0)Yiq{$-XHy#&V|kG?EoMEK$2gw8vLY- z)zjJ2Ltt3$pd>Gk4!X_s+*~HreE>q=tE!+4nsGneWY*Hw-h%Tq^>83&d3hOy91h96 zoxq!2{*`MURyw#*co}4U;rHUhJvED9`@;#8*`5?hEQ)v~D|`DZ0Lky9N>Kw?0L;+{ zZK9gp`GT(IffcYP0A^q>6yoeX`_NVV^(~B(iW^~Rq^72#{Bg;-;)Vq}-b3mEXv@aIkqMX!4svu3+UUx)s{KDAtVQ|7 z6#KQ|;&-A?89< zbo>vzW#hjvkRvs8&9FIak0~Jss^9`l67n?gTW5Wo#Af0v_IT@R+tQX4ub?n z)=x8Y^M)SOvUZVR-F63*Ov8nDZ+AA;za&1~>D7O}YK=yjFq#&(&=zBZ@=uk<^Lw)2 znvtnp{A5tJsA%csOe1YW-@QFX@q56umC6qmUO?Op6RSnSX(c;5yQZl0V%Q1TTrstr zfuJclf#a(B2SyAyG5jvZD8am#Ce`aWSB8P|_W2REcib9n!4FM+wP$?9-fD0|fAI{5 z4Xngc$~F=4tT==|d0{_Xx+h!WU`!|{Cv#P6Iu6s;R+~;*;>zDK!@19e-hfYUwJm&^ z2o33wG%3iCPXQ7$Ir##GX*VK30`_cDNiE(>m&g&8=K8lX$YY0Kx+g{Ti}4A0M8qyw z1r-%pW)kT-?nC?75;bv&ukh}pvEL+cEv^UC-jBc;i+Ra6Qqqm3zjW0JoC9~(R23E3 zNGQbPa#&Ry>f0alJ4|>6`JA*gf{&=BWyMi13v6)7(vo<3dLK8TX9j;GsU*O!P;fmi z5Ye7c0Pd+j+>%7xhRL!UFQFq0rT^T9_;=PPEchR5!C5Ly^NzR)Xb|}j9?GR)7ps7) z5;fi+I<=+(Wz_VBEE>Ip5Rv3hju^Gl8_w2lLQhR-wLh-a*IpDfBVY}|3Yo;jn$**Y zbg;p*1QAX}Y|XjV4VH@cq`c4H$La}&MmOM_jg6e4VVJ{&-Zb2hxe8Q~0(C4obflPQ zh+P@ns#}{g&~eKW-%i*MuJKhW&Wsmx-r)i>)<558OTbqLVv?1>N=3<+VW`)&EgD^x4eI&MeMn^xH(6y%rz{hiDF0rf2r)>^rWN@V0Ie*-j9bEJ2hnKVb>={C=V6Qb~-?u zB!3$xp>eRy&aBs5+WA9Y7eX9`U|hUpLa4DL06(7W-vt|lMt^3j+ITG^&%a58@<&Jq zj8kwE1QV6{H$6Ssqv+p9dF+e>FC~{uQgeEi8y(AGgZS~jR~7`+`h^U~goG@SZaKwY zs`Qhk5wu=whF#fWe{G#gc9L3)b9JNvSQsd2?N(8>{2tCJ(q=E&)9wfqX?wj!}Ci zr1)qF4=kiDVdOc}fBy!&#O7!O7u%Ztlh20bAH{sVB?JTnW@f+Q%E?`X(T9eFgoP+Y zCEeEO1@iz0{5eTH*Yfn*gVZ0KoO*ifVy<=);0*|4RuF-^%Y5DG@m`!brV?5#Vb?ij zOt|rIpnseDuJx}jr+mo1N-X(SIZx*n_VxP&ik)v=_@7Rqjn|yv!?`;J@EMw`u(D*x zZ%+9L@2(qPqTrQ+9(D*Bv}DNym;E3t^<`>-CN!0(JI&v03j2SY;EsPMW_D$RWrP_{ zC%iLcIel*aA?{iYn2p;kf>g9%Rdtm~`nybju9izhO$jQle z`6OHn!p=?#Ew;=x5c+6st!&Q2zyA3vE_un;FAauABVT!~d-p*J zyoYszgL-TFI{5I6VxG@wM$5}vrt4{uw7&o54y0O>0+NwL!Gr0)^f))`AY%J}cnKD> z_HzipIUj)EMYco22)lG!S2X`STKLd1i^EljCBrGu#z~QcF)gClqP!lQz@ufQiuYa< z;?Z3ZgsDTvsBKA+j6p&H(lbFxB84~W)af|EWo|CQ0-Tw9;=djXrGGrrdr3);=! zBFC@6m`WpBpldy%77H%QM8T>|ur9w7up(TaGR2dvo$+3$BG%-51EkkbR!tMKy|?%N z92|c@-0(Y#2LVXlwg~+*-|lzAX`UkcB7MPPT|gB49@Ix+llN{ z^bCa}P)FVi5O$4KAxJZ`jER%;3Ya?^C#p2V97k-PO1PN>egDozCm}>Gdp3_|Jb}x? zt|twU@!IB*I>0yZUvo7o&Tj46y=)B50i!oD1VNptU*OzC6+U88U0xOdcO+P7|Ff6E zl_l+BwG}UpdN+n^&IBw4z(fN+vZU$piV@_=1#Q+9K)P#*bZ%K2nGim{)06`caCp== z7*OmEooVSO8HcHJVy(wVdG)bxe!^ohU}8y{*Q%sd@$Y&$?;dhfk>j3~ymDE7Nu&6jhn5pk)jYdql#A~Z}?W#fc4QNlr& z9E~X@lSMs2K`R{mQ#?xEQ^WoG5ZJ52>8@tw*qG0^b%W`-YsV~{(D0SwtlFJBfeAzGZ3{;ltT8BXA}cvLd5&PQvS?XwJH2mqYc#Aj<(Gc} z{u(lMgQD|$*t<6&s@ZUSpuP1S{}?n&e=m&X+qeuY1<+vk%d}_>0_cGT>>7?uusGZk zKA2TPA1yf|MiJ4SG7c1^RPj4`P=bWh8a-8?uHeTC$2!5i=~RK@;hAm zetAK82GM;EFh>MIcQ?!*qUwzGXQg-@ai!Gy$wJ%8q09vPOitwdJZ`S(#oa_QVMbi= z$_yTHT)oQ7$$4v`Mjt9@Cf8R|@vd_E$!BJEMwcBN((1ea3bL`+G-ltP0i<`;&ffN| z`Oi0$l$6+{q@?j)d?Yc}?d67(b#)E2<67<8ySv9kUq2~Ipc;P;GbN*?wj*$ z;?U6+4kT>loy_g@4(?E!LRU&8iB24k;k}OvRUZrkqv=ol>cC{=6(j%qEg)(k|1k$& zb;XA^>KL%`ziv@2t8IDmha^-S@W1CSE-+Dn%nCu%@T5vf8mkw!8zu@#-cw@!exlt{ zyxG1Vtyk`RjYxVNC-+3{wCjf1?=SfI6_R27mg*Wp)A9E&23&h%XAP$1w0jEi1r>UIOZb${!&hz)hzpsxRmM_(2bJ z#veHDM~$>7z*Zl=ebZj*?d=WL;R=k5yaK;h)7bdRO*a`IAD@``_`rqEghpUd92%(u zw6;D6{)L5n@SBmBYk-XgUakQ>t0WwIWrA0)ATNagf0TSagWuJo&~>m7>3_fH9KU~j z?D;M+5#kxm|NNw^s)`mj5FPw~uvQSKm8X}N%b(k(=cNm={4MPG#~t8WR=vIR9W2(W z>GvWY*Sh|tLHhu2QF&5ANJyyd;v($f;i38XabDm0#)by4yI-CJ#umy-N=p5}C!qGp z$q9y7($&+$J$wB4aS60cW`^vsF#z1+6B4xHJq&**suJK6rRC+M#4$#^Ih&i$K7Ib2 zSx~^McKdcF$S*(J+CqM>#+z+WYX{BVdLfVaCl2O}T-!J|6jMwF__1@Vq#e zCMPHFhvy1W^{Q#f3t6Zo^eJr7#nHIbUQgaj3Se*T7i zccrKT{>&QWurR<-FvHzdR1~^#<0hcm>~A)`xMy(tfPga{BLHG+X=)M+3kwsYo;WyA z94jj;tFpxO0b?yONw~wF`4XEDcPu3(1=C-LYw&yF;%(CWHh3Gs6|@f!8|i=HJsg<+ z$V)T|3ZekjJa19F9}^oJ%WCJR@uju~84@ris}A$>@o~hcDl*FYl8pinRt4X`$dXHR z(jz!Q2(QjreFTUc3|4xd+b1Scq8Me>6^|`OhKE&Aa1`{uLG+nR&F(_lBRiQZ%}N9o zYn1nB_J(xt-o1w)hihPH2m@u^^^WnOf7sKS)N||b|s~yX25sbdU}*?ZLbeJ5q5HR7G}o@Z%#_E zXrnUr_Vz9UZy=R#w2~iwmzu3TZZn(=X~4PJ+adoN;$X z059| zH8u4$PEI*rUl~Of;^UK(biL0=@&WVhGzdd&-Q9y!t7~f!khE}~J`9SW)&SWU{vsIE zGsKo?aSRe8$UQGoQyDAJTlwB zV?W8{`z`B9_>QJnKLVsVR#{m_2vr4n`GCG0zPHGALqcu>=|^660$B)o#|$N(3FZwE z)8p-4DhtvHjq6U^+uKYep$~0rfAXR)$<{|%SRtxe+5Yma&utx zh>De^<%cg{@b&ccz=U$+QI|VN3{B?z^78VpqDN}u-n|R?@`W4mP?nUCCH$}H#R~2F z1`N-Gz+^5UC&vdY=75uxptGld8TenL#@|Zd=}fG^;vTp+0=TK~AFzeP=H=zZz;N*3 zLC}VjiV6$h`hW?uXLBzN;*7q1o;$B@u7B*Y?yvp#n3rh)D>Pv7Gr?;q@F1j(Zu9s3 z{sx@(nPFdV2Q1(pynNXSs`P*pF%92pdZ*VPlbHPiIFPmfc$n7Ij?T`Dzm4D8AAImY z0W_{35YTYrMntb&e0=@}lxzv?zkl~`FEHjMzRE0na=O*NxAF5qiR5F(&*b|hLDu^; zy!`jr5XAbI7xM(<_A@Gl6Ay#jG5H9vOam#o^q----zM3AZ9Nn43_1o+S3j3^P6 + + + + + + +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 StringValue::StringValue(const std::string& value)
+
6  :
+ +
8  value { value }
+
9 {
+
10  return;
+
11 }
+
12 
+ +
14 {
+
15  return new StringValue(value);
+
16 }
+
17 
+
18 std::string StringValue::GetAsOsString() const
+
19 {
+
20  std::stringstream ss;
+
21  ss << "StringValue: " << value;
+
22  return ss.str();
+
23 }
+
24 
+
25 const std::string& StringValue::GetValue() const
+
26 {
+
27  return value;
+
28 }
+
29 
+
30 StringValue::operator std::string() const
+
31 {
+
32  return value;
+
33 }
+
34 
+
35 
+
36 
+
37 long long int StringValue::GetInt64() const
+
38 {
+ +
40 }
+
41 
+ +
43 {
+ +
45 }
+
46 
+
47 long double StringValue::GetFloat64() const
+
48 {
+ +
50 }
+
51 
+ +
53 {
+ +
55 }
+
56 
+
57 std::string StringValue::GetString() const
+
58 {
+
59  return value;
+
60 }
+
61 
+
62 const std::vector<Value*>& StringValue::GetList() const
+
63 {
+ +
65 }
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+ +
std::string GetString() const override
Will return this value as a string.
Definition: StringValue.cpp:57
+
Abstract class for values.
Definition: Value.h:8
+
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:42
+
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:52
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: StringValue.cpp:13
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: StringValue.cpp:18
+
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:62
+
StringValue(const std::string &value)
Definition: StringValue.cpp:5
+ +
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:37
+
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:47
+
const std::string & GetValue() const
Will return the raw value.
Definition: StringValue.cpp:25
+ + + + diff --git a/docs/StringValue_8h.html b/docs/StringValue_8h.html new file mode 100644 index 0000000..b6fc1c0 --- /dev/null +++ b/docs/StringValue_8h.html @@ -0,0 +1,125 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/StringValue.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  StringValue
 Specializations for string values (uses std::string) More...
 
+
+ + + + diff --git a/docs/StringValue_8h__dep__incl.map b/docs/StringValue_8h__dep__incl.map new file mode 100644 index 0000000..d6bec0a --- /dev/null +++ b/docs/StringValue_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/StringValue_8h__dep__incl.md5 b/docs/StringValue_8h__dep__incl.md5 new file mode 100644 index 0000000..fb32603 --- /dev/null +++ b/docs/StringValue_8h__dep__incl.md5 @@ -0,0 +1 @@ +ca9d7db385a6e6038cd9f1292aff77d0 \ No newline at end of file diff --git a/docs/StringValue_8h__dep__incl.png b/docs/StringValue_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..0acb9c830bc84425afc95bc8a7e7a463f8b93e2f GIT binary patch literal 6182 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 literal 0 HcmV?d00001 diff --git a/docs/StringValue_8h__incl.map b/docs/StringValue_8h__incl.map new file mode 100644 index 0000000..702afe8 --- /dev/null +++ b/docs/StringValue_8h__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/StringValue_8h__incl.md5 b/docs/StringValue_8h__incl.md5 new file mode 100644 index 0000000..faf7bf4 --- /dev/null +++ b/docs/StringValue_8h__incl.md5 @@ -0,0 +1 @@ +e31f647cc6d6c07de8c0bf958d89e76c \ No newline at end of file diff --git a/docs/StringValue_8h__incl.png b/docs/StringValue_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f75346773128f9ce29ca8ffe31e72c59d05927 GIT binary patch literal 11411 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 bd@dJdG4=A^Tm45cWsFc$eyCKUU=jLXpsNf1 literal 0 HcmV?d00001 diff --git a/docs/StringValue_8h_source.html b/docs/StringValue_8h_source.html new file mode 100644 index 0000000..e155105 --- /dev/null +++ b/docs/StringValue_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +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 
+
7 class StringValue : public Value
+
8 {
+
9 public:
+
10  StringValue(const std::string& value);
+
11  ~StringValue() override {};
+
12 
+
14  Value* Deepcopy() const override;
+
15 
+
17  std::string GetAsOsString() const override;
+
18 
+
20  const std::string& GetValue() const;
+
21 
+
22  operator std::string() const;
+
23 
+
25  long long int GetInt64() const override;
+
27  int GetInt32() const override;
+
28 
+
30  long double GetFloat64() const override;
+
32  double GetFloat32() const override;
+
33 
+
35  std::string GetString() const override;
+
36 
+
38  const std::vector<Value*>& GetList() const override;
+
39 
+
40 private:
+
41  std::string value;
+
42 };
+
+
std::string GetString() const override
Will return this value as a string.
Definition: StringValue.cpp:57
+
Abstract class for values.
Definition: Value.h:8
+
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:42
+
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:52
+
Specializations for string values (uses std::string)
Definition: StringValue.h:7
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: StringValue.cpp:13
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: StringValue.cpp:18
+
~StringValue() override
Definition: StringValue.h:11
+
const std::vector< Value * > & GetList() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:62
+
StringValue(const std::string &value)
Definition: StringValue.cpp:5
+
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:37
+ +
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: StringValue.cpp:47
+
const std::string & GetValue() const
Will return the raw value.
Definition: StringValue.cpp:25
+ + + + diff --git a/docs/Value_8cpp.html b/docs/Value_8cpp.html new file mode 100644 index 0000000..2a5a45f --- /dev/null +++ b/docs/Value_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +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 new file mode 100644 index 0000000..86cce41 --- /dev/null +++ b/docs/Value_8cpp__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/Value_8cpp__incl.md5 b/docs/Value_8cpp__incl.md5 new file mode 100644 index 0000000..584f279 --- /dev/null +++ b/docs/Value_8cpp__incl.md5 @@ -0,0 +1 @@ +69da090fe7fb4635fabe3680d01e5670 \ No newline at end of file diff --git a/docs/Value_8cpp__incl.png b/docs/Value_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..3f235fdc119071202fb142ab1a6aa8abdb370901 GIT binary patch literal 8631 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 LRi;eJ_``n#^Qc?o literal 0 HcmV?d00001 diff --git a/docs/Value_8cpp_source.html b/docs/Value_8cpp_source.html new file mode 100644 index 0000000..0bc6ec6 --- /dev/null +++ b/docs/Value_8cpp_source.html @@ -0,0 +1,107 @@ + + + + + + + +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 
+ +
4  :
+
5  type{ type }
+
6 {
+
7  return;
+
8 }
+
9 
+ +
11 {
+
12  return type;
+
13 }
+
+
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+
DATA_TYPE type
Definition: Value.h:46
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+
DATA_TYPE GetDataType() const
Will return the data type of this value.
Definition: Value.cpp:10
+ + + + + diff --git a/docs/Value_8h.html b/docs/Value_8h.html new file mode 100644 index 0000000..a065cd5 --- /dev/null +++ b/docs/Value_8h.html @@ -0,0 +1,138 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/Value.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  Value
 Abstract class for values. More...
 
+
+ + + + diff --git a/docs/Value_8h__dep__incl.map b/docs/Value_8h__dep__incl.map new file mode 100644 index 0000000..4a9cf6b --- /dev/null +++ b/docs/Value_8h__dep__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/Value_8h__dep__incl.md5 b/docs/Value_8h__dep__incl.md5 new file mode 100644 index 0000000..2639777 --- /dev/null +++ b/docs/Value_8h__dep__incl.md5 @@ -0,0 +1 @@ +a89dc6216fd07fdfdd4f79f41556b577 \ No newline at end of file diff --git a/docs/Value_8h__dep__incl.png b/docs/Value_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..66e21f7ea4a26a53c7f80931132fbbd7a3e68388 GIT binary patch literal 55574 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 aw4vS7qIgv^ipzxh$G2~(DOSjvJ^EitCjRFD literal 0 HcmV?d00001 diff --git a/docs/Value_8h__incl.map b/docs/Value_8h__incl.map new file mode 100644 index 0000000..be86f8e --- /dev/null +++ b/docs/Value_8h__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/Value_8h__incl.md5 b/docs/Value_8h__incl.md5 new file mode 100644 index 0000000..8446cdf --- /dev/null +++ b/docs/Value_8h__incl.md5 @@ -0,0 +1 @@ +7bb92e5fe6cfc0f580f1f9e08772dd2c \ No newline at end of file diff --git a/docs/Value_8h__incl.png b/docs/Value_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..5c98c287b1fd3a2fe2bcc317e8afbc1b8701e81c GIT binary patch literal 6277 zcmYkBbyQT{*T;tr1?dnZq(MMJx~02Q8U_%MPH{jGBt!%Rln&_}V(64cT4Lywlp0!) z_xSw&dGD+>b7!qP=ia@~uJ31}v^A9o@E_tsAP@o-WqDl)1dSP-yW^sRcM(+T0rAy3aUXac_>>Xv^w=#Z`#z53fpcb|k%FbTF5Q8OK zt4*vil^Yt`9lqzwAhy$MKkWdCF5ghu)TVFIEq z3TT4+-z=ymtH5Z0LuR@Fo5PZ9-h1!6$F zwno`ZvA#X1uBmxIC!t&${TA&I$v~7I0u7UKM^7a{@5FNy(&?U`|MP1&O}=!S#(L-5 zyci-!mVS5`J-rHk2uQuoF-K1eR zB8&;l4;+PXt@ytV4-enRUO!lD1}6(AgM))?TA3muB1Al=rb8>QWa~tUCq0Y`Sq~3@@I;N(4W-82~P$(p1Zf-7#%ZQbYjf;b0e8=0%3stC< z_4jHkOH52mN=nKScEy6AZ`*`~EG)e6`tPu}-#k6_c5rYglVD-#nVp>-8~fyz-?X!@ zp%uJ~3jr3vV6eqqcI%F0jec4&Z+0%Oz4PDmcYiP1CnqKj78)@iUqrp2(|5-wCl94z zEpRv=!o$E|3U1rCw!VILdU}4aIOL})Z)!RhK|oVs(c0v_GqJL=B2}ot%)(M`R?ox8 z*f}>BxHXcICH02nMP^!>`0H~QOxgYY{RRxWClp-V+`~&tZS|^W(hT2qlsqs~U7s?u zvYMi_b#*6PF-W2WVK@E`4qJaN4pGU4`T2`YK3vSq@)j0tARv}nU!$R+0k7cWF=eQ&v_sFfhx5m8Y|;NZRK z@=&g+!c4|#ovx5YW$THhrH{Eqxw*NuwWlD_8XtuG{P}Yqxckrf?-tk4h=|^FQ7<_; zIZiIF`T2Rv7Js78VxCfRk_e`I{%3Lv?j^ zURxu-%hQLUTbrB1nUZOL7QYHOfOQU++m~l&zo_Qp7wHF|;ufv1et&;^d;7=4WB`J2 z>5^Adb6)R_1!ih!Xppk1S5;SY^6+3o7MlGIzrTL~!ei@IRIK8`QmZ&CYec8j&zTv$ zVtqe9KPRUh7~Q|0GBPsq@bK97elTeZ3XqjWyI=w?*xq(@`FT8+^L&BMbo8Vzj=r?C z)Y-|&qdkTpvbFUVS>qrnDT!rNk`)-CtAvLkH9C!jDSLjn%sU-7JGSF3EL`6cLwQjs z@%XWvqGE(*;X1pvh*jKd-|dA;Q)Ce^rr|VTW)z*o84SLL`&*ve1_@P^y4Mj3M$#IDdT&%3N)z zqe6g01r5@%T6^kdD@snD*4ukmZA_1oM`GE%w;R6L&y$_28W>0%i%_#%UYo14#JM&X zlML02+urJ(nmYXT11|LR^5FWc>n$B_aAcbWHnw0|(d6vxpjG$lK*iB?mEpm;Mmv>Y zdN*p?)YL(v%2y`Mz6Te}eNU;5GcxwAB^M&mmujK}si}MJE22kxj%1oUI6H@q%I1Gl ze*5+u3ca33mbe)(o@ z-UNYIMIw3KrJCeHoJTXWNoPt+Z!EPMZH-pOMW5*F=rG7fm>&9 z^YxaV?%9iNj~E6uzsnHWp?-z8-^h*r2zupA^LN*PU_81TG&CC-9YLY<&aUvB!)0Ms zHn)2O<{XOU-Cg0m^=>%Y?4G{9N{NZ|q})m_AyB4}=;)>-E~fMS#w)!Nb^$m@~bG01M!zE|;T$SLE3zvqj)oe;$DGB$LrnbM^8yl{IbH?CuI%?|T zY=**Oy)&v0m$|uv{mNPz8egIeh^p+r#|gVhH8i9X-d8_8sc!KZvMkH!?Li`+Je#U) zYqKBE{VpoX81V|E_NHKH4cYZSS*rnOhI80 z4}Yvx%N~z`aQTiqosFD*mpGstcug1_OcUk(5IdB?yU8G^fi$pXV z837i0Dc+oCZS91HCNxv|=L7xdmQPwjUztfnz1ty`xS=buIuCe*+4Q3$+AwR7m^jin z40PU%c(^Ut8oLwRXw>$&Dkbl$g=%}oFyg~?(wXV$<%<(#38wAG9q+rkqI+WE-n}mr zphC=4xIPlr40BY#lwnQ0xpf`MFw2TRUKl_2R|v;!Q}ia1slkgq_ce5PA3WJ)(>EZ0 zwY&rmK*^D)cu(T2cC7X2>FU*ciEK~gE9vTG5p%!y&qls`4uf5-^}M&WIRKSYg3se# zQi*2m@zQ+W!70T%~v^JgyVtIxME~ zj*MJfJ{ytq!0u*W^MKQ$$B%7dBYN3$6^JohkP)EKB6Ahq^Sdo%lbsRJ>5~X8!{}UY-%PB?w6jSrBiHaXU``g0gdqtHPTrb;`N!B^ixkO zINT4~J>5~y-6VqSD-uTR?^B|o9S;xxW@N0OqdOYTxV8Vu-YDQOtth{Mhj&$;oxL^- zcVj0L%~e>%aY14$+S<|pKOg)}gdcy|cft0alj)?BZVkHn)72#m;vRG%wc5uwAy68~ z*RP}H<-zJ|T+z`dH=C4A1qJ*deaP?K%QLILF)$#1MEh~M;W*M!6pW$Myj8R-%dpqb zYwxhKvW)X{!CdkvNmElMo>9>jhdmlO&yYAwMbk{L*=oGdBia?FxABQvw5jDrRiBIB zZ9(YqK75kcs-hXd(HTOMBB87Z?a{Zoc|^ zJ48<2GX({iqoR7vmSJmR0;YwrqpZg9j~@$seRIXLuaDQaxXo<5ye#kbED61v$j3e3 zVGGhgBt$z5^f$hD8AidNHk}f$4I90kzJw4=Ox$RwdwWa@;A)e_MmBhDk7=;6)no>Y zh>IhSj{^=4Y=rWxFnyTf=tr&iuUbB52;=xeS)VUtU_+krjpyr5p{+<8=~)KXMv4=h zCT-oUbbiYaCp|eCj7$&~QH)0N^G82_u2=8Y-aVgy`UTNaJt428T?zH@6-rG0Wh><5 zR9(7v|K{vIVOzk6+k(IM!Ga_imXs9b{JcpwCoRzi7&C~sQ{0R!wNct+uhK&%1fWW-Cq$INaTPNSk z&*?Ekr%g?xva$nNQgz$gMgD<`HO91L3TbKcz}DpC#}|R+OP_9DBSth4dF#h(YcDBc zVi{yCELg=~8~L8!dxGQdfBABtUwt7_A%-yJbIWgESfTp(K>w`l=WjWmJ{|RqWZ*?d zR}&C$KbcFS7~~d)zQ&?*lx+dC)#nf zwksBheU#mTbZqM{N9yV{g;+l?8~^bH6o zZ*PxnzthFj{E82`yxuEbEUVW6h=g#I2Udy$C$5%#h;olqJn zU8aTUHKCslhN8{z^z`)3rVk=7Y!OvJrXc%TT%3U+lgQeCZLMqGNxrEfngDd^O3OQe z_e|^pGYHod`C!HT?$p@MNM7E`o>x#KeTLKweOqR*Yu^my&qdzc5xn*eEHEk zrtM5l9^e1T!NsL4=Xf;D;8H>&@an{#_6#?%sR>b1lI*e09v$5k%zh38M%Ns9xZLM$Q-=dl*dr%}Ga%>_!zY zqGG7{Y`0w>Qks~UEYY{DLa$E7ArOhXPD-0e$uZ+qsu`*66eI&lgq_xBVkTygCHO zhfz8;H8uQje%HBLAUbU41%-wGTweoeR$5dvJ3ntrbMdXV*1Izliwxg>tvhOGXXkm; zclV>ew}0H)t`whxN~$+GIf+{DYe$7093D#h?CJ}pE&gs0 ze5j$Nb$GEHe0Ot&dLVt1os-kK>W(=x*YoelA6+?B0iqEcS!uumF!$LT7#IZKo~6{) zomJZpX_Iktb0;Myj|>brxw^hNTImF$yDGN1Cs{Gi$;oN4Jvgh!Cg%;-w=ItBaYt-y zY!FdEFIrewEyF6T`Qcrk93&PD*-nx=oB|a$9c0x<_F( z)M~IWKJEeN2Y9Blvor8G0|Nt&aa1R<(sN7*^!~xYlH%f3ZsLzfuoxa>#WZy2c)f3N zVWG;t4Z7DzjqN7viTX7RBAPuKQCAmBCn?6qN6b|??g-TCFPQzw#sFATos|@#ZD0^i zUX66Y4?j8GnS7=6ZQRk?+Ip7%JkP+ygri~FKlS&h^j$aX8+^)PG!qR{Qd&ARI7miL z{@Spx5LuOsuP_e7es@7O=2&}lTxDk`EPBJR@sf`S|76#zEy^5Q_Yx3{gr zxa{~F;c((TeeW=FJY@?DI>^}EoY+y|14?yPJyq4gjt+>~Gk*Rq{9^sxe61J4aTFfcHL(qik(TaJ3QWp2>4TyO?I{g_4~ zO-xM(t)AN0*l4DUyk$^!cIJBjUB}QcIX*t%@`&+JJ;2rVH=utu4*DI?Ab>9k2?zjm z$)DV5*^G~m2RO#{gzEe+uql? z3NaD7mJ3e>1#7FT=UM_#fO~#bFNlkaD=#lcAbb@Sdov|pTeQO#k;nmP4g6_n1^l<7 z8yfXC2a&xp^8~1?;3+-McBg#yrme$U4PIzzjV>+00IUP_2h?hZk#rRm6*TjIk@mjC z%iU5OP}NWdkd)PMcyUDq>}cg}Vj?M|qoadCP|zDJM26opI{LtQjF0NR;>(vMEiEko zT!jo@u5E0{KaMXeFNb4i3<2bbj)Bqlftr+((hv1ZqYMRDnt;;;vzeJ00YNOlj}_+4 zhK7bWOG;j#C9<&OSGHXb{`jG;q{PO`3dUczB?&<0z|{b0<|)PX_Vod>`W6`1$kq0r zbspfxfGMfv>jD!7xc7gnM#jcIjqr&oX zP;!1xS)pbFRT(;a@HXbN~PV literal 0 HcmV?d00001 diff --git a/docs/Value_8h_source.html b/docs/Value_8h_source.html new file mode 100644 index 0000000..6e8a897 --- /dev/null +++ b/docs/Value_8h_source.html @@ -0,0 +1,141 @@ + + + + + + + +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 
+
8 class Value
+
9 {
+
10 public:
+
11  virtual ~Value() {};
+
12 
+
14  virtual Value* Deepcopy() const = 0;
+
15 
+
17  virtual std::string GetAsOsString() const = 0;
+
18 
+
20  DATA_TYPE GetDataType() const;
+
21 
+
22  friend std::ostream& operator<< (std::ostream& os, const Value& v)
+
23  {
+
24  return os << v.GetAsOsString();
+
25  }
+
26 
+
28  virtual long long int GetInt64() const = 0;
+
30  virtual int GetInt32() const = 0;
+
31 
+
33  virtual long double GetFloat64() const = 0;
+
35  virtual double GetFloat32() const = 0;
+
36 
+
38  virtual std::string GetString() const = 0;
+
39 
+
41  virtual const std::vector<Value*>& GetList() const = 0;
+
42 
+
43 protected:
+ +
45 
+ +
47 };
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+
DATA_TYPE type
Definition: Value.h:46
+
virtual const std::vector< Value * > & GetList() const =0
Will attempt to return the list-data.
+
Abstract class for values.
Definition: Value.h:8
+
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
+
virtual std::string GetAsOsString() const =0
Will return a string suitable for an std::ostream.
+
virtual int GetInt32() const =0
Will attempt to return the integer data (int)
+
virtual std::string GetString() const =0
Will attempt to return the string-data.
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+
friend std::ostream & operator<<(std::ostream &os, const Value &v)
Definition: Value.h:22
+
virtual long double GetFloat64() const =0
Will attempt to return the floating-point data (long double)
+
virtual ~Value()
Definition: Value.h:11
+
virtual long long int GetInt64() const =0
Will attempt to return the integer data (long long)
+
virtual double GetFloat32() const =0
Will attempt to return the floating-point data (double)
+
DATA_TYPE GetDataType() const
Will return the data type of this value.
Definition: Value.cpp:10
+ + + + diff --git a/docs/VoidValue_8cpp.html b/docs/VoidValue_8cpp.html new file mode 100644 index 0000000..c441690 --- /dev/null +++ b/docs/VoidValue_8cpp.html @@ -0,0 +1,108 @@ + + + + + + + +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 new file mode 100644 index 0000000..7d66c73 --- /dev/null +++ b/docs/VoidValue_8cpp__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/VoidValue_8cpp__incl.md5 b/docs/VoidValue_8cpp__incl.md5 new file mode 100644 index 0000000..778315c --- /dev/null +++ b/docs/VoidValue_8cpp__incl.md5 @@ -0,0 +1 @@ +88a7c0ddfe48e0a540dc2f75215c7748 \ No newline at end of file diff --git a/docs/VoidValue_8cpp__incl.png b/docs/VoidValue_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..cea727e98b54e709bc59d461146e95530bb1fcdb GIT binary patch literal 14268 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 IRR7)o0}m4FVE_OC literal 0 HcmV?d00001 diff --git a/docs/VoidValue_8cpp_source.html b/docs/VoidValue_8cpp_source.html new file mode 100644 index 0000000..16e992f --- /dev/null +++ b/docs/VoidValue_8cpp_source.html @@ -0,0 +1,155 @@ + + + + + + + +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 
+ +
5  :
+ +
7 {
+
8  return;
+
9 }
+
10 
+ +
12 {
+
13  return new VoidValue();
+
14 }
+
15 
+
16 std::string VoidValue::GetAsOsString() const
+
17 {
+
18  return "VoidValue";
+
19 }
+
20 
+
21 
+
22 
+
23 long long int VoidValue::GetInt64() const
+
24 {
+ +
26 }
+
27 
+ +
29 {
+ +
31 }
+
32 
+
33 long double VoidValue::GetFloat64() const
+
34 {
+ +
36 }
+
37 
+
38 double VoidValue::GetFloat32() const
+
39 {
+ +
41 }
+
42 
+
43 std::string VoidValue::GetString() const
+
44 {
+ +
46 }
+
47 
+
48 const std::vector<Value*>& VoidValue::GetList() const
+
49 {
+ +
51 }
+
+ +
DATA_TYPE
The different data types a paramater can be.
Definition: DataType.h:5
+
std::string GetString() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:43
+ +
Abstract class for values.
Definition: Value.h:8
+ +
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:38
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: VoidValue.cpp:11
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+ +
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: VoidValue.cpp:16
+
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:23
+
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:33
+
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:28
+
const std::vector< Value * > & GetList() const
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:48
+ + + + diff --git a/docs/VoidValue_8h.html b/docs/VoidValue_8h.html new file mode 100644 index 0000000..25b366c --- /dev/null +++ b/docs/VoidValue_8h.html @@ -0,0 +1,123 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/VoidValue.h File Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
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  VoidValue
 Specializations for void values. More...
 
+
+ + + + diff --git a/docs/VoidValue_8h__dep__incl.map b/docs/VoidValue_8h__dep__incl.map new file mode 100644 index 0000000..0673bcf --- /dev/null +++ b/docs/VoidValue_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/VoidValue_8h__dep__incl.md5 b/docs/VoidValue_8h__dep__incl.md5 new file mode 100644 index 0000000..03f8110 --- /dev/null +++ b/docs/VoidValue_8h__dep__incl.md5 @@ -0,0 +1 @@ +b1fa5187a73f08f6f0d205b365df780c \ No newline at end of file diff --git a/docs/VoidValue_8h__dep__incl.png b/docs/VoidValue_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..68924fdc637c50df63e197988a79b64832ba79cc GIT binary patch literal 6654 zcmZXZ1ys~Q`|lU2m0TnQVd+vrx^qF65RgzoazPqtly2Ci5eWflBviV)QB=A?=|&Kw z`#-$*z4!djxrcLL+5PRzJoCgn-_L|U(LfRt+#`TMAjB%lirNqeRyug?1jPftyIqP^ z!5=&`HKZcs`sOFAx!@fHLQ|=tD6i}BVf(kYp6=Kz{_fu}EF8+m*vpH!O(A*8dJ@)0 zA}J`oLe6B^kWkEt*OD2EPMA*!s#V7AxXiCk9KJ~@9c0rsgrnXs&-FI~iV?{A_DGKU z=p3Kal{zdC3w31Zm${a*7O3xSd1+a!e=cfgLX%{n4?{qinjh+;x1dm_5NlFZi4Yhf zAuOJRDFpU0J5K@1q-f(|h%e_gH(qS;Ha)%1ojQb*RY-`UzrWuQE$?-k4bBsno*w<> z3-{#Aj4Pag3I6^2_n_qDyKHb`B^9I^c$Y;$AbyJvx)CSGI4^-S{KGo)e~-?&0hXY3 zPgO$Eg2$kS=xZ#)ngmh5l-B|DRv<((Lu%vg@z(Yc5fs|?u=Qft?ysg0HX9rvmb0yr zXw9K2k!OTLp(a~=8-MQqNaE>i@jXvqh$GlLK1QR__&K?`Gd!fXZ@1UHnvw9$EN#8I z=iuN#FjoJ1dwQ)T7WPz51s%uB$<3|k?k?QX(Gi!J7`nM>Tl6m{huN^f?e@;jj`WMa zKT`w~UobE=hxU&!4X{Z`(TR(Tn^NPguC6+{yLVrl?zi(1@fy|z2-}T+Yhvf+B_U^j zEcfaa&mD4d=c7ORqobpyzv`T!BqU+=^`4FHxHveb|CW1C_6KC0FVEbG=)_?1^70;s zW6!Z5#>U1cCrh#Xs16)RfHG@PZLO%bj?Pf2i7XBdPQbw0(!Z4-b-w2!U%q@PvmJX7 z1($sG?+TuX-B$0q*0#3azP67tGYfjhp=s9tK|KDS`PZ2C*;)FUnwrAG!nULBnYU?a zgpl`Q&dkrg=mlO~o?}~Q2shN%t5`~|tgK)nBRf}qB%^F?Bc>{?)Mno-c7>;pPiUD` z6;vK=+FnEYRK$gZs(xQF;bf(dcxns{4SoCet*uC>V0WV+lUZ6C-g0imz!H;!NGwWw|)hV?9~a2p`l@! z%}72;vg6kJP_AB+2Y>v#cT6y7nPuNSU0q#HL%*G0;$o7L!6@oFu;A@?Hum<4US1L* z2qp-lfWV!xu`%VxkGo2Y8X50|gOS+l%YDx_3I-=8zP1PB?@d`{GV$=JYv(Kb!Ve$4 zaT=0U+}9dra`~8-C&vg=mM$@Fp5CdDkdUAjwxwA8nG!tbcdni<1#GghvB89g2WDq8 zDKe9RT@8+vIfGJBQSk`~bPRt~(=s%Sy14ME=lAsT>gew$!NbFQFKkEk;K73@#>OSP zR;l8y>~wHA>g7uu6BCp7si}*9rYZ>%pFe%NaCW#AZ?Xddl9Q7&uBtah&}wjU5*jEM z5FdZ%Ci>dj+o^@DVLyNVEOS{={UGb#^4sI@Tx;x)KFCBtMU_)hLITMXL1MLa zN8T;Bo8V<-Wi_2|3xwQE3+dx3s-c(ifEXCeyf(kbXBx2Vh>eX6k@NL!?#S%z=s>Lc zzg5nAavDl_m(Sss7&Q$I76gy@9*#_A?C7X&6pbKWQBje{TKXGPQ`3OqVeR$JO|#wk z_W0w9ii%ro{F$=C@GavxB#1K1oSQ+CSWM8M5?DI3xbE_IQ$w8c+jR9y}nR z6|oO^_l}&1nD}jcJae_m8Yn@NRW{@~IXQf8>rZ<3gYil6I{8jc*D_J|_P<#6sHv%y zi|1cBQrQhv2)w$yPPnf_@j&*?4jsE@2KQ5t%rW1-DSLQ$Fg|=p%JsYi2l758MV^}~ zx2lT5($W$Vu()Uj2>|PVY?z;)U-B*kp%S5IXX z{DGBfB@D8^8x+1LT3Ug?wSQ)t4J^ey58cP_8ohe>=*((=wNJ0v%N^|w8>Z@WQ?4bZ zm!b{~48%l4Af7&@REnjK7M=CL_P;#58?fq2Vqsx{!C>ONjD8H+Ei5cdw))G0g1LLL zXFfSO*)}jh>gDD2JA#9c55~{Wzk6^H0z%WWFO^N)(>Y{-H~NTk}UJMqsm zl9TaubaaaPEadh{{IZ{599vHDfQ1PUA~Be@=O(_Pq%tQEqR#p13FA&s@>Y5n$jAcg z>cmb?PgP=!8((jyB5n-%ZBv@D!+?MUpf(2YM6a!^;DX>htQCPmp#ib6r1_eevn&5@ zs{Yy88F+7fo3A=mj!{lq`%Y7Hb3IAuLCnkPCMC?Ript839Cmb$I4V^YRM0R4X86f4I3RO`65PP4$w>@X&SC@AK|oNjoB?k`{JXl|*i%lY|XTR8XXVj!H>*^Z z0uN6iyHpm3s1v~|fm42R+lrrtM!c+KiNH*b(7on7&4=T3hn*+3>{6%~1M zwj9Lc&U*bI(J6@O=?WL&6B=C;Q$=_^7GQ(tkY&jDhW+~0crwxIFn_SYRp)n!MU7`l z4aanw^}0x9kX&4xU}BCI`KGTw6%~E0vPpBkzA_gQ5mCvQm{?nw66AMt$C8v(YdXz` z&w7{(om`L&j*P7EnISR=!SF2(bG+T8vWAM5t4}ZXkoaZ}c`F$jUv8?mrw10gB&D)|fN?_z2 zU0CXONwnK1YUQ+{&7Yd8SH``}P8WvCDkz9-_P+aBw*w1;k7mL|eZUQ~xemCMWHB^2 zcu{X_M;rInnOI+cf^z{@t*C-7?8YRcg6AD&d z4UTPF>j_LYP0>|*K1Ot+^gM#n|6ic}h+P!Rgq_SxphvDGqj zPOG6=8<=Yso#PIAvOZ{= z2_+0@U(571ALVrA?fg^G)^^=qWpgBO{-(y^up7uu2Cg#xq9z$=9Pe%S<_&vKg0Su-~67(?tu^G>};ts+##8tC^!Vi zgow@>$H)jzDuegeuO9QGKhMj2PKELcN|k(lvGdhuqDosN)GO(8o~=v4bDjwZmZA|KYYRq^BOGH-3+g*}eE5A%BI%UWFo^Z#Cpq+=K5fD%-6`-%SLHbAV&7A1 z79~2_G5EUSL{c@Aczdg{A*c3h9A$|O40P%mB&rPj4mW+jyl{se?z57gr>uqsJo~Bm7`UWgsGKRfPK@DwTACA_iirofcnrbSmm#l`R>%ng z(|vF?JL6FrM>s)Fo93!s_WrKI{NGv}WZ*ci0&eV*FCs|P1dPkf7A&f~T zL&HHgtY4#qEiW0gM&I9TzqlO~M6$5jht_MJ#=Smob*%OdwH}syz_nH8yrkuGY$WpQ zH=K-i3zwXnrKFR2IuMwdFz zT-+7tZSg2j*z~G5U*X`lDpb-^K6~~oI#yPrC!E~BZ6G%G+qWrO-$aL;c+QQujIR~k zB=kS!UoH<&i~M=yv)3)vbWuS$fg;2Gn7_KP6zd;Q?#$5j^*m^Rq1|0s(G{Eq(x1zA z$q)*pOBbh-P$CLO?mtHB8yl~$5INeQEW@Z?;}mFIhI;OwOqQW)rholQD-;6a#j5J3 zgNXf!ED?^L z6;JSRxx&P)m^W8o-jA3ypqRF$8bk=VsV=E3rU{@b; zvf5|kqiV{w6Qm(DeI0PcCv)h8O<(!xHfHryXF?#-I3N4iQlK$|J7!$r1^!YRP1QQwY z@E~K)U6YHTkPs6-_f2d2sYPtUNG#y8I(ZJXZRPZ|)nvmV>+3%!lnxF{Wbp0qKG9KBmTo=0NiG1wmk244(7?&gJ^hiv+hS6;MKgf=T6BbNXmQ zyo>!I_4UzTtup(%v*a)9NFon-!9-atEo9ElHk0*&!LOI^B)VQ*z(Ydll-%9n@NYS% zoEz2+T+eq{IM-o2zq!7i9SSb2eZ}wO1Jhy>K7Eo>j!b^;K+P^2xWoKp4 z*-bQm71JKuljG9R(j}KoFu{+Y!&LQ~X@$vD? zlw{QleeMujHW?Y?`-eFA_?=TJF?6~g?oMFE@qX{`S3)2VjTSENVroT;%P_B1G&G*6 zN&~1N)Pm`Gm+ZD4l==UI5Fz%B-BTaX5xT&`RC7g`e`jycrQws(2cW1E5)%)>wEG*tR1l7V`2i7mGtaNDKI%NNi_Q^%Y zhNYy?P;u)GI@HTCwnb2K0aWqf107KOoVsgY^eZzOWnLi#(~aE#EdWy3bU07N5RJen z+0YnxAMb#M>LMT_f}rSMny4c)7Z;&g68FZC7f@}9FEZJ+ZHLJSLIJG+(zdL;yuBxy zmhJelrkWadC!av9PJsp%CF)dec^nfHb8#@WP1Uydh(L{@kdI|c2aBbbj_00vz5hZ*nh+mvKjih2dQQwsLYb{i-Po} z_f~vaE=P6ZiHVB`4y<8AfDZz0Hc?QJ{CMYgaC$miN=j;QbdY>zU(x3;T`rbw)-;i1*Q-w+YhTM?`=+6u%r_*xruj(9F1z zsdpb5E223F!`8jgstJVzRQk9{1F&AJd z%f{Xu%*=?LEg%4U&Q4CgNwqr8$&B~(gz?aTaJ zv$ON#;ypo2qDBA{LciZUe2<2vJTWnGRLSML0T(ByDOQ=NM=ws7QZdZgyzbd42q`=j!8RX)KI#zOKZ z3)0IzpPYh%_0TTDLO;cqrnk4($;AcH>UY`3M-&tk1jIRO_0QgS9OVEtUF>IGcg?p4 zV?j<&PazOsY;Qi6k&%(^vuBGtzZ+f5fyR4x@ygm73MniuetIG}H9h_PVoqW<=DX$x zu|Oc#;UH9!6Le^MlWOa{k9pnP-TBSBFvg{7zXy-=m&z?{Y;KE+iUKuGE4QD|>+kOm z7)o|o8BB_v6wrg@ripKFS+F3Xp`ilKl$4Y}G`47GmTteP$UTE}pCPo2wi(>1k*YII zN5J@#v$Mr_nlkbr5mHlAVGInhJv~aj0-m0p?`8dEw6(QOt*kga{XokxI5Z@$ub=XB z-u2C!zt5z?!oswJ^Qx+JEmM+69G%zt;d%xJT)G*lsnaWyRmIUSXk~oFy3F_;=300} zGcrE?pLlI9r=+IF0MA{l$zIC?$oEobB92J`h%^i+L@G(m?psNDUwG{7?7(rV-0cH~ zO<7qUD^ND68q@N2ul65B(cS0S7#$zaDJr_n&dv_#98yCgX7s5qAprp+1wpy_SCYpm z0*^MU70@KzfV=L2SXcrz%j4|ezTfrb8vt*>Io4vZCnh1W$Z&mvf5X|HJoyiL<*o$j z_|n26`_m@^XJ=>52M>bKXk@`kbab?`n%dUCE4o*gp5VW^n1d6y>c^LfCF}Z)d%nHI^Ar+guaPebu+~V zgF7u!RZRjo8fkCO?c?hUz*W@X;1ggfQu}H|Q#QM3{7vIW@KL`^{V^ zI3J#s7=|Cu`7_|*{cfxuSOUtbS{;xq%3hyG*o$K2fD*2`_j zZvz9#;`ZYA@87;WI}8pE#s+okCKdk7wVF6wsHmtEmX!2h$XI~KW~3h?jeXMrQl0+% z`7-z4QX!#aK-Kq?y`?Eo$K5_l2?^<1T76*m$`H}+ZqVJ6yQQvZ9x3_#UZtvdT)@Ti zHzbMdA#O1}NoVi8$wh~KMIC;DI|78zooJpzqzW>osi|r0!35rSdzMYoK6&3>_)}|d z0BLTnCH~*V!T&m_-+D6!CMPEgEHQ?-0!kmx_3$|VhN?u3dF6YdVuc zSlh@*<#TLiMasQXA3&9lZQ(*S7?HA?nxu0hE4>;*(RM~KY{SEpqyKw7@xNyI@4d(s Z1KWUNOcvjeJGjt+s65h8EJ2tC{SVfDm*W5c literal 0 HcmV?d00001 diff --git a/docs/VoidValue_8h__incl.map b/docs/VoidValue_8h__incl.map new file mode 100644 index 0000000..5997110 --- /dev/null +++ b/docs/VoidValue_8h__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/VoidValue_8h__incl.md5 b/docs/VoidValue_8h__incl.md5 new file mode 100644 index 0000000..4713dc5 --- /dev/null +++ b/docs/VoidValue_8h__incl.md5 @@ -0,0 +1 @@ +2fe8fe9fabcd58d433f9b82392834b5c \ No newline at end of file diff --git a/docs/VoidValue_8h__incl.png b/docs/VoidValue_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..886ddce943f4f4f04a27015a6196db83655c4726 GIT binary patch literal 8880 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 + + + + + + +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 
+
6 class VoidValue : public Value
+
7 {
+
8 public:
+
9  VoidValue();
+
10  ~VoidValue() override {};
+
11 
+
13  Value* Deepcopy() const override;
+
14 
+
16  std::string GetAsOsString() const override;
+
17 
+
19  long long int GetInt64() const override;
+
21  int GetInt32() const override;
+
22 
+
24  long double GetFloat64() const override;
+
26  double GetFloat32() const override;
+
27 
+
29  std::string GetString() const override;
+
30 
+
32  const std::vector<Value*>& GetList() const;
+
33 };
+
+
std::string GetString() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:43
+
Abstract class for values.
Definition: Value.h:8
+ +
double GetFloat32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:38
+
Value * Deepcopy() const override
Will return a deeopopy of this object.
Definition: VoidValue.cpp:11
+
Specializations for void values.
Definition: VoidValue.h:6
+
std::string GetAsOsString() const override
Will return a string suitable for an std::ostream;.
Definition: VoidValue.cpp:16
+
long long int GetInt64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:23
+
long double GetFloat64() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:33
+
int GetInt32() const override
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:28
+ +
~VoidValue() override
Definition: VoidValue.h:10
+
const std::vector< Value * > & GetList() const
Throws HazelnuppValueNotConvertibleException.
Definition: VoidValue.cpp:48
+ + + + diff --git a/docs/annotated.html b/docs/annotated.html new file mode 100644 index 0000000..77a95b8 --- /dev/null +++ b/docs/annotated.html @@ -0,0 +1,105 @@ + + + + + + + +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:
+ + + + + + + + + + + + + + + + + +
 CFloatValueSpecializations for floating point values (uses long double)
 CHazelnuppThe main class to interface with
 CHazelnuppConstraintExceptionGets thrown something bad happens because of parameter constraints
 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
 CStringToolsInternal helper class
 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 new file mode 100644 index 0000000000000000000000000000000000000000..3ad51f0cab44c8022914a5967a057a324fe30374 GIT binary patch literal 640 zcmV-`0)PF9P)o2p$K>4CEV!@D zF7Hk>mhj5hw$<)9PH)USZq!OFeUW;~M)Y`6aQ~Bnl^gL0i>oi{2_2+KM%UtH>Ld9- zf@>>gBoQIuhAGQiK9IfwK!QVlmNF$t*(_UFehxr_%9xTfjf6r+KgUz)ZU7SY>Bvo7 z@oAikW;VC<3;-Iv)8|+3Xrb75o*L`|fJVO`R?U;t=ro&M%mR>LfU&Kpad=1A%;#|c z67H%&y)PKlHj7rii%lxPZg}4N%nDmtbX$Xoqt@{nkyudr=&R4rDlVH zK=_B_{CQek=htsu_J-s!#@I+mHKQ~guq%7EyUuSA;mC&Q>l5@R=ZmGCT3t5z>2Y=Z z&Cpv_YOaR}Gu1@_$E$Tw2!Du5*hMQ>+w?Mgn11BOj2@1)3lSJAmhum!htu2N8F!mg zRilaK{gq#PWr=XD@6vEEpe5+SPFbb=Kf1GbQ=^-P-V$UA? a(f_E)H!3HEvS)PKZcuyC{kP61Pb7OfM40u}h^V;u8 zU|`fZz~FdvhI-D2CdC`3syf~W950`)vX9kbtoUv5ef2ZJ2i*VDer7ReD8|lS$!p<% zchfn?=KYTka~H|{@?80*=@ie)vH;P5nF}AXos^YXH1Eg1D4zopr0A>X? AY5)KL literal 0 HcmV?d00001 diff --git a/docs/classFloatValue-members.html b/docs/classFloatValue-members.html new file mode 100644 index 0000000..23dcde0 --- /dev/null +++ b/docs/classFloatValue-members.html @@ -0,0 +1,105 @@ + + + + + + + +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 new file mode 100644 index 0000000..3774cd3 --- /dev/null +++ b/docs/classFloatValue.html @@ -0,0 +1,578 @@ + + + + + + + +Leonetienne/Hazelnupp: FloatValue Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ +
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+
FloatValue(const long double &value)
Definition: FloatValue.cpp:5
+ + + + diff --git a/docs/classFloatValue__coll__graph.map b/docs/classFloatValue__coll__graph.map new file mode 100644 index 0000000..d1e1117 --- /dev/null +++ b/docs/classFloatValue__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classFloatValue__coll__graph.md5 b/docs/classFloatValue__coll__graph.md5 new file mode 100644 index 0000000..ce67a40 --- /dev/null +++ b/docs/classFloatValue__coll__graph.md5 @@ -0,0 +1 @@ +61a7c55eab2b6c56d37885d5512dd079 \ No newline at end of file diff --git a/docs/classFloatValue__coll__graph.png b/docs/classFloatValue__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..81a6e858d955e08fcb9743dd5af1b60ee8b4ab7c GIT binary patch literal 2346 zcmcIm`8(8IAO4m#ktI(gOCi-{-I@h`G^ZA@}-{;|_i5_|vv2v}W! zI)c#;>_NQy!SMmtnU`ST_OY>q0>A!k1(ecs0N|amf|@#Ga=+!>v^`9hh#IstC=;rWznWBhE=0Ldg0KZ0Q9tT2GVxJFV zc0hUd6vs}?Z?t!2bx|mk*SBY;D;*`zqfjVM&*^x=q$ahbwDij5%Yi+!UO#^PxECIN zv&U#h&xYf-EVhqu>ei0SDg z6BCUC_Z`ce6_1RMk0;!}KeV*j+uQr_;lsOY)AZsWnYwM+L?YbG%k8m&XB9u+j@GefT)%h<9KiJ_+kHA61*jHk2QSD(7nra z;V`GErj{1SI24V3Y)}YOURcL~RMnrp^-^_qaalq&jtYQjbbd3i6gJz{s8 z(Sn1QIbXE1yV??&$Is2pt#I31^hSm&z9Wcs%J5!Bs2 zA0Kz|`ksJd#{d(PD7!OB+C%T(*IG%v0({j6Z___rPkCQfR#uOqE5Om8ww8mBEb|dn zQ0Nn`1)tV!6xljEPNjD`M30MRFpEdOUb&J000$4wz^Qwrn!Z=}L#X-&mMsxZ8~_X! z^a?XX|Ke_@2bUc#cy#a(09Lu>=eA6y_1sFLtBDfa#wKS5hbtXf>M2Fmt?n>|7qYJH ztHXw(_R5A82d#a@6+|e(K86*~vQ*L*1@J1wqOV)=#%ysHNOrFKV=mE+VrOLvRu2(; z$Xhc8k2lV9d51jx*+w?(hL*CZqknc$Dk&>VhdcI*Uwy0B;xZw%Pb}B*9rDE|8)Z0# zIbS$DQOlVeZzbQ3SLuN`ub(_3_|u=yvQ&dNjsvf>kPz609Vk)NWu_*qIGv;X7m-uGT}I>5cFTJ1-)!mO%%2@`u_-1ANCi$CdRJ= z{bN;40kt^2CO*KG0Y`q>tuQw?$E!Tbsr1zAN+cCprszM@2YJ}Vz)`-}TkTF0f(dM+YwIz}*fH(aF9a>ix1OoXGh(@Eg zTVr`B&CU6S;fUU`v9TlI!G}b^kueYw8_iRAQQ8QrYiRiM=k8qqAfvw_#rZ9qoim`a^qT7_P+7g; zPn_iDulfX%g+ls1z|qO6KbB~WJ0u`*^*Xmm(@Ki1f)i={tSFyC`T^j{)2I6Y7K?@5 z*(fe5Dr#uZRabwe0#hvu$E=c<*pSopx$1(R4|J4ZbFb+Qox(Py1MG&;lXK&2@g*{Z8rdINuiD_oD*$oX1D=UHOG2Y?{?P)#NN=6=Ne7&OeS+MSMSckKpu;QadUI~5Lx9e_!KtNP*ZbQyYJW8{n2k|G#d7J;qr+;PX61^ ze~* + + + diff --git a/docs/classFloatValue__inherit__graph.md5 b/docs/classFloatValue__inherit__graph.md5 new file mode 100644 index 0000000..ce67a40 --- /dev/null +++ b/docs/classFloatValue__inherit__graph.md5 @@ -0,0 +1 @@ +61a7c55eab2b6c56d37885d5512dd079 \ No newline at end of file diff --git a/docs/classFloatValue__inherit__graph.png b/docs/classFloatValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..81a6e858d955e08fcb9743dd5af1b60ee8b4ab7c GIT binary patch literal 2346 zcmcIm`8(8IAO4m#ktI(gOCi-{-I@h`G^ZA@}-{;|_i5_|vv2v}W! zI)c#;>_NQy!SMmtnU`ST_OY>q0>A!k1(ecs0N|amf|@#Ga=+!>v^`9hh#IstC=;rWznWBhE=0Ldg0KZ0Q9tT2GVxJFV zc0hUd6vs}?Z?t!2bx|mk*SBY;D;*`zqfjVM&*^x=q$ahbwDij5%Yi+!UO#^PxECIN zv&U#h&xYf-EVhqu>ei0SDg z6BCUC_Z`ce6_1RMk0;!}KeV*j+uQr_;lsOY)AZsWnYwM+L?YbG%k8m&XB9u+j@GefT)%h<9KiJ_+kHA61*jHk2QSD(7nra z;V`GErj{1SI24V3Y)}YOURcL~RMnrp^-^_qaalq&jtYQjbbd3i6gJz{s8 z(Sn1QIbXE1yV??&$Is2pt#I31^hSm&z9Wcs%J5!Bs2 zA0Kz|`ksJd#{d(PD7!OB+C%T(*IG%v0({j6Z___rPkCQfR#uOqE5Om8ww8mBEb|dn zQ0Nn`1)tV!6xljEPNjD`M30MRFpEdOUb&J000$4wz^Qwrn!Z=}L#X-&mMsxZ8~_X! z^a?XX|Ke_@2bUc#cy#a(09Lu>=eA6y_1sFLtBDfa#wKS5hbtXf>M2Fmt?n>|7qYJH ztHXw(_R5A82d#a@6+|e(K86*~vQ*L*1@J1wqOV)=#%ysHNOrFKV=mE+VrOLvRu2(; z$Xhc8k2lV9d51jx*+w?(hL*CZqknc$Dk&>VhdcI*Uwy0B;xZw%Pb}B*9rDE|8)Z0# zIbS$DQOlVeZzbQ3SLuN`ub(_3_|u=yvQ&dNjsvf>kPz609Vk)NWu_*qIGv;X7m-uGT}I>5cFTJ1-)!mO%%2@`u_-1ANCi$CdRJ= z{bN;40kt^2CO*KG0Y`q>tuQw?$E!Tbsr1zAN+cCprszM@2YJ}Vz)`-}TkTF0f(dM+YwIz}*fH(aF9a>ix1OoXGh(@Eg zTVr`B&CU6S;fUU`v9TlI!G}b^kueYw8_iRAQQ8QrYiRiM=k8qqAfvw_#rZ9qoim`a^qT7_P+7g; zPn_iDulfX%g+ls1z|qO6KbB~WJ0u`*^*Xmm(@Ki1f)i={tSFyC`T^j{)2I6Y7K?@5 z*(fe5Dr#uZRabwe0#hvu$E=c<*pSopx$1(R4|J4ZbFb+Qox(Py1MG&;lXK&2@g*{Z8rdINuiD_oD*$oX1D=UHOG2Y?{?P)#NN=6=Ne7&OeS+MSMSckKpu;QadUI~5Lx9e_!KtNP*ZbQyYJW8{n2k|G#d7J;qr+;PX61^ ze~* + + + + + + +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 new file mode 100644 index 0000000..bcd6022 --- /dev/null +++ b/docs/classHazelnupp.html @@ -0,0 +1,630 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+
const std::string & What() const
Will return an error message.
+
Gets thrown when a parameter is of a type that does not match the required type, and is not convertib...
+
Gets thrown when a parameter constrained to be required is not provided, and has no default value set...
+ +
const std::string & Key() const
Will return the key of this parameter.
Definition: Parameter.cpp:19
+
Gets thrown when an non-existent key gets dereferenced.
+
bool HasParam(const std::string &key) const
Will check wether a parameter exists given a key, or not.
Definition: Hazelnupp.cpp:151
+ +
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 new file mode 100644 index 0000000..7080787 --- /dev/null +++ b/docs/classHazelnuppConstraintException-members.html @@ -0,0 +1,94 @@ + + + + + + + +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 new file mode 100644 index 0000000..0460eb3 --- /dev/null +++ b/docs/classHazelnuppConstraintException.html @@ -0,0 +1,205 @@ + + + + + + + +Leonetienne/Hazelnupp: HazelnuppConstraintException Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + + + + diff --git a/docs/classHazelnuppConstraintException__coll__graph.map b/docs/classHazelnuppConstraintException__coll__graph.map new file mode 100644 index 0000000..5fa5350 --- /dev/null +++ b/docs/classHazelnuppConstraintException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classHazelnuppConstraintException__coll__graph.md5 b/docs/classHazelnuppConstraintException__coll__graph.md5 new file mode 100644 index 0000000..b5ab92d --- /dev/null +++ b/docs/classHazelnuppConstraintException__coll__graph.md5 @@ -0,0 +1 @@ +8780b5af48266ddbb9e3e39964ac24c9 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintException__coll__graph.png b/docs/classHazelnuppConstraintException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..46cfddcc49e9d3f84e6cc598c2cd99d2a3715235 GIT binary patch literal 11398 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 + + + + + + diff --git a/docs/classHazelnuppConstraintException__inherit__graph.md5 b/docs/classHazelnuppConstraintException__inherit__graph.md5 new file mode 100644 index 0000000..e37e84a --- /dev/null +++ b/docs/classHazelnuppConstraintException__inherit__graph.md5 @@ -0,0 +1 @@ +16bc78b0ae884e3cc8de0c87c60d24c5 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintException__inherit__graph.png b/docs/classHazelnuppConstraintException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..03b43552a5cc77801fe4f0378f7d6475dd2fdfb5 GIT binary patch literal 12636 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 literal 0 HcmV?d00001 diff --git a/docs/classHazelnuppConstraintMissingValue-members.html b/docs/classHazelnuppConstraintMissingValue-members.html new file mode 100644 index 0000000..e15abd6 --- /dev/null +++ b/docs/classHazelnuppConstraintMissingValue-members.html @@ -0,0 +1,96 @@ + + + + + + + +Leonetienne/Hazelnupp: Member List + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
HazelnuppConstraintMissingValue Member List
+
+ + + + + diff --git a/docs/classHazelnuppConstraintMissingValue.html b/docs/classHazelnuppConstraintMissingValue.html new file mode 100644 index 0000000..8a44906 --- /dev/null +++ b/docs/classHazelnuppConstraintMissingValue.html @@ -0,0 +1,210 @@ + + + + + + + +Leonetienne/Hazelnupp: HazelnuppConstraintMissingValue Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + + + + diff --git a/docs/classHazelnuppConstraintMissingValue__coll__graph.map b/docs/classHazelnuppConstraintMissingValue__coll__graph.map new file mode 100644 index 0000000..a3c28ef --- /dev/null +++ b/docs/classHazelnuppConstraintMissingValue__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/classHazelnuppConstraintMissingValue__coll__graph.md5 b/docs/classHazelnuppConstraintMissingValue__coll__graph.md5 new file mode 100644 index 0000000..a3e58d6 --- /dev/null +++ b/docs/classHazelnuppConstraintMissingValue__coll__graph.md5 @@ -0,0 +1 @@ +53168f4d3c07fb954273ae81459e9a52 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintMissingValue__coll__graph.png b/docs/classHazelnuppConstraintMissingValue__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..2efec37743e1e9eccd97fd9ff8d7420042956c81 GIT binary patch literal 14321 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 literal 0 HcmV?d00001 diff --git a/docs/classHazelnuppConstraintMissingValue__inherit__graph.map b/docs/classHazelnuppConstraintMissingValue__inherit__graph.map new file mode 100644 index 0000000..5659d69 --- /dev/null +++ b/docs/classHazelnuppConstraintMissingValue__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 b/docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 new file mode 100644 index 0000000..f3f9de7 --- /dev/null +++ b/docs/classHazelnuppConstraintMissingValue__inherit__graph.md5 @@ -0,0 +1 @@ +30c14b46f5309ee00f2ac553ceadf88a \ No newline at end of file diff --git a/docs/classHazelnuppConstraintMissingValue__inherit__graph.png b/docs/classHazelnuppConstraintMissingValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e9df92f6c2cf42be34dbd6a1749bd7def6ecd9c8 GIT binary patch literal 9105 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 + + + + + + +Leonetienne/Hazelnupp: Member List + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
HazelnuppConstraintTypeMissmatch Member List
+
+ + + + + diff --git a/docs/classHazelnuppConstraintTypeMissmatch.html b/docs/classHazelnuppConstraintTypeMissmatch.html new file mode 100644 index 0000000..818c3b5 --- /dev/null +++ b/docs/classHazelnuppConstraintTypeMissmatch.html @@ -0,0 +1,210 @@ + + + + + + + +Leonetienne/Hazelnupp: HazelnuppConstraintTypeMissmatch Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + + + + diff --git a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map new file mode 100644 index 0000000..0c19bad --- /dev/null +++ b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 new file mode 100644 index 0000000..afe2d90 --- /dev/null +++ b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.md5 @@ -0,0 +1 @@ +16e304d64e326eb561ef8c13d477c677 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.png b/docs/classHazelnuppConstraintTypeMissmatch__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..fb08f142cac2236113c3f30a559bb621c91fb01a GIT binary patch literal 14346 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 + + + + + diff --git a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 b/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 new file mode 100644 index 0000000..d76519e --- /dev/null +++ b/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.md5 @@ -0,0 +1 @@ +099f62bbcdccec595c21e9510dc0dae9 \ No newline at end of file diff --git a/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.png b/docs/classHazelnuppConstraintTypeMissmatch__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..fe764c61f5e6348fa48f284221f732466c15e67d GIT binary patch literal 9141 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 + + + + + + +Leonetienne/Hazelnupp: Member List + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
HazelnuppException Member List
+
+
+ + + + diff --git a/docs/classHazelnuppException.html b/docs/classHazelnuppException.html new file mode 100644 index 0000000..fcc987e --- /dev/null +++ b/docs/classHazelnuppException.html @@ -0,0 +1,259 @@ + + + + + + + +Leonetienne/Hazelnupp: HazelnuppException Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + + + + diff --git a/docs/classHazelnuppException__coll__graph.map b/docs/classHazelnuppException__coll__graph.map new file mode 100644 index 0000000..0faf445 --- /dev/null +++ b/docs/classHazelnuppException__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/classHazelnuppException__coll__graph.md5 b/docs/classHazelnuppException__coll__graph.md5 new file mode 100644 index 0000000..c1bf83d --- /dev/null +++ b/docs/classHazelnuppException__coll__graph.md5 @@ -0,0 +1 @@ +73a1a62dc1264bfb70a21bb9c678179c \ No newline at end of file diff --git a/docs/classHazelnuppException__coll__graph.png b/docs/classHazelnuppException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..1493d52b1163f6c3ef2fae0187ff2d5821f0dc1c GIT binary patch literal 9637 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 + + + + + + + + diff --git a/docs/classHazelnuppException__inherit__graph.md5 b/docs/classHazelnuppException__inherit__graph.md5 new file mode 100644 index 0000000..ffa0264 --- /dev/null +++ b/docs/classHazelnuppException__inherit__graph.md5 @@ -0,0 +1 @@ +2ea7051c44210f9778f71602609d2ced \ No newline at end of file diff --git a/docs/classHazelnuppException__inherit__graph.png b/docs/classHazelnuppException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..93ce9521fe3e6065f5728788ac084f6036802b04 GIT binary patch literal 20860 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 literal 0 HcmV?d00001 diff --git a/docs/classHazelnuppInvalidKeyException-members.html b/docs/classHazelnuppInvalidKeyException-members.html new file mode 100644 index 0000000..d96d6a1 --- /dev/null +++ b/docs/classHazelnuppInvalidKeyException-members.html @@ -0,0 +1,94 @@ + + + + + + + +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 new file mode 100644 index 0000000..6b63a3d --- /dev/null +++ b/docs/classHazelnuppInvalidKeyException.html @@ -0,0 +1,203 @@ + + + + + + + +Leonetienne/Hazelnupp: HazelnuppInvalidKeyException Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + + + + diff --git a/docs/classHazelnuppInvalidKeyException__coll__graph.map b/docs/classHazelnuppInvalidKeyException__coll__graph.map new file mode 100644 index 0000000..b678d19 --- /dev/null +++ b/docs/classHazelnuppInvalidKeyException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classHazelnuppInvalidKeyException__coll__graph.md5 b/docs/classHazelnuppInvalidKeyException__coll__graph.md5 new file mode 100644 index 0000000..6ea7594 --- /dev/null +++ b/docs/classHazelnuppInvalidKeyException__coll__graph.md5 @@ -0,0 +1 @@ +9824cce6102c022eca7ea3340a6e069a \ No newline at end of file diff --git a/docs/classHazelnuppInvalidKeyException__coll__graph.png b/docs/classHazelnuppInvalidKeyException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6f49ccdbf16ab1e3a7ac3602f959c2b19f47bd7d GIT binary patch literal 11587 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 literal 0 HcmV?d00001 diff --git a/docs/classHazelnuppInvalidKeyException__inherit__graph.map b/docs/classHazelnuppInvalidKeyException__inherit__graph.map new file mode 100644 index 0000000..d2fb1c2 --- /dev/null +++ b/docs/classHazelnuppInvalidKeyException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classHazelnuppInvalidKeyException__inherit__graph.md5 b/docs/classHazelnuppInvalidKeyException__inherit__graph.md5 new file mode 100644 index 0000000..cd0380e --- /dev/null +++ b/docs/classHazelnuppInvalidKeyException__inherit__graph.md5 @@ -0,0 +1 @@ +3cbba2db8b9e26494124e6786b5e2b42 \ No newline at end of file diff --git a/docs/classHazelnuppInvalidKeyException__inherit__graph.png b/docs/classHazelnuppInvalidKeyException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b95d9af4e3c946a8d772e1c188ad93420c4917d6 GIT binary patch literal 7047 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 + + + + + + +Leonetienne/Hazelnupp: Member List + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
HazelnuppValueNotConvertibleException Member List
+
+ + + + + diff --git a/docs/classHazelnuppValueNotConvertibleException.html b/docs/classHazelnuppValueNotConvertibleException.html new file mode 100644 index 0000000..7857c7a --- /dev/null +++ b/docs/classHazelnuppValueNotConvertibleException.html @@ -0,0 +1,203 @@ + + + + + + + +Leonetienne/Hazelnupp: HazelnuppValueNotConvertibleException Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + + + + diff --git a/docs/classHazelnuppValueNotConvertibleException__coll__graph.map b/docs/classHazelnuppValueNotConvertibleException__coll__graph.map new file mode 100644 index 0000000..549a305 --- /dev/null +++ b/docs/classHazelnuppValueNotConvertibleException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 b/docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 new file mode 100644 index 0000000..19e2e3f --- /dev/null +++ b/docs/classHazelnuppValueNotConvertibleException__coll__graph.md5 @@ -0,0 +1 @@ +9d32983d0d841eed4a6fd0df8a5f7cc4 \ No newline at end of file diff --git a/docs/classHazelnuppValueNotConvertibleException__coll__graph.png b/docs/classHazelnuppValueNotConvertibleException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e198a8c37e24ff395ba3de163e9bf2919ebc9182 GIT binary patch literal 13181 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 OaaUeV?wySB)Bgicv{p?3 literal 0 HcmV?d00001 diff --git a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.map b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.map new file mode 100644 index 0000000..c262591 --- /dev/null +++ b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 new file mode 100644 index 0000000..438de84 --- /dev/null +++ b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.md5 @@ -0,0 +1 @@ +8ca6ce8b99f1fee2372c0029f0781e92 \ No newline at end of file diff --git a/docs/classHazelnuppValueNotConvertibleException__inherit__graph.png b/docs/classHazelnuppValueNotConvertibleException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f33f98ff6eedaf33624642a423ffc83a1bb0a0ce GIT binary patch literal 6740 zcmcgxby(AFzXy4QSukm75Q$L&4=6bpozme5L8KWy295@45T(P32q*}MAfrPGk#6Y@ zNh#@ZZr}61?>XnX&cEkuV`JmTUEllu)S`5>Rc>5mxJpDsbVE&5Q4hRsfS(S?CGcF@ zr`85uNUb$g6p1eW++Wuhyd)xGxT2;gZ-B|#oN_SHH)bIF zWexHGNlYSZa_^x)bcKmo)2;9~dKFD1k|*y(*S-a5xaUN^&gIEuD25ocUYggFXXB!0 zXN!?jR25LDLKPPX&Dzu!Oic~q@)JDHz+trMP ziin9lDIfDP&M_=3Dq@wzs`}8#$SzV zEJ)3u938JhAoNn`jlLWOa7jYD0z@W|Fxl7lYq8@cCUdyRSV}@djgvA==kepma&kf8 z;jJI7zMh?(Wn^a7j$c818yP`&rU-zZZOcps3m!Cjucr)T&=gP&4-ex42@;vz;(!0W z|ND2q@opa0I438kr>BRX)@k6aT6%hVhV;OBP^_GpAil6ry_K|)a8eW>uZ>1mn(+5@ zcTZI~P@(YU1Wg6fDy3 zii%>QqN*`FZ=$n*{P=O5Q9QPD2@G0MMWx*2!`j+fkJ!Y-M0;D?{6ygSy5-d5B#e&_ zC-Zc9adB~Z`PqbvvvXHhR{-I7WqElyG7=)5DUhsQD^mzY3MMwueZszZ-QCnQy`dpM zS64Rz-71%qlEM+Tcv|hT6fNDNzH^KX(|PjbP6J<}stJEeUChUiAFohx(bLnL)%(%l zXZ4-c)S@z^%F4>FT)C3yD&f1kn3hIwI?5h!vd@cnS69b`pJ@zaW#2zL_N*(CdHQ=6 zjrF62`~@SYQ$|I8_LQ`;vPyjZ{G;#Q@-0!@qoX5gT3Yn9G8=SteZ6z0mgOEQYt26; zHT8CwrluxO^c$Y&4jXZCaU%nRS(VWbre7C!^0hLTH#TCCFc>UN(>7wNa5@Uq0ILCR z!E&$Pu*l-zkD7=)Jw35>y}rMMt{_xp1!ZJp!k(M(8_7t%aj=WLiP+lO`uX!G-gO3z zM!yoZ)7H?qhKOuF@~_L!&+qQ;2D{}51r}+IIi6W6rTNj&&=AinlF6y5n+U!4LlYC3 zU+0pNl9*)ts9jxAD8WS4U&ngc*{^3f1WVh8hAI@gquXL{4NgxJHpWD;bQe}&rm-3A zDw+0nk>#I0RXUI9J$yJmGQyRp+G1U108@h8Vq~PFq4|u*-wtbwV_aEXtwK#nCaM}3 z8PQTwa$LCQ(V=Z^ZCO}Y_>4=iyNhZX8lBlvKGHHWJJvOz$g((AR@T6i{hv)uP4n~C zbutlOcXoDs_g8fl6cn7DogEzuqqEt<$iazUXp1v0wb-1lN3uaNetzh8ripoZOIZ@0 zBPHg1)K`zOgl9Jx&CJc?;^M^oolkQcvg`NbQ7bLQ#l=!STTJkPx>v7W#l>}3d#<=W z1!p5Uc{qreWMgyliAcH}o13?{*xkEn(!RUFBxE{1bZF2_rnt+eii)ApQ9K?G4FH_0pKbALE+8PFO82L>jYvA^3_laF zzPfrJ^Xm~3Ie`l}QFG{yrb8og+yJuNR*7d4a~#@T>Rh7oV`R*v;?|y>z;N_iIhIgY zds?e2&lY5tS~j9wT#BD)2)nqr+;bVPz#ehz z-4<&pq-)=2Ezq7)f!v_K8@`38xRtp5BN4%osGZFa4TZt3+KE^#=kvPRh^>wkzo@B6 z0S_czeYHd>Q$A9R=g!ircyfJ}i1ZgP9{321Uq^i4EiT@C|32Ksbn<8qS?!Yhg&t!lu4?M;>R_ zJDrzDUrffn<^TD!mW0Hequlo%dhhwU3lus1l#C4@UPnxx3Yr~V&WSIu3WFjH91CAu z1Q8QBA@186>NQ3C-PrdADM?-h+w1*)(0L0k=nxIyquF0o2

vjC6a$GEnjDajWC=*yZrlX66u19ylr~F9U2T1>Mh*6nC3T}o1l9NX7T63-6_HH&& zODL$9d?fJ>TT2k;-}Lpba*_Vu{yBFO-s(fhxL5qP$SD@;x2LS?!|oqk!ryEY>lxH+L>yzTW2GxEVyBZWT)d>mtcUAQai-vh7nk!c|(CwF&u_cA6X zB!PF^48>=8o1^S#clRsTuNyeKySe>n@R!nBIx`g%6dYnTul7(H%ZuhB`gz2weyA}hW;tZ|p=T|dOZmzGd zFDKXZqwH}6IrH~9H;lB!3iJ5*IAAMDDJeiTYA?B-*xJsc!F9*H`fN}gYC}uQ1pLgW zC!HH(<)-{2`#%R=r)uuZBn+VQUcm!V_VyTnOjw_TwPC>Olu>`N5B>N-4~0ImvJ!Uw zaTgA6Twb=NA<-TG37Xj5+cPeHsHB?|8cK4q;Ps}a=47uIZdX1A`k$Vj7P4$G@Mk&^ z2vNw&$bh}<00Yz0(+fD7iwFz*E9`kpOw5@y{&9Q!&%uHP?(I&YMt)x2>VWe6+e-@In1yIYHs@;z$Xd4ILP zKs$T)@GuZyCKh{^r;$oYNtvd}g|Kgpra9c2s`dJ*=j&UYoz0xuX(;o&C!27zkO0V| zJ)ZexhYctIbB)C(8#Ms8^7747wLSnxqiOj3uuS$`xmOT8!os=-;(N>8>t=2yCMGKa zhubrapvBgdh4uubi3ubek*?XcvUd}aoSb~b9;Nujx-2?68h~GYy}z?FKMG$~1{4QH zL)-(6OTltnFVoY~Y@R%sL)R76)JWF(tExuUwRgPaZf|LMXTL4Yl&BhpzjEzb=3T3h z;NWJUn%u9+wx%Q{@sO*x%GInHuvlx#P8U4DafE&E>~udpKRvvO=*7W}-I)wjH8tM~ zYn-2JPFhhqxVj1j^6>IH0A>j#qsZrhv9ZaqLBFwn@9MfvPTqh${*;(_^B<(oZewj7 z!cDKqRSuNFn>TMfeVoM^XZi*Q6(CWq*27Dt4+~_@b&e~a04BkkJ#hg#YG!FKE6p2^o9v(sII<#EzGp)&AV7{>e!*j>Or$ysWigp3S6Y9Rf9= zqx|~%bFlhHCmS}`7O{yeDM49SOi$N8b(czLUvRsBK{#w=W@cVu z%uG-B#b7>|Rqukr2nY!HY)$U$?>oD=7?ukG76Y3X@ZBD!Zg%!jYsCM;%!Mdp7zam4 z?@D`nJ5JVL^6uS_RaNw(U2|?&ES5#aZ>X;i3g|8)qtK5{T}n(`To49(aq+AZtaMMh zsNLrHXGG5P-WAs$ADh9vfBZ1%emqe6oWa`DbI-gM4c4&CEYJfx19d|=RhiuUcM|~QAghhb>Cg=;MLFX z%DmS*Fdzbl&vbOC9mpl28K|j&4$Utph!Aq4xx>Xp&LWLj8+s2;7#9~8&@!$U()$z{ znW&;?LscKwSAeF`&bpryASKYcf1~On$?Sta`{}EkqvLRI})=b031p;C7BAhPmyE$*4dfMr%_QaS!UnQ zQB$*}!I3D7P+eC5B1(OMN_`^z$ox6Za&D`EmECK{`gQh{Nlj<}!@JxgulH60`}?id zR`2%W8dd(u-jq>)-&sN-Gv5|#y~x5A)SGvZsmYZFL7mjmXf<>5YYpa>7n0lsVbgvU z^kF9YJ=wJdxnEoG-d^;)yvO?^xvhYZ`^U#$Wjy>b!qx0EG0q9ZK&d6ZADLVk0(EK` zE~03ihhsey`B4iVtb>LL=uoJWqPn_lXtRN{l?ZQ|u015I>agDLK$35rm_WwkvAH?W z)ivMNHtJ=V2U@Qe64-1Qpc~?(bWm9IRi(qOc*F;?qu)>TV{nCx_P z%JlG1Pa-7n15$sfuZNr%Iy7{+2XPmwb<2_C_~{`Lt;kX9HaB(7l=!Ua(rXJY+D4%9 z4=)Tpxj(*yu-~>2@{K9kB9f6YXMhb_{F3jt0M#x^(`C*khUBm-Oy`zzY?2LL`KJs0 zf1>gKE+GPsxF;?JvvG4rl;~AZ;(Ape*%F@5fQ0)V!5U!i=y-DKpB~cEqIhz3P`jq4 z4LpF4cA=!AqVX(RTqmzGL(QaK4$8>N%95;T%KEPftQWBVK0E|)PdR1CGm3LshhzQy zfenzvJI${i3_?jL`w!NqUP8$(UuM4VCRf%vGjjoGyK;EFmE=Rqd%VJ-@Oty2+Obgfg%)(EWnCle+=}vAes=6D{)h-(H@c$Of#0k}j}Q zK*ktNIs?802iLmnJ`gKXQnl69zTcC0fhq#r&Wr{=?{qGLm6nd~;$*$_YXk)a1d=BF zm=s~ZGv7KBa9RvF7NN>XDPa0(alSPM@Xqgp18+As9vIB;WdD6sR0kLuVK=pL_S_4F zlki-A&aNOLDoQ747FnyIrS-Y8va+JWK=L{HXK%yMX!q)>s>v$%+X4c`dul}u4TPp( z5|BkeasWh@An`rGiJxva1_D&-0fuU8@{gYdT>@Ge?e5;pbZuycKe4i!TVF4-rZ8vz z>bcTm4(2K@PJ8h|hv#fQMo1ec>tbUwWO#l=52gh7-BskLy&bj~&MfKmZDuBraCW@w zzJsZ|!6@#9p{0Jmw^5XP*xLfEx0&GK_hi1Azzct6<+jgGqfmsXUC$!HcDT@xic9lj zWn~+qv60c%1b(|KT@;u=L+w6g0|fJy@@ ztg5O4CO%P>`qr%|=*d>?HkWo5Jrh&ck_QE|uy=;>7@E)qXBQ z4<=_)YhIZ2ebew?$*Xc`y88()aECtH4ZdOqQ<6 zc*#B^B_)lIk9TlzfUu`)rX(iLEiaF_oCEXwCuR%n_xGsrqaBh~Ut6E^nlJB_1x%QI zR?^tmc=r2Xee?lNwtHpIvN0eIs&{tV100C7v^22RH&|tv{={E55nxJslY23ALi_>( zQeOAGR&}tCXPbf{IVd6P*tj?v*BC_(n$6qFv2Jc|RY1Xl{7cB9?&xO$Zr;M+y5eV4 zJ0Pvb#*5|dOd7js!0?(}R5-{@1fWX@d!p*!)-91e5pVMIpLN^%tQsG%B(W%fIO^NC zZ>|l;`S0Gnd;i|y_r}=N$V~N2iPr)Dqc!;H)Y_7SySceJ26F^rkNgL?l7fQNtStTu zKC_1p8E)OW#lnKJwS9(+jg94rmJB3F$F#1=Tau8GClyqG#lf&ai+G@X4DkR?TxS}l z1_#SuzkYOna!^P%;BsRv)(L?Cfm!2E)-(jMeKC?BsBN8)31$^j+#dvI&uN zO-oBl6_pi`tEs7}Rn-?3!Zqx3?P2Vx3vWF z8{~AZARj3#jE;)Z#jbt{zZM=I4)j`7R1`c10srx zaBC5e#e*Id9C3Kp=o_3k?YY5h2*!4M+3WKrzHl z!T-j@$6Hj`_XB}T$8QoO)FJHSb68b%A8XD;Lv!asW86?mNtcOy2Ta>wT4s4+{@xmd3b&?x~ghe>Iaijh3`-T3A?I9JRxND+5@8S?&7+sDPp_ zzz7Khg6njhu(0s);>!oN-5Gh-6fl4=S(4u0CnrJLqdxs^d2b-+BY6VayJDs?6{Q*Wm@CK`%^>M-`^hy%99Rm+`BRIZ}W?bNoi?SHXW3{owWp8vc5~e>eo#Nw#TER zQ_t2aNCukI|8VW3P!q!vT;W;)l`9_)kE**1=gH<0JPy6Kva$j&YJNUs8)p8LXy`9? z<#&U%t3muw>m^4gC(zmX`T5TJcaTX@UJZZxd&BB3J*Ykil|V@x933+ND~x}3BD=xx z)^F1~;sD2NWQ;axIWp?xb&yd#zuXm-%qVQ#Qt2}Bdvl_FVFysr-tI0!L19NP7@W2j zFJ7#!u7-t$0Xu!Z+bN{FRQRQbk5cMG$wuD+QlMa?XraFp%z!=Y#mhgpB_H6!;5Of& zfHzxX=v*f%HULP$z+}U|wT-@rjWq3?Q&1%67igOzkq#%r=pUgEGS4Ul5P zV2&WrpkS5N)X?zs_68B=ty^k&11r6_1&mdpF%8T-@y9Sn8w-EIUw65;2BN6A0l=pS zAi+YRXPb!6a!AB8Wt>Jn051aQ5oFaMV+HODbd+48y5V^9F-400rTbL3ha9w-n3$aH z?E!#de$6(^hmwwsj|(Czolk#nf;|>WdgG5u0;Hj%0}|d>Qa*wNgP3T;aCKwOLX(ys zp-V~I_XW(N$4Z+{dM(H_go9~AfK_PDGAVy_ZpRw*KQcbj7JUyZ9{^dhLL@=2^eN|= xrO^BS%tZV2m!0&8e?HRw&u?A+r5XujlSbZ+YG=Z~z}G}XYD(IQC5T5M{{ae#Jlp^P literal 0 HcmV?d00001 diff --git a/docs/classIntValue-members.html b/docs/classIntValue-members.html new file mode 100644 index 0000000..fa2b2c4 --- /dev/null +++ b/docs/classIntValue-members.html @@ -0,0 +1,105 @@ + + + + + + + +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 new file mode 100644 index 0000000..30a0b97 --- /dev/null +++ b/docs/classIntValue.html @@ -0,0 +1,578 @@ + + + + + + + +Leonetienne/Hazelnupp: IntValue Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+ +
IntValue(const long long int &value)
Definition: IntValue.cpp:5
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+ + + + diff --git a/docs/classIntValue__coll__graph.map b/docs/classIntValue__coll__graph.map new file mode 100644 index 0000000..7dc6700 --- /dev/null +++ b/docs/classIntValue__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classIntValue__coll__graph.md5 b/docs/classIntValue__coll__graph.md5 new file mode 100644 index 0000000..4283d04 --- /dev/null +++ b/docs/classIntValue__coll__graph.md5 @@ -0,0 +1 @@ +fe282cdc62e45fcd3bd1eea2f9ef3879 \ No newline at end of file diff --git a/docs/classIntValue__coll__graph.png b/docs/classIntValue__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3133f8da4105a3106e2da0fd994a7355934beac0 GIT binary patch literal 2082 zcmZ`)dpy(YAOA89A(~_@uSKmL9k=CZLfJTw*MiT+$&b7NtXDI1-X; z#Ezm3DM}=k`(?SsF?KoM&g=F2^Y=Wj=lT5cJg?X1dET%0CEdxvT5dODHvj-~HfL}y zV08yqxRf}!Pi$7Efdxu9YmEa$Kj-6@Ww`(#`N;-n<`!GXE%dfi{4D;a-!4geP79Yp zzwVcgz6UQk1xFk?Xa8hGeE+Q{@(Qql2d{6|r{}+3If}R;xvGJ7D=tSN)alwO_7UgB zq{R+v#_1<3CtsH>SIVp!b=v7*C*<1))qM2|A6flM8>iBc{e|nID5BxTn>2_&9I7sB z7Y*e6DJYj45>UzIgX80rjRkj#wc37UR+-zcqTf#xy$~%eg+xZK>s#+ufj}SvfuL>h z$K{>LOZ6l5Gtzn|Po6aS_+)$4amV$buE5pBWnppAMi!XkI_6XGczj}_FvHxWh%&=I zP~5yCd4tCateu%5-s<{xjFz82H$Q(eYGI$V_ZFm+zf0UKFfh=kYHj`nN3&cb3SQ&Z)|Mr>vJFsC1x3~zOSmP$^@IHn&wjt zj@fVn&Ha_7r9={GZJL!QK}5edMWe0M_f-r91J^yP`dBO(85sxwqBS)&wXyigLcz_= z?S^VvmYjpVy%<0U2vCzsR!!^hBlEW+;^H2>VoMZ>0(H*^1Wa~!pYiZeZd)(tC6>E+ zdU^)y(wu&Fk7^n7eF{e)f*VFxr(>4Ca%7~Xr7^NPnwoyB?(S|?45mXkKR;i94K<8j zf@i%MtqG6>UWGN3s3VX_Bn+mD!8mz&Ek<>Dw?vP%#Pkzt*lc#8DFvyMnU&SgW^1ae z!w((uy>NlNxkNjs8Ev2<0YwiVy2;7?#Swh;HHUbw7a`^4<#%l9n)}a|yAdy5jQ6f- zZjST!SHoiQD414tq)3>cofp5g!eKDfQ_P*6oL&X$rrTxmP6q^(WSwYNM8VQ=hga!n zV<8>;+_e5D1ABz<&y)o3F2QnXDY~;|dHy)Pv{o%`g1A>A{noAZ@(LZQ1erf6`Iy1z z%+7{W^th8-scdI&-*JfoL9Q+R=y3?`O}mfCNLW2;Kc#is-Rwa-tA23AP#k#XX=96Q_2Uvq33v$2&W@s*VywhOo4 zbA38Z4OPDP^*OubWKUkv6LPL5w#h)vvK{nswlESus#y&#JT-UT)10ys$|jtbCBtBR zt@~YNj&D2)*D@*7wtP>3$vN5a7Iv0!8SPPO-1^B4oaqxmcXA1OF1#bka6!LrsPA_jT_p~vBr zP-x{)7?#3cwf^YwaT9{_iT8)UCW?Nn_a8w)A1_m!4~`U#yb})I+${Sa%v{INOO#*> zP_F;)C`#0BEaEi$qtftH>mULl z4qRxBjUba-o0}i>&$6c1jN>D#98Wq{*iuqbQe2$O@p$e}4D={l4Db^e#fu>Fb~N?oI(exAnJnSOa*|0-Y-ctW1hq4)pZ&WMpLI=jT%; z<+q2gxVzu`Fy9)@^^A>ev?@7v>{xkaB^A%pJ|VW#jynvRjUDX-OiHE?r_cl*O-2_2k(fr`h$#EYN&0hK7jb$JSZMnsehnYHzeBiu6NGY$H(n5`Mc>MjlcmL*u1HhhC2=f`pgZWReTo7djD|LRUAlOrNl2TH83d}&kz!-Goo zC{XlFe0w=K_-$`5cVWRZR70e3H!siH%1V2DU~X0CKTiV1!uY-%#P{;?L9W2X2v@J_ zX=#OC>lx?kgR$`~ + + + diff --git a/docs/classIntValue__inherit__graph.md5 b/docs/classIntValue__inherit__graph.md5 new file mode 100644 index 0000000..4283d04 --- /dev/null +++ b/docs/classIntValue__inherit__graph.md5 @@ -0,0 +1 @@ +fe282cdc62e45fcd3bd1eea2f9ef3879 \ No newline at end of file diff --git a/docs/classIntValue__inherit__graph.png b/docs/classIntValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3133f8da4105a3106e2da0fd994a7355934beac0 GIT binary patch literal 2082 zcmZ`)dpy(YAOA89A(~_@uSKmL9k=CZLfJTw*MiT+$&b7NtXDI1-X; z#Ezm3DM}=k`(?SsF?KoM&g=F2^Y=Wj=lT5cJg?X1dET%0CEdxvT5dODHvj-~HfL}y zV08yqxRf}!Pi$7Efdxu9YmEa$Kj-6@Ww`(#`N;-n<`!GXE%dfi{4D;a-!4geP79Yp zzwVcgz6UQk1xFk?Xa8hGeE+Q{@(Qql2d{6|r{}+3If}R;xvGJ7D=tSN)alwO_7UgB zq{R+v#_1<3CtsH>SIVp!b=v7*C*<1))qM2|A6flM8>iBc{e|nID5BxTn>2_&9I7sB z7Y*e6DJYj45>UzIgX80rjRkj#wc37UR+-zcqTf#xy$~%eg+xZK>s#+ufj}SvfuL>h z$K{>LOZ6l5Gtzn|Po6aS_+)$4amV$buE5pBWnppAMi!XkI_6XGczj}_FvHxWh%&=I zP~5yCd4tCateu%5-s<{xjFz82H$Q(eYGI$V_ZFm+zf0UKFfh=kYHj`nN3&cb3SQ&Z)|Mr>vJFsC1x3~zOSmP$^@IHn&wjt zj@fVn&Ha_7r9={GZJL!QK}5edMWe0M_f-r91J^yP`dBO(85sxwqBS)&wXyigLcz_= z?S^VvmYjpVy%<0U2vCzsR!!^hBlEW+;^H2>VoMZ>0(H*^1Wa~!pYiZeZd)(tC6>E+ zdU^)y(wu&Fk7^n7eF{e)f*VFxr(>4Ca%7~Xr7^NPnwoyB?(S|?45mXkKR;i94K<8j zf@i%MtqG6>UWGN3s3VX_Bn+mD!8mz&Ek<>Dw?vP%#Pkzt*lc#8DFvyMnU&SgW^1ae z!w((uy>NlNxkNjs8Ev2<0YwiVy2;7?#Swh;HHUbw7a`^4<#%l9n)}a|yAdy5jQ6f- zZjST!SHoiQD414tq)3>cofp5g!eKDfQ_P*6oL&X$rrTxmP6q^(WSwYNM8VQ=hga!n zV<8>;+_e5D1ABz<&y)o3F2QnXDY~;|dHy)Pv{o%`g1A>A{noAZ@(LZQ1erf6`Iy1z z%+7{W^th8-scdI&-*JfoL9Q+R=y3?`O}mfCNLW2;Kc#is-Rwa-tA23AP#k#XX=96Q_2Uvq33v$2&W@s*VywhOo4 zbA38Z4OPDP^*OubWKUkv6LPL5w#h)vvK{nswlESus#y&#JT-UT)10ys$|jtbCBtBR zt@~YNj&D2)*D@*7wtP>3$vN5a7Iv0!8SPPO-1^B4oaqxmcXA1OF1#bka6!LrsPA_jT_p~vBr zP-x{)7?#3cwf^YwaT9{_iT8)UCW?Nn_a8w)A1_m!4~`U#yb})I+${Sa%v{INOO#*> zP_F;)C`#0BEaEi$qtftH>mULl z4qRxBjUba-o0}i>&$6c1jN>D#98Wq{*iuqbQe2$O@p$e}4D={l4Db^e#fu>Fb~N?oI(exAnJnSOa*|0-Y-ctW1hq4)pZ&WMpLI=jT%; z<+q2gxVzu`Fy9)@^^A>ev?@7v>{xkaB^A%pJ|VW#jynvRjUDX-OiHE?r_cl*O-2_2k(fr`h$#EYN&0hK7jb$JSZMnsehnYHzeBiu6NGY$H(n5`Mc>MjlcmL*u1HhhC2=f`pgZWReTo7djD|LRUAlOrNl2TH83d}&kz!-Goo zC{XlFe0w=K_-$`5cVWRZR70e3H!siH%1V2DU~X0CKTiV1!uY-%#P{;?L9W2X2v@J_ zX=#OC>lx?kgR$`~ + + + + + + +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 new file mode 100644 index 0000000..a935940 --- /dev/null +++ b/docs/classListValue.html @@ -0,0 +1,605 @@ + + + + + + + +Leonetienne/Hazelnupp: ListValue Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+
void AddValue(const Value *value)
Will add this value to the list.
Definition: ListValue.cpp:31
+
Specializations for list values (uses std::vector<Value*>)
Definition: ListValue.h:7
+ + +
Abstract class for values.
Definition: Value.h:8
+
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+ + + + diff --git a/docs/classListValue__coll__graph.map b/docs/classListValue__coll__graph.map new file mode 100644 index 0000000..1053ad5 --- /dev/null +++ b/docs/classListValue__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classListValue__coll__graph.md5 b/docs/classListValue__coll__graph.md5 new file mode 100644 index 0000000..e3af863 --- /dev/null +++ b/docs/classListValue__coll__graph.md5 @@ -0,0 +1 @@ +7d4215aa276a9b6216eeee2d4500b5d1 \ No newline at end of file diff --git a/docs/classListValue__coll__graph.png b/docs/classListValue__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cc8b72799b5b25c4794d10b2d53bf2e71c74ae6f GIT binary patch literal 2274 zcmbuBc{r4N8^<3@$T`fYAq`2PPzq%y*)nE^#*kfuI2eXdD#xU(@7RX1j-`c$my#_s zS+f+z5EEmmgx4NvkVcI2bguK)`~La~9yW6uP1hjvaj)b#5R0 z9c()8BA)~_x>LG6#sQr?Y_6e}7Me~-?v8OW6)Yk_y`KY}36D<9IjSmfY$Et_Jo z@4h_p`19%KIT%>FKh)Ds@I_`lizq#GMR#v+i04`|7j@xs>B+D^TGm7Q-SjNm1GNR_ zED`krx(ZIB{HOQvWkw;<~!Jz5y zWw42mCdd~4}_S!}GJcL#^V>FKdDHa4zy+S%0<6B7ef78aLX`~JPZ zuMdqv&4kj$Maj4$@@)-Vk*a^J1lkcmnS4Ht%?&sXx%O|fL z;AZO1}{-f?Ao^U;0uCpeSN~H@!u2Rt_=1K<< zldXI68ym8XWlq_giQp*d6ywM;b?U;OTRe|b5CH}jmdK;sieWN$pT$Nm2S7>9c``(WbLU_s!_tz!@?3Yg+?7~u{z z&bv!(Cf(kf0LGmdyCM%f!%+$k{!IW-@_RJ-HZ0Ub<-fkf|C3In%``i|W-{4KW==)L zS$GEdM}9+ldwUkS>v&gJR}vnI4gdP7`G9jlJPo_1_X|Z}BWo-~Pj|N;f#6Ohj9K?0 z$OWF=lZCiJuQAKFuYS!Q!^BA7@knLdhpO8 z_Q#J#1_l9TkCpKr9&I59L!INyUXih7nMj(3hK94VGrkTE^gl2%(A9Oidi4xU^qi(< zJz-*Qaq-R`kBAD(LP|YY&|i55wVkX=(2!CK~%zY|!Y9jg5i}#Bny8-O-_7WaJKl%Wl6*(k>Z>!%gn& z>^ya>yvyY%DJm+0YAGsuFM0*ApG%4es;Q~v>jVe+`;RpQA3YcB>gdR3=IdBmTF%eS z0r#l7!FtIlDSQ{P*rBbghZl&V;^Ot;hh#NHRP}$Y@j&f{h6Z0BAC)ZRnH&@)iQGFn zI$Bh8oMg_K?n(lw@C&0#N=l$RY;A2prisQ)Pjw`q*aNenYAimN6D^zHz8w>p28A({ z`x@03ytm4loWwagmJa$QUsAAUt*@{5tyO9Tj5I~ z2U7K3zfrJwj8TS(G6t5}m9D+%>FH)>W*{dsGBS8PUR+!p*f1cUg*@x_@{zr2M|*pD zc{y-TUZmP7a%H?u!BR>nmiyyJw|5PNLZMQrRaI5)jp5A^oA|{MA5GAb&RFb$hXZ6X zxxtMD!V?aMhlYl}a3NqY?;e{axVgI%MjMaDGd|M8PAVzUYHL~XlDkbJai(;)yKA3K zP|VBgUur4;JHapSfIkVBZ_@o;5G+4GzmySX*ElUR69$E@5mRc>z?A*xuzzj>zs66e Yn0AVU*VOL>FD-zTg^l@hQ;+Ds0F?1e@Bjb+ literal 0 HcmV?d00001 diff --git a/docs/classListValue__inherit__graph.map b/docs/classListValue__inherit__graph.map new file mode 100644 index 0000000..1053ad5 --- /dev/null +++ b/docs/classListValue__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classListValue__inherit__graph.md5 b/docs/classListValue__inherit__graph.md5 new file mode 100644 index 0000000..e3af863 --- /dev/null +++ b/docs/classListValue__inherit__graph.md5 @@ -0,0 +1 @@ +7d4215aa276a9b6216eeee2d4500b5d1 \ No newline at end of file diff --git a/docs/classListValue__inherit__graph.png b/docs/classListValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cc8b72799b5b25c4794d10b2d53bf2e71c74ae6f GIT binary patch literal 2274 zcmbuBc{r4N8^<3@$T`fYAq`2PPzq%y*)nE^#*kfuI2eXdD#xU(@7RX1j-`c$my#_s zS+f+z5EEmmgx4NvkVcI2bguK)`~La~9yW6uP1hjvaj)b#5R0 z9c()8BA)~_x>LG6#sQr?Y_6e}7Me~-?v8OW6)Yk_y`KY}36D<9IjSmfY$Et_Jo z@4h_p`19%KIT%>FKh)Ds@I_`lizq#GMR#v+i04`|7j@xs>B+D^TGm7Q-SjNm1GNR_ zED`krx(ZIB{HOQvWkw;<~!Jz5y zWw42mCdd~4}_S!}GJcL#^V>FKdDHa4zy+S%0<6B7ef78aLX`~JPZ zuMdqv&4kj$Maj4$@@)-Vk*a^J1lkcmnS4Ht%?&sXx%O|fL z;AZO1}{-f?Ao^U;0uCpeSN~H@!u2Rt_=1K<< zldXI68ym8XWlq_giQp*d6ywM;b?U;OTRe|b5CH}jmdK;sieWN$pT$Nm2S7>9c``(WbLU_s!_tz!@?3Yg+?7~u{z z&bv!(Cf(kf0LGmdyCM%f!%+$k{!IW-@_RJ-HZ0Ub<-fkf|C3In%``i|W-{4KW==)L zS$GEdM}9+ldwUkS>v&gJR}vnI4gdP7`G9jlJPo_1_X|Z}BWo-~Pj|N;f#6Ohj9K?0 z$OWF=lZCiJuQAKFuYS!Q!^BA7@knLdhpO8 z_Q#J#1_l9TkCpKr9&I59L!INyUXih7nMj(3hK94VGrkTE^gl2%(A9Oidi4xU^qi(< zJz-*Qaq-R`kBAD(LP|YY&|i55wVkX=(2!CK~%zY|!Y9jg5i}#Bny8-O-_7WaJKl%Wl6*(k>Z>!%gn& z>^ya>yvyY%DJm+0YAGsuFM0*ApG%4es;Q~v>jVe+`;RpQA3YcB>gdR3=IdBmTF%eS z0r#l7!FtIlDSQ{P*rBbghZl&V;^Ot;hh#NHRP}$Y@j&f{h6Z0BAC)ZRnH&@)iQGFn zI$Bh8oMg_K?n(lw@C&0#N=l$RY;A2prisQ)Pjw`q*aNenYAimN6D^zHz8w>p28A({ z`x@03ytm4loWwagmJa$QUsAAUt*@{5tyO9Tj5I~ z2U7K3zfrJwj8TS(G6t5}m9D+%>FH)>W*{dsGBS8PUR+!p*f1cUg*@x_@{zr2M|*pD zc{y-TUZmP7a%H?u!BR>nmiyyJw|5PNLZMQrRaI5)jp5A^oA|{MA5GAb&RFb$hXZ6X zxxtMD!V?aMhlYl}a3NqY?;e{axVgI%MjMaDGd|M8PAVzUYHL~XlDkbJai(;)yKA3K zP|VBgUur4;JHapSfIkVBZ_@o;5G+4GzmySX*ElUR69$E@5mRc>z?A*xuzzj>zs66e Yn0AVU*VOL>FD-zTg^l@hQ;+Ds0F?1e@Bjb+ literal 0 HcmV?d00001 diff --git a/docs/classParameter-members.html b/docs/classParameter-members.html new file mode 100644 index 0000000..9f9b58b --- /dev/null +++ b/docs/classParameter-members.html @@ -0,0 +1,93 @@ + + + + + + + +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 new file mode 100644 index 0000000..8782b5e --- /dev/null +++ b/docs/classParameter.html @@ -0,0 +1,279 @@ + + + + + + + +Leonetienne/Hazelnupp: Parameter Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+
virtual Value * Deepcopy() const =0
Will return a deeopopy of this object.
+ + + + diff --git a/docs/classStringTools-members.html b/docs/classStringTools-members.html new file mode 100644 index 0000000..5d5bb3a --- /dev/null +++ b/docs/classStringTools-members.html @@ -0,0 +1,96 @@ + + + + + + + +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 new file mode 100644 index 0000000..7b961af --- /dev/null +++ b/docs/classStringTools.html @@ -0,0 +1,630 @@ + + + + + + + +Leonetienne/Hazelnupp: StringTools Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+
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
+
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!
+ + + + diff --git a/docs/classStringValue-members.html b/docs/classStringValue-members.html new file mode 100644 index 0000000..2f06bd7 --- /dev/null +++ b/docs/classStringValue-members.html @@ -0,0 +1,104 @@ + + + + + + + +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 new file mode 100644 index 0000000..57ae1ac --- /dev/null +++ b/docs/classStringValue.html @@ -0,0 +1,551 @@ + + + + + + + +Leonetienne/Hazelnupp: StringValue Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+
StringValue(const std::string &value)
Definition: StringValue.cpp:5
+ + + + + diff --git a/docs/classStringValue__coll__graph.map b/docs/classStringValue__coll__graph.map new file mode 100644 index 0000000..d2b7fd3 --- /dev/null +++ b/docs/classStringValue__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classStringValue__coll__graph.md5 b/docs/classStringValue__coll__graph.md5 new file mode 100644 index 0000000..8d0e42c --- /dev/null +++ b/docs/classStringValue__coll__graph.md5 @@ -0,0 +1 @@ +22c37eb3e53210c1533895d69c2ccfe0 \ No newline at end of file diff --git a/docs/classStringValue__coll__graph.png b/docs/classStringValue__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dda135c8e73552aa92a2586ec899c47c641198f2 GIT binary patch literal 2908 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 + + + diff --git a/docs/classStringValue__inherit__graph.md5 b/docs/classStringValue__inherit__graph.md5 new file mode 100644 index 0000000..8d0e42c --- /dev/null +++ b/docs/classStringValue__inherit__graph.md5 @@ -0,0 +1 @@ +22c37eb3e53210c1533895d69c2ccfe0 \ No newline at end of file diff --git a/docs/classStringValue__inherit__graph.png b/docs/classStringValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..dda135c8e73552aa92a2586ec899c47c641198f2 GIT binary patch literal 2908 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 + + + + + + +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 new file mode 100644 index 0000000..3e7e312 --- /dev/null +++ b/docs/classValue.html @@ -0,0 +1,553 @@ + + + + + + + +Leonetienne/Hazelnupp: Value Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

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: +
+
DATA_TYPE type
Definition: Value.h:46
+
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 new file mode 100644 index 0000000..21e25b5 --- /dev/null +++ b/docs/classValue__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/classValue__inherit__graph.md5 b/docs/classValue__inherit__graph.md5 new file mode 100644 index 0000000..003a4ef --- /dev/null +++ b/docs/classValue__inherit__graph.md5 @@ -0,0 +1 @@ +77b1f35d4bc0222204841b7253e3c0c7 \ No newline at end of file diff --git a/docs/classValue__inherit__graph.png b/docs/classValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..110109e1bc68beab6a98081d22ab8ec6bebc1a7e GIT binary patch literal 8903 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 + + + + + + +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 new file mode 100644 index 0000000..0ae229b --- /dev/null +++ b/docs/classVoidValue.html @@ -0,0 +1,497 @@ + + + + + + + +Leonetienne/Hazelnupp: VoidValue Class Reference + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
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: +
+ + +
Gets thrown when an attempt is made to retrieve the wrong data type from a value, when the value not ...
+
Value(DATA_TYPE type)
Definition: Value.cpp:3
+ + + + diff --git a/docs/classVoidValue__coll__graph.map b/docs/classVoidValue__coll__graph.map new file mode 100644 index 0000000..f9c9a0e --- /dev/null +++ b/docs/classVoidValue__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classVoidValue__coll__graph.md5 b/docs/classVoidValue__coll__graph.md5 new file mode 100644 index 0000000..8bca56a --- /dev/null +++ b/docs/classVoidValue__coll__graph.md5 @@ -0,0 +1 @@ +49110319ff8617406aa3f422d40aa923 \ No newline at end of file diff --git a/docs/classVoidValue__coll__graph.png b/docs/classVoidValue__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..abb7ae4e49915dab2bfa56d303b746d80937db58 GIT binary patch literal 2346 zcmbtWdpy%^8~-Jz)Jh0Bt(Yj0oN^9LtgsO!=8X~3&{pUm9T+O+!PB%@NJ7SpIYj2r z*3{TqM01E*3(cm3h2-ho)8~EOKi+@e`~KYb_4!=)eckuHo**mu)MDAI4$1Hl{^E&f~k$u94-iwzmQNlV}+A9&hXf!%4&Gm*`!3vMTfJR0dJr1sV zIWjUbHg?#8@F5Ml?e?K7JI3=LJbYMy_Y`c_`=GoLE6-}yV=@>+Lqql*H!Ir+Mk5&> zUP>GF`uh5UU-b#G@KRUbiCY0{aQF<5h{(u_gB8@496UZbDT!o{x!$f-DW{@u41rh@ z``g+0$>Z!u$S-gcx=T3WtK zCOX*g;{5!*j*g>z{_=P6*yqn@uDONV74MwwodoCKGoOp8H9VWeUpw4Jx)>FZk zN42$UfY+~Id*vBOzkZbiyenVL%*-T-h9k5Ig@qLeQv&e}8odEf)z;3A(9VoF=eRmp z1y6kYq@1h-*iVh`(NGbIL`q6ZLaYO(tS0c$!otFOEeq4zhno1vkdQblA{``C4T+?T z$mS4VXXSP4%6YMagM*s7YU=7c#d1RYdx2neb#;@zqlT`o?$)jAfR`d^bQ7P&Vm*CY zL7`A+w4sD4f_Z4d+b1==*k>#jm*nJSqo|~0Vr+aeI+}h_8kdkDd0uEDcda|z5;3aq zLZ25)6R`5~a&wQvmv!yXraO1S;PA!o-#J_^+|RE?_q_De>)F}a?rt~N(!`aL(AET8 zR@VGjYaSDIGA1S_I@(Hm!=a9=`76i=<>lMW&Bfpaq6#K4V|+mGoVlEm!}WB%9`}F3 z(_*?$VG{mxD8>r}0@Vg(-LAI~)`y`tgbHaYI73s@?5GBuhEyu89aS*XzLnJfH2r|* zr$7JHz>fcX z_s(~9SrRpG_@?&^@%GM*7m(X-R8PsZ2|9&1{Xjh{_C-9pO^Rqd&nQkv6}+ zu(A(YPcvkDGmLVh>pNCn7kukv%8icxg*^&uY0Ib}5Mq+YDg%n_$C17Mk%A*l7iKHT ze6&P#sV?9YDWJfdlkykU~(}d~){lD8ivq`xZT? zpF^GbK@s6opki_SL`iXIxaIiF0{4n@-BC)wI?qc}{Eqmxq+t?bL+EF-&D;Nt~$O`XC%4lyTg-CpHKy7+mj=TT9VmX|#? z>PmGu6VEB#zbD_DVDnKZyj@guWzU1g#sZe0F2T>M5#Bo{IM~)yZieA=@h|G5F zdiCnnQmQLnugsA`B?rvR&h91pAT5s71a1U@gdactSYF;-tM+|yk=x(@Mv;DL zQL_AP`oe_^bUIycBP)4LREI-XAgm&Ol(y5sVfl-I#ompLi+fa6HQi6NM%#_C*`g26 z3uTRARcVIn|7p8_f7hKmcL)T+K=Hm-8f|W(qo^mm`gNQm$v{=r&Dq4#@(vC}Ln?oyy zvG@}x)cxSyn#%IrdoFAaM-gZUCNr6y%^?FQDgeklk>RuOlrA&MYI=IwRtHpmW9Hc= zY}(HyYIXI@d*&@3k9Y6hJsDpo=h-TzM})-&e(7>OouC8uuY$Ou5Hiv}y`%^EkB#)7lf$n!_42_J~Y__dVZa@uW_{XZd zUwThCHF&r_OeB%GIy?XD++w*eVf@YT@Wa8`z+FK>L0fozC~ETD8;tP97Mw?frS`w* zsmBqBa2p-iIl=>3I4q^o18Qh4F1MhDa5$Gt-d&EEnV-)SEVW)U%=e~@fE{F+_RG@J z5_o!pva+fQ&ePL#WpSQDCXY9tE}B4Pc$6Ql^@YKDFsaiV(r~gKD?L43_E?u>7?GtW z69}ZOqoZ(^EJnb|4ZDiiFvyQC_uZP-M4z$Cnqh;z|E1i2fX?DHX9w?2KEKt1A>%wP>T<-5$;;J;czg<@R05DHK KXuU`H^?w5s8-i~D literal 0 HcmV?d00001 diff --git a/docs/classVoidValue__inherit__graph.map b/docs/classVoidValue__inherit__graph.map new file mode 100644 index 0000000..f9c9a0e --- /dev/null +++ b/docs/classVoidValue__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/classVoidValue__inherit__graph.md5 b/docs/classVoidValue__inherit__graph.md5 new file mode 100644 index 0000000..8bca56a --- /dev/null +++ b/docs/classVoidValue__inherit__graph.md5 @@ -0,0 +1 @@ +49110319ff8617406aa3f422d40aa923 \ No newline at end of file diff --git a/docs/classVoidValue__inherit__graph.png b/docs/classVoidValue__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..abb7ae4e49915dab2bfa56d303b746d80937db58 GIT binary patch literal 2346 zcmbtWdpy%^8~-Jz)Jh0Bt(Yj0oN^9LtgsO!=8X~3&{pUm9T+O+!PB%@NJ7SpIYj2r z*3{TqM01E*3(cm3h2-ho)8~EOKi+@e`~KYb_4!=)eckuHo**mu)MDAI4$1Hl{^E&f~k$u94-iwzmQNlV}+A9&hXf!%4&Gm*`!3vMTfJR0dJr1sV zIWjUbHg?#8@F5Ml?e?K7JI3=LJbYMy_Y`c_`=GoLE6-}yV=@>+Lqql*H!Ir+Mk5&> zUP>GF`uh5UU-b#G@KRUbiCY0{aQF<5h{(u_gB8@496UZbDT!o{x!$f-DW{@u41rh@ z``g+0$>Z!u$S-gcx=T3WtK zCOX*g;{5!*j*g>z{_=P6*yqn@uDONV74MwwodoCKGoOp8H9VWeUpw4Jx)>FZk zN42$UfY+~Id*vBOzkZbiyenVL%*-T-h9k5Ig@qLeQv&e}8odEf)z;3A(9VoF=eRmp z1y6kYq@1h-*iVh`(NGbIL`q6ZLaYO(tS0c$!otFOEeq4zhno1vkdQblA{``C4T+?T z$mS4VXXSP4%6YMagM*s7YU=7c#d1RYdx2neb#;@zqlT`o?$)jAfR`d^bQ7P&Vm*CY zL7`A+w4sD4f_Z4d+b1==*k>#jm*nJSqo|~0Vr+aeI+}h_8kdkDd0uEDcda|z5;3aq zLZ25)6R`5~a&wQvmv!yXraO1S;PA!o-#J_^+|RE?_q_De>)F}a?rt~N(!`aL(AET8 zR@VGjYaSDIGA1S_I@(Hm!=a9=`76i=<>lMW&Bfpaq6#K4V|+mGoVlEm!}WB%9`}F3 z(_*?$VG{mxD8>r}0@Vg(-LAI~)`y`tgbHaYI73s@?5GBuhEyu89aS*XzLnJfH2r|* zr$7JHz>fcX z_s(~9SrRpG_@?&^@%GM*7m(X-R8PsZ2|9&1{Xjh{_C-9pO^Rqd&nQkv6}+ zu(A(YPcvkDGmLVh>pNCn7kukv%8icxg*^&uY0Ib}5Mq+YDg%n_$C17Mk%A*l7iKHT ze6&P#sV?9YDWJfdlkykU~(}d~){lD8ivq`xZT? zpF^GbK@s6opki_SL`iXIxaIiF0{4n@-BC)wI?qc}{Eqmxq+t?bL+EF-&D;Nt~$O`XC%4lyTg-CpHKy7+mj=TT9VmX|#? z>PmGu6VEB#zbD_DVDnKZyj@guWzU1g#sZe0F2T>M5#Bo{IM~)yZieA=@h|G5F zdiCnnQmQLnugsA`B?rvR&h91pAT5s71a1U@gdactSYF;-tM+|yk=x(@Mv;DL zQL_AP`oe_^bUIycBP)4LREI-XAgm&Ol(y5sVfl-I#ompLi+fa6HQi6NM%#_C*`g26 z3uTRARcVIn|7p8_f7hKmcL)T+K=Hm-8f|W(qo^mm`gNQm$v{=r&Dq4#@(vC}Ln?oyy zvG@}x)cxSyn#%IrdoFAaM-gZUCNr6y%^?FQDgeklk>RuOlrA&MYI=IwRtHpmW9Hc= zY}(HyYIXI@d*&@3k9Y6hJsDpo=h-TzM})-&e(7>OouC8uuY$Ou5Hiv}y`%^EkB#)7lf$n!_42_J~Y__dVZa@uW_{XZd zUwThCHF&r_OeB%GIy?XD++w*eVf@YT@Wa8`z+FK>L0fozC~ETD8;tP97Mw?frS`w* zsmBqBa2p-iIl=>3I4q^o18Qh4F1MhDa5$Gt-d&EEnV-)SEVW)U%=e~@fE{F+_RG@J z5_o!pva+fQ&ePL#WpSQDCXY9tE}B4Pc$6Ql^@YKDFsaiV(r~gKD?L43_E?u>7?GtW z69}ZOqoZ(^EJnb|4ZDiiFvyQC_uZP-M4z$Cnqh;z|E1i2fX?DHX9w?2KEKt1A>%wP>T<-5$;;J;czg<@R05DHK KXuU`H^?w5s8-i~D literal 0 HcmV?d00001 diff --git a/docs/classes.html b/docs/classes.html new file mode 100644 index 0000000..4b8568e --- /dev/null +++ b/docs/classes.html @@ -0,0 +1,127 @@ + + + + + + + +Leonetienne/Hazelnupp: Class Index + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
f | h | i | l | p | s | v
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  f  
+
HazelnuppConstraintException   
  i  
+
  p  
+
StringValue   
HazelnuppConstraintMissingValue   
  v  
+
FloatValue   HazelnuppConstraintTypeMissmatch   IntValue   ParamConstraint   
  h  
+
HazelnuppException   
  l  
+
Parameter   Value   
HazelnuppInvalidKeyException   
  s  
+
VoidValue   
Hazelnupp   HazelnuppValueNotConvertibleException   ListValue   
StringTools   
+
f | h | i | l | p | s | v
+
+ + + + diff --git a/docs/closed.png b/docs/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff44313a0b9c3c1f24f6e5cf73c83211c709f7b GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o=N{x`P~>27=l+x| zJ*_(T$3{h7wdo9jYZ5m9PHNC)Jg}rcpXr$7f#c1b2G<;PbI + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp -> Hazelnupp Relation + + + + + + + + + + + +
+
+ + + + + + + +
+
Leonetienne/Hazelnupp +
+
Simple, easy to use, command line parameter interface
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ + + + + diff --git a/docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html b/docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html new file mode 100644 index 0000000..55dd772 --- /dev/null +++ b/docs/dir_0202e1e26df2e040f4dc3d434eecf04c.html @@ -0,0 +1,144 @@ + + + + + + + +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  DataType.h [code]
 
file  FloatValue.cpp [code]
 
file  FloatValue.h [code]
 
file  Hazelnupp.cpp [code]
 
file  Hazelnupp.h [code]
 
file  HazelnuppException.h [code]
 
file  IntValue.cpp [code]
 
file  IntValue.h [code]
 
file  ListValue.cpp [code]
 
file  ListValue.h [code]
 
file  main.cpp [code]
 
file  ParamConstraint.h [code]
 
file  Parameter.cpp [code]
 
file  Parameter.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  VoidValue.cpp [code]
 
file  VoidValue.h [code]
 
+
+ + + + diff --git a/docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html b/docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html new file mode 100644 index 0000000..2ad44d1 --- /dev/null +++ b/docs/dir_0c3d7a8ae27c1a80e1a2e78f7c177a7d.html @@ -0,0 +1,89 @@ + + + + + + + +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 new file mode 100644 index 0000000..93ce022 --- /dev/null +++ b/docs/dir_0cc5f59b28c403d42cc56800132eb975.html @@ -0,0 +1,89 @@ + + + + + + + +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 new file mode 100644 index 0000000..4513d6e --- /dev/null +++ b/docs/dir_1148ebc2b25b55095aebf6f4cbb6efca.html @@ -0,0 +1,89 @@ + + + + + + + +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 new file mode 100644 index 0000000..2e6c637 --- /dev/null +++ b/docs/dir_5c0eadceca12ef8285078e2e738769ee.html @@ -0,0 +1,89 @@ + + + + + + + +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 new file mode 100644 index 0000000..9f333a8 --- /dev/null +++ b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492.html @@ -0,0 +1,122 @@ + + + + + + + +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 new file mode 100644 index 0000000..43702a4 --- /dev/null +++ b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 new file mode 100644 index 0000000..93c45c0 --- /dev/null +++ b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.md5 @@ -0,0 +1 @@ +39d561844e34e2a7e7b390ed90e30357 \ No newline at end of file diff --git a/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.png b/docs/dir_a4e10305c1b03e566e1d27ef3ea61492_dep.png new file mode 100644 index 0000000000000000000000000000000000000000..670d84c8b23a50a680c8007f29ed969e1e5e68ea GIT binary patch literal 4778 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 literal 0 HcmV?d00001 diff --git a/docs/dir_a8cffda729361e9d9637effa362fcea9.html b/docs/dir_a8cffda729361e9d9637effa362fcea9.html new file mode 100644 index 0000000..724bb46 --- /dev/null +++ b/docs/dir_a8cffda729361e9d9637effa362fcea9.html @@ -0,0 +1,89 @@ + + + + + + + +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 new file mode 100644 index 0000000000000000000000000000000000000000..260aaf7df914778044f662be6d5ec2653770fedd GIT binary patch literal 697 zcmV;q0!ICbP)7_M`W-wsi{rTF8Dxv(f}#bG2B%)H159AQ`L!NoLtG~#@CB}rdS>12waNH_ z60>*k1>1J&z8|~-NJ63m+tSL}Se9-smZyU!YrT}XebS^fyTaTIH1=TK z#UvRj{?1ntR=HC#m|lNSd=a$Cw+ z2upwBU|915u^-DdUtVKR>OB~o8e(-=2+Q>QUGx56)N#PXojM1@`dci{-;gkuaBP2U59)35wZMFAIs~#OUsEUX$eP~D)me2>f3b=GV5#nDZ+Z#@-(Rl@w789L1YAPK1s#tn4X`e6o2Ypp|; z4`wt>opw$-M{KS?lx?Qdq&m>9&>)qtJhwva$~GHo4_IE@qFAVM^~zl~uRl_oqrn82 zM!NKwlhEy5*_Fvq~v-QDS-~v zc%t3FH!Gc9{Z#y#`jmq!S%8Q)Z(s8Ne>;TXkOUwJtyY)YTWdUd`~qMKi2_m<>-n?S f0Dp~t|H%9aIq|i4)^7_S00000NkvXXu0mjf&Y(VZ literal 0 HcmV?d00001 diff --git a/docs/doxygen.css b/docs/doxygen.css new file mode 100644 index 0000000..2ba8ca9 --- /dev/null +++ b/docs/doxygen.css @@ -0,0 +1,1771 @@ +/* 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 new file mode 100644 index 0000000000000000000000000000000000000000..bc0e10ebc968bcdbcd7b38693c30ef92ca8f415c GIT binary patch literal 3713 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 literal 0 HcmV?d00001 diff --git a/docs/dynsections.js b/docs/dynsections.js new file mode 100644 index 0000000..c8e84aa --- /dev/null +++ b/docs/dynsections.js @@ -0,0 +1,127 @@ +/* + @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
+
+ + +
+ + diff --git a/docs/folderclosed.png b/docs/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..72913ae21a6fda7d3ea384fa44a0307ad68a1768 GIT binary patch literal 575 zcmV-F0>J%=P)>eDqeHpP!=T^s^}hiL+lbt(VmL$F`dd z2czI=X{a_Hj{y|rcs3ai_nx3pcL+A2soFcvZ8)?mCU$He_N^}LCV}c^(^F&f=o|0y z)n6rAEPhi&X8OkQ(rB{+QpT{X8UPqDB>FIUBm4e=CPXr>e#wz?p4Mzk0+BS+;^e@? zd(TP|RqjA7QckkD9A!?UqR!emiAYHS=*1w&B8}r>K`s}|QAMH*LP-UnR1AsUe>#+1 zcRzJjqD}QCIVf#c352ll=Fuez&pwrHta9v9f&ZU8_D##7t8!oSru%jKWT9H{9B)AFka2y*)1h;JWbt|D$c3;1BNN=09Zn8$JL4 N002ovPDHLkV1h=W11A6g literal 0 HcmV?d00001 diff --git a/docs/folderopen.png b/docs/folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..b85d25143b6390a06b3396e55c69110d6492eea0 GIT binary patch literal 592 zcmV-W02N76g}gl&C8K2_XRB*5ClZZQ|b#kOlx7z6Wj5`E~}7 zMm^D^sfS|W4!q(#1AsrpjRBeBTFv z1UgrzzT>38=n`}}EQM^QfJ|ma&C^pkOi84t(d~wq^~z5HU=(b$O+S8mCA!^!DAD`T zEQ82B8E~-fDGK$IGx-uWR*#KJ5+Vmd3!b}xl6N;oIf6?zLEiJ+dAP+n(qn;UvPm1a zFeh~b00UMHuCIS7UR9=XdL*?fMrIvV7geOHpl8*d<kl9J`Vio%@YKNMx zXpaKK_kysE#?C{7qC|k#?_UVnjdV4PIH=AlLN$;j5JfU#lJQjruXKF70su#z<5!TUvYq0DlYr e|Iq+oEPew80qanc=A&2u0000 + + + + + + +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 new file mode 100644 index 0000000..323c228 --- /dev/null +++ b/docs/functions_func.html @@ -0,0 +1,379 @@ + + + + + + + +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 new file mode 100644 index 0000000..c19da44 --- /dev/null +++ b/docs/functions_rela.html @@ -0,0 +1,87 @@ + + + + + + + +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 new file mode 100644 index 0000000..5b5a23a --- /dev/null +++ b/docs/functions_vars.html @@ -0,0 +1,104 @@ + + + + + + + +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 new file mode 100644 index 0000000..c2d87eb --- /dev/null +++ b/docs/globals.html @@ -0,0 +1,89 @@ + + + + + + + +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 new file mode 100644 index 0000000..868b6b3 --- /dev/null +++ b/docs/globals_defs.html @@ -0,0 +1,86 @@ + + + + + + + +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 new file mode 100644 index 0000000..28b08db --- /dev/null +++ b/docs/globals_enum.html @@ -0,0 +1,86 @@ + + + + + + + +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 new file mode 100644 index 0000000..aaf8e66 --- /dev/null +++ b/docs/globals_func.html @@ -0,0 +1,86 @@ + + + + + + + +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 new file mode 100644 index 0000000..d524f11 --- /dev/null +++ b/docs/globals_type.html @@ -0,0 +1,86 @@ + + + + + + + +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 new file mode 100644 index 0000000..5f5d4e7 --- /dev/null +++ b/docs/graph_legend.html @@ -0,0 +1,145 @@ + + + + + + + +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:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/docs/graph_legend.md5 b/docs/graph_legend.md5 new file mode 100644 index 0000000..8fcdccd --- /dev/null +++ b/docs/graph_legend.md5 @@ -0,0 +1 @@ +f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file diff --git a/docs/graph_legend.png b/docs/graph_legend.png new file mode 100644 index 0000000000000000000000000000000000000000..7e2cbcfb2d143e382be6ed65635a3d859e53bc36 GIT binary patch literal 20615 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 literal 0 HcmV?d00001 diff --git a/docs/helper_8h.html b/docs/helper_8h.html new file mode 100644 index 0000000..c9c2151 --- /dev/null +++ b/docs/helper_8h.html @@ -0,0 +1,165 @@ + + + + + + + +Leonetienne/Hazelnupp: Test_Hazelnupp/helper.h File Reference + + + + + + + + + + + + +
+ +
+
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 new file mode 100644 index 0000000..89aaa7e --- /dev/null +++ b/docs/helper_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/helper_8h__dep__incl.md5 b/docs/helper_8h__dep__incl.md5 new file mode 100644 index 0000000..426dd98 --- /dev/null +++ b/docs/helper_8h__dep__incl.md5 @@ -0,0 +1 @@ +1227db7e106ab3999edfad0e739912b2 \ No newline at end of file diff --git a/docs/helper_8h__dep__incl.png b/docs/helper_8h__dep__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..856b621f6129532ce9e695f82146dfd445959e8b GIT binary patch literal 9796 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 NMp9m)NZjD_e*ngsIY9sb literal 0 HcmV?d00001 diff --git a/docs/helper_8h__incl.map b/docs/helper_8h__incl.map new file mode 100644 index 0000000..22e622e --- /dev/null +++ b/docs/helper_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/helper_8h__incl.md5 b/docs/helper_8h__incl.md5 new file mode 100644 index 0000000..e553760 --- /dev/null +++ b/docs/helper_8h__incl.md5 @@ -0,0 +1 @@ +259281a56cf33665dc686d86fe837a4d \ No newline at end of file diff --git a/docs/helper_8h__incl.png b/docs/helper_8h__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..d2165c24d24bf066144945d5d18b4ef9101ba74e GIT binary patch literal 3367 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 + + + + + + +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 new file mode 100644 index 0000000..99dbae8 --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1,108 @@ + + + + + + + +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]
+ + + + + + + + + + + + + + + + + +
 Cstd::exceptionSTL class
 CHazelnuppExceptionGeneric hazelnupp exception
 CHazelnuppConstraintExceptionGets thrown something bad happens because of parameter constraints
 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
 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
 CHazelnuppThe main class to interface with
 CParamConstraint
 CParameter
 CStringToolsInternal helper class
 CValueAbstract class for values
 CFloatValueSpecializations for floating point values (uses long double)
 CIntValueSpecializations for integer values (uses long long int)
 CListValueSpecializations for list values (uses std::vector<Value*>)
 CStringValueSpecializations for string values (uses std::string)
 CVoidValueSpecializations for void values
+
+
+ + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..67fdd8a --- /dev/null +++ b/docs/index.html @@ -0,0 +1,324 @@ + + + + + + + +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/index_8md.html b/docs/index_8md.html new file mode 100644 index 0000000..be5e7cb --- /dev/null +++ b/docs/index_8md.html @@ -0,0 +1,85 @@ + + + + + + + +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 new file mode 100644 index 0000000..9741c9e --- /dev/null +++ b/docs/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_0.md5 b/docs/inherit_graph_0.md5 new file mode 100644 index 0000000..232c3e6 --- /dev/null +++ b/docs/inherit_graph_0.md5 @@ -0,0 +1 @@ +05f5fbf778280a49be054f37088fe987 \ No newline at end of file diff --git a/docs/inherit_graph_0.png b/docs/inherit_graph_0.png new file mode 100644 index 0000000000000000000000000000000000000000..8b3ae89b3d731dc3c777a9ddb4c8723a280bce35 GIT binary patch literal 1049 zcmV+!1m^pRP)B@4Z*Ni19oRL{dib)eU?zM8D7w{X#?Z3ymMbiQDZSA0Pj!Rx*={iVBOx5}W?E zzx;mx>gwvJx0JbfJRY~(EmVHQFLFAapVd#M)6~@TK@smSG(^A95dA_UL;a#CYG!8U ztGh@*hWeGU{EJ^YovyvTU8qnL)z{aTo{lmbaetwae!pm%#xP7GktmhQ!NEcJUbM5b zgZ<9l-W~wp>FLRAHY*g0{QP{HrhPtNd_uKa-QC??U0sdicv)GQ%jJT)TrP)60011v zVHg$;hvE9p&d#c;Djdf(8qMM1VJuHV9f|b&wYj;;^Ze`U>-zfo{QUgV(h>kbr_=Gj z=XfzZ>0RW6fgsN9Z>8si~=n&(qu68^3a5VuEE^p)xl&r&KC~!647` ze!m|85C{Zd=>7d2$MNIiW1i==TJ7}oG}Kip)!5h=9N*pD0RT9T<9VJSh~3>?sKZqE z_xEspM@L7jVtIM_)YMcGJqZlMFbpG9{&9bq&1PX1tyUWgIh{_8Mw6SHi(#1AZ00yF z7IL{lue7vO zIF9x3Cp~r2d>*f_uMGx6Pft%U7>q`vHk@eC=?QjBoqn> zt*@`IPqCI%DvcR;b8{mM!A}Bmc6KJ0%aiM=lV-mnkw`Qe&CAQn&d&CDJT{vR>OP;3 zrs>Ja$;!&g*y7^i;)aF>lgV^)a`OEAd~|fA*Xv(iUQ(>3R;y=cXT#yJ&*!sRt-_Gq zZa+9Uczk>u9UbL3POsM|*Hb6WewCDzjEsyJ3Efz~-VgOB4FpO}D@#6o#P!R7gG(^A95dA_!^b3ujOVetu Ti9sx;00000NkvXXu0mjfE@A}U literal 0 HcmV?d00001 diff --git a/docs/inherit_graph_1.map b/docs/inherit_graph_1.map new file mode 100644 index 0000000..bbbbf01 --- /dev/null +++ b/docs/inherit_graph_1.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/inherit_graph_1.md5 b/docs/inherit_graph_1.md5 new file mode 100644 index 0000000..9fcad0b --- /dev/null +++ b/docs/inherit_graph_1.md5 @@ -0,0 +1 @@ +11f045deeaf9a601d5ad34a79967a0f9 \ No newline at end of file diff --git a/docs/inherit_graph_1.png b/docs/inherit_graph_1.png new file mode 100644 index 0000000000000000000000000000000000000000..827eff286ae4191d161b0da1522ea75b80e82fe5 GIT binary patch literal 19441 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�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 + + diff --git a/docs/inherit_graph_2.md5 b/docs/inherit_graph_2.md5 new file mode 100644 index 0000000..3373ae5 --- /dev/null +++ b/docs/inherit_graph_2.md5 @@ -0,0 +1 @@ +192546f8044e385dcb4e1aca18ebe513 \ No newline at end of file diff --git a/docs/inherit_graph_2.png b/docs/inherit_graph_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7cac96faa81ec0c28b71474ad80ee77047a31ff6 GIT binary patch literal 1418 zcmV;51$Fv~P)4Od_lrGxRQheapMW~>bt^#dm3{_B2P=gC&8me{SGmFNVE(V7A zOiZJu`VHLQ>Yg(v=l*B@4EJVcAj`4<@xSN7c?&?q1oBB7AfLnm@<|*d3ImFwo;`bZ zUQ!T3u3fv<+1bg5|GA%hKHrBAAI@A7;xIH#Qxql4B!(A_j*gy{9zhX-JMOZg;PH5F+_;gQ zoh^|_ii?XMJ$e)j2IJLSr_;TA_wKmAqG`Idwe??g<~ia0WVhQ{mi7DnTCMi__3P{F z>nB!lEG8!>jYeZZLBY3g-+ul2H8eD|wY4=iHg-0%pC_zRPoF+Q{K%KxzJ0sAygVTxfzL!N>*(mvYPA@KH8nNu?(Px< zk(HHIP*6}=SvfN^0|40A*Z=^i)#`91D=RB*xBJD57b=xXqtQHn{(O9VJP-(QN9}fd zX=$lMB57}LUteGU@#9BQQc`kqvP>pRNlDS`^-rEWIqDo^6fY!vx)`qIUpS#pPNx$> zs8Xq>rlwpj*Tst$M@L7mUcHK87=+Mnx38_O@x^(0dHgs^nOrXC1}P~i5{V=&EsYPk zodQ?j_xr>3_C&a);o&mL{e1wyg$su-NW8>{ zcRm*J`TrCQ1{sD)Pft%yPNr#^Ac)hH9R-B&<;$0E-n{AV?p|JA-rwJ!pP%pT?IlU_ z^5x4$qw&_QTY*5p=ks-Rbkx+;D3!{iT7CZf+2L?_z24uye;*tiaKZopN~LmcZZ4t$ zrxYKhb1cNiCmhEgKYnbrT4gd>XJ_Zln>SBW7KQ5SYPZ|Hu&|)l>$9`7tyXJ#dU}0* zJpf>2WCX*o;^JbhR;yO4-@kt!rH{#E%E-v5sj11#%p?ecBuNaz003QGT@w=%si~>_ ziW@KSQ98#0WChikWb + + diff --git a/docs/inherit_graph_3.md5 b/docs/inherit_graph_3.md5 new file mode 100644 index 0000000..308f1f7 --- /dev/null +++ b/docs/inherit_graph_3.md5 @@ -0,0 +1 @@ +6481c4409a2d34d7347ae0ab04e39488 \ No newline at end of file diff --git a/docs/inherit_graph_3.png b/docs/inherit_graph_3.png new file mode 100644 index 0000000000000000000000000000000000000000..15e18f4426a3fc7189e29ee24f0125aa4cce9522 GIT binary patch literal 962 zcmV;z13mnSP)r1%#UL6DDyyOz-+RC+92y6AyP4{BjfNifd2i-Ey>%=M(#jLx^3bNDg- z{5*4XREQ7)gyNvSyTDI^$ijfg!hp!a;7{ft7z{d{&hM&Hg>W12}_76wEX249giJv|K}gb>m+ zJvKIWa&l7kTDS}k5AW^m{qINl;>u!K79kXm#|;L9*=&A#dMaZGL0kYSjut*vA- z84LzZCKH5^qNwif?#<0j`J11Cfr0h)^@)iInx+pA4;5k@$BmDVt5mAKzP@lcytA{@ z)zzg|s}~m+MNyPuJkPT%tJCS4o10B0)9vjo0AOxz?&9LY;c!3*M@B{p#d6DFKVg)C z$K%PG$;;H#l(e!CLT_(x5W+wpAPogUxV*gV>FGH*IFM%g`};K-&FSf>APDjq^2YRf z{rUNMGMRKZ95hWYEG)ddyhNi>jYi}3dZn1fVlf(xS65ewL}F!SWpHpXolYZ!3 z2zj2DhV%3DYinx=A?fBL9*;}&>2#W5m`EgoKFd;wDU``2SJoFVL$})vA?)br2#3Rg zK%lLy&FAwC4GpPODhMIVvUhiPa#*X?%Et<^mX;RjpuWDov9YnKsYxEDQYiqy_4PFX zptG}6dV8sZTmaEQ3o)8$8eRp-^aYa`N%<(Pp!4Y;4@$-;1K?a=8RS zki+s#mU8T$=yW=YqMo0hGhgkQnHc~8MN!4XK)yS^;wjJPtW+u`ilSPruC1*Ng+eZu ztCUzFv|6p%Y_{9&(P;Gj{r&9h%wn;8e0%@^+S}VBk%**TAyy*gk)_w`x3{-#HXFk* z9LLSh&Xy8WV1IwVx3|}5G`6<3E-fwD?e@C5Ism}x>gv(aQA0z6^ln%vRw|imwa5+r zmjKGO!T(N(EDVS&42UcYh%5| + + diff --git a/docs/inherit_graph_4.md5 b/docs/inherit_graph_4.md5 new file mode 100644 index 0000000..86dc5ad --- /dev/null +++ b/docs/inherit_graph_4.md5 @@ -0,0 +1 @@ +c74d2ba194164b7d25404563e65b9801 \ No newline at end of file diff --git a/docs/inherit_graph_4.png b/docs/inherit_graph_4.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0046f643fecb512cb86120edd7f7c44a3470e5 GIT binary patch literal 1249 zcmV<71Rnc|P)U0q#p+2`~9cawgFh=aSm zy|r4c{r&w}Sy?G5DYdn=dc7V1AeBmwj*dDyI&e4~m&*kJuvo0Iv9apv>Xej}m6es? zpDK&R8Xq6$^Z6tasj#qcb8{2cold7nBqEVWMMXukv$HrH&g1cfwc&EPT3cHw6iP-$ zMtghv-QC^idN4CHGkJM=$;rtT6%{6vDbfUf0|lYcXhM{a`2GHZf`Z1zMx)W_^?HLJ zvDs|3S{e3fL04B-GMS9YWF{me@OZqnwKb&R6beP48WNmRsf5e$rntJg zvREv^Nf`_Vq~NSpD*)i);sVxBPEG&-*VorbdhqNvn=Lsx*=#od<1&N!7#x~2jz*)+ z&COXX7LUi%*48GGNVd1P!?vW;=}3c6C=|FrAP@imUa!~bbP|cg^z?LCXD}E@eH{)5 z9*@t>&4sH>CKDEs^x(dEd3npr%Y%c1rKP2vot?+W$6r`+82;7k2#G|J$z-{?xqEwi z0Dxb=LPz`fiT4RK8tv)nDR8LSY&N8p+1c4XpU-Z$!`1Wib67;uL%NH_;*E`s!^1;9 zpI=#7`SSAeb&~-i4$kRxip64s!Ek?n|M>VgKR6x6I%+JrK)9EUeO08B41OfoS(9qEO`Z|F?fNxb4Xf&FK zhll+9{QCNOi9`YbNK8ybYDpv#i;IidY&MNXTUuKBTn|uHRh62WDijLIWb*X%^y=y= zkw`@2HTb~$;^hz>^m;v+OpdjS-+&L7LyX_QL(ph6cs#zYuFht&4G#}XrP5eCLgZ(C z7>tyY_plhe@9z~}RoN@c7aA@Z|!Tv}S%%F0TtU3`h3wd3LlEI5>4!Jz~T4kckO zht<{9==+E}!UWgS(h_|iaR&~<{vU@5?2JPR792{j;821EhmyYl_n1_2H&OS600000 LNkvXXu0mjfmN{N+ literal 0 HcmV?d00001 diff --git a/docs/inherit_graph_5.map b/docs/inherit_graph_5.map new file mode 100644 index 0000000..262f085 --- /dev/null +++ b/docs/inherit_graph_5.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/inherit_graph_5.md5 b/docs/inherit_graph_5.md5 new file mode 100644 index 0000000..8306c47 --- /dev/null +++ b/docs/inherit_graph_5.md5 @@ -0,0 +1 @@ +62f776d5de34d54281012fb34d2f62cc \ No newline at end of file diff --git a/docs/inherit_graph_5.png b/docs/inherit_graph_5.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ae7931a93df3d44aede969a38682f7a4305c2c GIT binary patch literal 10167 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 Gp#K1LgK~iY literal 0 HcmV?d00001 diff --git a/docs/inherits.html b/docs/inherits.html new file mode 100644 index 0000000..cb18cf9 --- /dev/null +++ b/docs/inherits.html @@ -0,0 +1,130 @@ + + + + + + + +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 new file mode 100644 index 0000000..103c32d --- /dev/null +++ b/docs/jquery.js @@ -0,0 +1,35 @@ +/*! 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 new file mode 100644 index 0000000..cc2a642 --- /dev/null +++ b/docs/main_8cpp.html @@ -0,0 +1,219 @@ + + + + + + + +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 5 of file main.cpp.

+
6 {
+
7  while (1)
+
8  {
+
9  // Mock command-line params
+
10  std::vector<const char*> testArgv = {
+
11  "meinpfad",
+
12  "-w",
+
13  "-99",
+
14  "--alfred",
+
15  "apfel",
+
16  "banane",
+
17  "triangle",
+
18  "--numbers",
+
19  "1",
+
20  "2",
+
21  "3",
+
22  "4",
+
23  "5",
+
24  };
+
25 
+
26  argc = testArgv.size();
+
27  argv = const_cast<char**>(testArgv.data());
+
28 
+
29  // Prepare Hazelnupp parser
+
30  Hazelnupp args;
+
31 
+
32  ParamConstraint pc;
+
33  pc.key = "--alfredo";
+
34  pc.constrainType = true;
+ +
36  pc.required = true;
+
37  pc.defaultValue = { "coca cola", "fanta" };
+
38 
+
39  args.RegisterConstraints({
+
40  pc
+
41  });
+
42 
+
43  args.RegisterAbbreviation("-w", "--word");
+
44 
+
45  // Parse
+
46  args.Parse(argc, argv);
+
47 
+
48  // Use
+
49  if (args.HasParam("--alfredo"))
+
50  {
+
51  std::cout << args["--alfredo"].GetInt32() << std::endl;
+
52  }
+
53  else
+
54  {
+
55  std::cout << "No --alfredo!" << std::endl;
+
56  }
+
57  }
+
58 
+
59  return 0;
+
60 }
+
+
+
+
+
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
+ +
std::vector< std::string > defaultValue
The default value for this parameter.
+
std::string key
The key of the parameter to constrain.
+
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/main_8cpp__incl.map b/docs/main_8cpp__incl.map new file mode 100644 index 0000000..28486ea --- /dev/null +++ b/docs/main_8cpp__incl.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/main_8cpp__incl.md5 b/docs/main_8cpp__incl.md5 new file mode 100644 index 0000000..1779fee --- /dev/null +++ b/docs/main_8cpp__incl.md5 @@ -0,0 +1 @@ +ea0d373d42abb0550133bf07768e4a65 \ No newline at end of file diff --git a/docs/main_8cpp__incl.png b/docs/main_8cpp__incl.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f069420b112c2dffe7b74e4f625de26c41aa79 GIT binary patch literal 31547 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�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 Uw8*DvS+{>xlv9%}mNpIgKLtgr6951J literal 0 HcmV?d00001 diff --git a/docs/main_8cpp_source.html b/docs/main_8cpp_source.html new file mode 100644 index 0000000..302509f --- /dev/null +++ b/docs/main_8cpp_source.html @@ -0,0 +1,164 @@ + + + + + + + +Leonetienne/Hazelnupp: Hazelnupp/main.cpp Source File + + + + + + + + + + + +

+
+
+
main.cpp
+
+
+Go to the documentation of this file.
1 #include <iostream>
+
2 #include "Hazelnupp.h"
+
3 #include "IntValue.h"
+
4 
+
5 int main(int argc, char** argv)
+
6 {
+
7  while (1)
+
8  {
+
9  // Mock command-line params
+
10  std::vector<const char*> testArgv = {
+
11  "meinpfad",
+
12  "-w",
+
13  "-99",
+
14  "--alfred",
+
15  "apfel",
+
16  "banane",
+
17  "triangle",
+
18  "--numbers",
+
19  "1",
+
20  "2",
+
21  "3",
+
22  "4",
+
23  "5",
+
24  };
+
25 
+
26  argc = testArgv.size();
+
27  argv = const_cast<char**>(testArgv.data());
+
28 
+
29  // Prepare Hazelnupp parser
+
30  Hazelnupp args;
+
31 
+
32  ParamConstraint pc;
+
33  pc.key = "--alfredo";
+
34  pc.constrainType = true;
+ +
36  pc.required = true;
+
37  pc.defaultValue = { "coca cola", "fanta" };
+
38 
+
39  args.RegisterConstraints({
+
40  pc
+
41  });
+
42 
+
43  args.RegisterAbbreviation("-w", "--word");
+
44 
+
45  // Parse
+
46  args.Parse(argc, argv);
+
47 
+
48  // Use
+
49  if (args.HasParam("--alfredo"))
+
50  {
+
51  std::cout << args["--alfredo"].GetInt32() << std::endl;
+
52  }
+
53  else
+
54  {
+
55  std::cout << "No --alfredo!" << std::endl;
+
56  }
+
57  }
+
58 
+
59  return 0;
+
60 }
+
+
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
+ + +
int main(int argc, char **argv)
Definition: main.cpp:5
+
std::vector< std::string > defaultValue
The default value for this parameter.
+
std::string key
The key of the parameter to constrain.
+ +
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/md_Doxygen_index.html b/docs/md_Doxygen_index.html new file mode 100644 index 0000000..4716109 --- /dev/null +++ b/docs/md_Doxygen_index.html @@ -0,0 +1,324 @@ + + + + + + + +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 new file mode 100644 index 0000000..433c15b --- /dev/null +++ b/docs/menu.js @@ -0,0 +1,50 @@ +/* + @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 new file mode 100644 index 0000000..bfb6993 --- /dev/null +++ b/docs/menudata.js @@ -0,0 +1,74 @@ +/* +@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:"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:"Functions",url:"globals_func.html"}, +{text:"Enumerations",url:"globals_enum.html"}]}]}]} diff --git a/docs/namespaceTestHazelnupp.html b/docs/namespaceTestHazelnupp.html new file mode 100644 index 0000000..ac25f51 --- /dev/null +++ b/docs/namespaceTestHazelnupp.html @@ -0,0 +1,1139 @@ + + + + + + + +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 new file mode 100644 index 0000000..98ec2ca --- /dev/null +++ b/docs/namespacemembers.html @@ -0,0 +1,86 @@ + + + + + + + +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_func.html b/docs/namespacemembers_func.html new file mode 100644 index 0000000..6245384 --- /dev/null +++ b/docs/namespacemembers_func.html @@ -0,0 +1,86 @@ + + + + + + + +Leonetienne/Hazelnupp: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Leonetienne/Hazelnupp +
    +
    Simple, easy to use, command line parameter interface
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    + + + + diff --git a/docs/namespaces.html b/docs/namespaces.html new file mode 100644 index 0000000..29bd5f7 --- /dev/null +++ b/docs/namespaces.html @@ -0,0 +1,90 @@ + + + + + + + +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:
    + + +
     NTestHazelnupp
    +
    +
    + + + + diff --git a/docs/nav_f.png b/docs/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..700ee6e5e3d6a924d122e2a615ed26c14fd6365b GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQlXwMjv*C{Z|??jH5l+PU)W;1 zc|+-3@p6OUzXECh8rl%m11B qVXu}k)VZd-bz#)0+_nDqcRuyp8tHg9raS?l1q`09elF{r5}E+c{xJ{$ literal 0 HcmV?d00001 diff --git a/docs/nav_g.png b/docs/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KG5>+b6Mw<&;$T;Ssg|I literal 0 HcmV?d00001 diff --git a/docs/nupp_small.png b/docs/nupp_small.png new file mode 100644 index 0000000000000000000000000000000000000000..226148aa7ce69b3febdb531d2f30a7deb2b42b6c GIT binary patch literal 31866 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 Wz;Pz(kQO7*GzL#sKbLh*2~7a}x+nMm literal 0 HcmV?d00001 diff --git a/docs/pages.html b/docs/pages.html new file mode 100644 index 0000000..ab71acb --- /dev/null +++ b/docs/pages.html @@ -0,0 +1,90 @@ + + + + + + + +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 new file mode 100644 index 0000000..79490f2 --- /dev/null +++ b/docs/readme_8md.html @@ -0,0 +1,85 @@ + + + + + + + +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 new file mode 100644 index 0000000..26dd244 --- /dev/null +++ b/docs/search/all_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_0.js b/docs/search/all_0.js new file mode 100644 index 0000000..23c78f5 --- /dev/null +++ b/docs/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['addvalue_0',['AddValue',['../classListValue.html#af8787d266aa353d3f96e2c76cce76c41',1,'ListValue']]] +]; diff --git a/docs/search/all_1.html b/docs/search/all_1.html new file mode 100644 index 0000000..8eb215b --- /dev/null +++ b/docs/search/all_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_1.js b/docs/search/all_1.js new file mode 100644 index 0000000..e0aea9d --- /dev/null +++ b/docs/search/all_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['clearabbreviations_1',['ClearAbbreviations',['../classHazelnupp.html#a5175869b025468324cefad487081e91d',1,'Hazelnupp']]], + ['clearconstraints_2',['ClearConstraints',['../classHazelnupp.html#a3970b74583def49c6632fe08a4499809',1,'Hazelnupp']]], + ['constraintype_3',['constrainType',['../structParamConstraint.html#ab35444d2957439bc52c2056a829145a2',1,'ParamConstraint']]], + ['contains_4',['Contains',['../classStringTools.html#aec1abd8b22146c7a9ebeb6a94d6af5ee',1,'StringTools']]] +]; diff --git a/docs/search/all_10.html b/docs/search/all_10.html new file mode 100644 index 0000000..6fd3a4a --- /dev/null +++ b/docs/search/all_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_10.js b/docs/search/all_10.js new file mode 100644 index 0000000..9e0d0c0 --- /dev/null +++ b/docs/search/all_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['wantedtype_92',['wantedType',['../structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a',1,'ParamConstraint']]], + ['what_93',['What',['../classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6',1,'HazelnuppException']]] +]; diff --git a/docs/search/all_11.html b/docs/search/all_11.html new file mode 100644 index 0000000..f78343b --- /dev/null +++ b/docs/search/all_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_11.js b/docs/search/all_11.js new file mode 100644 index 0000000..b13fe20 --- /dev/null +++ b/docs/search/all_11.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['_7efloatvalue_94',['~FloatValue',['../classFloatValue.html#a5c6c7a2c805ac0207d325edd28a5db1c',1,'FloatValue']]], + ['_7ehazelnupp_95',['~Hazelnupp',['../classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be',1,'Hazelnupp']]], + ['_7eintvalue_96',['~IntValue',['../classIntValue.html#a45514417be35da78376822a0dd50f488',1,'IntValue']]], + ['_7elistvalue_97',['~ListValue',['../classListValue.html#a91f1450f299d46b3301774a6b4eb6c18',1,'ListValue']]], + ['_7eparameter_98',['~Parameter',['../classParameter.html#a6e2ade42a712f1d3675653329266e42d',1,'Parameter']]], + ['_7estringvalue_99',['~StringValue',['../classStringValue.html#a829a8f064ec6b31b57d1dbebc8cd05d8',1,'StringValue']]], + ['_7evalue_100',['~Value',['../classValue.html#aceb26b90be781020c0c71ae5d16ca06f',1,'Value']]], + ['_7evoidvalue_101',['~VoidValue',['../classVoidValue.html#a8229e255a6fc31da4a4ec7aba97d4111',1,'VoidValue']]] +]; diff --git a/docs/search/all_12.html b/docs/search/all_12.html new file mode 100644 index 0000000..dd9ff1d --- /dev/null +++ b/docs/search/all_12.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_12.js b/docs/search/all_12.js new file mode 100644 index 0000000..a02268b --- /dev/null +++ b/docs/search/all_12.js @@ -0,0 +1,11 @@ +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 new file mode 100644 index 0000000..b26d916 --- /dev/null +++ b/docs/search/all_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_2.js b/docs/search/all_2.js new file mode 100644 index 0000000..f9650a7 --- /dev/null +++ b/docs/search/all_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['data_5ftype_5',['DATA_TYPE',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b',1,'DataType.h']]], + ['datatype_2eh_6',['DataType.h',['../DataType_8h.html',1,'']]], + ['deepcopy_7',['Deepcopy',['../classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0',1,'FloatValue::Deepcopy()'],['../classIntValue.html#aa599004242b27f8f3e246b88742b034e',1,'IntValue::Deepcopy()'],['../classListValue.html#a51c89ff315026b03d908345c6f58169d',1,'ListValue::Deepcopy()'],['../classStringValue.html#a1952487a786fb53cb0b9aefdb3367268',1,'StringValue::Deepcopy()'],['../classValue.html#a54439631b2c5b933c03baf65836838fc',1,'Value::Deepcopy()'],['../classVoidValue.html#ac36e85add840057659ec24484548165f',1,'VoidValue::Deepcopy()']]], + ['defaultvalue_8',['defaultValue',['../structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff',1,'ParamConstraint']]] +]; diff --git a/docs/search/all_3.html b/docs/search/all_3.html new file mode 100644 index 0000000..b61b96f --- /dev/null +++ b/docs/search/all_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_3.js b/docs/search/all_3.js new file mode 100644 index 0000000..0cd0514 --- /dev/null +++ b/docs/search/all_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['float_9',['FLOAT',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6',1,'DataType.h']]], + ['floatvalue_10',['FloatValue',['../classFloatValue.html',1,'FloatValue'],['../classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44',1,'FloatValue::FloatValue()']]], + ['floatvalue_2ecpp_11',['FloatValue.cpp',['../FloatValue_8cpp.html',1,'']]], + ['floatvalue_2eh_12',['FloatValue.h',['../FloatValue_8h.html',1,'']]] +]; diff --git a/docs/search/all_4.html b/docs/search/all_4.html new file mode 100644 index 0000000..06de155 --- /dev/null +++ b/docs/search/all_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_4.js b/docs/search/all_4.js new file mode 100644 index 0000000..0ef4092 --- /dev/null +++ b/docs/search/all_4.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['getabbreviation_13',['GetAbbreviation',['../classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5',1,'Hazelnupp']]], + ['getasosstring_14',['GetAsOsString',['../classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c',1,'FloatValue::GetAsOsString()'],['../classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45',1,'IntValue::GetAsOsString()'],['../classListValue.html#a5b1f8af329e48c5469fee16634b7889c',1,'ListValue::GetAsOsString()'],['../classStringValue.html#a71869ee46b88a3cbb9571f481f0c216d',1,'StringValue::GetAsOsString()'],['../classValue.html#a37bf4df9917f2d60ebfd0cee0bde3497',1,'Value::GetAsOsString()'],['../classVoidValue.html#a44b1917d9ba41ee91e2131432e01ec90',1,'VoidValue::GetAsOsString()']]], + ['getcrashonfail_15',['GetCrashOnFail',['../classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7',1,'Hazelnupp']]], + ['getdatatype_16',['GetDataType',['../classValue.html#adbb80bf6d455a316e6e5103353429993',1,'Value']]], + ['getexecutablename_17',['GetExecutableName',['../classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469',1,'Hazelnupp']]], + ['getfloat32_18',['GetFloat32',['../classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81',1,'FloatValue::GetFloat32()'],['../classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4',1,'IntValue::GetFloat32()'],['../classListValue.html#a637fec02ed7f7325554e494fc7cd4e86',1,'ListValue::GetFloat32()'],['../classStringValue.html#a31fc4d2517a7454c1e9f329df2f14be7',1,'StringValue::GetFloat32()'],['../classValue.html#ac936fa09ba401a748ef67292ad823004',1,'Value::GetFloat32()'],['../classVoidValue.html#a6d39d2983e54e1a407c66e303273aa48',1,'VoidValue::GetFloat32()']]], + ['getfloat64_19',['GetFloat64',['../classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9',1,'FloatValue::GetFloat64()'],['../classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5',1,'IntValue::GetFloat64()'],['../classListValue.html#a571178db1c9d23f6c685ea8898dbb60e',1,'ListValue::GetFloat64()'],['../classStringValue.html#a74bedb828c901a4895062f62303b9653',1,'StringValue::GetFloat64()'],['../classValue.html#ac3d3a5b3ba7bf5aee0f41d19b242b7e8',1,'Value::GetFloat64()'],['../classVoidValue.html#a18b6f0d697c5f9286372a05927e4759c',1,'VoidValue::GetFloat64()']]], + ['getint32_20',['GetInt32',['../classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99',1,'FloatValue::GetInt32()'],['../classIntValue.html#a163f21536fa49491aa0ae03c8091344a',1,'IntValue::GetInt32()'],['../classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7',1,'ListValue::GetInt32()'],['../classStringValue.html#ac8b53a7792ff1ed048722e2e404f3e6b',1,'StringValue::GetInt32()'],['../classValue.html#afcbcf8a064895b6b9d2964aecee01f22',1,'Value::GetInt32()'],['../classVoidValue.html#a5b7f50c390ef8f3636ba211a72a78065',1,'VoidValue::GetInt32()']]], + ['getint64_21',['GetInt64',['../classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183',1,'FloatValue::GetInt64()'],['../classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080',1,'IntValue::GetInt64()'],['../classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995',1,'ListValue::GetInt64()'],['../classStringValue.html#aabdc7d681945403d24df6a8fe27948af',1,'StringValue::GetInt64()'],['../classValue.html#a77229fe49da12240fbfbc6657101cb27',1,'Value::GetInt64()'],['../classVoidValue.html#a3806945596866f3630dc5426a6b55e58',1,'VoidValue::GetInt64()']]], + ['getlist_22',['GetList',['../classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1',1,'FloatValue::GetList()'],['../classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2',1,'IntValue::GetList()'],['../classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f',1,'ListValue::GetList()'],['../classStringValue.html#a2b2810350b5eb7e58062ad095320aa69',1,'StringValue::GetList()'],['../classValue.html#a930ca504a3e52e73f736a7e72f44e5ce',1,'Value::GetList()'],['../classVoidValue.html#aba53ae37d415959b583f33f3e381be16',1,'VoidValue::GetList()']]], + ['getstring_23',['GetString',['../classFloatValue.html#afd5d078683f410cb9d450c61f12f250d',1,'FloatValue::GetString()'],['../classIntValue.html#a3631e3b16f010889e942c0c0f72d403c',1,'IntValue::GetString()'],['../classListValue.html#aeaf80c07236045a77d72349ebcfc3b89',1,'ListValue::GetString()'],['../classStringValue.html#a7ed55493cfd25274f8571c1ea45f93e5',1,'StringValue::GetString()'],['../classValue.html#a1dd7df6be1d7298e5098a48622d0b65f',1,'Value::GetString()'],['../classVoidValue.html#a5af0c47a873b84226df47a90e63b2acd',1,'VoidValue::GetString()']]], + ['getvalue_24',['GetValue',['../classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f',1,'FloatValue::GetValue()'],['../classIntValue.html#a89967cafbdeb21362336067b772808c7',1,'IntValue::GetValue()'],['../classListValue.html#a7907ae7433e4011157f1b31dd5339702',1,'ListValue::GetValue()'],['../classParameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af',1,'Parameter::GetValue()'],['../classStringValue.html#a521a573887a3f31718f74e71ff01e86e',1,'StringValue::GetValue()']]] +]; diff --git a/docs/search/all_5.html b/docs/search/all_5.html new file mode 100644 index 0000000..2544c4e --- /dev/null +++ b/docs/search/all_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_5.js b/docs/search/all_5.js new file mode 100644 index 0000000..2c2a0d7 --- /dev/null +++ b/docs/search/all_5.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['hasabbreviation_25',['HasAbbreviation',['../classHazelnupp.html#a46df7d396fb56e30351c9a7308792200',1,'Hazelnupp']]], + ['hasparam_26',['HasParam',['../classHazelnupp.html#a8b79a79d40420ae748c108c691111040',1,'Hazelnupp']]], + ['hazelnupp_27',['Hazelnupp',['../classHazelnupp.html',1,'Hazelnupp'],['../classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d',1,'Hazelnupp::Hazelnupp()'],['../classHazelnupp.html#a6d14c60f03b571f5f794c3549e75e435',1,'Hazelnupp::Hazelnupp(const int argc, const char *const *argv)']]], + ['hazelnupp_2ecpp_28',['Hazelnupp.cpp',['../Hazelnupp_8cpp.html',1,'']]], + ['hazelnupp_2eh_29',['Hazelnupp.h',['../Hazelnupp_8h.html',1,'']]], + ['hazelnupp_2evcxproj_2efilelistabsolute_2etxt_30',['Hazelnupp.vcxproj.FileListAbsolute.txt',['../Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)'],['../Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)']]], + ['hazelnuppconstraintexception_31',['HazelnuppConstraintException',['../classHazelnuppConstraintException.html',1,'HazelnuppConstraintException'],['../classHazelnuppConstraintException.html#ad434d9b9d78d36cc4008bad70270f844',1,'HazelnuppConstraintException::HazelnuppConstraintException()'],['../classHazelnuppConstraintException.html#a1bf58e4aa510f3e5cdebdfcbff2a1e53',1,'HazelnuppConstraintException::HazelnuppConstraintException(const std::string &msg)']]], + ['hazelnuppconstraintmissingvalue_32',['HazelnuppConstraintMissingValue',['../classHazelnuppConstraintMissingValue.html',1,'HazelnuppConstraintMissingValue'],['../classHazelnuppConstraintMissingValue.html#a022da2aca494f6853a7c013e94f5796f',1,'HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue()'],['../classHazelnuppConstraintMissingValue.html#a8d3ea192a75f993abe2845444cdb1bca',1,'HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue(const std::string &msg)']]], + ['hazelnuppconstrainttypemissmatch_33',['HazelnuppConstraintTypeMissmatch',['../classHazelnuppConstraintTypeMissmatch.html',1,'HazelnuppConstraintTypeMissmatch'],['../classHazelnuppConstraintTypeMissmatch.html#aa81de4d809dd7b00516716574e959c09',1,'HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch()'],['../classHazelnuppConstraintTypeMissmatch.html#ab8d0f32a3423239e06d8c44631098306',1,'HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch(const std::string &msg)']]], + ['hazelnuppexception_34',['HazelnuppException',['../classHazelnuppException.html',1,'HazelnuppException'],['../classHazelnuppException.html#a90d10b00ec056b721c102a70b629a779',1,'HazelnuppException::HazelnuppException()'],['../classHazelnuppException.html#a864a84c0498870ae0a76fb8c3542fa74',1,'HazelnuppException::HazelnuppException(const std::string &msg)']]], + ['hazelnuppexception_2eh_35',['HazelnuppException.h',['../HazelnuppException_8h.html',1,'']]], + ['hazelnuppinvalidkeyexception_36',['HazelnuppInvalidKeyException',['../classHazelnuppInvalidKeyException.html',1,'HazelnuppInvalidKeyException'],['../classHazelnuppInvalidKeyException.html#ac0c3a84356647817b5076f92e55874e7',1,'HazelnuppInvalidKeyException::HazelnuppInvalidKeyException()'],['../classHazelnuppInvalidKeyException.html#a5be8550858e8ba5754958055803120bc',1,'HazelnuppInvalidKeyException::HazelnuppInvalidKeyException(const std::string &msg)']]], + ['hazelnuppvaluenotconvertibleexception_37',['HazelnuppValueNotConvertibleException',['../classHazelnuppValueNotConvertibleException.html',1,'HazelnuppValueNotConvertibleException'],['../classHazelnuppValueNotConvertibleException.html#a459233c9ed4ca577f596761abb2f46e7',1,'HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException()'],['../classHazelnuppValueNotConvertibleException.html#a77dfcc974a767b77aefdaef86e9ad60c',1,'HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException(const std::string &msg)']]], + ['hazelnupp_38',['Hazelnupp',['../index.html',1,'']]] +]; diff --git a/docs/search/all_6.html b/docs/search/all_6.html new file mode 100644 index 0000000..43f14ea --- /dev/null +++ b/docs/search/all_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_6.js b/docs/search/all_6.js new file mode 100644 index 0000000..708ddab --- /dev/null +++ b/docs/search/all_6.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['index_2emd_39',['index.md',['../index_8md.html',1,'']]], + ['int_40',['INT',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92',1,'DataType.h']]], + ['intvalue_41',['IntValue',['../classIntValue.html',1,'IntValue'],['../classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba',1,'IntValue::IntValue()']]], + ['intvalue_2ecpp_42',['IntValue.cpp',['../IntValue_8cpp.html',1,'']]], + ['intvalue_2eh_43',['IntValue.h',['../IntValue_8h.html',1,'']]], + ['isnumeric_44',['IsNumeric',['../classStringTools.html#a6cd093feaca2d978c23774cf87d86e68',1,'StringTools']]] +]; diff --git a/docs/search/all_7.html b/docs/search/all_7.html new file mode 100644 index 0000000..af52f82 --- /dev/null +++ b/docs/search/all_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_7.js b/docs/search/all_7.js new file mode 100644 index 0000000..4a970ec --- /dev/null +++ b/docs/search/all_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_45',['Key',['../classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6',1,'Parameter::Key()'],['../structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648',1,'ParamConstraint::key()']]] +]; diff --git a/docs/search/all_8.html b/docs/search/all_8.html new file mode 100644 index 0000000..cf2b5df --- /dev/null +++ b/docs/search/all_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_8.js b/docs/search/all_8.js new file mode 100644 index 0000000..50897a0 --- /dev/null +++ b/docs/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['list_46',['LIST',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a',1,'DataType.h']]], + ['listvalue_47',['ListValue',['../classListValue.html',1,'ListValue'],['../classListValue.html#a6082aaa506b31496720a168da8ab2708',1,'ListValue::ListValue()']]], + ['listvalue_2ecpp_48',['ListValue.cpp',['../ListValue_8cpp.html',1,'']]], + ['listvalue_2eh_49',['ListValue.h',['../ListValue_8h.html',1,'']]] +]; diff --git a/docs/search/all_9.html b/docs/search/all_9.html new file mode 100644 index 0000000..690785a --- /dev/null +++ b/docs/search/all_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_9.js b/docs/search/all_9.js new file mode 100644 index 0000000..0ba5903 --- /dev/null +++ b/docs/search/all_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main_50',['main',['../main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main.cpp']]], + ['main_2ecpp_51',['main.cpp',['../main_8cpp.html',1,'']]], + ['message_52',['message',['../classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf',1,'HazelnuppException']]] +]; diff --git a/docs/search/all_a.html b/docs/search/all_a.html new file mode 100644 index 0000000..f2f3d3a --- /dev/null +++ b/docs/search/all_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_a.js b/docs/search/all_a.js new file mode 100644 index 0000000..4592a83 --- /dev/null +++ b/docs/search/all_a.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['operator_20double_53',['operator double',['../classFloatValue.html#ae02de376bbb2b76e0f9d16b1fc4de06d',1,'FloatValue']]], + ['operator_20int_54',['operator int',['../classIntValue.html#ab30a38c8f58cefd7cbf365c4aeae79bd',1,'IntValue']]], + ['operator_20long_20double_55',['operator long double',['../classFloatValue.html#ad0d4c589190fbab7e6c4d8fcc130ac1b',1,'FloatValue']]], + ['operator_20long_20long_20int_56',['operator long long int',['../classIntValue.html#a45b283dae9904ad0643035d3ee5883eb',1,'IntValue']]], + ['operator_3c_3c_57',['operator<<',['../classParameter.html#a11b3529badcbf99b46262772472495c7',1,'Parameter::operator<<()'],['../classValue.html#ad29db86c4a2dec5bc8d0006031b07211',1,'Value::operator<<()']]], + ['operator_5b_5d_58',['operator[]',['../classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5',1,'Hazelnupp']]], + ['string_59',['string',['../classStringValue.html#a23449775f14f828d29b115de040a696b',1,'StringValue']]], + ['vector_3c_20value_20_2a_20_3e_60',['vector< Value * >',['../classListValue.html#a5d92ff2b9a1fa92fbc303ac4d07765d0',1,'ListValue']]] +]; diff --git a/docs/search/all_b.html b/docs/search/all_b.html new file mode 100644 index 0000000..14f3403 --- /dev/null +++ b/docs/search/all_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_b.js b/docs/search/all_b.js new file mode 100644 index 0000000..a7092fa --- /dev/null +++ b/docs/search/all_b.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['paramconstraint_61',['ParamConstraint',['../structParamConstraint.html',1,'ParamConstraint'],['../structParamConstraint.html#ae0ce64f2f0928d602b6f6117ff34d155',1,'ParamConstraint::ParamConstraint()=default'],['../structParamConstraint.html#a93783114c6f374b77479a283c4aadf05',1,'ParamConstraint::ParamConstraint(const std::string &key, bool constrainType, DATA_TYPE wantedType, const std::vector< std::string > &defaultValue, bool required)']]], + ['paramconstraint_2eh_62',['ParamConstraint.h',['../ParamConstraint_8h.html',1,'']]], + ['parameter_63',['Parameter',['../classParameter.html',1,'Parameter'],['../classParameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c',1,'Parameter::Parameter()']]], + ['parameter_2ecpp_64',['Parameter.cpp',['../Parameter_8cpp.html',1,'']]], + ['parameter_2eh_65',['Parameter.h',['../Parameter_8h.html',1,'']]], + ['parse_66',['Parse',['../classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b',1,'Hazelnupp']]], + ['parsenumber_67',['ParseNumber',['../classStringTools.html#ab661223da5bbbb75039e168409466c82',1,'StringTools']]] +]; diff --git a/docs/search/all_c.html b/docs/search/all_c.html new file mode 100644 index 0000000..da60ab8 --- /dev/null +++ b/docs/search/all_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_c.js b/docs/search/all_c.js new file mode 100644 index 0000000..f950545 --- /dev/null +++ b/docs/search/all_c.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['registerabbreviation_68',['RegisterAbbreviation',['../classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124',1,'Hazelnupp']]], + ['registerconstraints_69',['RegisterConstraints',['../classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5',1,'Hazelnupp']]], + ['replace_70',['Replace',['../classStringTools.html#a0ca14c1d67833a61955a693f3e40d8b5',1,'StringTools::Replace(const std::string &str, const char find, const std::string &subst)'],['../classStringTools.html#a1658832ddf1611f83c5848e391d32806',1,'StringTools::Replace(const std::string &str, const std::string &find, const std::string &subst)']]], + ['require_71',['Require',['../structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c',1,'ParamConstraint']]], + ['required_72',['required',['../structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d',1,'ParamConstraint']]] +]; diff --git a/docs/search/all_d.html b/docs/search/all_d.html new file mode 100644 index 0000000..bc376fe --- /dev/null +++ b/docs/search/all_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_d.js b/docs/search/all_d.js new file mode 100644 index 0000000..c234d22 --- /dev/null +++ b/docs/search/all_d.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['setcrashonfail_73',['SetCrashOnFail',['../classHazelnupp.html#a17845623ca686caa51f3c8254e85551e',1,'Hazelnupp']]], + ['splitstring_74',['SplitString',['../classStringTools.html#a7cd6606ef06170fab363024e457f1f16',1,'StringTools::SplitString(const std::string &str, const char delimiter)'],['../classStringTools.html#afe626a56fa486afcb0e4c01d3c1ccb35',1,'StringTools::SplitString(const std::string &str, const std::string &delimiter)']]], + ['string_75',['STRING',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949',1,'DataType.h']]], + ['stringtools_76',['StringTools',['../classStringTools.html',1,'']]], + ['stringtools_2ecpp_77',['StringTools.cpp',['../StringTools_8cpp.html',1,'']]], + ['stringtools_2eh_78',['StringTools.h',['../StringTools_8h.html',1,'']]], + ['stringvalue_79',['StringValue',['../classStringValue.html',1,'StringValue'],['../classStringValue.html#a24dad2deec92b51bf60a11400cc8c204',1,'StringValue::StringValue()']]], + ['stringvalue_2ecpp_80',['StringValue.cpp',['../StringValue_8cpp.html',1,'']]], + ['stringvalue_2eh_81',['StringValue.h',['../StringValue_8h.html',1,'']]] +]; diff --git a/docs/search/all_e.html b/docs/search/all_e.html new file mode 100644 index 0000000..2e3c74d --- /dev/null +++ b/docs/search/all_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_e.js b/docs/search/all_e.js new file mode 100644 index 0000000..d2538b5 --- /dev/null +++ b/docs/search/all_e.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['tolower_82',['ToLower',['../classStringTools.html#a67edf755685f59b51f7416d9e4f6e2bd',1,'StringTools']]], + ['type_83',['type',['../classValue.html#a1d097dc84691b48d12435c6bf97c85b4',1,'Value']]], + ['typesafety_84',['TypeSafety',['../structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5',1,'ParamConstraint']]] +]; diff --git a/docs/search/all_f.html b/docs/search/all_f.html new file mode 100644 index 0000000..246f8ab --- /dev/null +++ b/docs/search/all_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/all_f.js b/docs/search/all_f.js new file mode 100644 index 0000000..e8b4af3 --- /dev/null +++ b/docs/search/all_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['value_85',['Value',['../classValue.html',1,'Value'],['../classValue.html#a8455d65bb2d939e850d6772dfbf8bfec',1,'Value::Value()']]], + ['value_2ecpp_86',['Value.cpp',['../Value_8cpp.html',1,'']]], + ['value_2eh_87',['Value.h',['../Value_8h.html',1,'']]], + ['void_88',['VOID',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb',1,'DataType.h']]], + ['voidvalue_89',['VoidValue',['../classVoidValue.html',1,'VoidValue'],['../classVoidValue.html#a75abf334b7f55cd149d2bb1962f2d8f1',1,'VoidValue::VoidValue()']]], + ['voidvalue_2ecpp_90',['VoidValue.cpp',['../VoidValue_8cpp.html',1,'']]], + ['voidvalue_2eh_91',['VoidValue.h',['../VoidValue_8h.html',1,'']]] +]; diff --git a/docs/search/classes_0.html b/docs/search/classes_0.html new file mode 100644 index 0000000..f7e4c14 --- /dev/null +++ b/docs/search/classes_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js new file mode 100644 index 0000000..73763c0 --- /dev/null +++ b/docs/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['floatvalue_102',['FloatValue',['../classFloatValue.html',1,'']]] +]; diff --git a/docs/search/classes_1.html b/docs/search/classes_1.html new file mode 100644 index 0000000..c7ff4b3 --- /dev/null +++ b/docs/search/classes_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js new file mode 100644 index 0000000..cae065c --- /dev/null +++ b/docs/search/classes_1.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['hazelnupp_103',['Hazelnupp',['../classHazelnupp.html',1,'']]], + ['hazelnuppconstraintexception_104',['HazelnuppConstraintException',['../classHazelnuppConstraintException.html',1,'']]], + ['hazelnuppconstraintmissingvalue_105',['HazelnuppConstraintMissingValue',['../classHazelnuppConstraintMissingValue.html',1,'']]], + ['hazelnuppconstrainttypemissmatch_106',['HazelnuppConstraintTypeMissmatch',['../classHazelnuppConstraintTypeMissmatch.html',1,'']]], + ['hazelnuppexception_107',['HazelnuppException',['../classHazelnuppException.html',1,'']]], + ['hazelnuppinvalidkeyexception_108',['HazelnuppInvalidKeyException',['../classHazelnuppInvalidKeyException.html',1,'']]], + ['hazelnuppvaluenotconvertibleexception_109',['HazelnuppValueNotConvertibleException',['../classHazelnuppValueNotConvertibleException.html',1,'']]] +]; diff --git a/docs/search/classes_2.html b/docs/search/classes_2.html new file mode 100644 index 0000000..0d1e8a0 --- /dev/null +++ b/docs/search/classes_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js new file mode 100644 index 0000000..d732bd0 --- /dev/null +++ b/docs/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['intvalue_110',['IntValue',['../classIntValue.html',1,'']]] +]; diff --git a/docs/search/classes_3.html b/docs/search/classes_3.html new file mode 100644 index 0000000..2102545 --- /dev/null +++ b/docs/search/classes_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js new file mode 100644 index 0000000..e53abdf --- /dev/null +++ b/docs/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['listvalue_111',['ListValue',['../classListValue.html',1,'']]] +]; diff --git a/docs/search/classes_4.html b/docs/search/classes_4.html new file mode 100644 index 0000000..095ab59 --- /dev/null +++ b/docs/search/classes_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js new file mode 100644 index 0000000..b10e19a --- /dev/null +++ b/docs/search/classes_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['paramconstraint_112',['ParamConstraint',['../structParamConstraint.html',1,'']]], + ['parameter_113',['Parameter',['../classParameter.html',1,'']]] +]; diff --git a/docs/search/classes_5.html b/docs/search/classes_5.html new file mode 100644 index 0000000..fc9cdc9 --- /dev/null +++ b/docs/search/classes_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js new file mode 100644 index 0000000..46b60a1 --- /dev/null +++ b/docs/search/classes_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['stringtools_114',['StringTools',['../classStringTools.html',1,'']]], + ['stringvalue_115',['StringValue',['../classStringValue.html',1,'']]] +]; diff --git a/docs/search/classes_6.html b/docs/search/classes_6.html new file mode 100644 index 0000000..1ecfddd --- /dev/null +++ b/docs/search/classes_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js new file mode 100644 index 0000000..870571d --- /dev/null +++ b/docs/search/classes_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['value_116',['Value',['../classValue.html',1,'']]], + ['voidvalue_117',['VoidValue',['../classVoidValue.html',1,'']]] +]; diff --git a/docs/search/close.png b/docs/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/docs/search/defines_0.html b/docs/search/defines_0.html new file mode 100644 index 0000000..2deb369 --- /dev/null +++ b/docs/search/defines_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js new file mode 100644 index 0000000..6041d19 --- /dev/null +++ b/docs/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['c_5fify_237',['C_Ify',['../helper_8h.html#afb631a54ed93a93015e671fcbec7ac81',1,'helper.h']]] +]; diff --git a/docs/search/enums_0.html b/docs/search/enums_0.html new file mode 100644 index 0000000..9669700 --- /dev/null +++ b/docs/search/enums_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/enums_0.js b/docs/search/enums_0.js new file mode 100644 index 0000000..8efabc7 --- /dev/null +++ b/docs/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data_5ftype_212',['DATA_TYPE',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27b',1,'DataType.h']]] +]; diff --git a/docs/search/enumvalues_0.html b/docs/search/enumvalues_0.html new file mode 100644 index 0000000..9286248 --- /dev/null +++ b/docs/search/enumvalues_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/enumvalues_0.js b/docs/search/enumvalues_0.js new file mode 100644 index 0000000..8673bc3 --- /dev/null +++ b/docs/search/enumvalues_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['float_213',['FLOAT',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27bae738c26bf4ce1037fa81b039a915cbf6',1,'DataType.h']]] +]; diff --git a/docs/search/enumvalues_1.html b/docs/search/enumvalues_1.html new file mode 100644 index 0000000..e22a79f --- /dev/null +++ b/docs/search/enumvalues_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/enumvalues_1.js b/docs/search/enumvalues_1.js new file mode 100644 index 0000000..82b116f --- /dev/null +++ b/docs/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['int_214',['INT',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba53f93baa3057821107c750323892fa92',1,'DataType.h']]] +]; diff --git a/docs/search/enumvalues_2.html b/docs/search/enumvalues_2.html new file mode 100644 index 0000000..01a77bf --- /dev/null +++ b/docs/search/enumvalues_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/enumvalues_2.js b/docs/search/enumvalues_2.js new file mode 100644 index 0000000..b9d59d2 --- /dev/null +++ b/docs/search/enumvalues_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['list_215',['LIST',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba298cb25408234de02baf2085803a464a',1,'DataType.h']]] +]; diff --git a/docs/search/enumvalues_3.html b/docs/search/enumvalues_3.html new file mode 100644 index 0000000..4e761d6 --- /dev/null +++ b/docs/search/enumvalues_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/enumvalues_3.js b/docs/search/enumvalues_3.js new file mode 100644 index 0000000..8554169 --- /dev/null +++ b/docs/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['string_216',['STRING',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba63b588d5559f64f89a416e656880b949',1,'DataType.h']]] +]; diff --git a/docs/search/enumvalues_4.html b/docs/search/enumvalues_4.html new file mode 100644 index 0000000..e2977a0 --- /dev/null +++ b/docs/search/enumvalues_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/enumvalues_4.js b/docs/search/enumvalues_4.js new file mode 100644 index 0000000..15cb7e3 --- /dev/null +++ b/docs/search/enumvalues_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['void_217',['VOID',['../DataType_8h.html#aa082c000e4eff6ed512714ea0a33d27ba6d0c9fc747131795e6e5d0c5119f12cb',1,'DataType.h']]] +]; diff --git a/docs/search/files_0.html b/docs/search/files_0.html new file mode 100644 index 0000000..737608e --- /dev/null +++ b/docs/search/files_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_0.js b/docs/search/files_0.js new file mode 100644 index 0000000..d9e6534 --- /dev/null +++ b/docs/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['datatype_2eh_118',['DataType.h',['../DataType_8h.html',1,'']]] +]; diff --git a/docs/search/files_1.html b/docs/search/files_1.html new file mode 100644 index 0000000..f27a62d --- /dev/null +++ b/docs/search/files_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_1.js b/docs/search/files_1.js new file mode 100644 index 0000000..83e1858 --- /dev/null +++ b/docs/search/files_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['floatvalue_2ecpp_119',['FloatValue.cpp',['../FloatValue_8cpp.html',1,'']]], + ['floatvalue_2eh_120',['FloatValue.h',['../FloatValue_8h.html',1,'']]] +]; diff --git a/docs/search/files_2.html b/docs/search/files_2.html new file mode 100644 index 0000000..a45066e --- /dev/null +++ b/docs/search/files_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_2.js b/docs/search/files_2.js new file mode 100644 index 0000000..f0b5a16 --- /dev/null +++ b/docs/search/files_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hazelnupp_2ecpp_121',['Hazelnupp.cpp',['../Hazelnupp_8cpp.html',1,'']]], + ['hazelnupp_2eh_122',['Hazelnupp.h',['../Hazelnupp_8h.html',1,'']]], + ['hazelnupp_2evcxproj_2efilelistabsolute_2etxt_123',['Hazelnupp.vcxproj.FileListAbsolute.txt',['../Debug_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)'],['../Release_2Hazelnupp_8vcxproj_8FileListAbsolute_8txt.html',1,'(Global Namespace)']]], + ['hazelnuppexception_2eh_124',['HazelnuppException.h',['../HazelnuppException_8h.html',1,'']]] +]; diff --git a/docs/search/files_3.html b/docs/search/files_3.html new file mode 100644 index 0000000..1076bc5 --- /dev/null +++ b/docs/search/files_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_3.js b/docs/search/files_3.js new file mode 100644 index 0000000..772961e --- /dev/null +++ b/docs/search/files_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['index_2emd_125',['index.md',['../index_8md.html',1,'']]], + ['intvalue_2ecpp_126',['IntValue.cpp',['../IntValue_8cpp.html',1,'']]], + ['intvalue_2eh_127',['IntValue.h',['../IntValue_8h.html',1,'']]] +]; diff --git a/docs/search/files_4.html b/docs/search/files_4.html new file mode 100644 index 0000000..e5cd7f4 --- /dev/null +++ b/docs/search/files_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_4.js b/docs/search/files_4.js new file mode 100644 index 0000000..e4b5a51 --- /dev/null +++ b/docs/search/files_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['listvalue_2ecpp_128',['ListValue.cpp',['../ListValue_8cpp.html',1,'']]], + ['listvalue_2eh_129',['ListValue.h',['../ListValue_8h.html',1,'']]] +]; diff --git a/docs/search/files_5.html b/docs/search/files_5.html new file mode 100644 index 0000000..2cc480f --- /dev/null +++ b/docs/search/files_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_5.js b/docs/search/files_5.js new file mode 100644 index 0000000..b7d2305 --- /dev/null +++ b/docs/search/files_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main_2ecpp_130',['main.cpp',['../main_8cpp.html',1,'']]] +]; diff --git a/docs/search/files_6.html b/docs/search/files_6.html new file mode 100644 index 0000000..6510245 --- /dev/null +++ b/docs/search/files_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_6.js b/docs/search/files_6.js new file mode 100644 index 0000000..41abf6a --- /dev/null +++ b/docs/search/files_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['paramconstraint_2eh_131',['ParamConstraint.h',['../ParamConstraint_8h.html',1,'']]], + ['parameter_2ecpp_132',['Parameter.cpp',['../Parameter_8cpp.html',1,'']]], + ['parameter_2eh_133',['Parameter.h',['../Parameter_8h.html',1,'']]] +]; diff --git a/docs/search/files_7.html b/docs/search/files_7.html new file mode 100644 index 0000000..819f7b8 --- /dev/null +++ b/docs/search/files_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_7.js b/docs/search/files_7.js new file mode 100644 index 0000000..e5d95fb --- /dev/null +++ b/docs/search/files_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['stringtools_2ecpp_134',['StringTools.cpp',['../StringTools_8cpp.html',1,'']]], + ['stringtools_2eh_135',['StringTools.h',['../StringTools_8h.html',1,'']]], + ['stringvalue_2ecpp_136',['StringValue.cpp',['../StringValue_8cpp.html',1,'']]], + ['stringvalue_2eh_137',['StringValue.h',['../StringValue_8h.html',1,'']]] +]; diff --git a/docs/search/files_8.html b/docs/search/files_8.html new file mode 100644 index 0000000..fa1a27f --- /dev/null +++ b/docs/search/files_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_8.js b/docs/search/files_8.js new file mode 100644 index 0000000..b8e27a9 --- /dev/null +++ b/docs/search/files_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['value_2ecpp_138',['Value.cpp',['../Value_8cpp.html',1,'']]], + ['value_2eh_139',['Value.h',['../Value_8h.html',1,'']]], + ['voidvalue_2ecpp_140',['VoidValue.cpp',['../VoidValue_8cpp.html',1,'']]], + ['voidvalue_2eh_141',['VoidValue.h',['../VoidValue_8h.html',1,'']]] +]; diff --git a/docs/search/files_9.html b/docs/search/files_9.html new file mode 100644 index 0000000..3af3e47 --- /dev/null +++ b/docs/search/files_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_9.js b/docs/search/files_9.js new file mode 100644 index 0000000..fd06a3e --- /dev/null +++ b/docs/search/files_9.js @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..17f65ad --- /dev/null +++ b/docs/search/files_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_a.js b/docs/search/files_a.js new file mode 100644 index 0000000..51ad956 --- /dev/null +++ b/docs/search/files_a.js @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..aaa7731 --- /dev/null +++ b/docs/search/files_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_b.js b/docs/search/files_b.js new file mode 100644 index 0000000..31af2b3 --- /dev/null +++ b/docs/search/files_b.js @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..79e7963 --- /dev/null +++ b/docs/search/files_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_c.js b/docs/search/files_c.js new file mode 100644 index 0000000..ecd6060 --- /dev/null +++ b/docs/search/files_c.js @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..94b2ff2 --- /dev/null +++ b/docs/search/files_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/files_d.js b/docs/search/files_d.js new file mode 100644 index 0000000..d261589 --- /dev/null +++ b/docs/search/files_d.js @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..e17c711 --- /dev/null +++ b/docs/search/functions_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js new file mode 100644 index 0000000..58b93a6 --- /dev/null +++ b/docs/search/functions_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['addvalue_142',['AddValue',['../classListValue.html#af8787d266aa353d3f96e2c76cce76c41',1,'ListValue']]] +]; diff --git a/docs/search/functions_1.html b/docs/search/functions_1.html new file mode 100644 index 0000000..0ddac0a --- /dev/null +++ b/docs/search/functions_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js new file mode 100644 index 0000000..939fd60 --- /dev/null +++ b/docs/search/functions_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['clearabbreviations_143',['ClearAbbreviations',['../classHazelnupp.html#a5175869b025468324cefad487081e91d',1,'Hazelnupp']]], + ['clearconstraints_144',['ClearConstraints',['../classHazelnupp.html#a3970b74583def49c6632fe08a4499809',1,'Hazelnupp']]], + ['contains_145',['Contains',['../classStringTools.html#aec1abd8b22146c7a9ebeb6a94d6af5ee',1,'StringTools']]] +]; diff --git a/docs/search/functions_10.html b/docs/search/functions_10.html new file mode 100644 index 0000000..09422e1 --- /dev/null +++ b/docs/search/functions_10.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_10.js b/docs/search/functions_10.js new file mode 100644 index 0000000..b2ad77e --- /dev/null +++ b/docs/search/functions_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['what_196',['What',['../classHazelnuppException.html#ac087d5190a9b3f6964120cc35321c3a6',1,'HazelnuppException']]] +]; diff --git a/docs/search/functions_11.html b/docs/search/functions_11.html new file mode 100644 index 0000000..1cde7b4 --- /dev/null +++ b/docs/search/functions_11.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_11.js b/docs/search/functions_11.js new file mode 100644 index 0000000..3625c00 --- /dev/null +++ b/docs/search/functions_11.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['_7efloatvalue_197',['~FloatValue',['../classFloatValue.html#a5c6c7a2c805ac0207d325edd28a5db1c',1,'FloatValue']]], + ['_7ehazelnupp_198',['~Hazelnupp',['../classHazelnupp.html#a25f8810d24d647b6a57e2dd00ead42be',1,'Hazelnupp']]], + ['_7eintvalue_199',['~IntValue',['../classIntValue.html#a45514417be35da78376822a0dd50f488',1,'IntValue']]], + ['_7elistvalue_200',['~ListValue',['../classListValue.html#a91f1450f299d46b3301774a6b4eb6c18',1,'ListValue']]], + ['_7eparameter_201',['~Parameter',['../classParameter.html#a6e2ade42a712f1d3675653329266e42d',1,'Parameter']]], + ['_7estringvalue_202',['~StringValue',['../classStringValue.html#a829a8f064ec6b31b57d1dbebc8cd05d8',1,'StringValue']]], + ['_7evalue_203',['~Value',['../classValue.html#aceb26b90be781020c0c71ae5d16ca06f',1,'Value']]], + ['_7evoidvalue_204',['~VoidValue',['../classVoidValue.html#a8229e255a6fc31da4a4ec7aba97d4111',1,'VoidValue']]] +]; diff --git a/docs/search/functions_2.html b/docs/search/functions_2.html new file mode 100644 index 0000000..2737c5a --- /dev/null +++ b/docs/search/functions_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js new file mode 100644 index 0000000..ab3ef52 --- /dev/null +++ b/docs/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deepcopy_146',['Deepcopy',['../classFloatValue.html#ab071916339a0d5a266d821ebbc8f12b0',1,'FloatValue::Deepcopy()'],['../classIntValue.html#aa599004242b27f8f3e246b88742b034e',1,'IntValue::Deepcopy()'],['../classListValue.html#a51c89ff315026b03d908345c6f58169d',1,'ListValue::Deepcopy()'],['../classStringValue.html#a1952487a786fb53cb0b9aefdb3367268',1,'StringValue::Deepcopy()'],['../classValue.html#a54439631b2c5b933c03baf65836838fc',1,'Value::Deepcopy()'],['../classVoidValue.html#ac36e85add840057659ec24484548165f',1,'VoidValue::Deepcopy()']]] +]; diff --git a/docs/search/functions_3.html b/docs/search/functions_3.html new file mode 100644 index 0000000..6da86e7 --- /dev/null +++ b/docs/search/functions_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js new file mode 100644 index 0000000..ed157d0 --- /dev/null +++ b/docs/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['floatvalue_147',['FloatValue',['../classFloatValue.html#a6bb35564e3331a3feb57b08caad0df44',1,'FloatValue']]] +]; diff --git a/docs/search/functions_4.html b/docs/search/functions_4.html new file mode 100644 index 0000000..911304e --- /dev/null +++ b/docs/search/functions_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js new file mode 100644 index 0000000..ee911d3 --- /dev/null +++ b/docs/search/functions_4.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['getabbreviation_148',['GetAbbreviation',['../classHazelnupp.html#a579e78129f19cb9f17a6075366ababe5',1,'Hazelnupp']]], + ['getasosstring_149',['GetAsOsString',['../classFloatValue.html#a6c9a4b70a7618252f56d9062c483531c',1,'FloatValue::GetAsOsString()'],['../classIntValue.html#a7d7dbda9a051084600d3eabdac96ee45',1,'IntValue::GetAsOsString()'],['../classListValue.html#a5b1f8af329e48c5469fee16634b7889c',1,'ListValue::GetAsOsString()'],['../classStringValue.html#a71869ee46b88a3cbb9571f481f0c216d',1,'StringValue::GetAsOsString()'],['../classValue.html#a37bf4df9917f2d60ebfd0cee0bde3497',1,'Value::GetAsOsString()'],['../classVoidValue.html#a44b1917d9ba41ee91e2131432e01ec90',1,'VoidValue::GetAsOsString()']]], + ['getcrashonfail_150',['GetCrashOnFail',['../classHazelnupp.html#a1b810cc7db2cf64aecaa70c686b14bb7',1,'Hazelnupp']]], + ['getdatatype_151',['GetDataType',['../classValue.html#adbb80bf6d455a316e6e5103353429993',1,'Value']]], + ['getexecutablename_152',['GetExecutableName',['../classHazelnupp.html#af6bb41fb079131f8b91fe981f63f7469',1,'Hazelnupp']]], + ['getfloat32_153',['GetFloat32',['../classFloatValue.html#a1653ab3f4fa1700cf1b618ac6552ea81',1,'FloatValue::GetFloat32()'],['../classIntValue.html#ad0734e4cf67bac0bcc58251a4b3e56c4',1,'IntValue::GetFloat32()'],['../classListValue.html#a637fec02ed7f7325554e494fc7cd4e86',1,'ListValue::GetFloat32()'],['../classStringValue.html#a31fc4d2517a7454c1e9f329df2f14be7',1,'StringValue::GetFloat32()'],['../classValue.html#ac936fa09ba401a748ef67292ad823004',1,'Value::GetFloat32()'],['../classVoidValue.html#a6d39d2983e54e1a407c66e303273aa48',1,'VoidValue::GetFloat32()']]], + ['getfloat64_154',['GetFloat64',['../classFloatValue.html#add33b370ef691ccb2f0957d0fe4ef6f9',1,'FloatValue::GetFloat64()'],['../classIntValue.html#a5ceb2030e8a2a665953fdd4f1715e6a5',1,'IntValue::GetFloat64()'],['../classListValue.html#a571178db1c9d23f6c685ea8898dbb60e',1,'ListValue::GetFloat64()'],['../classStringValue.html#a74bedb828c901a4895062f62303b9653',1,'StringValue::GetFloat64()'],['../classValue.html#ac3d3a5b3ba7bf5aee0f41d19b242b7e8',1,'Value::GetFloat64()'],['../classVoidValue.html#a18b6f0d697c5f9286372a05927e4759c',1,'VoidValue::GetFloat64()']]], + ['getint32_155',['GetInt32',['../classFloatValue.html#a565741e80cd99a4d2af861ddc3c2dc99',1,'FloatValue::GetInt32()'],['../classIntValue.html#a163f21536fa49491aa0ae03c8091344a',1,'IntValue::GetInt32()'],['../classListValue.html#a565c2b86fcfb3a13de29e59d95a358e7',1,'ListValue::GetInt32()'],['../classStringValue.html#ac8b53a7792ff1ed048722e2e404f3e6b',1,'StringValue::GetInt32()'],['../classValue.html#afcbcf8a064895b6b9d2964aecee01f22',1,'Value::GetInt32()'],['../classVoidValue.html#a5b7f50c390ef8f3636ba211a72a78065',1,'VoidValue::GetInt32()']]], + ['getint64_156',['GetInt64',['../classFloatValue.html#a762520d504d4564c48cf3bbefbb0f183',1,'FloatValue::GetInt64()'],['../classIntValue.html#ae0643023dfd56eafe2e3da5a4ba13080',1,'IntValue::GetInt64()'],['../classListValue.html#a9a7a1161ddeb3e56eaafee5f10f75995',1,'ListValue::GetInt64()'],['../classStringValue.html#aabdc7d681945403d24df6a8fe27948af',1,'StringValue::GetInt64()'],['../classValue.html#a77229fe49da12240fbfbc6657101cb27',1,'Value::GetInt64()'],['../classVoidValue.html#a3806945596866f3630dc5426a6b55e58',1,'VoidValue::GetInt64()']]], + ['getlist_157',['GetList',['../classFloatValue.html#a60b2698f28f1aacac0b67b6453c89fd1',1,'FloatValue::GetList()'],['../classIntValue.html#acc74ba6070a516a4bcad10bb113d6fa2',1,'IntValue::GetList()'],['../classListValue.html#ad578d9088c0375cd9b9c6658e5d9ba1f',1,'ListValue::GetList()'],['../classStringValue.html#a2b2810350b5eb7e58062ad095320aa69',1,'StringValue::GetList()'],['../classValue.html#a930ca504a3e52e73f736a7e72f44e5ce',1,'Value::GetList()'],['../classVoidValue.html#aba53ae37d415959b583f33f3e381be16',1,'VoidValue::GetList()']]], + ['getstring_158',['GetString',['../classFloatValue.html#afd5d078683f410cb9d450c61f12f250d',1,'FloatValue::GetString()'],['../classIntValue.html#a3631e3b16f010889e942c0c0f72d403c',1,'IntValue::GetString()'],['../classListValue.html#aeaf80c07236045a77d72349ebcfc3b89',1,'ListValue::GetString()'],['../classStringValue.html#a7ed55493cfd25274f8571c1ea45f93e5',1,'StringValue::GetString()'],['../classValue.html#a1dd7df6be1d7298e5098a48622d0b65f',1,'Value::GetString()'],['../classVoidValue.html#a5af0c47a873b84226df47a90e63b2acd',1,'VoidValue::GetString()']]], + ['getvalue_159',['GetValue',['../classFloatValue.html#a2ad79d8bfe75e45120d1fce132a89b8f',1,'FloatValue::GetValue()'],['../classIntValue.html#a89967cafbdeb21362336067b772808c7',1,'IntValue::GetValue()'],['../classListValue.html#a7907ae7433e4011157f1b31dd5339702',1,'ListValue::GetValue()'],['../classParameter.html#a4ab8ba022bde4a0175e5ceb8e3a598af',1,'Parameter::GetValue()'],['../classStringValue.html#a521a573887a3f31718f74e71ff01e86e',1,'StringValue::GetValue()']]] +]; diff --git a/docs/search/functions_5.html b/docs/search/functions_5.html new file mode 100644 index 0000000..61b920d --- /dev/null +++ b/docs/search/functions_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js new file mode 100644 index 0000000..251355b --- /dev/null +++ b/docs/search/functions_5.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['hasabbreviation_160',['HasAbbreviation',['../classHazelnupp.html#a46df7d396fb56e30351c9a7308792200',1,'Hazelnupp']]], + ['hasparam_161',['HasParam',['../classHazelnupp.html#a8b79a79d40420ae748c108c691111040',1,'Hazelnupp']]], + ['hazelnupp_162',['Hazelnupp',['../classHazelnupp.html#a20ac0ebcfd4df7f320a7bbcaeed6e54d',1,'Hazelnupp::Hazelnupp()'],['../classHazelnupp.html#a6d14c60f03b571f5f794c3549e75e435',1,'Hazelnupp::Hazelnupp(const int argc, const char *const *argv)']]], + ['hazelnuppconstraintexception_163',['HazelnuppConstraintException',['../classHazelnuppConstraintException.html#ad434d9b9d78d36cc4008bad70270f844',1,'HazelnuppConstraintException::HazelnuppConstraintException()'],['../classHazelnuppConstraintException.html#a1bf58e4aa510f3e5cdebdfcbff2a1e53',1,'HazelnuppConstraintException::HazelnuppConstraintException(const std::string &msg)']]], + ['hazelnuppconstraintmissingvalue_164',['HazelnuppConstraintMissingValue',['../classHazelnuppConstraintMissingValue.html#a022da2aca494f6853a7c013e94f5796f',1,'HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue()'],['../classHazelnuppConstraintMissingValue.html#a8d3ea192a75f993abe2845444cdb1bca',1,'HazelnuppConstraintMissingValue::HazelnuppConstraintMissingValue(const std::string &msg)']]], + ['hazelnuppconstrainttypemissmatch_165',['HazelnuppConstraintTypeMissmatch',['../classHazelnuppConstraintTypeMissmatch.html#aa81de4d809dd7b00516716574e959c09',1,'HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch()'],['../classHazelnuppConstraintTypeMissmatch.html#ab8d0f32a3423239e06d8c44631098306',1,'HazelnuppConstraintTypeMissmatch::HazelnuppConstraintTypeMissmatch(const std::string &msg)']]], + ['hazelnuppexception_166',['HazelnuppException',['../classHazelnuppException.html#a90d10b00ec056b721c102a70b629a779',1,'HazelnuppException::HazelnuppException()'],['../classHazelnuppException.html#a864a84c0498870ae0a76fb8c3542fa74',1,'HazelnuppException::HazelnuppException(const std::string &msg)']]], + ['hazelnuppinvalidkeyexception_167',['HazelnuppInvalidKeyException',['../classHazelnuppInvalidKeyException.html#ac0c3a84356647817b5076f92e55874e7',1,'HazelnuppInvalidKeyException::HazelnuppInvalidKeyException()'],['../classHazelnuppInvalidKeyException.html#a5be8550858e8ba5754958055803120bc',1,'HazelnuppInvalidKeyException::HazelnuppInvalidKeyException(const std::string &msg)']]], + ['hazelnuppvaluenotconvertibleexception_168',['HazelnuppValueNotConvertibleException',['../classHazelnuppValueNotConvertibleException.html#a459233c9ed4ca577f596761abb2f46e7',1,'HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException()'],['../classHazelnuppValueNotConvertibleException.html#a77dfcc974a767b77aefdaef86e9ad60c',1,'HazelnuppValueNotConvertibleException::HazelnuppValueNotConvertibleException(const std::string &msg)']]] +]; diff --git a/docs/search/functions_6.html b/docs/search/functions_6.html new file mode 100644 index 0000000..dc70a4a --- /dev/null +++ b/docs/search/functions_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js new file mode 100644 index 0000000..af8f33a --- /dev/null +++ b/docs/search/functions_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['intvalue_169',['IntValue',['../classIntValue.html#ac1174f807ce2c085f5a24baed4e3c1ba',1,'IntValue']]], + ['isnumeric_170',['IsNumeric',['../classStringTools.html#a6cd093feaca2d978c23774cf87d86e68',1,'StringTools']]] +]; diff --git a/docs/search/functions_7.html b/docs/search/functions_7.html new file mode 100644 index 0000000..7de3106 --- /dev/null +++ b/docs/search/functions_7.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js new file mode 100644 index 0000000..f4dc9af --- /dev/null +++ b/docs/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_171',['Key',['../classParameter.html#a7acd68ce06eec06ab286b1a062f9c8d6',1,'Parameter']]] +]; diff --git a/docs/search/functions_8.html b/docs/search/functions_8.html new file mode 100644 index 0000000..7422be2 --- /dev/null +++ b/docs/search/functions_8.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js new file mode 100644 index 0000000..5e5dcc8 --- /dev/null +++ b/docs/search/functions_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['listvalue_172',['ListValue',['../classListValue.html#a6082aaa506b31496720a168da8ab2708',1,'ListValue']]] +]; diff --git a/docs/search/functions_9.html b/docs/search/functions_9.html new file mode 100644 index 0000000..befd4fa --- /dev/null +++ b/docs/search/functions_9.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js new file mode 100644 index 0000000..4a7c66c --- /dev/null +++ b/docs/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main_173',['main',['../main_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main.cpp']]] +]; diff --git a/docs/search/functions_a.html b/docs/search/functions_a.html new file mode 100644 index 0000000..a81e963 --- /dev/null +++ b/docs/search/functions_a.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js new file mode 100644 index 0000000..daf5de5 --- /dev/null +++ b/docs/search/functions_a.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['operator_20double_174',['operator double',['../classFloatValue.html#ae02de376bbb2b76e0f9d16b1fc4de06d',1,'FloatValue']]], + ['operator_20int_175',['operator int',['../classIntValue.html#ab30a38c8f58cefd7cbf365c4aeae79bd',1,'IntValue']]], + ['operator_20long_20double_176',['operator long double',['../classFloatValue.html#ad0d4c589190fbab7e6c4d8fcc130ac1b',1,'FloatValue']]], + ['operator_20long_20long_20int_177',['operator long long int',['../classIntValue.html#a45b283dae9904ad0643035d3ee5883eb',1,'IntValue']]], + ['operator_5b_5d_178',['operator[]',['../classHazelnupp.html#a419ccdc6bad00b0fc3e17ed9b41f5dc5',1,'Hazelnupp']]], + ['string_179',['string',['../classStringValue.html#a23449775f14f828d29b115de040a696b',1,'StringValue']]], + ['vector_3c_20value_20_2a_20_3e_180',['vector< Value * >',['../classListValue.html#a5d92ff2b9a1fa92fbc303ac4d07765d0',1,'ListValue']]] +]; diff --git a/docs/search/functions_b.html b/docs/search/functions_b.html new file mode 100644 index 0000000..345265d --- /dev/null +++ b/docs/search/functions_b.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js new file mode 100644 index 0000000..f566dba --- /dev/null +++ b/docs/search/functions_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['paramconstraint_181',['ParamConstraint',['../structParamConstraint.html#ae0ce64f2f0928d602b6f6117ff34d155',1,'ParamConstraint::ParamConstraint()=default'],['../structParamConstraint.html#a93783114c6f374b77479a283c4aadf05',1,'ParamConstraint::ParamConstraint(const std::string &key, bool constrainType, DATA_TYPE wantedType, const std::vector< std::string > &defaultValue, bool required)']]], + ['parameter_182',['Parameter',['../classParameter.html#a0c9faefc26cc9d8c886ef71e39e2f90c',1,'Parameter']]], + ['parse_183',['Parse',['../classHazelnupp.html#a1ccb88faca1a8deb77161888479c300b',1,'Hazelnupp']]], + ['parsenumber_184',['ParseNumber',['../classStringTools.html#ab661223da5bbbb75039e168409466c82',1,'StringTools']]] +]; diff --git a/docs/search/functions_c.html b/docs/search/functions_c.html new file mode 100644 index 0000000..858bfd6 --- /dev/null +++ b/docs/search/functions_c.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js new file mode 100644 index 0000000..b9c2a82 --- /dev/null +++ b/docs/search/functions_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['registerabbreviation_185',['RegisterAbbreviation',['../classHazelnupp.html#abf1e0ebf0207ca2327fcde81f7372124',1,'Hazelnupp']]], + ['registerconstraints_186',['RegisterConstraints',['../classHazelnupp.html#a8a3331836b9ea1f920e77f6d332019d5',1,'Hazelnupp']]], + ['replace_187',['Replace',['../classStringTools.html#a0ca14c1d67833a61955a693f3e40d8b5',1,'StringTools::Replace(const std::string &str, const char find, const std::string &subst)'],['../classStringTools.html#a1658832ddf1611f83c5848e391d32806',1,'StringTools::Replace(const std::string &str, const std::string &find, const std::string &subst)']]], + ['require_188',['Require',['../structParamConstraint.html#a40e47d3ad68cadbe785551c4aaad828c',1,'ParamConstraint']]] +]; diff --git a/docs/search/functions_d.html b/docs/search/functions_d.html new file mode 100644 index 0000000..2f09f51 --- /dev/null +++ b/docs/search/functions_d.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js new file mode 100644 index 0000000..4ff6924 --- /dev/null +++ b/docs/search/functions_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['setcrashonfail_189',['SetCrashOnFail',['../classHazelnupp.html#a17845623ca686caa51f3c8254e85551e',1,'Hazelnupp']]], + ['splitstring_190',['SplitString',['../classStringTools.html#a7cd6606ef06170fab363024e457f1f16',1,'StringTools::SplitString(const std::string &str, const char delimiter)'],['../classStringTools.html#afe626a56fa486afcb0e4c01d3c1ccb35',1,'StringTools::SplitString(const std::string &str, const std::string &delimiter)']]], + ['stringvalue_191',['StringValue',['../classStringValue.html#a24dad2deec92b51bf60a11400cc8c204',1,'StringValue']]] +]; diff --git a/docs/search/functions_e.html b/docs/search/functions_e.html new file mode 100644 index 0000000..ee5afa6 --- /dev/null +++ b/docs/search/functions_e.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_e.js b/docs/search/functions_e.js new file mode 100644 index 0000000..e32c6df --- /dev/null +++ b/docs/search/functions_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['tolower_192',['ToLower',['../classStringTools.html#a67edf755685f59b51f7416d9e4f6e2bd',1,'StringTools']]], + ['typesafety_193',['TypeSafety',['../structParamConstraint.html#a3ecbccdce5be2529712e0866725c7cd5',1,'ParamConstraint']]] +]; diff --git a/docs/search/functions_f.html b/docs/search/functions_f.html new file mode 100644 index 0000000..f17c412 --- /dev/null +++ b/docs/search/functions_f.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/functions_f.js b/docs/search/functions_f.js new file mode 100644 index 0000000..3aa82da --- /dev/null +++ b/docs/search/functions_f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['value_194',['Value',['../classValue.html#a8455d65bb2d939e850d6772dfbf8bfec',1,'Value']]], + ['voidvalue_195',['VoidValue',['../classVoidValue.html#a75abf334b7f55cd149d2bb1962f2d8f1',1,'VoidValue']]] +]; diff --git a/docs/search/mag_sel.png b/docs/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..39c0ed52a25dd9d080ee0d42ae6c6042bdfa04d7 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^B0wz6!2%?$TA$hhDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~NU84L`?eGCi_EEpJ?t}-xGu`@87+QPtK?83kxQ`TapwHK(CDaqU2h2ejD|C#+j z9%q3^WHAE+w=f7ZGR&GI0Tg5}@$_|Nf5gMiEhFgvHvB$N=!mC_V~EE2vzPXI9ZnEo zd+1zHor@dYLod2Y{ z@R$7$Z!PXTbY$|@#T!bMzm?`b<(R`cbw(gxJHzu zB$lLFB^RXvDF!10LknF)BV7aY5JN*NBMU1-b8Q0yD+2>vd*|CI8glbfGSez?Ylunu RoetE%;OXk;vd$@?2>>CYplSdB literal 0 HcmV?d00001 diff --git a/docs/search/namespaces_0.html b/docs/search/namespaces_0.html new file mode 100644 index 0000000..76996d1 --- /dev/null +++ b/docs/search/namespaces_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/namespaces_0.js b/docs/search/namespaces_0.js new file mode 100644 index 0000000..64e386d --- /dev/null +++ b/docs/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['testhazelnupp_127',['TestHazelnupp',['../namespaceTestHazelnupp.html',1,'']]] +]; diff --git a/docs/search/nomatches.html b/docs/search/nomatches.html new file mode 100644 index 0000000..4377320 --- /dev/null +++ b/docs/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/search/pages_0.html b/docs/search/pages_0.html new file mode 100644 index 0000000..9a6a29a --- /dev/null +++ b/docs/search/pages_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/pages_0.js b/docs/search/pages_0.js new file mode 100644 index 0000000..aab9f33 --- /dev/null +++ b/docs/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hazelnupp_219',['Hazelnupp',['../index.html',1,'']]] +]; diff --git a/docs/search/related_0.html b/docs/search/related_0.html new file mode 100644 index 0000000..bbe15fa --- /dev/null +++ b/docs/search/related_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/related_0.js b/docs/search/related_0.js new file mode 100644 index 0000000..5118e64 --- /dev/null +++ b/docs/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['operator_3c_3c_218',['operator<<',['../classParameter.html#a11b3529badcbf99b46262772472495c7',1,'Parameter::operator<<()'],['../classValue.html#ad29db86c4a2dec5bc8d0006031b07211',1,'Value::operator<<()']]] +]; diff --git a/docs/search/search.css b/docs/search/search.css new file mode 100644 index 0000000..2416cc3 --- /dev/null +++ b/docs/search/search.css @@ -0,0 +1,271 @@ +/*---------------- 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 new file mode 100644 index 0000000..a554ab9 --- /dev/null +++ b/docs/search/search.js @@ -0,0 +1,814 @@ +/* + @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(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/docs/search/search_r.png b/docs/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD literal 0 HcmV?d00001 diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js new file mode 100644 index 0000000..8675105 --- /dev/null +++ b/docs/search/searchdata.js @@ -0,0 +1,39 @@ +var indexSectionsWithContent = +{ + 0: "acdfghiklmoprstvw~", + 1: "fhilpsv", + 2: "dfhilmpsv", + 3: "acdfghiklmoprstvw~", + 4: "cdkmrtw", + 5: "d", + 6: "filsv", + 7: "o", + 8: "h" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "enums", + 6: "enumvalues", + 7: "related", + 8: "pages" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Classes", + 2: "Files", + 3: "Functions", + 4: "Variables", + 5: "Enumerations", + 6: "Enumerator", + 7: "Friends", + 8: "Pages" +}; + diff --git a/docs/search/typedefs_0.html b/docs/search/typedefs_0.html new file mode 100644 index 0000000..376db47 --- /dev/null +++ b/docs/search/typedefs_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/typedefs_0.js b/docs/search/typedefs_0.js new file mode 100644 index 0000000..77729e3 --- /dev/null +++ b/docs/search/typedefs_0.js @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..bf3eba5 --- /dev/null +++ b/docs/search/variables_0.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js new file mode 100644 index 0000000..832526a --- /dev/null +++ b/docs/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['constraintype_205',['constrainType',['../structParamConstraint.html#ab35444d2957439bc52c2056a829145a2',1,'ParamConstraint']]] +]; diff --git a/docs/search/variables_1.html b/docs/search/variables_1.html new file mode 100644 index 0000000..49fe59a --- /dev/null +++ b/docs/search/variables_1.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js new file mode 100644 index 0000000..004718a --- /dev/null +++ b/docs/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['defaultvalue_206',['defaultValue',['../structParamConstraint.html#af2832fa007abaabc05784d5f978aeeff',1,'ParamConstraint']]] +]; diff --git a/docs/search/variables_2.html b/docs/search/variables_2.html new file mode 100644 index 0000000..0c8a18c --- /dev/null +++ b/docs/search/variables_2.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js new file mode 100644 index 0000000..0c425f6 --- /dev/null +++ b/docs/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_207',['key',['../structParamConstraint.html#aa3bd052bbaebdc795f0922731c666648',1,'ParamConstraint']]] +]; diff --git a/docs/search/variables_3.html b/docs/search/variables_3.html new file mode 100644 index 0000000..19a31fc --- /dev/null +++ b/docs/search/variables_3.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js new file mode 100644 index 0000000..b4d8b0c --- /dev/null +++ b/docs/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['message_208',['message',['../classHazelnuppException.html#a4d80f59d2732975461ee480642c4addf',1,'HazelnuppException']]] +]; diff --git a/docs/search/variables_4.html b/docs/search/variables_4.html new file mode 100644 index 0000000..bdc37be --- /dev/null +++ b/docs/search/variables_4.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js new file mode 100644 index 0000000..ffd0305 --- /dev/null +++ b/docs/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['required_209',['required',['../structParamConstraint.html#a5c451d5ade6c548af7de0a978964a09d',1,'ParamConstraint']]] +]; diff --git a/docs/search/variables_5.html b/docs/search/variables_5.html new file mode 100644 index 0000000..6aa2249 --- /dev/null +++ b/docs/search/variables_5.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js new file mode 100644 index 0000000..ad10206 --- /dev/null +++ b/docs/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['type_210',['type',['../classValue.html#a1d097dc84691b48d12435c6bf97c85b4',1,'Value']]] +]; diff --git a/docs/search/variables_6.html b/docs/search/variables_6.html new file mode 100644 index 0000000..ce4a906 --- /dev/null +++ b/docs/search/variables_6.html @@ -0,0 +1,30 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js new file mode 100644 index 0000000..58a7e55 --- /dev/null +++ b/docs/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wantedtype_211',['wantedType',['../structParamConstraint.html#ae8875e054a074241f0c0bf3328a0915a',1,'ParamConstraint']]] +]; diff --git a/docs/splitbar.png b/docs/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..6e046033de6a2beca73592dfdb90027308216bec GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@VhwtajF60HwU z=P$a*5$JbFYK{9MAxX!BN-n9PIgEx&1*SFy^ynWs5qY5G`|RJ9-P-Ab)9=;Re17%x z^>h7sc9q{g{P@`He*C-sp*WGmE+wD97R@dLSHWc(heTXwEaC{pC3tS4UG2|;ANBu! z)wzl1-QQFE`q;&*+SlL7-QE4C-H(6uYx{k&VekF#&HMaHf3DoS&(|j(uHSa(KOPgY d+Wl|ueG4vU>0Lj!rvg3A;OXk;vd$@?2>{wRc~<}c literal 0 HcmV?d00001 diff --git a/docs/structParamConstraint-members.html b/docs/structParamConstraint-members.html new file mode 100644 index 0000000..aa4a911 --- /dev/null +++ b/docs/structParamConstraint-members.html @@ -0,0 +1,97 @@ + + + + + + + +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 new file mode 100644 index 0000000..dc48b5f --- /dev/null +++ b/docs/structParamConstraint.html @@ -0,0 +1,455 @@ + + + + + + + +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 new file mode 100644 index 0000000..1fdea4c --- /dev/null +++ b/docs/structParamConstraint__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/structParamConstraint__coll__graph.md5 b/docs/structParamConstraint__coll__graph.md5 new file mode 100644 index 0000000..691b7a5 --- /dev/null +++ b/docs/structParamConstraint__coll__graph.md5 @@ -0,0 +1 @@ +5b0c26b5610c7f0182528e961c22a058 \ No newline at end of file diff --git a/docs/structParamConstraint__coll__graph.png b/docs/structParamConstraint__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..bb5d73e11177d0a9ae1f91df71d5ef52bf783712 GIT binary patch literal 13567 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 literal 0 HcmV?d00001 diff --git a/docs/sync_off.png b/docs/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..6535f48bc5771af78491556f231aea7a7822adaa GIT binary patch literal 820 zcmV-41Izr0P)J%W)=WM$OUj*OZPnntEeVf)yF1w?Xs+42q1d7J_9jqM(}~h`Oqat|BOw ztv_Hd7NQ_yS!&seSy(ATRJ0$6;G(-~YCX^CoSAcuGos<`JI{ynzH>P5_kExDd7k&y z^ZTC<0SZws91^;PP9Y)qgpa~&;hFGQcmt3RKR_Ph!bPFq>;n$d|Ju#>v%)XJRbd!# zSU!PX;kM8Sum&~>XNAMUkHUTXOD|xzlftj-nB3kfgnPnIg#-=?cUN&6z*@L2oOTPS z`kf7!+-kRkR=dC@Aqn6n5GV%7i_cqdJte{w!J`6o!YROE9{DvlbS+m^qyX{~iNr~# zy7Bn}0B(-xE>xgTD6_vQ3WR8F-bY1w(!0F81dx}d#RbYsYiUpS5Dvuv-1Mu!Ui&|> zNF{CQ1H__L0Ba%~DrI}~ei2h=06FVZft}VU5pR+$@1Z!Tq5ZAt3LEM>X-w`guv$a1 zlbS?}?W}@qYwV(~y3G-~Dp0At)Ye_bM?RnP;36fPNmMpb6;H7#ob#kEM#UZHCP!Ld z(?(0v-YM&_RluXYp!gkNH8MkwjHi7k0B!>Q;Cxn8irtVr(>h4jc2Juz!Z+LI7yje( z=l_j$SOOg_nv-9Q=m`}^ft-Ds9Om7~3u`#00uQ8fJnOXbq~UYFzsMMmj%OJE@DIQW zq9t(&h#sS_(Kb4f;r&NPVSTL*AG8ZhPK`1*H)EVhI26U})#?ne5-a|7m%8fdf3=DO zIUCd+sC)j>XmgZVe^3%_H#4(Sj7|Ivu!6E!jp5R_!+(f~R&4+WyHr3sTI8|?${rPx zbc^zF-kRX|6|wwf$#4&Vizj+nSpr*xS3)Vk2C!fz@N=u!jR-#gY!H`qa`%n)vrui; zbAa#Vrf{v$jdnvA5T*gvi6++t;k+Z#2F@J?9QM+@Hp|UR!@URqH@^vI1kEWRXN7Kz yjBrAeRyZc~3UTuyQNbBa8R4lpso`$`H(vqb3!fjo?fQiP0000&T-}(XT-|w%k#nGIr={5yzleA@7DG3 z=^cPln#3;ABf3OPc*K|(5)Z`R;uSzKUVtK^;*97suK`==y$LN)1n_w_XI@yEA;{zyW zpMHfV*dwX|Ta@_%w57JWBQlt8)&zQ?o7}<%<*1G?vgo|dPQ0En zW2}oULbLs&hn1CJt@u||0jz*Ia{)iLHoFmV5@3a#)6ShI+Mi;Lxt|04tSjPTsT1w8 z=oga!KS&qXY4N+Q+WJrI2W;`oJT`00L&NzJ08aPBF`;V;$VaJDV^|y#o#KGlEu!W@ mq6w#TxrqB_r^a{#IDG?pf}D{v=a?}70000t<`@Eca&NF7KH-a^6KpPl5UHx3vIVCg!0CrC>zW@LL literal 0 HcmV?d00001 diff --git a/docs/tab_b.png b/docs/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..30949f789e1a75cb708fd6dde9a90907fb81e746 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QmLLUjv*C{Z|4T`9Wvl?7OuYK z`@NZEQOOqH>ZE@H;u@Y?n{9sH{G|Bg_wR(qd_|8Xj@fBd>u))5FK6CazY}xT=&}n; zyy{)uy7|f$qo>j#S7H~wnqN@b|NqvZ^|_1(KAx+&_p?H-{^v)j*+OS)Jb@N6c)I$z JtaD0e0s!evK%4*o literal 0 HcmV?d00001 diff --git a/docs/tab_h.png b/docs/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..112c6d435c389e605edaeb06b8763c0a94514b4d GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QYoG;jv*C{Z||PwZ86|+4ZPid z;i1lr4USx#E&d5obNMD{s93mNK7MuMpIHlD|Le?-Vw5@eev#^v;%jP8l(_^GPdnw2#5l)z4*} HQ$iB}NMAfB literal 0 HcmV?d00001 diff --git a/docs/tab_s.png b/docs/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..34878fa24f810af7ffa542476624367fcc414d0e GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QiYx_jv*C{Z|`>VHXHD`26me( z<+A?eFjeI%l$x|bTUepASLBS6d-%4L^A5N3T_cw$t~$|eAAN4wqX|aI=hl3lqm%S& zg+T8+ryA!+7XsE!c+Vgomo-U!j?IHVvTLettPEbfJMqcuI)8&Zhi;r+XZ!Cj<0l>M V$bF}mKLT3L;OXk;vd$@?2>@veLjC{% literal 0 HcmV?d00001 diff --git a/docs/tabs.css b/docs/tabs.css new file mode 100644 index 0000000..7d45d36 --- /dev/null +++ b/docs/tabs.css @@ -0,0 +1 @@ +.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}}