openscenegraph
osg::ArgumentParser Class Reference

#include <ArgumentParser>

Classes

class  Parameter

Public Types

enum  ErrorSeverity { BENIGN = 0 , CRITICAL = 1 }
typedef std::map< std::string, ErrorSeverityErrorMessageMap

Public Member Functions

 ArgumentParser (int *argc, char **argv)
void setApplicationUsage (ApplicationUsage *usage)
ApplicationUsagegetApplicationUsage ()
const ApplicationUsagegetApplicationUsage () const
int & argc ()
char ** argv ()
char * operator[] (int pos)
const char * operator[] (int pos) const
std::string getApplicationName () const
int find (const std::string &str) const
bool isOption (int pos) const
bool isString (int pos) const
bool isNumber (int pos) const
bool containsOptions () const
void remove (int pos, int num=1)
bool match (int pos, const std::string &str) const
bool read (const std::string &str)
bool read (const std::string &str, Parameter value1)
bool read (const std::string &str, Parameter value1, Parameter value2)
bool read (const std::string &str, Parameter value1, Parameter value2, Parameter value3)
bool read (const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4)
bool read (const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5)
bool read (const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6)
bool read (const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7)
bool read (const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7, Parameter value8)
bool read (int pos, const std::string &str)
bool read (int pos, const std::string &str, Parameter value1)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2, Parameter value3)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7)
bool read (int pos, const std::string &str, Parameter value1, Parameter value2, Parameter value3, Parameter value4, Parameter value5, Parameter value6, Parameter value7, Parameter value8)
bool errors (ErrorSeverity severity=BENIGN) const
void reportError (const std::string &message, ErrorSeverity severity=CRITICAL)
void reportRemainingOptionsAsUnrecognized (ErrorSeverity severity=BENIGN)
ErrorMessageMapgetErrorMessageMap ()
const ErrorMessageMapgetErrorMessageMap () const
void writeErrorMessages (std::ostream &output, ErrorSeverity sevrity=BENIGN)
ApplicationUsage::Type readHelpType ()

Static Public Member Functions

static bool isOption (const char *str)
static bool isString (const char *str)
static bool isNumber (const char *str)
static bool isBool (const char *str)

Protected Attributes

int * _argc
char ** _argv
ErrorMessageMap _errorMessageMap
ref_ptr< ApplicationUsage_usage

Member Typedef Documentation

◆ ErrorMessageMap

typedef std::map<std::string,ErrorSeverity> osg::ArgumentParser::ErrorMessageMap

Member Enumeration Documentation

◆ ErrorSeverity

Enumerator
BENIGN 
CRITICAL 

Constructor & Destructor Documentation

◆ ArgumentParser()

osg::ArgumentParser::ArgumentParser ( int * argc,
char ** argv )

References argc(), and argv().

Member Function Documentation

◆ argc()

int & osg::ArgumentParser::argc ( )
inline

Return the argument count.

References _argc.

Referenced by ArgumentParser().

◆ argv()

char ** osg::ArgumentParser::argv ( )
inline

Return the argument array.

References _argv.

Referenced by ArgumentParser().

◆ containsOptions()

bool osg::ArgumentParser::containsOptions ( ) const

◆ errors()

bool osg::ArgumentParser::errors ( ErrorSeverity severity = BENIGN) const

Return the error flag, true if an error has occurred when reading arguments.

References BENIGN.

◆ find()

int osg::ArgumentParser::find ( const std::string & str) const

Return the position of an occurrence of a string in the argument list. Return -1 if no string is found.

◆ getApplicationName()

std::string osg::ArgumentParser::getApplicationName ( ) const

Return the application name, as specified by argv[0]

◆ getApplicationUsage() [1/2]

ApplicationUsage * osg::ArgumentParser::getApplicationUsage ( )
inline

References _usage.

◆ getApplicationUsage() [2/2]

const ApplicationUsage * osg::ArgumentParser::getApplicationUsage ( ) const
inline

References _usage.

◆ getErrorMessageMap() [1/2]

ErrorMessageMap & osg::ArgumentParser::getErrorMessageMap ( )
inline

Return the error message, if any has occurred.

References _errorMessageMap.

◆ getErrorMessageMap() [2/2]

const ErrorMessageMap & osg::ArgumentParser::getErrorMessageMap ( ) const
inline

Return the error message, if any has occurred.

References _errorMessageMap.

◆ isBool()

bool osg::ArgumentParser::isBool ( const char * str)
static

Return true if specified parameter is a bool.

◆ isNumber() [1/2]

bool osg::ArgumentParser::isNumber ( const char * str)
static

Return true if specified parameter is a number.

◆ isNumber() [2/2]

bool osg::ArgumentParser::isNumber ( int pos) const

Return true if the specified parameter is a number.

◆ isOption() [1/2]

bool osg::ArgumentParser::isOption ( const char * str)
static

Return true if the specified string is an option in the form -option or –option.

◆ isOption() [2/2]

bool osg::ArgumentParser::isOption ( int pos) const

Return true if the specified parameter is an option in the form of -option or –option.

◆ isString() [1/2]

bool osg::ArgumentParser::isString ( const char * str)
static

Return true if string is non-NULL and not an option in the form -option or –option.

◆ isString() [2/2]

bool osg::ArgumentParser::isString ( int pos) const

Return true if the specified parameter is a string not in the form of an option.

◆ match()

bool osg::ArgumentParser::match ( int pos,
const std::string & str ) const

Return true if the specified argument matches the given string.

◆ operator[]() [1/2]

char * osg::ArgumentParser::operator[] ( int pos)
inline

Return the char* argument at the specified position.

References _argv.

◆ operator[]() [2/2]

const char * osg::ArgumentParser::operator[] ( int pos) const
inline

Return the const char* argument at the specified position.

References _argv.

◆ read() [1/18]

bool osg::ArgumentParser::read ( const std::string & str)

Search for an occurrence of a string in the argument list. If found, remove that occurrence and return true. Otherwise, return false.

◆ read() [2/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1 )

◆ read() [3/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2 )

◆ read() [4/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3 )

◆ read() [5/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4 )

◆ read() [6/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5 )

◆ read() [7/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5,
Parameter value6 )

◆ read() [8/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5,
Parameter value6,
Parameter value7 )

◆ read() [9/18]

bool osg::ArgumentParser::read ( const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5,
Parameter value6,
Parameter value7,
Parameter value8 )

◆ read() [10/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str )

If the argument value at the specified position matches the given string, and subsequent parameters are also matched, then set the parameter values, remove the arguments from the list, and return true. Otherwise, return false.

◆ read() [11/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1 )

◆ read() [12/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2 )

◆ read() [13/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3 )

◆ read() [14/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4 )

◆ read() [15/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5 )

◆ read() [16/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5,
Parameter value6 )

◆ read() [17/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5,
Parameter value6,
Parameter value7 )

◆ read() [18/18]

bool osg::ArgumentParser::read ( int pos,
const std::string & str,
Parameter value1,
Parameter value2,
Parameter value3,
Parameter value4,
Parameter value5,
Parameter value6,
Parameter value7,
Parameter value8 )

◆ readHelpType()

ApplicationUsage::Type osg::ArgumentParser::readHelpType ( )

This convenience method handles help requests on the command line. Return the type(s) of help requested. The return value of this function is suitable for passing into getApplicationUsage()->write(). If ApplicationUsage::NO_HELP is returned then no help commandline option was found on the command line.

◆ remove()

void osg::ArgumentParser::remove ( int pos,
int num = 1 )

Remove one or more arguments from the argv argument list, and decrement the argc respectively.

◆ reportError()

void osg::ArgumentParser::reportError ( const std::string & message,
ErrorSeverity severity = CRITICAL )

Report an error message by adding to the ErrorMessageMap.

References CRITICAL.

◆ reportRemainingOptionsAsUnrecognized()

void osg::ArgumentParser::reportRemainingOptionsAsUnrecognized ( ErrorSeverity severity = BENIGN)

For each remaining option, report it as unrecognized.

References BENIGN.

◆ setApplicationUsage()

void osg::ArgumentParser::setApplicationUsage ( ApplicationUsage * usage)
inline

References _usage.

◆ writeErrorMessages()

void osg::ArgumentParser::writeErrorMessages ( std::ostream & output,
ErrorSeverity sevrity = BENIGN )

Write error messages to the given ostream, if at or above the given severity.

References BENIGN.

Member Data Documentation

◆ _argc

int* osg::ArgumentParser::_argc
protected

Referenced by argc().

◆ _argv

char** osg::ArgumentParser::_argv
protected

Referenced by argv(), operator[](), and operator[]().

◆ _errorMessageMap

ErrorMessageMap osg::ArgumentParser::_errorMessageMap
protected

◆ _usage

ref_ptr<ApplicationUsage> osg::ArgumentParser::_usage
protected

The documentation for this class was generated from the following file: