aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2018-05-31 11:31:59 +0200
committerEike Ziller <eike.ziller@qt.io>2018-06-05 12:04:59 +0000
commitf8e88e8ce45a462f27d274c654e31a67032da757 (patch)
treeafc9e80462531ba4852db36533a1787bbf966a1b /src/libs/utils
parent8798990fb1fad04dca8337479e22d17c1fcbfebd (diff)
Fix compilation issues with C++17
Testable on Linux/macOS by changing c++14 to c++1z in qtcreator.pri. Testable with latest MSVC2017 by setting _CL_=/std:c++17. unary_function, binary_function, and a few other things that were deprecated are removed in C++17. std::string got a non-const overload for its "data" member function, so we cannot create a function pointer on it without specifying its type. Use std::declval instead (though it requires a default constructor for the type). MSVC seems to have an issue with Utils::transform for std::vector (used in Nim plugin), but that looks like a compiler issue. Change-Id: I94f9a93d591d55b610f86fabfc618158927d6221 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/libs/utils')
-rw-r--r--src/libs/utils/smallstringview.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/libs/utils/smallstringview.h b/src/libs/utils/smallstringview.h
index 0d8600e5dee..7881500ce68 100644
--- a/src/libs/utils/smallstringview.h
+++ b/src/libs/utils/smallstringview.h
@@ -39,9 +39,7 @@ using enable_if_has_char_data_pointer = typename std::enable_if_t<
std::is_same<
std::remove_const_t<
std::remove_pointer_t<
- std::result_of_t<
- decltype(&String::data)(String)
- >
+ decltype(std::declval<const String>().data())
>
>, char>::value
, int>;