¿Cómo paso los parámetros de la plantilla a un CRTP?

En el siguiente código:

template <typename T>
class CRTP
{
public:
};

template <int I, typename T>
class CRTPInt
{
public:
};

template <template <typename> class T>
class Derived : public T<Derived<T>>
{
public:
};

void main()
{
Derived<CRTP> foo;
Derived<CRTPInt<2>> foo2;
}

¿Cómo escribo CRPTInt para pasar un parámetro templado que luego continuará en la definición Derivado?

Gracias,

Jim

Respuestas a la pregunta(1)

Su respuesta a la pregunta