本文整理汇总了C++中json::value::size方法的典型用法代码示例。如果您正苦于以下问题:C++ value::size方法的具体用法?C++ value::size怎么用?C++ value::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类json::value
的用法示例。
在下文中一共展示了value::size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: __print_container
static void __print_container (string & result
, json::value const & value
, print_spec const & pspec
, int indent)
{
if (value.size() == 0) {
__print_open_brace(result, value, pspec);
__print_close_brace(result, value, pspec);
return;
}
json::value::const_iterator it_begin = value.cbegin();
json::value::const_iterator it_end = value.cend();
json::value::const_iterator it = it_begin;
json::value::const_iterator it_next = it_begin;
++it_next;
indent += pspec.base_indent;
__print_open_brace(result, value, pspec);
result.append(pspec.new_line); // container content always begin after new line
for (; it != it_end; ++it, ++it_next) {
if (it == it_begin) {
__print_indent(result, pspec, indent);
if (pspec.comma_position == json::comma_next_line) {
__print_indent(result, pspec, pspec.first_item_indent);
}
}
if (value.is_object()) {
__print_value(result, it.key(), *it, pspec, indent);
} else {
__print_value(result, *it, pspec, indent);
}
if (it_next != it_end) {
__print_comma(result, pspec, indent);
}
}
indent -= pspec.base_indent;
result.append(pspec.new_line);
__print_indent(result, pspec, indent);
__print_close_brace(result, value, pspec);
}
示例2: update
bool node::update(const json::value& new_data, unsigned keep_update_size_percent)
{
if ( new_data == data_ )
return false;
const std::size_t max_size = new_data.size() * keep_update_size_percent / 100;
if ( max_size != 0 )
{
std::pair<bool, json::value> update_instruction = delta(data_, new_data, max_size);
if ( update_instruction.first )
updates_.insert(updates_.length(), update_instruction.second);
}
data_ = new_data;
++version_;
remove_old_versions(max_size);
return true;
}