テンプレートクラスからtypedefを抽出する方法はありますか?たとえば、これは私がしたいことです:テンプレートクラスからtypedef/usingの定義を抽出する
template<typename T, typename... Args>
class Foo{
public:
typedef T(*Functor)(Args...);
Foo() = default;
};
template<typename T, typename... Args>
Foo<T, Args...> make_foo(T(*f)(Args...)){
return Foo<T, Args...>;
}
int bar(int i){
return i * 2;
}
using type = make_foo(bar)::Functor;
私はこれを行うことはできません。しかし、私はこれを行うことができます:
using type = Foo<int, int>::Functor;
この種の私の目的を敗北させる。私は型の形式でそれを抽出することができるように関数をラップする方法はありますか?
うわー、とても明白な...ありがとう。 – Goodies