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.