示例#1
0
        std::ostringstream ostrm;
        ostrm << karma::format_delimited(g, d, BOOST_PP_ENUM_PARAMS(N, attr));

        print_if_failed("test_delimited", ostrm.good(), ostrm.str(), expected);
        return ostrm.good() && ostrm.str() == expected;
    }

    ///////////////////////////////////////////////////////////////////////////
    template <typename Char, typename Generator, typename Delimiter
      , BOOST_PP_ENUM_PARAMS(N, typename A)>
    inline bool test_predelimited(Char const *expected, Generator const& g
      , Delimiter const& d
      , BOOST_SCOPED_ENUM(boost::spirit::karma::delimit_flag) pre_delimit
      , BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& attr))
    {
        namespace karma = boost::spirit::karma;

        std::ostringstream ostrm;
        ostrm << karma::format_delimited(g, d, pre_delimit
          , BOOST_PP_ENUM_PARAMS(N, attr));

        print_if_failed("test_predelimited", ostrm.good(), ostrm.str(), expected);
        return ostrm.good() && ostrm.str() == expected;
    }

}   // namespace spirit_test

#undef N

#endif