У меня проблема:
Я хочу явным образом создать экземпляр класса, например Datatype
in:
using Layout = some::namespaces::Meat_Layout<Some,Parameters>;
using Datatype = other::namespaces::Meta_Datatype<Layout>;
Для явного создания экземпляра мне нужно использовать разработанные спецификаторы типов. Которые не позволяют использовать typedefs. Поэтому я не могу написать:
template class Datatype;
Но я должен написать:
template class some::namespaces::Meta_Datatype<other::namespaces::Meat_Layout<Some,Parameters>>;
Если там есть какие-либо определения типов, мне тоже придется их заменить, что может привести кчто-то вроде:
template class some::namespaces::Meta_Datatype<other::namespaces::Meta_Meat_Layout<Some,Meta_Parameters<int>,int,int>>;
Как вы видите, это становится очень быстро неясным.
Есть ли какой-нибудь трюк, чтобы избежать деконструкции всех typedefs?
Было бы лучше, если бы также можно было использовать трюк при использовании extern template
.