summaryrefslogtreecommitdiff
path: root/tagstats
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2011-05-08 15:29:06 +0200
committerJochen Topf <jochen@topf.org>2011-05-08 15:29:06 +0200
commit9f35520f1836182907210f85e1bc03ec3942c253 (patch)
tree25a2ba0411b83f326a5cab74fce4a7fc9e04f76f /tagstats
parentdd212cb3a3d5bfd2ce739f600a45e0efa1b0b3d9 (diff)
downloadtaginfo-9f35520f1836182907210f85e1bc03ec3942c253.tar
taginfo-9f35520f1836182907210f85e1bc03ec3942c253.tar.gz
Cleanup.
Initialize iterators directly instead of using assignment. Use const_iterator where possible. ...
Diffstat (limited to 'tagstats')
-rw-r--r--tagstats/Makefile3
-rw-r--r--tagstats/tagstats_handler.hpp38
2 files changed, 27 insertions, 14 deletions
diff --git a/tagstats/Makefile b/tagstats/Makefile
index ddcab35..bb28d29 100644
--- a/tagstats/Makefile
+++ b/tagstats/Makefile
@@ -35,6 +35,9 @@ tagstats: tagstats.cpp tagstats_handler.hpp string_store.hpp geodistribution.hpp
check:
cppcheck --enable=all tagstats.cpp
+indent:
+ astyle --style=java --indent-namespaces --indent-switches --pad-header --suffix=none \*.hpp \*.cpp
+
install:
install -m 755 tagstats ../sources/db/tagstats
diff --git a/tagstats/tagstats_handler.hpp b/tagstats/tagstats_handler.hpp
index 61a5f80..dcd23d9 100644
--- a/tagstats/tagstats_handler.hpp
+++ b/tagstats/tagstats_handler.hpp
@@ -80,8 +80,6 @@ public:
Counter key;
Counter values;
- value_hash_map_t values_hash;
-
#ifdef TAGSTATS_COUNT_KEY_COMBINATIONS
key_combination_hash_map_t key_combination_hash;
#endif // TAGSTATS_COUNT_KEY_COMBINATIONS
@@ -90,12 +88,26 @@ public:
user_hash_map_t user_hash;
#endif // TAGSTATS_COUNT_USERS
+ value_hash_map_t values_hash;
+
+ KeyStats()
+ : key(),
+ values(),
+#ifdef TAGSTATS_COUNT_KEY_COMBINATIONS
+ key_combination_hash(),
+#endif // TAGSTATS_COUNT_KEY_COMBINATIONS
+#ifdef TAGSTATS_COUNT_USERS
+ user_hash(),
+#endif // TAGSTATS_COUNT_USERS
+ values_hash() {
+ }
+
GeoDistribution node_distribution;
void update(const char *value, Osmium::OSM::Object *object, StringStore *string_store) {
key.count[object->get_type()]++;
- value_hash_map_t::iterator values_iterator = values_hash.find(value);
+ value_hash_map_t::iterator values_iterator(values_hash.find(value));
if (values_iterator == values_hash.end()) {
Counter counter;
counter.count[object->get_type()] = 1;
@@ -151,16 +163,15 @@ class TagStatsHandler : public Osmium::Handler::Base {
#ifdef TAGSTATS_COUNT_KEY_COMBINATIONS
void _update_key_combination_hash(Osmium::OSM::Object *object) {
- key_hash_map_t::iterator tsi1, tsi2;
const char *key1, *key2;
int tag_count = object->tag_count();
for (int i=0; i<tag_count; i++) {
key1 = object->get_tag_key(i);
- tsi1 = tags_stat.find(key1);
+ key_hash_map_t::iterator tsi1(tags_stat.find(key1));
for (int j=i+1; j<tag_count; j++) {
key2 = object->get_tag_key(j);
- tsi2 = tags_stat.find(key2);
+ key_hash_map_t::iterator tsi2(tags_stat.find(key2));
if (strcmp(key1, key2) < 0) {
tsi1->second->add_key_kombination(tsi2->first, object->get_type());
} else {
@@ -177,7 +188,7 @@ class TagStatsHandler : public Osmium::Handler::Base {
Osmium::Sqlite::Statement *statement_insert_into_key_distributions = db->prepare("INSERT INTO key_distributions (key, png) VALUES (?, ?);");
db->begin_transaction();
- for (key_hash_map_t::iterator it = tags_stat.begin(); it != tags_stat.end(); it++) {
+ for (key_hash_map_t::const_iterator it(tags_stat.begin()); it != tags_stat.end(); it++) {
KeyStats *stat = it->second;
int size;
@@ -235,17 +246,16 @@ public:
}
void callback_object(Osmium::OSM::Object *object) {
- KeyStats *stat;
-
if (max_timestamp < object->get_timestamp()) {
max_timestamp = object->get_timestamp();
}
+ KeyStats *stat;
int tag_count = object->tag_count();
for (int i=0; i<tag_count; i++) {
const char* key = object->get_tag_key(i);
- key_hash_map_t::iterator tags_iterator = tags_stat.find(key);
+ key_hash_map_t::iterator tags_iterator(tags_stat.find(key));
if (tags_iterator == tags_stat.end()) {
stat = new KeyStats();
tags_stat.insert(std::pair<const char *, KeyStats *>(string_store->add(key), stat));
@@ -354,13 +364,13 @@ public:
uint64_t user_hash_buckets=0;
#endif // TAGSTATS_COUNT_USERS
- for (key_hash_map_t::iterator tags_iterator = tags_stat.begin(); tags_iterator != tags_stat.end(); tags_iterator++) {
+ for (key_hash_map_t::const_iterator tags_iterator(tags_stat.begin()); tags_iterator != tags_stat.end(); tags_iterator++) {
KeyStats *stat = tags_iterator->second;
values_hash_size += stat->values_hash.size();
values_hash_buckets += stat->values_hash.bucket_count();
- for (value_hash_map_t::iterator values_iterator = stat->values_hash.begin(); values_iterator != stat->values_hash.end(); values_iterator++) {
+ for (value_hash_map_t::const_iterator values_iterator(stat->values_hash.begin()); values_iterator != stat->values_hash.end(); values_iterator++) {
statement_insert_into_tags
->bind_text(tags_iterator->first) // column: key
->bind_text(values_iterator->first) // column: value
@@ -398,8 +408,8 @@ public:
key_combination_hash_size += stat->key_combination_hash.size();
key_combination_hash_buckets += stat->key_combination_hash.bucket_count();
- for (key_combination_hash_map_t::iterator it = stat->key_combination_hash.begin(); it != stat->key_combination_hash.end(); it++) {
- Counter *s = &(it->second);
+ for (key_combination_hash_map_t::const_iterator it(stat->key_combination_hash.begin()); it != stat->key_combination_hash.end(); it++) {
+ const Counter *s = &(it->second);
statement_insert_into_key_combinations
->bind_text(tags_iterator->first) // column: key1
->bind_text(it->first) // column: key2