Ejemplo n.º 1
0
void json_formatter::write_relation(const element_info &elem,
                                    const members_t &members,
                                    const tags_t &tags) {
  writer->start_object();

  write_common(elem);
  writer->object_key("members");
  writer->start_array();
  for (members_t::const_iterator itr = members.begin(); itr != members.end();
       ++itr) {
    writer->start_object();
    writer->object_key("type");
    writer->entry_string(element_type_name(itr->type));
    writer->object_key("ref");
    writer->entry_int(itr->ref);
    writer->object_key("role");
    writer->entry_string(itr->role);
    writer->end_object();
  }
  writer->end_array();

  write_tags(tags);

  writer->end_object();
}
void json_formatter::write_relation(const element_info &elem,
                                    const members_t &members,
                                    const tags_t &tags) {
  writer->start_object();

  WRITE_KV("type", string, "relation");

  write_id(elem);
  write_common(elem);

  if (!members.empty()) {
      writer->object_key("members");
      writer->start_array();
      for (const auto & member : members) {
	  writer->start_object();
	  writer->object_key("type");
	  writer->entry_string(element_type_name(member.type));
	  writer->object_key("ref");
	  writer->entry_int(member.ref);
	  writer->object_key("role");
	  writer->entry_string(member.role);
	  writer->end_object();
      }
      writer->end_array();
  }

  write_tags(tags);

  writer->end_object();
}
void xml_formatter::write_relation(const element_info &elem,
                                   const members_t &members,
                                   const tags_t &tags) {
  writer->start("relation");
  write_common(elem);

  for (members_t::const_iterator itr = members.begin(); itr != members.end();
       ++itr) {
    writer->start("member");
    writer->attribute("type", element_type_name(itr->type));
    writer->attribute("ref", itr->ref);
    writer->attribute("role", itr->role);
    writer->end();
  }

  write_tags(tags);

  writer->end();
}
Ejemplo n.º 4
0
void ObjectValue::addAllMembers(const members_t& members_)
{
    for (auto i = members_.begin(); i != members_.end(); i++)
        addMembers(*i);
}