The set of template instantiations that convert C-strings to other types for the option_result::as(), option_results::as(), parser_results::as(), and parser_results::all_as() methods are placed in this namespace.
More...
|
template<typename T > |
T | arg (const char *arg) |
| Explicit instantiations of this function are used to convert arguments to types. More...
|
|
template<typename T > |
bool | parse_next_component (const char *&s, T &out_arg, const char delim=',') |
| A utility function for parsing an argument as a delimited list. To use, initialize a const char* pointer to the start of argument string. Then call parse_next_component(), providing that pointer, a mutable reference to where the parsed argument will go, and optionally the delimiting character. The argument string will be read up to the next delimiting character and then converted using argagg::convert::arg<decltype(out_arg)>() . The pointer is then incremented accordingly. If the delimiting character is no longer found then false is returned meaning that parsing the list can be considered finished. More...
|
|
template<typename T > |
T | long_ (const char *arg) |
| Templated function for conversion to T using the std::strtol() function. This is used for anything long length or shorter (long, int, short, char). More...
|
|
template<typename T > |
T | long_long_ (const char *arg) |
| Templated function for conversion to T using the std::strtoll() function. This is used for anything long long length or shorter (long long). More...
|
|
template<> |
bool | arg (const char *arg) |
|
template<> |
float | arg (const char *arg) |
|
template<> |
double | arg (const char *arg) |
|
template<> |
const char * | arg (const char *arg) |
|
template<> |
std::string | arg (const char *arg) |
|
The set of template instantiations that convert C-strings to other types for the option_result::as(), option_results::as(), parser_results::as(), and parser_results::all_as() methods are placed in this namespace.
◆ arg() [1/6]
template<typename T >
T argagg::convert::arg |
( |
const char * |
arg | ) |
|
Explicit instantiations of this function are used to convert arguments to types.
Definition at line 1488 of file argagg.hpp.
◆ arg() [2/6]
template<>
bool argagg::convert::arg |
( |
const char * |
arg | ) |
|
|
inline |
◆ arg() [3/6]
template<>
float argagg::convert::arg |
( |
const char * |
arg | ) |
|
|
inline |
◆ arg() [4/6]
template<>
double argagg::convert::arg |
( |
const char * |
arg | ) |
|
|
inline |
◆ arg() [5/6]
template<>
const char* argagg::convert::arg |
( |
const char * |
arg | ) |
|
|
inline |
◆ arg() [6/6]
◆ long_()
template<typename T >
T argagg::convert::long_ |
( |
const char * |
arg | ) |
|
|
inline |
Templated function for conversion to T using the std::strtol() function. This is used for anything long length or shorter (long, int, short, char).
Definition at line 1413 of file argagg.hpp.
◆ long_long_()
template<typename T >
T argagg::convert::long_long_ |
( |
const char * |
arg | ) |
|
|
inline |
Templated function for conversion to T using the std::strtoll() function. This is used for anything long long length or shorter (long long).
Definition at line 1437 of file argagg.hpp.
◆ parse_next_component()
template<typename T >
bool argagg::convert::parse_next_component |
( |
const char *& |
s, |
|
|
T & |
out_arg, |
|
|
const char |
delim = ',' |
|
) |
| |
A utility function for parsing an argument as a delimited list. To use, initialize a const char* pointer to the start of argument string. Then call parse_next_component(), providing that pointer, a mutable reference to where the parsed argument will go, and optionally the delimiting character. The argument string will be read up to the next delimiting character and then converted using argagg::convert::arg<decltype(out_arg)>()
. The pointer is then incremented accordingly. If the delimiting character is no longer found then false is returned meaning that parsing the list can be considered finished.
struct position3 {
double x;
double y;
double z;
};
namespace convert {
template <>
position3
arg(
const char* s)
{
position3 result {0.0, 0.0, 0.0};
return result;
}
return result;
}
return result;
}
return result;
}
}
}
int main(int argc, char** argv)
{
{ "origin", {"-o", "--origin"},
"origin as position3 specified as a comma separated list of "
"components (e.g. '1,2,3')", 1},
}};
auto my_position = args[
"origin"].
as<position3>();
return 0;
}
Definition at line 1552 of file argagg.hpp.