Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deduce template parameter's template parameter

Tags:

c++

templates

There is a class template A, which is taking template class for its template parameter.

template <typename T> class A {}
template <typename T> class B {}
int main()
{
    A<B<int>>();
    return 0;
}

Can class template A deduces its template parameter(B int)'s template parameter(int)?

Or is there the other way to solve this problem? For example,

template <typename T<typename U>> class A {}
like image 971
Mossid Avatar asked Feb 27 '26 04:02

Mossid


1 Answers

You can make A a template template:

template <template <typename> class T, typename Inner> 
class A<T<Inner>> {};
like image 172
TartanLlama Avatar answered Feb 28 '26 19:02

TartanLlama



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!