Interpret input starting with 0x as hex numbers in the default parser.
bool and string options remain unaffected.
This commit is contained in:
parent
1be5f10daf
commit
b79f7cae36
@ -404,9 +404,17 @@ namespace cxxopts
|
||||
parse_value(const std::string& text, T& value)
|
||||
{
|
||||
std::istringstream is(text);
|
||||
if (!(is >> value))
|
||||
{
|
||||
throw argument_incorrect_type(text);
|
||||
if (text.substr(0, 2) == "0x"){ //Hex number input
|
||||
is.seekg(2);
|
||||
if (!(is >> std::hex >> value))
|
||||
{
|
||||
throw argument_incorrect_type(text);
|
||||
}
|
||||
} else {
|
||||
if (!(is >> value))
|
||||
{
|
||||
throw argument_incorrect_type(text);
|
||||
}
|
||||
}
|
||||
|
||||
if (is.rdbuf()->in_avail() != 0)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user