config/test/boost_no_cxx17_std_invoke.ipp
jzmaddock 3764d61f25 BOOST_NO_CXX17_STD_INVOKE: Update test case to check we have std::invoke_result.
MSVC has no std::invoke in C++14 mode.
GCC has no std::invoke_result prior to 7.1.
2018-04-03 19:08:57 +01:00

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;
}
}