C++ Utils  0.1
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
Classes | Public Types | Public Member Functions
utils::Args Class Reference

#include <args.h>

List of all members.

Classes

struct  additionalOptionInfo
struct  optionInfo
struct  valueConvert

Public Types

enum  Argument { Required = required_argument, No = no_argument, Optional = optional_argument }
enum  Result { Success = 0, Error, Help }

Public Member Functions

 Args (const std::string &description="", bool addHelp=true)
void addOption (const std::string &longOption, char shortOption=0, const std::string &description="", Argument argument=Required, bool required=true)
template<size_t N>
void addEnumOption (const std::string &longOption, const char *(&enumValues)[N], char shortOption=0, const std::string &description="", bool required=true)
void addAdditionalOption (const std::string &name, const std::string &description="", bool required=true)
void setCustomHelpMessage (const std::string &message)
Result parse (int argc, char *const *argv, bool printHelp=true)
bool isSet (const std::string &option) const
bool isSetAdditional (const std::string &option) const
template<typename T >
getArgument (const std::string &option)
template<typename T >
getArgument (const std::string &option, T defaultArgument)
template<typename T >
getAdditionalArgument (const std::string &option)
template<typename T >
getAdditionalArgument (const std::string &option, T defaultArgument)
void helpMessage (const char *prog, std::ostream &out=std::cout)
template<>
bool getArgument (const std::string &option, bool defaultArgument)

Detailed Description

Parses command line arguments

Todo:
comment functions

Member Enumeration Documentation

Enumerator:
Required 
No 
Optional 
Enumerator:
Success 
Error 
Help 

Help message printed


Constructor & Destructor Documentation

utils::Args::Args ( const std::string &  description = "",
bool  addHelp = true 
) [inline]

Member Function Documentation

void utils::Args::addAdditionalOption ( const std::string &  name,
const std::string &  description = "",
bool  required = true 
) [inline]
template<size_t N>
void utils::Args::addEnumOption ( const std::string &  longOption,
const char *(&)  enumValues[N],
char  shortOption = 0,
const std::string &  description = "",
bool  required = true 
) [inline]
Parameters:
enumValuesUse enumStart() and enumEnd() for easy char array conversion
void utils::Args::addOption ( const std::string &  longOption,
char  shortOption = 0,
const std::string &  description = "",
Argument  argument = Required,
bool  required = true 
) [inline]
template<typename T >
T utils::Args::getAdditionalArgument ( const std::string &  option) [inline]
template<typename T >
T utils::Args::getAdditionalArgument ( const std::string &  option,
defaultArgument 
) [inline]
template<typename T >
T utils::Args::getArgument ( const std::string &  option) [inline]
template<typename T >
T utils::Args::getArgument ( const std::string &  option,
defaultArgument 
) [inline]
template<>
bool utils::Args::getArgument ( const std::string &  option,
bool  defaultArgument 
) [inline]
void utils::Args::helpMessage ( const char *  prog,
std::ostream &  out = std::cout 
) [inline]
bool utils::Args::isSet ( const std::string &  option) const [inline]
bool utils::Args::isSetAdditional ( const std::string &  option) const [inline]
Result utils::Args::parse ( int  argc,
char *const *  argv,
bool  printHelp = true 
) [inline]
Returns:
True of options are successfully parsed, false otherwise
void utils::Args::setCustomHelpMessage ( const std::string &  message) [inline]

Set a help message that is added to the parameter explanation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines