You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems the bool parser is not working with wchar_t although being included in the x3::standard_wide namespace.
Minimal Example:
#include<string>
#include<boost/spirit/home/x3.hpp>intmain()
{
namespacex3= boost::spirit::x3;
std::wstring test = L"true";
bool res = 0;
x3::phrase_parse(test.begin(), test.end(), x3::standard_wide::bool_, x3::standard_wide::space, res);
return0;
}
Compiled With: g++ -I -lboost main.cpp
On Manjaro Linux 21.2 and boost 1.76
Error (condensed):
/usr/include/boost/spirit/home/x3/string/detail/string_parse.hpp:24:38: error: no match for call to ‘(const boost::spirit::x3::case_compare<boost::spirit::char_encoding::standard_wide>) (char&, wchar_t&)’
24 | if (i == last || (compare(ch, *i) != 0))
| ~~~~~~~^~~~~~~~
The text was updated successfully, but these errors were encountered:
There was a PR targeting the issue in case_compare#655 but it has an issue.
Maybe a better way to resolve this is to convert the char string in the default bool policy via case_compare encoding somehow
It seems the bool parser is not working with wchar_t although being included in the x3::standard_wide namespace.
Minimal Example:
Compiled With:
g++ -I -lboost main.cpp
On Manjaro Linux 21.2 and boost 1.76
Error (condensed):
The text was updated successfully, but these errors were encountered: