@@ -37,15 +37,18 @@ class ArgumentParser {
37
37
public:
38
38
class ArgumentNotFound : public std ::runtime_error {
39
39
public:
40
- ArgumentNotFound (ArgumentParser::Argument &arg,
40
+ ArgumentNotFound (
41
+ ArgumentParser::Argument &arg,
41
42
std::unordered_map<std::string, std::string> pairs) noexcept
42
- : std::runtime_error(
43
- (" Required argument not found: " + arg._name + ((pairs.find(arg._name) == pairs.end())
44
- ? " " : " or " + pairs.find(arg._name)->second)).c_str()) {}
43
+ : std::runtime_error((" Required argument not found: " + arg._name +
44
+ ((pairs.find(arg._name) == pairs.end())
45
+ ? " "
46
+ : " or " + pairs.find(arg._name)->second))
47
+ .c_str()) {}
45
48
};
46
49
47
50
ArgumentParser (const std::string &desc) : _desc(desc), _help(false ) {}
48
- ArgumentParser (const std::string desc, int argc, char *argv[])
51
+ ArgumentParser (const std::string desc, int argc, const char *argv[])
49
52
: ArgumentParser(desc) {
50
53
parse (argc, argv);
51
54
}
@@ -75,7 +78,7 @@ class ArgumentParser {
75
78
}
76
79
}
77
80
78
- void parse (int argc, char *argv[]) {
81
+ void parse (int argc, const char *argv[]) {
79
82
_bin = argv[0 ];
80
83
if (argc > 1 ) {
81
84
std::string name;
@@ -178,18 +181,19 @@ class ArgumentParser {
178
181
_help = true ;
179
182
print_help ();
180
183
}
181
- _ltrim (name, [](int c) { return c != ( int ) ' -' ; });
184
+ _ltrim (name, [](int c) { return c != static_cast < int >( ' -' ) ; });
182
185
name = _delimit (name);
183
186
if (_pairs.find (name) != _pairs.end ()) name = _pairs[name];
184
187
_variables[name] = arg_parts;
185
188
}
186
189
static std::string _delimit (const std::string &name) {
187
- return std::string (std::min (name.size (), (size_t )2 ), ' -' ).append (name);
190
+ return std::string (std::min (name.size (), static_cast <size_t >(2 )), ' -' )
191
+ .append (name);
188
192
}
189
193
static std::string _strip (const std::string &name) {
190
194
size_t begin = 0 ;
191
- begin += name.size () > 0 ? name[0 ] == ' -' : 0 ;
192
- begin += name.size () > 3 ? name[1 ] == ' -' : 0 ;
195
+ begin += name.size () > 0 ? name[0 ] == ' -' : 0u ;
196
+ begin += name.size () > 3 ? name[1 ] == ' -' : 0u ;
193
197
return name.substr (begin);
194
198
}
195
199
static std::string _upper (const std::string &in) {
@@ -250,11 +254,11 @@ class ArgumentParser {
250
254
}
251
255
252
256
std::string _desc;
253
- std::string _bin;
254
- bool _help;
255
- std::vector<Argument> _arguments;
256
- std::unordered_map<std::string, std::vector<std::string>> _variables;
257
- std::unordered_map<std::string, std::string> _pairs;
257
+ std::string _bin{} ;
258
+ bool _help{ false } ;
259
+ std::vector<Argument> _arguments{} ;
260
+ std::unordered_map<std::string, std::vector<std::string>> _variables{} ;
261
+ std::unordered_map<std::string, std::string> _pairs{} ;
258
262
};
259
263
template <>
260
264
inline std::string ArgumentParser::get<std::string>(const std::string &name) {
0 commit comments