forked from boostorg/mp11
Change mp_invoke on Clang to use a struct, because deprecated alias templates never warn
This commit is contained in:
@@ -222,8 +222,23 @@ template<class Q, class... T> using mp_invoke_q = typename Q::template fn<T...>;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// old name for mp_invoke_q retained for compatibility, but deprecated
|
// old name for mp_invoke_q retained for compatibility, but deprecated
|
||||||
|
#if !defined(__clang__)
|
||||||
|
|
||||||
template<class Q, class... T> using mp_invoke BOOST_MP11_DEPRECATED("please use mp_invoke_q") = mp_invoke_q<Q, T...>;
|
template<class Q, class... T> using mp_invoke BOOST_MP11_DEPRECATED("please use mp_invoke_q") = mp_invoke_q<Q, T...>;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
// Clang doesn't warn on deprecated alias templates
|
||||||
|
|
||||||
|
template<class Q, class... T> struct BOOST_MP11_DEPRECATED("please use mp_invoke_q") mp_invoke_
|
||||||
|
{
|
||||||
|
using type = mp_invoke_q<Q, T...>;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<class Q, class... T> using mp_invoke = typename mp_invoke_<Q, T...>::type;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// mp_not_fn<P>
|
// mp_not_fn<P>
|
||||||
template<template<class...> class P> struct mp_not_fn
|
template<template<class...> class P> struct mp_not_fn
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user