当前位置: 首页>>代码示例>>C++>>正文


C++ output_data::ensure_capacity方法代码示例

本文整理汇总了C++中output_data::ensure_capacity方法的典型用法代码示例。如果您正苦于以下问题:C++ output_data::ensure_capacity方法的具体用法?C++ output_data::ensure_capacity怎么用?C++ output_data::ensure_capacity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在output_data的用法示例。


在下文中一共展示了output_data::ensure_capacity方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

static void
print_escaped_unicode_codepoint(output_data &out, uint32_t cp,
                                append_unicode_codepoint_t append_fn)
{
    if (cp < 0x80) {
        switch (cp) {
            case '\b':
                out.write("\\b");
                break;
            case '\f':
                out.write("\\f");
                break;
            case '\n':
                out.write("\\n");
                break;
            case '\r':
                out.write("\\r");
                break;
            case '\t':
                out.write("\\t");
                break;
            case '\\':
                out.write("\\\\");
                break;
            case '/':
                out.write("\\/");
                break;
            case '\"':
                out.write("\\\"");
                break;
            default:
                if (cp < 0x20 || cp == 0x7f) {
                    stringstream ss;
                    ss << "\\u";
                    hexadecimal_print(ss, static_cast<uint16_t>(cp));
                    out.write(ss.str());
                } else {
                    out.write(static_cast<char>(cp));
                }
                break;
        }
    } else {
        out.ensure_capacity(16);
        append_fn(cp, out.out_end, out.out_capacity_end);
    }
    // TODO: Could have an ASCII output mode where unicode is always escaped
    /*
    else if (cp < 0x10000) {
        stringstream ss;
        ss << "\\u";
        hexadecimal_print(ss, static_cast<uint16_t>(cp));
        out.write(ss.str());
    } else {
        stringstream ss;
        ss << "\\U";
        hexadecimal_print(ss, static_cast<uint32_t>(cp));
        out.write(ss.str());
    }
    */
}
开发者ID:aterrel,项目名称:libdynd,代码行数:60,代码来源:json_formatter.cpp


注:本文中的output_data::ensure_capacity方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。