Merge pull request #3495 from pherl/c++11

Add std::forward and std::move autoconf check
pull/3514/head v3.4.0
Jisi Liu 8 years ago committed by GitHub
commit 80a37e0782
  1. 19
      m4/ax_cxx_compile_stdcxx.m4

@ -180,6 +180,8 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
#else
#include <utility>
namespace cxx11
{
@ -445,6 +447,23 @@ namespace cxx11
}
namespace test_std_move_and_forward
{
struct message {};
char foo(message&) { return '\0'; }
int foo(message&&) { return 0; }
template<typename Arg, typename RT>
void check(Arg&& arg, RT rt) {
static_assert(sizeof(rt) == sizeof(foo(std::forward<Arg>(arg))), "");
}
void test() {
message a;
check(a, char());
check(std::move(a), int());
}
}
} // namespace cxx11
#endif // __cplusplus >= 201103L

Loading…
Cancel
Save