/*! Est capable de reconnaitre les templates préfixés par des namespaces, ainsi que ceux déjà identifiés comme des templates par opencxx. */ TypeTemplate* TypeTemplate::IdentifierTypeTemplate (TypeInfo informationType, Environment* environement) { rDebug("TypeTemplate::IdentifierTypeTemplate") ; switch(informationType.WhatIs()) { case TemplateType: { rDebug("whatis dit que c'ets un template") ; TemplateClass* classeTemplate = informationType.TemplateClassMetaobject() ; Base::Composition<TypeTemplate> resultat(new TypeTemplate(classeTemplate)) ; // arguments int nombreArguments = 0 ; TypeInfo typeArgument ; while(informationType.NthTemplateArgument(nombreArguments++,typeArgument)) { if (typeArgument.WhatIs() == UndefType) { rDebug("parametre n'a pas de type") ; } else resultat->_parametres.AjouterEnQueue(Type::Construire(typeArgument, environement)) ; } return resultat.Liberer() ; break ; } default: rDebug("whatis dit que c'ets autre chose") ; return NULL ; } }