3764d61f25
MSVC has no std::invoke in C++14 mode. GCC has no std::invoke_result prior to 7.1.
28 lines
699 B
C++
28 lines
699 B
C++
// (C) Copyright Oliver Kowalke 2016.
|
|
// Use, modification and distribution are subject to the
|
|
// Boost Software License, Version 1.0. (See accompanying file
|
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
// See http://www.boost.org/libs/config for most recent version.
|
|
|
|
// MACRO: BOOST_NO_CXX17_STD_INVOKE
|
|
// TITLE: invoke
|
|
// DESCRIPTION: The compiler supports the std::invoke() function.
|
|
|
|
#include <functional>
|
|
|
|
namespace boost_no_cxx17_std_invoke {
|
|
|
|
int foo( int i, int j) {
|
|
return i + j;
|
|
}
|
|
|
|
int test() {
|
|
int i = 1, j = 2;
|
|
typename std::invoke_result<int(&)(int,int), int, int>::type t = std::invoke( foo, i, j);
|
|
return 0;
|
|
}
|
|
|
|
}
|
|
|