本文整理汇总了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());
}
*/
}