You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "David Li (Jira)" <ji...@apache.org> on 2021/07/26 14:02:00 UTC

[jira] [Updated] (ARROW-13444) [C++] C++20 compatibility by updating std::result_of to std::invoke_result

     [ https://issues.apache.org/jira/browse/ARROW-13444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Li updated ARROW-13444:
-----------------------------
    Summary: [C++] C++20 compatibility by updating std::result_of to std::invoke_result  (was: C++20 compatibility by updating std::result_of to std::invoke_result)

> [C++] 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
>            Priority: Major
>
> 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)