From 8284ea51bd3ad99a9d2a66b749163410e7169c29 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 9 Mar 2021 23:06:45 +0300 Subject: [PATCH] Add geom::point hash --- libs/geom/include/psemek/geom/point.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libs/geom/include/psemek/geom/point.hpp b/libs/geom/include/psemek/geom/point.hpp index 253ad190..63af73e2 100644 --- a/libs/geom/include/psemek/geom/point.hpp +++ b/libs/geom/include/psemek/geom/point.hpp @@ -1,5 +1,7 @@ #pragma once +#include + #include #include @@ -199,3 +201,21 @@ namespace psemek::geom } } + +namespace std +{ + + template + struct hash<::psemek::geom::point> + { + std::size_t operator()(::psemek::geom::point const & v) const noexcept + { + std::hash h; + std::size_t r = 0; + for (std::size_t i = 0; i < N; ++i) + ::psemek::util::hash_combine(r, h(v[i])); + return r; + } + }; + +}