From 07f40bbc9b0436a0b0e2a46705ea836b50b0af56 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Sun, 12 Jan 2025 07:41:52 +0100
Subject: [PATCH] Replace std::result_of_t by std::invoke_result_t

std::result_of_t is deprecated in C++17, and removed in C++20:

  https://en.cppreference.com/w/cpp/types/result_of
---
 dune/solvers/solvers/criterion.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dune/solvers/solvers/criterion.hh b/dune/solvers/solvers/criterion.hh
index 259f8f2b..a7c7370a 100644
--- a/dune/solvers/solvers/criterion.hh
+++ b/dune/solvers/solvers/criterion.hh
@@ -52,7 +52,7 @@ namespace Dune {
        * of the header string coincide to get a readable log.
        */
       template<class F,
-        std::enable_if_t<std::is_convertible<std::result_of_t<F()>, Result>::value, int> = 0>
+        std::enable_if_t<std::is_convertible<std::invoke_result_t<F>, Result>::value, int> = 0>
       Criterion(F&& f, const std::string& header) :
         f_(std::forward<F>(f)),
         header_(header)
@@ -76,7 +76,7 @@ namespace Dune {
        * of the header string coincide to get a readable log.
        */
       template<class F,
-        std::enable_if_t<std::is_convertible<std::result_of_t<F()>, std::string>::value, int> = 0>
+        std::enable_if_t<std::is_convertible<std::invoke_result_t<F>, std::string>::value, int> = 0>
       Criterion(F&& f, const std::string& header) :
         f_( [=]() mutable {return std::make_tuple(false, f());} ),
         header_(header)
-- 
GitLab