void xml_formatter::write_tags(const tags_t &tags) { for (tags_t::const_iterator itr = tags.begin(); itr != tags.end(); ++itr) { writer->start("tag"); writer->attribute("k", itr->first); writer->attribute("v", itr->second); writer->end(); } }
void json_formatter::write_tags(const tags_t &tags) { writer->object_key("tags"); writer->start_object(); for (tags_t::const_iterator itr = tags.begin(); itr != tags.end(); ++itr) { writer->object_key(itr->first); writer->entry_string(itr->second); } writer->end_object(); }
int hydra::scoreValue(const tags_t &tags) { for (tags_t::const_iterator ii=tags.begin(); ii != tags.end(); ++ii) { assert(!ii->isEmpty()); if ((*ii)[0] == SCORE_CHAR) return ii->size(); } return 0; }
bool operator==(const tags_t &a, const tags_t &b) { if (a.size() != b.size()) { return false; } for (tags_t::const_iterator atr = a.begin(); atr != a.end(); ++atr) { tags_t::const_iterator btr = b.find(atr->first); if (btr == b.end()) { return false; } else if (atr->second != btr->second) { return false; } } return true; }
void sopostloader::write_tags(const table_spec &spec) { std::cout << "writing " << spec.name << std::endl; std::vector<column_spec> columns = spec.columns(); builder.open_table(spec); int counter(0); for (tags_t::iterator it = tags.begin(); it != tags.end(); ++it) { if (++counter % 100000 == 0) std::cout << " (" << counter << " datasets)" << std::endl; builder.open_row(); dbvalue id(it->first); builder.add_column(columns[0], id.get()); builder.add_column(columns[1], it->second.c_str()); builder.row_complete(); } std::cout << " (" << counter << " datasets)" << std::endl; builder.table_complete(); if (config.indexes) { std::cout << " (indexing " << columns[0].name << "...)" << std::endl; builder.add_index(columns[0].name); std::cout << " (indexing " << columns[1].name << "...)" << std::endl; builder.add_index(columns[1].name); } }