Switch from std::result_of to std::invoke_result
std::result_of is deprecated in C++17 and removed in C++20. std::invoke_result is added in C++17. Upstream libc++ has started removing the declaration of std::result_of when a new-enough C++ dialect is selected, so switch to the supported type. Bug: http://b/175635923 Test: treehugger Change-Id: Ie2db3e092b4300e20858097ac4e88ebaedc7ae07
This commit is contained in:
@@ -26,7 +26,7 @@ namespace {
|
||||
|
||||
// Retry syscall fn as long as it returns -1 with errno == EINTR
|
||||
template <typename FnT, typename... Params>
|
||||
typename std::result_of<FnT(Params...)>::type syscallRetry(FnT fn, Params&&... params) {
|
||||
typename std::invoke_result<FnT, Params...>::type syscallRetry(FnT fn, Params&&... params) {
|
||||
auto rv = fn(std::forward<Params>(params)...);
|
||||
while ((rv == -1) && (errno == EINTR)) {
|
||||
rv = fn(std::forward<Params>(params)...);
|
||||
|
||||
Reference in New Issue
Block a user