template problem
-
ich hab 3 verscheiedene threading modelle erstellt
template<class THost, class TPMutex=std::mutex> class CSingleThreaded; template<class THost, class TPMutex=std::mutex> class CObjectLevelLockable; template<class THost, class TPMutex=std::mutex> class CClassLevelLockable;um diese verwenden zu können muss man seine klasse von einem dieser typen ableiten
class MyClass : public CObjectLevelLockable<MyClass,std::mutex>{ };jetzt möchte ich, das threading modell über ein template variabel gestallten, jedoch habe ich ein problem
template< template<class,class> class TThreadingModel = CObjectLevelLockable, class TMutex=std::mutex> class MyClass : public TThreadingModel< ... , TMutex>{ };was muss ich statt "..." schreiben? es muss ja der typ der klasse angegeben, jedoch hat dieser ja template und templatetemplate parameter?
Ich hänge da gerade irgentwie fest und weiß einfach nicht weiter
-
Du schreibst einfach die komplette Template-ID

template< template<class,class> class TThreadingModel = CObjectLevelLockable, class TMutex=std::mutex> class MyClass : public TThreadingModel< MyClass<TThreadingModel, TMutex> , TMutex>{ };
-
..und die lösung ist mal wieder so logisch
dachte.das würde nicht gehen, weil ich dann von TThreadingModel wieder die parameterliste aufführen müsste