|
@@ -0,0 +1,18 @@
|
|
|
+diff --git a/include/base/cef_template_util.h b/include/base/cef_template_util.h
|
|
|
+index 02e2ead06..a77cf643a 100644
|
|
|
+--- a/include/base/cef_template_util.h
|
|
|
++++ b/include/base/cef_template_util.h
|
|
|
+@@ -276,8 +276,13 @@ struct negation : bool_constant<!static_cast<bool>(B::value)> {};
|
|
|
+ // References:
|
|
|
+ // [1] https://en.cppreference.com/w/cpp/types/result_of
|
|
|
+ // [2] https://wg21.link/meta.trans.other#lib:invoke_result
|
|
|
++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
|
|
|
++template <typename Functor, typename... Args>
|
|
|
++using invoke_result = std::invoke_result<Functor, Args...>;
|
|
|
++#else
|
|
|
+ template <typename Functor, typename... Args>
|
|
|
+ using invoke_result = std::result_of<Functor && (Args && ...)>;
|
|
|
++#endif
|
|
|
+
|
|
|
+ // Implementation of C++17's std::invoke_result_t.
|
|
|
+ //
|