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


C++ value::size方法代码示例

本文整理汇总了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);
}
开发者ID:semenovf,项目名称:pfs-json,代码行数:49,代码来源:pretty_print.cpp

示例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;
    }
开发者ID:TorstenRobitzki,项目名称:Sioux,代码行数:23,代码来源:node.cpp


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