summaryrefslogtreecommitdiffstats
path: root/staging_vespalib
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-10-03 13:01:02 +0000
committerArne Juul <arnej@yahoo-inc.com>2018-10-03 13:01:02 +0000
commitb6cd868da06258ccc0a0fcde48373494932e0ce9 (patch)
tree1b345df95541c3dfa2432493ca7cd0e31b6064f9 /staging_vespalib
parenta079d81802d56010c85d9cf144ac87b9717346c4 (diff)
ensure empty string is always id 0
Diffstat (limited to 'staging_vespalib')
-rw-r--r--staging_vespalib/src/vespa/vespalib/metrics/name_collection.cpp10
-rw-r--r--staging_vespalib/src/vespa/vespalib/metrics/name_collection.h2
2 files changed, 11 insertions, 1 deletions
diff --git a/staging_vespalib/src/vespa/vespalib/metrics/name_collection.cpp b/staging_vespalib/src/vespa/vespalib/metrics/name_collection.cpp
index 697d41c4c6b..6683908a9cd 100644
--- a/staging_vespalib/src/vespa/vespalib/metrics/name_collection.cpp
+++ b/staging_vespalib/src/vespa/vespalib/metrics/name_collection.cpp
@@ -7,6 +7,16 @@ namespace metrics {
using Guard = std::lock_guard<std::mutex>;
+NameCollection::NameCollection()
+{
+ size_t first = resolve("");
+ assert(first == 0);
+ assert(lookup(first) == "");
+ assert(_names_by_id.size() == 1);
+ assert(_names.size() == 1);
+ (void) first; // in case of NOP asserts
+}
+
const vespalib::string &
NameCollection::lookup(size_t id) const
{
diff --git a/staging_vespalib/src/vespa/vespalib/metrics/name_collection.h b/staging_vespalib/src/vespa/vespalib/metrics/name_collection.h
index 566fd2a3997..6a91c2d4a9d 100644
--- a/staging_vespalib/src/vespa/vespalib/metrics/name_collection.h
+++ b/staging_vespalib/src/vespa/vespalib/metrics/name_collection.h
@@ -21,7 +21,7 @@ public:
size_t resolve(const vespalib::string& name);
size_t size() const;
- NameCollection() = default;
+ NameCollection();
~NameCollection() {}
};