38 #ifndef BLOCXX_CMD_LINE_PARSER_HPP_INCLUDE_GUARD_
39 #define BLOCXX_CMD_LINE_PARSER_HPP_INCLUDE_GUARD_
40 #include "blocxx/BLOCXX_config.h"
58 class BLOCXX_COMMON_API CmdLineParser
61 enum EArgumentTypeFlag
73 E_INVALID_NON_OPTION_ARG,
82 EArgumentTypeFlag argtype;
83 const char* defaultValue;
84 const char* description;
87 enum EAllowNonOptionArgsFlag
89 E_NON_OPTION_ARGS_ALLOWED,
90 E_NON_OPTION_ARGS_INVALID
112 String getOptionValue(
int id,
const char* defaultValue =
"")
const;
125 String mustGetOptionValue(
int id,
const char* exceptionMessage =
"")
const;
144 StringArray mustGetOptionValueList(
int id,
const char* exceptionMessage =
"")
const;
149 bool isSet(
int id)
const;
154 size_t getNonOptionCount ()
const;
160 String getNonOptionArg(
size_t n)
const;
185 static String getUsage(
const Option* options,
unsigned int maxColumns = 80);
191 #pragma warning (push)
192 #pragma warning (disable: 4251)
201 #pragma warning (pop)