Han
Han
This is still a problem in 1.79.0. `\boost_1_79_0\boost\geometry\strategy\cartesian\side_by_triangle.hpp(102,37): warning C4244: 'initializing': conversion from 'CoordinateType' to 'PromotedType', possible loss of data`
``` #include #include #include #include namespace x3 = boost::spirit::x3; constexpr int len = 10; template bool parse_(Iterator& first, Iterator const& last, Expr const& expr) { try { return x3::parse(first, last,...
The example above is a simple case that will fail `len` times at the second part `lit('b')`. I tried it with different compilers and platforms. 1. VC2017 with release mode:...
The advantage of expectation over sequence is when we have many alternatives. For example in a simple parser below, ``` x3::char_("afkp") > '1' | x3::char_("bglq") > '2' | x3::char_("chmr") >...
@djowel Sorry for the late reply. The error handling scheme in `guard` and `rule_parser::parse_rhs_main` can also been done using the proposed method (should inject a `boost::optional` instead of a `bool`)....
For example we have a user defined ascii_no_case parser struct (in this case a user defined directive). In it's parse function it calls subject's parse function and simply return its...
Sure. I will change the code and do some profiling first.
@djowel x3::expect doesn't throw expectation_failure anymore 1. x3::expect directive and operator have the same semantics as before. 2. When expect failure happens, the whole parser will not try any alternative...
This is still a problem in 1.83.0. `boost_1_83_0\boost\geometry\strategy\cartesian\side_by_triangle.hpp(103,37): error C4244: 'initializing': conversion from 'CoordinateType' to 'PromotedType', possible loss of data`
The changes in this commit are all in x3 folder with std14 at least. Somehow CI fails in some std03/11 karma/qi builds.