コード例 #1
0
static void write_object(Writer<StringBuffer>& writer, object_t* object) {
    switch (object->type) {
        case type_nil:    writer.Null();              break;
        case type_bool:   writer.Bool(object->b);     break;
        case type_double: writer.Double(object->d);   break;
        case type_int:    writer.Int64(object->i);    break;
        case type_uint:   writer.Uint64(object->u);   break;
        case type_str:    writer.String(object->str, object->l); break;

        case type_array:
            writer.StartArray();
            for (size_t i = 0; i < object->l; ++i)
                write_object(writer, object->children + i);
            writer.EndArray();
            break;

        case type_map:
            writer.StartObject();
            for (size_t i = 0; i < object->l; ++i) {
                writer.Key(object->children[i * 2].str, object->children[i * 2].l);
                write_object(writer, object->children + i * 2 + 1);
            }
            writer.EndObject();
            break;

        default:
            assert(0);
            break;
    }
}
コード例 #2
0
  void serialize(Writer& writer) override {
    writer.StartObject();

    writer.Key("halt");

    if(new_halt_ > old_halt_)
      serialized_halt_ = new_halt_ - old_halt_;

    writer.Uint64(serialized_halt_);

    writer.Key("total");

    if(new_total_ > old_total_)
      serialized_total_ = new_total_ - old_total_;

    writer.Uint64(serialized_total_);

    writer.Key("interval");
    writer.Double(interval_.count());

    writer.EndObject();
  }
コード例 #3
0
ファイル: base.hpp プロジェクト: CoterJiesen/opencvr
 void operator()(Writer& w, utility::uint64_t i) const
 {
     w.Uint64(i);
 }
コード例 #4
0
ファイル: stringify.hpp プロジェクト: eden57/mapbox-gl-native
void stringify(Writer& writer, uint64_t v) {
    writer.Uint64(v);
}