Boost.Spirit:为什么 phrase_parse 在解析 eol 时表现不同?

Boost.Spirit: Why does phrase_parse behave differently to parse when parsing eol?

为什么 qi::phrase_parse return false qi::eol?我希望它像 qi::parse 那样 return true

using namespace boost::spirit;

const std::string s = "\n";

auto it = s.begin();
bool match = qi::phrase_parse(it, s.end(), qi::eol, ascii::space);    
std::cout << std::boolalpha << match << '\n';

it = s.begin();
match = qi::parse(it, s.end(), qi::eol);    
std::cout << std::boolalpha << match << '\n';

结果:

false
true

船长跳过空格。

空格包括 eol.

因此,eol 永远不会匹配。

提示: 使用 blank 作为空格 除了 eol