scusate , cerco di esporre meglio:insert<Element>(node);
insert<Attribute>(node);
vorrei che runtime il template si comportasse diversamente(invocasse una funzione diversa) a seconda del tipo del nodo un po come si fa normalmente con l'ereditatà e i metodi virtuali.
In pratica iun qualcosa del genere:
La differenza tra questo metodo e il meccanismo ereditarietà/metodi virtuali è che il tipo diverso non è determinato dalle mie classi , ma da classi esterne di cui non conosco l'implementazione , ma che definiscono con il loro tipo il comportamento da intraprendere.codice:node = getNodeFromXml();//il nodo è di tipo element insert<node>();//e chiamo la funzione relativa ad insert element node = getNodeFromXml();//il nodo è di tipo Attribute insert<node>();//e chiamo la funzione relativa ad insert attribute
Io sto' cercando di utilizzarlo con un importatore da collada(scusate il tormentone , ma lo uso per fare pratica e studiare ).
In pratica la sezione che comanda l'importatore collada , ho soperto essere lo scene graph , in cui sono definite le caratteristiche mesh(geometria),materiale e posizione(trasformazioni da effettuare per posizionare un oggetto nella scena) che vanno estratte da sezioni diverse all'interno dell'xml.
Esplorando questo he non è altro che un grafo con vari tipi di nodi mi vorrei comportare diversamente a seconda del tipo del nodo corrente.
So che forse la cosa piu' semplice è fare un bell' if con il tipo del nodo , ma da dove lo prendo il tipo del nodo , se non posso mettere mano al codice delle classi di quel tipo?
Forse un isKindof?
ma non è un modo propriamente ad oggetti.
grazie.