8 #ifndef argumentParser_H_
9 #define argumentParser_H_
17 #include <vlutil/vlConfig.h>
49 void processArguments(
const DtArguments& arguments);
54 std::string getArgument()
const;
58 unsigned numArgumentsLeft()
const;
64 void readString(std::string& stringRead);
69 void peekString(std::string& stringRead)
const;
73 void readFilename(DtFilename& filenameRead);
77 void readDouble(
double& doubleRead);
81 void readVector(
DtVector& vectorRead);
85 void readInt(
int& intRead);
89 void readUnsigned(
unsigned& unsignedRead);
94 void readBool(
bool& boolRead);
103 bool validFilename(
const std::string& argument)
const;
106 bool validInt(
const std::string& argument)
const;
109 bool validUnsigned(
const std::string& argument)
const;
112 bool validDouble(
const std::string& argument)
const;
120 void unknownArgument()
const;
123 void argumentError(
const char* message)
const;
127 std::string convertToLower(
const std::string& inputString)
const;
132 virtual void bounce();
138 virtual void process(
const std::string& argument);
142 virtual void processSwitch(
const std::string& argument);
147 virtual void processNonSwitch(
const std::string& argument);
156 virtual void parseA();
157 virtual void parseB();
158 virtual void parseC();
159 virtual void parseD();
160 virtual void parseE();
161 virtual void parseF();
162 virtual void parseG();
163 virtual void parseH();
164 virtual void parseI();
165 virtual void parseJ();
166 virtual void parseK();
167 virtual void parseL();
168 virtual void parseM();
169 virtual void parseN();
170 virtual void parseO();
171 virtual void parseP();
172 virtual void parseQ();
173 virtual void parseR();
174 virtual void parseS();
175 virtual void parseT();
176 virtual void parseU();
177 virtual void parseV();
178 virtual void parseW();
179 virtual void parseX();
180 virtual void parseY();
181 virtual void parseZ();
182 virtual void parseDoubleDash();
192 bool isSwitch(
const std::string& argument)
const;
195 void errorInRead(
const std::string& value,
const std::string& expectedType)
const;
203 void validateExistence(
unsigned numExpectedArguments,
204 const std::string& expectedArgumentsDescription)
const;
222 const char* errorMessage,
const DtException *previousException)
throw() :
235 bool DtConvert(
const std::string& input, T& destination)
237 std::istringstream convert(input);
238 convert >> destination;
240 return !convert.fail();