18 Feb
2010
18 Feb
'10
10:07 p.m.
Your last 'text' parser eats your '\r\n' characters. As a result the eol parser fails.
Ah, right, and the last struct field has "\r\n" at the end.
If I change to: text %= lexeme[+(char_ - ':' - '\r' - '\n')];
I'd rather write: text %= lexeme[+~char_("\r\n:")]; which is more efficient.
the last field is set correctly, but phrase_parse() still returns false. If I change eol to the explicit "\r\n", it still returns false.
Yeah, now your skip parser (space) is eating the eol characters. Use qi::blank instead (which matches space and tab only). Regards Hartmut --------------- Meet me at BoostCon www.boostcon.com