2 sarge.h - Header file for the Sarge command line argument parser project.
21 Argument() : hasValue(false), parsed(false) { /* */ }
22 std::string arg_short;
24 std::string description;
33 std::vector<std::unique_ptr<Argument> > args;
34 std::map<std::string, Argument*> argNames;
38 std::string description;
40 std::vector<std::string> textArguments;
43 void setArgument(std::string arg_short, std::string arg_long, std::string desc, bool hasVal);
44 void setArguments(std::vector<Argument> args);
45 void setDescription(std::string desc) { this->description = desc; }
46 void setUsage(std::string use) { this->usage = use; }
47 bool parseArguments(int argc, char** argv);
48 bool getFlag(std::string arg_flag, std::string &arg_value);
49 bool exists(std::string arg_flag);
50 bool getTextArgument(uint32_t index, std::string &value);
52 int flagCount() { return flagCounter; }
53 std::string executableName() { return execName; }