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)