Changeset 95 for XMLIO_V2/dev/dev_rv/xmlio_container.hpp
- Timestamp:
- 06/04/10 12:02:47 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/xmlio_container.hpp
r91 r95 19 19 template<class Key, class Mapped, class HashFunc = Hash<Key> > 20 20 class ExHashMap 21 : private HashMap<Key, Mapped , Hash<Key> >21 : private HashMap<Key, Mapped*, Hash<Key> > 22 22 { 23 23 public : 24 ExHashMap() : HashMap<Key, Mapped , Hash<Key> >(), _elemList()24 ExHashMap() : HashMap<Key, Mapped*, Hash<Key> >(), _elemList() 25 25 {/* Ne rien faire de plus */} 26 26 27 Mapped &operator[] (const Key& kval) throw (XMLIOUndefinedValueException)27 Mapped* operator[] (const Key& kval) throw (XMLIOUndefinedValueException) 28 28 { 29 29 if(!hasMappedValue(kval)) … … 44 44 protected : 45 45 46 bool addValue(const Key& kval, Mapped &element)46 bool addValue(const Key& kval, Mapped* element) 47 47 { 48 48 pair<typename ExHashMap::Iterator,bool> p = this->insert(make_pair (kval,element)); … … 51 51 } 52 52 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); } 55 55 56 56 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); } 59 59 60 void removeValue(const Mapped & element)60 void removeValue(const Mapped* element) // Non testé 61 61 { 62 62 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; 64 67 } 65 68 … … 80 83 {/* Ne rien faire de plus */} 81 84 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) 86 86 { if(element->hasId()) return(addValue(element->getId(), element)); return(addValue(element)); } 87 87 88 88 bool removeObject(const string& kval) 89 89 {
Note: See TracChangeset
for help on using the changeset viewer.