8 #ifndef argumentParser_H_
9 #define argumentParser_H_
17 #include <vlutil/vlConfig.h>
18 #include <matrix/vlVector.h>
50 void processArguments(
const DtArguments& arguments);
55 std::string getArgument()
const;
59 unsigned numArgumentsLeft()
const;
65 void readString(std::string& stringRead);
70 void peekString(std::string& stringRead)
const;
74 void readFilename(DtFilename& filenameRead);
78 void readDouble(
double& doubleRead);
82 void readVector(DtVector& vectorRead);
86 void readInt(
int& intRead);
90 void readUnsigned(
unsigned& unsignedRead);
95 void readBool(
bool& boolRead);
104 bool validFilename(
const std::string& argument)
const;
107 bool validInt(
const std::string& argument)
const;
110 bool validUnsigned(
const std::string& argument)
const;
113 bool validDouble(
const std::string& argument)
const;
121 void unknownArgument()
const;
124 void argumentError(
const char* message)
const;
128 std::string convertToLower(
const std::string& inputString)
const;
133 virtual void bounce();
139 virtual void process(
const std::string& argument);
143 virtual void processSwitch(
const std::string& argument);
148 virtual void processNonSwitch(
const std::string& argument);
157 virtual void parseA();
158 virtual void parseB();
159 virtual void parseC();
160 virtual void parseD();
161 virtual void parseE();
162 virtual void parseF();
163 virtual void parseG();
164 virtual void parseH();
165 virtual void parseI();
166 virtual void parseJ();
167 virtual void parseK();
168 virtual void parseL();
169 virtual void parseM();
170 virtual void parseN();
171 virtual void parseO();
172 virtual void parseP();
173 virtual void parseQ();
174 virtual void parseR();
175 virtual void parseS();
176 virtual void parseT();
177 virtual void parseU();
178 virtual void parseV();
179 virtual void parseW();
180 virtual void parseX();
181 virtual void parseY();
182 virtual void parseZ();
183 virtual void parseDoubleDash();
193 bool isSwitch(
const std::string& argument)
const;
196 void errorInRead(
const std::string& value,
const std::string& expectedType)
const;
204 void validateExistence(
unsigned numExpectedArguments,
205 const std::string& expectedArgumentsDescription)
const;
223 const char* errorMessage,
const DtException *previousException)
throw() :
236 bool DtConvert(
const std::string& input, T& destination)
238 std::istringstream convert(input);
239 convert >> destination;
241 return !convert.fail();
Definition: argumentException.h:21
const DtArguments * myArguments
Definition: argumentParser.h:209
Definition: arguments.h:27
DtArguments::DtArgumentConstIter myArgumentsIter
Definition: argumentParser.h:207
Definition: argumentParser.h:215
DtArgumentContainer::const_iterator DtArgumentConstIter
Definition: arguments.h:33
std::string myCurrentArgument
Definition: argumentParser.h:208
bool DtConvert(const std::string &input, T &destination)
Definition: argumentParser.h:236
Definition: argumentParser.h:40
DtUnknownArgumentException(const char *errorMessage, const DtException *previousException=0)
Definition: argumentParser.h:222
#define DT_DLL_tdbutil
Definition: tdbUtilDefines.h:23