Template class inheritance from template types while passing itself

Viewed 40

Can someone please explain what is going on in the code below:

template<class Thermo, template<class> class Type>
class thermo
:
    public Thermo,
    public Type<thermo<Thermo, Type>> // <-- this is what I don't get
{

Here is what I don't get:

1-class thermo inherits from Type<thermo<Thermo, Type>> while has a template argument of itself (Type<thermo<Thermo, Type>>)

2-Type takes itself as an argument in Type<thermo<Thermo, Type>>

Thanks in advance.

0 Answers
Related