summaryrefslogtreecommitdiffstats
path: root/staging_vespalib
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-10-05 20:29:18 +0000
committerArne Juul <arnej@yahoo-inc.com>2018-10-05 20:29:18 +0000
commit96a953de4aa6c94166c34757b2c727b44375848a (patch)
treeb61256b13b8ec7acc1ffbbf9dba9aa924cebc699 /staging_vespalib
parentc22ca093e702812e992c148e0a5016813e5cd3e8 (diff)
add API in Point class also
Diffstat (limited to 'staging_vespalib')
-rw-r--r--staging_vespalib/src/vespa/vespalib/metrics/point.cpp19
-rw-r--r--staging_vespalib/src/vespa/vespalib/metrics/point.h5
2 files changed, 24 insertions, 0 deletions
diff --git a/staging_vespalib/src/vespa/vespalib/metrics/point.cpp b/staging_vespalib/src/vespa/vespalib/metrics/point.cpp
index a5f99a4ba6d..6ad402a1233 100644
--- a/staging_vespalib/src/vespa/vespalib/metrics/point.cpp
+++ b/staging_vespalib/src/vespa/vespalib/metrics/point.cpp
@@ -1,10 +1,29 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "point.h"
+#include "name_repo.h"
namespace vespalib {
namespace metrics {
Point Point::empty(0);
+Point
+Point::from_map(const PointMap& map)
+{
+ return NameRepo::instance.pointFrom(map);
+}
+
+Point
+Point::from_map(PointMap&& map)
+{
+ return NameRepo::instance.pointFrom(std::move(map));
+}
+
+const PointMap&
+Point::as_map() const
+{
+ return NameRepo::instance.pointMap(*this);
+}
+
} // namespace vespalib::metrics
} // namespace vespalib
diff --git a/staging_vespalib/src/vespa/vespalib/metrics/point.h b/staging_vespalib/src/vespa/vespalib/metrics/point.h
index e50283bd94c..d152d91978e 100644
--- a/staging_vespalib/src/vespa/vespalib/metrics/point.h
+++ b/staging_vespalib/src/vespa/vespalib/metrics/point.h
@@ -2,6 +2,7 @@
#pragma once
#include "handle.h"
+#include "point_map.h"
namespace vespalib::metrics {
@@ -12,6 +13,10 @@ class Point : public Handle<Point> {
public:
static Point empty;
explicit Point(size_t id) : Handle<Point>(id) {}
+
+ static Point from_map(const PointMap& map);
+ static Point from_map(PointMap&& map);
+ const PointMap& as_map() const;
};
} // namespace vespalib::metrics