From testing I can get qi::uint_parser<int>()
is the same as qi::uint_
. They parse integers from 0
to UINT_MAX
.
What I don't understand is that qi::uint_parser
requires std::numeric_limits<T>::max()
to be valid for the numeric base type T
. I'm not sure if I should assume qi::uint_parser<int>()
should parse integers from 0
to std::numeric_limits<int>::max()
not std::numeric_limits<unsigned int>::max()
. Or is this requirement has nothing to do with the parser's range?
The problem is solved now on boost 1.68.0. qi::uint_parser<int>()
parses integers from 0
to std::numeric_limits<int>::max()
. spirit x3 is also fixed.