From df3f3b6f6d0c9c442966e5e22f78ac0f4119ecd6 Mon Sep 17 00:00:00 2001 From: Alban Tamisier Date: Mon, 3 Apr 2023 16:12:06 +0200 Subject: [PATCH] iox-#1934 Alias invoke_result to correct implementation based on C++ version --- doc/website/release-notes/iceoryx-unreleased.md | 1 + .../linux/include/iceoryx_platform/platform_settings.hpp | 5 +++++ .../mac/include/iceoryx_platform/platform_settings.hpp | 5 +++++ .../qnx/include/iceoryx_platform/platform_settings.hpp | 5 +++++ .../unix/include/iceoryx_platform/platform_settings.hpp | 5 +++++ .../win/include/iceoryx_platform/platform_settings.hpp | 5 +++++ 6 files changed, 26 insertions(+) diff --git a/doc/website/release-notes/iceoryx-unreleased.md b/doc/website/release-notes/iceoryx-unreleased.md index de1262bcaa..f0ae753e56 100644 --- a/doc/website/release-notes/iceoryx-unreleased.md +++ b/doc/website/release-notes/iceoryx-unreleased.md @@ -74,6 +74,7 @@ - Fix potential memory leak in `iox::stack` [\#1893](https://github.com/eclipse-iceoryx/iceoryx/issues/1893) - Make `MAX_USER_NAME_LENGTH` and `MAX_GROUP_NAME_LENGTH` platform-dependent [\#1919](https://github.com/eclipse-iceoryx/iceoryx/issues/1919) - Fix milliseconds in log timestamps [\#1932](https://github.com/eclipse-iceoryx/iceoryx/issues/1932) +- Alias `invoke_result` to correct implementation based on C++ version [\#1934](https://github.com/eclipse-iceoryx/iceoryx/issues/1934) **Refactoring:** diff --git a/iceoryx_platform/linux/include/iceoryx_platform/platform_settings.hpp b/iceoryx_platform/linux/include/iceoryx_platform/platform_settings.hpp index 03d0701c20..ac446abc0c 100644 --- a/iceoryx_platform/linux/include/iceoryx_platform/platform_settings.hpp +++ b/iceoryx_platform/linux/include/iceoryx_platform/platform_settings.hpp @@ -41,8 +41,13 @@ constexpr const char IOX_LOCK_FILE_PATH_PREFIX[] = "/tmp/"; constexpr uint64_t MAX_USER_NAME_LENGTH = 32; constexpr uint64_t MAX_GROUP_NAME_LENGTH = 32; +#if __cplusplus >= 201703L +template +using invoke_result = std::invoke_result; +#else template using invoke_result = std::result_of; +#endif } // namespace platform } // namespace iox diff --git a/iceoryx_platform/mac/include/iceoryx_platform/platform_settings.hpp b/iceoryx_platform/mac/include/iceoryx_platform/platform_settings.hpp index ab5fd9e490..031230fe60 100644 --- a/iceoryx_platform/mac/include/iceoryx_platform/platform_settings.hpp +++ b/iceoryx_platform/mac/include/iceoryx_platform/platform_settings.hpp @@ -42,8 +42,13 @@ constexpr const char IOX_LOCK_FILE_PATH_PREFIX[] = "/tmp/"; constexpr uint64_t MAX_USER_NAME_LENGTH = 32; constexpr uint64_t MAX_GROUP_NAME_LENGTH = 16; +#if __cplusplus >= 201703L template using invoke_result = std::invoke_result; +#else +template +using invoke_result = std::result_of; +#endif } // namespace platform } // namespace iox diff --git a/iceoryx_platform/qnx/include/iceoryx_platform/platform_settings.hpp b/iceoryx_platform/qnx/include/iceoryx_platform/platform_settings.hpp index d9aa36ded6..6a1b57bc7b 100644 --- a/iceoryx_platform/qnx/include/iceoryx_platform/platform_settings.hpp +++ b/iceoryx_platform/qnx/include/iceoryx_platform/platform_settings.hpp @@ -40,8 +40,13 @@ constexpr const char IOX_LOCK_FILE_PATH_PREFIX[] = "/var/lock/"; constexpr uint64_t MAX_USER_NAME_LENGTH = 32; constexpr uint64_t MAX_GROUP_NAME_LENGTH = 16; +#if __cplusplus >= 201703L +template +using invoke_result = std::invoke_result; +#else template using invoke_result = std::result_of; +#endif } // namespace platform } // namespace iox diff --git a/iceoryx_platform/unix/include/iceoryx_platform/platform_settings.hpp b/iceoryx_platform/unix/include/iceoryx_platform/platform_settings.hpp index 675a049967..18f6d420f4 100644 --- a/iceoryx_platform/unix/include/iceoryx_platform/platform_settings.hpp +++ b/iceoryx_platform/unix/include/iceoryx_platform/platform_settings.hpp @@ -41,8 +41,13 @@ constexpr const char IOX_LOCK_FILE_PATH_PREFIX[] = "/tmp/"; constexpr uint64_t MAX_USER_NAME_LENGTH = 32; constexpr uint64_t MAX_GROUP_NAME_LENGTH = 16; +#if __cplusplus >= 201703L template using invoke_result = std::invoke_result; +#else +template +using invoke_result = std::result_of; +#endif } // namespace platform } // namespace iox diff --git a/iceoryx_platform/win/include/iceoryx_platform/platform_settings.hpp b/iceoryx_platform/win/include/iceoryx_platform/platform_settings.hpp index e95f6e07b1..554a2eef7a 100644 --- a/iceoryx_platform/win/include/iceoryx_platform/platform_settings.hpp +++ b/iceoryx_platform/win/include/iceoryx_platform/platform_settings.hpp @@ -43,8 +43,13 @@ constexpr uint64_t IOX_MAX_PATH_LENGTH = 255U; constexpr uint64_t MAX_USER_NAME_LENGTH = 32; constexpr uint64_t MAX_GROUP_NAME_LENGTH = 16; +#if __cplusplus >= 201703L template using invoke_result = std::invoke_result; +#else +template +using invoke_result = std::result_of; +#endif namespace win32 {