mardi 4 août 2015

Changing type for each variadic template argument

I have some class:

template<typename... Args>
class X
{
    using F = void(*)(Args...);
};

Now I want variadic parameters in F definition become converted with a specific condition:

using F = void(*)(typename std::conditional<std::is_fundamental<Args>::value, Args, Args&&>::type...);

So, for example, for class X<int, MyCustomT> definition X::F should become void(*)(int, MyCustomT&&)

Aucun commentaire:

Enregistrer un commentaire