You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Anders Wind (Jira)" <ji...@apache.org> on 2021/07/26 07:57:00 UTC
[jira] [Created] (ARROW-13444) C++20 compatibility by updating
std::result_of to std::invoke_result
Anders Wind created ARROW-13444:
-----------------------------------
Summary: C++20 compatibility by updating std::result_of to std::invoke_result
Key: ARROW-13444
URL: https://issues.apache.org/jira/browse/ARROW-13444
Project: Apache Arrow
Issue Type: Wish
Components: C++
Affects Versions: 4.0.1
Reporter: Anders Wind
There are currently 5 header files which uses {{std::result_of}}. As specified here [https://en.cppreference.com/w/cpp/types/result_of,] {{std::result_of}} got deprecated in c++17 and removed in c++20. Because of this, its not possible to include the c++ arrow headers in a project using c++20 without getting compilation errors.
To solve this, cppreference specifies how {{std::invoke_result}} can be used instead of {{std::result_of}}. Unfortunately {{std::invoke_result}} was only added in c++17 and therefore I expect that solving this will require some macro work, to keep c++14 and lower support.
This is the first time I post an issue and I hope I have followed the rules.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)