@@ -37,15 +37,18 @@ class ArgumentParser {
3737 public:
3838 class ArgumentNotFound : public std ::runtime_error {
3939 public:
40- ArgumentNotFound (ArgumentParser::Argument &arg,
40+ ArgumentNotFound (
41+ ArgumentParser::Argument &arg,
4142 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()) {}
4548 };
4649
4750 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[])
4952 : ArgumentParser(desc) {
5053 parse (argc, argv);
5154 }
@@ -75,7 +78,7 @@ class ArgumentParser {
7578 }
7679 }
7780
78- void parse (int argc, char *argv[]) {
81+ void parse (int argc, const char *argv[]) {
7982 _bin = argv[0 ];
8083 if (argc > 1 ) {
8184 std::string name;
@@ -178,18 +181,19 @@ class ArgumentParser {
178181 _help = true ;
179182 print_help ();
180183 }
181- _ltrim (name, [](int c) { return c != ( int ) ' -' ; });
184+ _ltrim (name, [](int c) { return c != static_cast < int >( ' -' ) ; });
182185 name = _delimit (name);
183186 if (_pairs.find (name) != _pairs.end ()) name = _pairs[name];
184187 _variables[name] = arg_parts;
185188 }
186189 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);
188192 }
189193 static std::string _strip (const std::string &name) {
190194 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 ;
193197 return name.substr (begin);
194198 }
195199 static std::string _upper (const std::string &in) {
@@ -250,11 +254,11 @@ class ArgumentParser {
250254 }
251255
252256 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{} ;
258262};
259263template <>
260264inline std::string ArgumentParser::get<std::string>(const std::string &name) {
0 commit comments