Ignore:
Timestamp:
06/18/10 15:46:34 (14 years ago)
Author:
hozdoba
Message:

Ajout de contrÎles sur les dépendances circulaires, passages des attributs lors de l'héritage par réf.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio_object_template.hpp

    r108 r109  
    5050         virtual void resolveRefInheritance(void) 
    5151         { 
    52             std::vector<T*> allRef; 
     52            std::set<T*> sset; 
    5353            T* refer = (T*)this; 
    5454            // On remonte le fil des héritages par référence (Boucle infinie). 
    5555            while((refer = refer->getReference()) != NULL) 
    56                allRef.insert(allRef.begin(), baseObject = refer); 
    57  
    58             // Gestion des attributs ici. 
     56            { 
     57               if(sset.end() != sset.find(refer)) 
     58               { WARNING ("Dépendance circulaire stoppée pour l'objet de type "+T::GetName()+" sur \""+refer->getId()+"\" !"); break; } 
     59               addAttributes(*refer); 
     60               sset.insert(baseObject = refer); 
     61            } 
    5962         } 
    6063 
Note: See TracChangeset for help on using the changeset viewer.