move result_of out of deprecated_code. It is not deprecated, we need the wokaround for c++20

This commit is contained in:
Maxime Gimeno 2021-05-17 11:57:44 +02:00
parent 9028027131
commit 0b229ae043
1 changed files with 9 additions and 8 deletions

View File

@ -641,13 +641,6 @@ namespace CGAL {
using std::is_enum;
using std::unordered_set;
using std::unordered_map;
#if CGAL_CXX20 || __cpp_lib_is_invocable>=201703L
template<typename Signature> class result_of;
template<typename F, typename... Args>
class result_of<F(Args...)> : public std::invoke_result<F, Args...> { };
#else
using std::result_of;
#endif
}
//
namespace cpp0x = cpp11;
@ -659,7 +652,15 @@ namespace CGAL {
// Typedef for the type of nullptr.
typedef const void * Nullptr_t; // Anticipate C++0x's std::nullptr_t
namespace cpp11{
#if CGAL_CXX20 || __cpp_lib_is_invocable>=201703L
template<typename Signature> class result_of;
template<typename F, typename... Args>
class result_of<F(Args...)> : public std::invoke_result<F, Args...> { };
#else
using std::result_of;
#endif
}//namespace cpp11
} //namespace CGAL
//Support for c++11 noexcept