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 {