diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2018-10-05 20:29:18 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2018-10-05 20:29:18 +0000 |
commit | 96a953de4aa6c94166c34757b2c727b44375848a (patch) | |
tree | b61256b13b8ec7acc1ffbbf9dba9aa924cebc699 /staging_vespalib | |
parent | c22ca093e702812e992c148e0a5016813e5cd3e8 (diff) |
add API in Point class also
Diffstat (limited to 'staging_vespalib')
-rw-r--r-- | staging_vespalib/src/vespa/vespalib/metrics/point.cpp | 19 | ||||
-rw-r--r-- | staging_vespalib/src/vespa/vespalib/metrics/point.h | 5 |
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 |