Skip to content

Commit f3fc3fa

Browse files
updated with std::string
1 parent 541645f commit f3fc3fa

12 files changed

Lines changed: 79 additions & 82 deletions

File tree

argparser/include/argdouble.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
class DoubleArgument : public Argument{
77
public:
8-
DoubleArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, double defaultval);
8+
DoubleArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, double defaultval);
99
~DoubleArgument() = default;
1010

11-
ArgStatus loadValue(const string& arg, int pos) override;
11+
ArgStatus loadValue(const std::string& arg, int pos) override;
1212
ArgType getType() const override;
1313

1414
double getValue() const;

argparser/include/argflag.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
class FlagArgument : public Argument{
77
public:
8-
FlagArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, bool defaultval);
8+
FlagArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, bool defaultval);
99
~FlagArgument() = default;
1010

11-
ArgStatus loadValue(const string& arg, int pos) override;
11+
ArgStatus loadValue(const std::string& arg, int pos) override;
1212
ArgType getType() const override;
1313

1414
bool getValue() const;

argparser/include/argint.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
class IntArgument : public Argument{
77
public:
88

9-
IntArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, int defaultval);
9+
IntArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, int defaultval);
1010
~IntArgument() = default;
1111

12-
ArgStatus loadValue(const string& arg, int pos) override;
12+
ArgStatus loadValue(const std::string& arg, int pos) override;
1313
ArgType getType() const override;
1414

1515
int getValue() const;

argparser/include/argparser.h

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,49 +7,46 @@
77
#include <typedef.h>
88
#include <argument.h>
99

10-
using namespace std;
11-
12-
1310
class ArgParser {
1411
public:
1512
using Callback = std::function<void()>;
1613

1714
ArgParser();
18-
ArgParser(const string& _name, const string& _description);
15+
ArgParser(const std::string& _name, const std::string& _description);
1916
~ArgParser();
2017

2118
template <typename T>
22-
ArgStatus addArgument(const string& name, const string& shortcmd, const string& longcmd, const string& help, T defaultval);
19+
ArgStatus addArgument(const std::string& name, const std::string& shortcmd, const std::string& longcmd, const std::string& help, T defaultval);
2320

2421
template <typename V>
25-
V get(const string& name);
22+
V get(const std::string& name);
2623

2724
ArgStatus parse(int argc, char* argv[]);
2825
ArgStatus execute();
2926

30-
Argument* find(const string &name);
27+
Argument* find(const std::string &name);
3128

3229
void print(){
3330
for (const auto& argument : args) {
3431
argument.second->print();
3532
}
3633
}
3734

38-
bool argExists(const string &name) const;
35+
bool argExists(const std::string &name) const;
3936
void setHelpCallback(const Callback& callback);
4037
void disableDefaultHelp();
4138

4239
private:
4340

44-
bool precheck(const string& name, const string& shortcmd, const string& longcmd);
41+
bool precheck(const std::string& name, const std::string& shortcmd, const std::string& longcmd);
4542
void postcheck();
4643
void help();
4744

4845
Callback help_callback;
49-
map<string, Argument*> args;
46+
std::map<std::string, Argument*> args; // Use std::map, not just map
5047

51-
string name;
52-
string description;
48+
std::string name;
49+
std::string description;
5350

5451
bool defaultHelp = true;
5552
};

argparser/include/argstring.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
class StringArgument : public Argument{
77
public:
88

9-
StringArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, const string& defaultval);
9+
StringArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, const std::string& defaultval);
1010
~StringArgument() = default;
1111

12-
ArgStatus loadValue(const string& arg, int pos) override;
12+
ArgStatus loadValue(const std::string& arg, int pos) override;
1313
ArgType getType() const override;
14-
15-
string getValue() const;
14+
15+
std::string getValue() const;
1616

1717
private:
18-
string defaultvalue;
19-
string value;
18+
std::string defaultvalue;
19+
std::string value;
2020
};
2121

2222
#endif // !_ARGSTRING_H_

argparser/include/argument.h

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,18 @@
77
#include <functional>
88
#include <typedef.h>
99

10-
using namespace std;
11-
1210

1311
class Argument{
1412
public:
1513
Argument();
16-
Argument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, bool _hasvalue);
14+
Argument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, bool _hasvalue);
1715

1816
virtual ~Argument() = default;
1917
virtual ArgType getType() const = 0;
20-
virtual ArgStatus loadValue (const string& arg, int pos) ;
18+
virtual ArgStatus loadValue (const std::string& arg, int pos) ;
2119

2220
bool status() const;
23-
bool check(const string& arg) const;
21+
bool check(const std::string& arg) const;
2422
void found();
2523
void print() {
2624
printf("cmd: %s\t%s\t%s\targpos: %d\thasvalue: %d\texisting: %d \t Help:%s\n",
@@ -34,18 +32,18 @@ class Argument{
3432
);
3533
}
3634

37-
string getName() const;
38-
string getShortCmd() const;
39-
string getLongCmd() const;
40-
string getHelp() const;
35+
std::string getName() const;
36+
std::string getShortCmd() const;
37+
std::string getLongCmd() const;
38+
std::string getHelp() const;
4139
void setArgPosition(int position);
4240
bool getHasValue() const;
4341

4442
private:
45-
string name;
46-
string help;
47-
string shortcmd;
48-
string longcmd;
43+
std::string name;
44+
std::string help;
45+
std::string shortcmd;
46+
std::string longcmd;
4947
bool existing;
5048
int argpos;
5149
bool hasvalue;

argparser/src/argdouble.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#include <typedef.h>
33
#include <stdexcept>
44

5-
DoubleArgument::DoubleArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, double defaultval)
5+
DoubleArgument::DoubleArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, double defaultval)
66
: Argument(_name, _shortcmd, _longcmd, _help, true),
77
defaultvalue(defaultval), value(defaultval){
88

99
}
1010

11-
ArgStatus DoubleArgument::loadValue(const string& arg, int pos){
11+
ArgStatus DoubleArgument::loadValue(const std::string& arg, int pos){
1212

1313
found();
1414

argparser/src/argflag.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#include <typedef.h>
33

44

5-
FlagArgument::FlagArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, bool defaultval)
5+
FlagArgument::FlagArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, bool defaultval)
66
: Argument(_name, _shortcmd, _longcmd, _help, false),
77
defaultvalue(defaultval), value(defaultval){
88

99
}
1010

11-
ArgStatus FlagArgument::loadValue(const string& arg, int pos){
11+
ArgStatus FlagArgument::loadValue(const std::string& arg, int pos){
1212
UNUSED(arg);
1313

1414
found();

argparser/src/argint.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#include <typedef.h>
33
#include <stdexcept>
44

5-
IntArgument::IntArgument(const string& _name, const string& _shortcmd, const string& _longcmd, const string& _help, int defaultval)
5+
IntArgument::IntArgument(const std::string& _name, const std::string& _shortcmd, const std::string& _longcmd, const std::string& _help, int defaultval)
66
: Argument(_name, _shortcmd, _longcmd, _help, true),
77
defaultvalue(defaultval), value(defaultval){
88

99
}
1010

11-
ArgStatus IntArgument::loadValue(const string& arg, int pos){
11+
ArgStatus IntArgument::loadValue(const std::string& arg, int pos){
1212

1313
found();
1414

argparser/src/argparser.cpp

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
// #define VALIDATE_STRING(x) \
88
// do { \
99
// if (x.empty()) { \
10-
// std::cerr << "Error: Empty string passed to " << #x << std::endl; \
10+
// std::cerr << "Error: Empty std::string passed to " << #x << std::endl; \
1111
// return PARSER_INPUT_VALID_ERROR;\
1212
// } \
1313
// } while (0)
@@ -27,7 +27,7 @@ ArgParser::ArgParser()
2727

2828
}
2929

30-
ArgParser::ArgParser(const string& _name, const string& _description)
30+
ArgParser::ArgParser(const std::string& _name, const std::string& _description)
3131
: name(_name), description(_description){
3232

3333
}
@@ -37,9 +37,9 @@ ArgParser::~ArgParser() {
3737
}
3838

3939
bool ArgParser::precheck(
40-
const string& name,
41-
const string& shortcmd,
42-
const string& longcmd) {
40+
const std::string& name,
41+
const std::string& shortcmd,
42+
const std::string& longcmd) {
4343

4444
if(shortcmd[0] != SHORTCMD_STRING || shortcmd.length() != 2){
4545
return false;
@@ -98,10 +98,10 @@ void ArgParser::setHelpCallback(const Callback& callback){
9898

9999
template <>
100100
ArgStatus ArgParser::addArgument<bool>(
101-
const string& name,
102-
const string& shortcmd,
103-
const string& longcmd,
104-
const string& help,
101+
const std::string& name,
102+
const std::string& shortcmd,
103+
const std::string& longcmd,
104+
const std::string& help,
105105
bool defaultval){
106106
Argument *argument = nullptr;
107107

@@ -123,10 +123,10 @@ ArgStatus ArgParser::addArgument<bool>(
123123

124124
template <>
125125
ArgStatus ArgParser::addArgument<int>(
126-
const string& name,
127-
const string& shortcmd,
128-
const string& longcmd,
129-
const string& help,
126+
const std::string& name,
127+
const std::string& shortcmd,
128+
const std::string& longcmd,
129+
const std::string& help,
130130
int defaultval){
131131
Argument *argument = nullptr;
132132

@@ -148,10 +148,10 @@ ArgStatus ArgParser::addArgument<int>(
148148

149149
template <>
150150
ArgStatus ArgParser::addArgument<double>(
151-
const string& name,
152-
const string& shortcmd,
153-
const string& longcmd,
154-
const string& help,
151+
const std::string& name,
152+
const std::string& shortcmd,
153+
const std::string& longcmd,
154+
const std::string& help,
155155
double defaultval){
156156
Argument *argument = nullptr;
157157

@@ -173,10 +173,10 @@ ArgStatus ArgParser::addArgument<double>(
173173

174174
template <>
175175
ArgStatus ArgParser::addArgument<char const*>(
176-
const string& name,
177-
const string& shortcmd,
178-
const string& longcmd,
179-
const string& help,
176+
const std::string& name,
177+
const std::string& shortcmd,
178+
const std::string& longcmd,
179+
const std::string& help,
180180
const char* defaultval){
181181
Argument *argument = nullptr;
182182

@@ -196,7 +196,7 @@ ArgStatus ArgParser::addArgument<char const*>(
196196
return PARSER_OK;
197197
}
198198

199-
Argument* ArgParser::find(const string &name){
199+
Argument* ArgParser::find(const std::string &name){
200200
for (const auto& argument : args) {
201201
if(argument.second->check(name)){
202202
return argument.second;
@@ -250,16 +250,18 @@ ArgStatus ArgParser::parse(int argc, char* argv[]){
250250
return ret;
251251
}
252252

253-
bool ArgParser::argExists(const string &name) const{
253+
bool ArgParser::argExists(const std::string &name) const{
254254
auto temp =args.find(name);
255255

256256
if(temp != args.end()) {
257257
return temp->second->status();
258258
}
259+
260+
return false;
259261
}
260262

261263
template <>
262-
int ArgParser::get<int>(const string& name) {
264+
int ArgParser::get<int>(const std::string& name) {
263265
auto temp =args.find(name);
264266

265267
if(temp != args.end()) {
@@ -275,7 +277,7 @@ int ArgParser::get<int>(const string& name) {
275277
}
276278

277279
template <>
278-
bool ArgParser::get<bool>(const string& name) {
280+
bool ArgParser::get<bool>(const std::string& name) {
279281
auto temp =args.find(name);
280282

281283
if(temp != args.end()) {
@@ -291,7 +293,7 @@ bool ArgParser::get<bool>(const string& name) {
291293
}
292294

293295
template <>
294-
double ArgParser::get<double>(const string& name) {
296+
double ArgParser::get<double>(const std::string& name) {
295297
auto temp =args.find(name);
296298

297299
if(temp != args.end()) {
@@ -307,12 +309,12 @@ double ArgParser::get<double>(const string& name) {
307309
}
308310

309311
template <>
310-
string ArgParser::get<string>(const string& name) {
312+
std::string ArgParser::get<std::string>(const std::string& name) {
311313
auto temp =args.find(name);
312314

313315
if(temp != args.end()) {
314316
if(temp->second->getType() != ARG_STRING_TYPE){
315-
fprintf(stderr, "Error: no string argument for %s\n", name.c_str());
317+
fprintf(stderr, "Error: no std::string argument for %s\n", name.c_str());
316318
}
317319
else{
318320
return dynamic_cast<StringArgument*>(temp->second)->getValue();
@@ -325,4 +327,4 @@ string ArgParser::get<string>(const string& name) {
325327
// template class ArgParser::get<int>;
326328
// template class ArgParser::get<bool>;
327329
// template class ArgParser::get<double>;
328-
// template class ArgParser::get<string>;
330+
// template class ArgParser::get<std::string>;

0 commit comments

Comments
 (0)