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; } }
void Serialize(Writer& writer) const { writer.StartObject(); Person::Serialize(writer); writer.String("married"); writer.Bool(married_); writer.String(("dependents")); writer.StartArray(); for (std::vector<Dependent>::const_iterator dependentItr = dependents_.begin(); dependentItr != dependents_.end(); ++dependentItr) dependentItr->Serialize(writer); writer.EndArray(); writer.EndObject(); }
/* Writes out a Bool using rapidJSON functions */ extern "C" int tm_json_write_boolean (tm_json_w_handler_t wh, int value) { Writer<StringBuffer>* w = static_cast<Writer<StringBuffer>*>(wh.writer); w->Bool(value); return 0; }
void SaveEntity(Writer& writer) { std::cout<<"in SaveEntity \n"; writer.StartObject(); writer.String("name"); writer.String(CreateCharFromString(components.name)); writer.String("type"); writer.String(CreateCharFromString(components.type)); //writer.String("coordinates"); // writer.StartArray(); // writer.StartObject(); writer.String("x"); //writer.Int(components.coordinates.x); MainWindow m; writer.Double(percent_convert(components.coordinates.x, m.get_screen_width())); writer.String("y"); writer.Double(percent_convert(components.coordinates.y, m.get_screen_height())); //writer.Int(components.coordinates.y); // writer.EndObject(); // writer.EndArray(); std::cout<<"end first arr in saveentity \n"; // writer.String("size"); // writer.StartArray(); // writer.StartObject(); writer.String("width"); writer.Int(components.size.x); //writer.Double(percent_convert(components.size.x, m.get_screen_width())); writer.String("height"); //writer.Double(percent_convert(components.size.y, m.get_screen_height())); writer.Int(components.size.y); // writer.EndObject(); // writer.EndArray(); writer.String("radius"); // writer.Double(percent_convert(components.radius, m.get_screen_width())); writer.Int(components.radius); writer.String("angle"); writer.Double(components.angle); writer.String("color_mask"); writer.Int(components.color_mask); writer.String("fan_is_reversed"); writer.Bool(components.fan_is_reversed); writer.String("is_reversed"); writer.Bool(components.is_inverted); writer.String("is_sensor"); writer.Bool(components.is_sensor); writer.String("is_invisible"); writer.Bool(components.is_visible); writer.String("has_gravity"); writer.Bool(components.has_gravity); writer.String("quantity"); writer.Int(components.quantity); writer.String("is_template"); writer.Bool(components.is_template); writer.String("full_name"); writer.String(CreateCharFromString(components.full_name)); writer.String("selected_color"); writer.Int(components.selected_color); writer.String("texture_mask"); writer.Int(components.texture_mask); writer.String("selected_texture"); writer.Int(components.selected_texture); writer.EndObject(); std::cout<<"end saveentity \n"; }
void operator()(Writer& w, char c) const { w.Bool(c); }
void operator()(Writer& w, bool b) const { w.Bool(b); }
void stringify(Writer& writer, bool v) { writer.Bool(v); }