From 20956a7a196c48926c423488154a536057bbabd9 Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Tue, 10 Aug 2021 12:45:50 +0200 Subject: [PATCH] Fix findOffset for containers with .find. --- libsolutil/CommonData.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsolutil/CommonData.h b/libsolutil/CommonData.h index 24fa67daa..774cedf0a 100644 --- a/libsolutil/CommonData.h +++ b/libsolutil/CommonData.h @@ -341,13 +341,13 @@ namespace detail template auto findOffset(Container&& _container, Value&& _value, int) --> decltype(_container.find(_value) == _container.end(), std::optional()) +-> decltype(_container.find(_value) == _container.end(), std::distance(_container.begin(), _container.find(_value)), std::optional()) { auto it = _container.find(std::forward(_value)); auto end = _container.end(); if (it == end) return std::nullopt; - return std::distance(it, end); + return std::distance(_container.begin(), it); } template auto findOffset(Range&& _range, Value&& _value, void*)