class CommandLine : public Singleton <CommandLine> {
/* returns first no-leading hyphen position; -1 is error */
- static int removeLeadingHyphens(std::string &argv) throw();
+ static int removeLeadingHyphens(std::string &argv) ;
public:
/**
@return la lista de cadenas indicadas en la linea de comandos al ejecutar este programa.
Mientras que no invoquemos al metodo #initialize devolvera NULL.
*/
- const char** getArgv() const throw() { return a_argv; }
+ const char** getArgv() const { return a_argv; }
/**
@return El numero de parametros indicados en la linea de comandos al ejecutar este programa.
*/
- int getArgc() const throw() { return a_argc; }
+ int getArgc() const { return a_argc; }
//
// Metodos
These positional arguments are mandatory, and the user could retrieve their values through #getPositional. By default no
positional arguments are specified.
*/
- void initialize(const char** argv, const int argc, int positionalArguments = 0) throw(RuntimeException);
+ void initialize(const char** argv, const int argc, int positionalArguments = 0) noexcept(false);
/**
Register an argument name in our application
@param comment Argument explanation.
@param needValue If our argument has an additional associated value, this will be true. False in other case (flags).
*/
- void add(const char* argumentExpression, Argument::Type type, const char* comment, const bool needValue = true) throw();
+ void add(const char* argumentExpression, Argument::Type type, const char* comment, const bool needValue = true) ;
/**
Gets a positional argument. There must be registered or NULL will be returned.
@return Value of mandatory positional argument with position provided
*/
- const char *getPositional(int position) const throw() {
+ const char *getPositional(int position) const {
const char *result = NULL;
if ((position > 0) && (position <= a_positionalArguments)) result = a_argv[position];
return result;
@return Valor asociadoal argumento recibido como parametro. Puede ser NULL.
*/
- const char* getValue(const char* argumentExpression, const bool exitOnFault = true) throw();
+ const char* getValue(const char* argumentExpression, const bool exitOnFault = true) ;
/**
Obtiene el valor asociado al argumento recibido, pero convirtiendo a
@return Valor numerico del valor devuelto por #getValue.
*/
- int getIntegerValue(const char* argumentExpression) throw() { return atoi(getValue(argumentExpression)); }
+ int getIntegerValue(const char* argumentExpression) { return atoi(getValue(argumentExpression)); }
/**
Comprueba si el argumento recibido como parametro estña presente en la linea de
@return true si el argumento esta en la linea de comandos y false en otro caso.
*/
- bool exists(const char* argumentExpression) throw() { return (getValue(argumentExpression, false) != NULL) ? true : false; }
+ bool exists(const char* argumentExpression) { return (getValue(argumentExpression, false) != NULL) ? true : false; }
/**
Comprueba la linea de comandos del programa para verificar que coincide con los argumentos
Si hay algun fallo en la linea de comandos establecida al ejecutar el programa visualiza un
resumen con los parametros soportados y la ejecucion del programa finaliza.
*/
- void verify() throw(RuntimeException);
+ void verify() noexcept(false);
/**
Class string representation
\return String with relevant information for this instance.
*/
- std::string asString() const throw();
+ std::string asString() const ;
/**
Class xml representation
\param parent Parent XML node on which hold this instance information.
\return XML document with relevant information for this instance.
*/
- xml::Node* asXML(xml::Node* parent) const throw();
+ xml::Node* asXML(xml::Node* parent) const ;
private:
virtual ~Variable() { if(a_value) free(a_value); }
// Accesores
- const std::string& getName1() const throw() { return a_name1; }
- const std::string& getName2() const throw() { return a_name2; }
- std::string getHelpExpression() const throw();
- const char* getValue() const throw() { return a_value; }
- const char* getComment() const throw() { return a_comment; }
- bool getNeedValue() const throw() { return a_needValue; }
- bool getIsOn() const throw() { return a_isOn; }
- Argument::Type getType() const throw() { return a_type; }
+ const std::string& getName1() const { return a_name1; }
+ const std::string& getName2() const { return a_name2; }
+ std::string getHelpExpression() const ;
+ const char* getValue() const { return a_value; }
+ const char* getComment() const { return a_comment; }
+ bool getNeedValue() const { return a_needValue; }
+ bool getIsOn() const { return a_isOn; }
+ Argument::Type getType() const { return a_type; }
// Modificadores
- void setValue(const char* value) throw() { a_value = (value == NULL) ? NULL : strdup(value); }
- void setIsOn(const bool isOn) throw() { a_isOn = isOn; }
+ void setValue(const char* value) { a_value = (value == NULL) ? NULL : strdup(value); }
+ void setIsOn(const bool isOn) { a_isOn = isOn; }
// Metodos
- std::string asString() const throw();
+ std::string asString() const ;
protected:
std::string a_name1, a_name2;
CommandLine() : a_argv(NULL), a_argc(0), a_positionalArguments(0) {;}
- bool analize() throw();
- const Variable* search(const char *argumentExpression) const throw();
- void printUsage() const throw();
+ bool analize() ;
+ const Variable* search(const char *argumentExpression) const ;
+ void printUsage() const ;
friend class Singleton <CommandLine>;
};