CEF3 msvc C++20 fix (#975 )
* Create msvc_cpp20.patch * Update msvc_cpp20.patch * Add a patch to fix CEF3 when using msvc C++20pull/977/head
parent
a4909cd49c
commit
5a308fe05b
2 changed files with 20 additions and 0 deletions
@ -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.
|
||||||
|
//
|
Loading…
Reference in new issue