## class SG_EXPORT osg::ArgumentParser

### Public Methods

ArgumentParser(int* argc, char** argv)
void setApplicationUsage(ApplicationUsage* usage)
ApplicationUsage* getApplicationUsage()
const ApplicationUsage* getApplicationUsage() const
int& argc()
  return the argument count
char** argv()
  return the argument array
char* operator [] (int pos)
  return char* argument at specificed position
const char* operator [] (int pos) const
  return const char* argument at specificed position
std::string getApplicationName() const
  return the application name, as specified by argv[0]
int find(const std::string& str) const
  return the position of an occurance of a string in the argument list.
bool match(int pos, const std::string& str) const
  return true if specified argument matches string
bool isOption(int pos) const
  return return true if specified parameter is an option in the form of -option or --option
bool isString(int pos) const
  return return true if specified parameter is an string, which can be any other string apart from an option
bool isNumber(int pos) const
  return return true if specified parameter is an number
bool containsOptions() const
void remove(int pos, int num=1)
  remove one or more arguments from the argv argument list, and decrement the argc respectively
bool read(const std::string& str)
  search for an occurance of a string in the argument list, on sucess remove that occurance from the list and return true, otherwise return false
bool read(const std::string& str, std::string& value1)
  search for an occurance of a string in the argument list followed by a string, on sucess set the value string with the second parameters and then remove the two entries from the list and return true, otherwise return false
bool read(const std::string& str, std::string& value1, std::string& value2)
  search for an occurance of a string in the argument list followed by a two strings, on sucess set the value strings with the second & third parameters and then remove the three entries from the list and return true, otherwise return false
bool read(const std::string& str, std::string& value1, std::string& value2, std::string& value3)
  search for an occurance of a string in the argument list followed by a three strings, on sucess set the value strings with the second & third & fourth parameters and then remove the four entries from the list and return true, otherwise return false
bool read(const std::string& str, float& value)
  search for an occurance of a string in the argument list followed by a numeric value, on sucess set the values with the second parameter and then remove the two entries from the list and return true, otherwise return false
bool read(const std::string& str, float& value1, float& value2)
  search for an occurance of a string in the argument list followed by two numeric values, on sucess set the values with the second & third parameters and then remove the three entries from the list and return true, otherwise return false
bool read(const std::string& str, float& value1, float& value2, float& value3)
  search for an occurance of a string in the argument list followed by three numeric values, on sucess set the values with the second & third & fourth parameters and then remove the four entries from the list and return true, otherwise return false
bool errors(ErrorSeverity severity=BENIGN) const
  return the error flag, true if an error has occured when reading arguments
void reportError(const std::string& message, ErrorSeverity severity=CRITICAL)
  report an error message by adding to the ErrorMessageMap
void reportRemainingOptionsAsUnrecognized(ErrorSeverity severity=BENIGN)
  for each remaining option report it as an unrecongnized
ErrorMessageMap& getErrorMessageMap()
  return the error message, if any has occured
const ErrorMessageMap& getErrorMessageMap() const
  return the error message, if any has occured
void writeErrorMessages(std::ostream& output, ErrorSeverity sevrity=BENIGN)
  write out error messages at an above specified

### Public Members

enum ErrorSeverity
typedef std::map<std::string,ErrorSeverity> ErrorMessageMap

### Protected Fields

int* _argc
char** _argv
ErrorMessageMap _errorMessageMap
ApplicationUsage* _usage

## Documentation

`ArgumentParser(int* argc, char** argv)`

`void setApplicationUsage(ApplicationUsage* usage)`

`ApplicationUsage* getApplicationUsage()`

`const ApplicationUsage* getApplicationUsage() const`

`int& argc()`
  return the argument count

`char** argv()`
  return the argument array

`char* operator [] (int pos)`
  return char* argument at specificed position

`const char* operator [] (int pos) const`
  return const char* argument at specificed position

`std::string getApplicationName() const`
  return the application name, as specified by argv[0]

`int find(const std::string& str) const`
  return the position of an occurance of a string in the argument list. return -1 when no string is found.

`bool match(int pos, const std::string& str) const`
  return true if specified argument matches string

`bool isOption(int pos) const`
  return return true if specified parameter is an option in the form of -option or --option

`bool isString(int pos) const`
  return return true if specified parameter is an string, which can be any other string apart from an option

`bool isNumber(int pos) const`
  return return true if specified parameter is an number

`bool containsOptions() const`

`void remove(int pos, int num=1)`
  remove one or more arguments from the argv argument list, and decrement the argc respectively

`bool read(const std::string& str)`
  search for an occurance of a string in the argument list, on sucess remove that occurance from the list and return true, otherwise return false

`bool read(const std::string& str, std::string& value1)`
  search for an occurance of a string in the argument list followed by a string, on sucess set the value string with the second parameters and then remove the two entries from the list and return true, otherwise return false

`bool read(const std::string& str, std::string& value1, std::string& value2)`
  search for an occurance of a string in the argument list followed by a two strings, on sucess set the value strings with the second & third parameters and then remove the three entries from the list and return true, otherwise return false

`bool read(const std::string& str, std::string& value1, std::string& value2, std::string& value3)`
  search for an occurance of a string in the argument list followed by a three strings, on sucess set the value strings with the second & third & fourth parameters and then remove the four entries from the list and return true, otherwise return false

`bool read(const std::string& str, float& value)`
  search for an occurance of a string in the argument list followed by a numeric value, on sucess set the values with the second parameter and then remove the two entries from the list and return true, otherwise return false

`bool read(const std::string& str, float& value1, float& value2)`
  search for an occurance of a string in the argument list followed by two numeric values, on sucess set the values with the second & third parameters and then remove the three entries from the list and return true, otherwise return false

`bool read(const std::string& str, float& value1, float& value2, float& value3)`
  search for an occurance of a string in the argument list followed by three numeric values, on sucess set the values with the second & third & fourth parameters and then remove the four entries from the list and return true, otherwise return false

`enum ErrorSeverity`

`BENIGN`

`CRITICAL`

`typedef std::map<std::string,ErrorSeverity> ErrorMessageMap`

`bool errors(ErrorSeverity severity=BENIGN) const`
  return the error flag, true if an error has occured when reading arguments

`void reportError(const std::string& message, ErrorSeverity severity=CRITICAL)`
  report an error message by adding to the ErrorMessageMap

`void reportRemainingOptionsAsUnrecognized(ErrorSeverity severity=BENIGN)`
  for each remaining option report it as an unrecongnized

`ErrorMessageMap& getErrorMessageMap()`
  return the error message, if any has occured

`const ErrorMessageMap& getErrorMessageMap() const`
  return the error message, if any has occured

`void writeErrorMessages(std::ostream& output, ErrorSeverity sevrity=BENIGN)`
  write out error messages at an above specified

`int* _argc`

`char** _argv`

`ErrorMessageMap _errorMessageMap`

`ApplicationUsage* _usage`

This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.