Ignore:
Timestamp:
06/04/10 12:02:47 (14 years ago)
Author:
hozdoba
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/dev_rv/xmlio_container.hpp

    r91 r95  
    1919   template<class Key, class Mapped, class HashFunc = Hash<Key> > 
    2020      class ExHashMap 
    21          : private HashMap<Key, Mapped, Hash<Key> > 
     21         : private HashMap<Key, Mapped*, Hash<Key> > 
    2222   { 
    2323      public : 
    24          ExHashMap() :  HashMap<Key, Mapped, Hash<Key> >(), _elemList() 
     24         ExHashMap() :  HashMap<Key, Mapped*, Hash<Key> >(), _elemList() 
    2525         {/* Ne rien faire de plus */} 
    2626                
    27          Mapped& operator[] (const Key& kval) throw (XMLIOUndefinedValueException) 
     27         Mapped* operator[] (const Key& kval) throw (XMLIOUndefinedValueException) 
    2828         {  
    2929            if(!hasMappedValue(kval)) 
     
    4444      protected : 
    4545       
    46          bool addValue(const Key& kval, Mapped& element) 
     46         bool addValue(const Key& kval, Mapped* element) 
    4747         { 
    4848            pair<typename ExHashMap::Iterator,bool> p = this->insert(make_pair (kval,element)); 
     
    5151         } 
    5252          
    53          bool addValue(Mapped& element) 
    54          {   this->_elemList.insert(this->_elemList.end(), &element);   return (true);   }    
     53         bool addValue(Mapped* element) 
     54         {   this->_elemList.insert(this->_elemList.end(), element);   return (true);   }    
    5555          
    5656          
    57          void removeValue(const Key& kval) 
    58          { Mapped& element = find(kval)->second; removeValue(element); this->erase(kval);  } 
     57         void removeValue(const Key& kval) // Non testé 
     58         { Mapped* element = find(kval)->second; removeValue(element); this->erase(kval); } 
    5959          
    60          void removeValue(const Mapped& element) 
     60         void removeValue(const Mapped* element) // Non testé 
    6161         { 
    6262            for (int i = 0; i < this->_elemList.size(); i++)              
    63                if (*this->_elemList[i] == element ) this->_elemList.erase(this->_elemList.begin()+i); 
     63               if (*this->_elemList[i] == element ) 
     64                  this->_elemList.erase(this->_elemList.begin()+i); 
     65                   
     66            delete element; 
    6467         } 
    6568          
     
    8083         {/* Ne rien faire de plus */}    
    8184          
    82          bool addObject(Mapped& element) 
    83          { if(element.hasId()) return(addValue(element.getId(), element));   return(addValue(element)); } 
    84           
    85          bool addPtrObject(Mapped element) 
     85         bool addObject(Mapped* element) 
    8686         { if(element->hasId()) return(addValue(element->getId(), element));   return(addValue(element)); } 
    87           
     87                   
    8888         bool removeObject(const string& kval) 
    8989         {  
Note: See TracChangeset for help on using the changeset viewer.