48enum class ParseStatus : uint8_t {
57ParseStatusToString(ParseStatus status);
73 std::string Description;
78NewFlag(
FlagType fType, std::string fName, std::string fDescription);
83 Flags(std::string fName);
84 Flags(std::string fName, std::string fDescription);
86 bool Register(std::string fName,
88 std::string fDescription);
89 bool Register(std::string fName,
91 std::string fDescription);
92 bool Register(std::string fName,
94 std::string fDescription);
95 bool Register(std::string fName,
96 unsigned int defaultValue,
97 std::string fDescription);
98 bool Register(std::string fName,
100 std::string fDescription);
101 bool Register(std::string fName,
102 std::string defaultValue,
103 std::string fDescription);
105 Flag *Lookup(std::string fName);
106 bool ValueOf(std::string fName,
FlagValue &value);
108 ParseStatus Parse(
int argc,
char **argv);
110 void Usage(std::ostream &os,
int exitCode);
113 std::vector<std::string> Args();
114 std::string Arg(
int index);
116 bool GetBool(std::string fName,
bool &flagValue);
117 bool GetUnsignedInteger(std::string fName,
unsigned int &flagValue);
118 bool GetInteger(std::string fName,
int &flagValue);
119 bool GetString(std::string fName, std::string &flagValue);
120 bool GetSizeT(std::string fName, std::size_t &flagValue);
124 ParseStatus parseArg(
int argc,
char **argv,
int &index);
128 std::string description;
129 std::vector<std::string> args;
130 std::map<std::string, Flag *> flags;
scsl is the top-level namespace containing all the code in this library.
Definition: scsl.h:37
FlagType
FlagType indicates the value held in a FlagValue.
Definition: Flag.h:38
@ UnsignedInteger
uint32_t