提升精神卡玛相当于齐匹配

时间:2015-05-13 15:16:02

标签: boost boost-spirit boost-spirit-karma

boost :: spirit :: karma中boost :: spirit :: qi :: matches的等价物是什么? 例如,我想仅在布尔标志设置为true时才生成文字“数组”。

1 个答案:

答案 0 :(得分:2)

使用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;