Commit f9fed4ae authored by Dominik Charousset's avatar Dominik Charousset

Fix build with C++17 enabled

parent e83e5f84
......@@ -38,6 +38,11 @@ config = [
tools: ['gcc8'],
extraSteps: ['coverageReport'],
]],
['Linux', [
builds: ['debug'],
tools: ['gcc8'],
extraFlags: ['EXTRA_FLAGS=-std=c++17']
]],
['Linux', [
builds: ['release'],
tools: ['gcc8'],
......
......@@ -471,6 +471,23 @@ struct callable_trait<R (C::*)(Ts...)> : callable_trait<R (Ts...)> {};
template <class R, class... Ts>
struct callable_trait<R (*)(Ts...)> : callable_trait<R (Ts...)> {};
#if __cplusplus >= 201703L
// member const function pointer
template <class C, typename R, class... Ts>
struct callable_trait<R (C::*)(Ts...) const noexcept>
: callable_trait<R(Ts...)> {};
// member function pointer
template <class C, typename R, class... Ts>
struct callable_trait<R (C::*)(Ts...) noexcept> : callable_trait<R(Ts...)> {};
// good ol' function pointer
template <class R, class... Ts>
struct callable_trait<R (*)(Ts...) noexcept> : callable_trait<R(Ts...)> {};
#endif
template <class T>
struct has_apply_operator {
template <class U>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment