提升相当于气匹配的精神业力

Boost Spirit Karma equivalent to Qi matches

boost::spirit::karma 中的 boost::spirit::qi::matches 相当于什么? 例如,我只想在布尔标志设置为真时生成文字 "array"。

使用 bool_ 的指定值形式,仅当属性与提供的值匹配时才使用该属性:

Live On Coliru

#include <boost/spirit/include/karma.hpp>

namespace karma = boost::spirit::karma;

int main() {
    using namespace karma;

    for (int i = 0; i < 10; ++i)
    {
        bool b = (0 == i%3);
        std::cout << format_delimited(
                (omit[bool_(true)] << "array" | omit[bool_(false) << "vector"]),
                ';',
                b
            ) << "\n";
    }

}

版画

array;


array;


array;


array;