src/corelib/tools/qhash.h
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
   929 
   929 
   930     inline typename QHash<Key, T>::iterator insert(const Key &key, const T &value)
   930     inline typename QHash<Key, T>::iterator insert(const Key &key, const T &value)
   931     { return QHash<Key, T>::insertMulti(key, value); }
   931     { return QHash<Key, T>::insertMulti(key, value); }
   932 
   932 
   933     inline QMultiHash &operator+=(const QMultiHash &other)
   933     inline QMultiHash &operator+=(const QMultiHash &other)
   934     { unite(other); return *this; }
   934     { this->unite(other); return *this; }
   935     inline QMultiHash operator+(const QMultiHash &other) const
   935     inline QMultiHash operator+(const QMultiHash &other) const
   936     { QMultiHash result = *this; result += other; return result; }
   936     { QMultiHash result = *this; result += other; return result; }
   937 
   937 
   938 #if !defined(Q_NO_USING_KEYWORD) && !defined(Q_CC_RVCT)
   938 #if !defined(Q_NO_USING_KEYWORD) && !defined(Q_CC_RVCT)
   939     // RVCT compiler doesn't handle using-keyword right when used functions are overloaded in child class
   939     // RVCT compiler doesn't handle using-keyword right when used functions are overloaded in child class
  1004     int n = 0;
  1004     int n = 0;
  1005     typename QHash<Key, T>::iterator i(find(key));
  1005     typename QHash<Key, T>::iterator i(find(key));
  1006     typename QHash<Key, T>::iterator end(QHash<Key, T>::end());
  1006     typename QHash<Key, T>::iterator end(QHash<Key, T>::end());
  1007     while (i != end && i.key() == key) {
  1007     while (i != end && i.key() == key) {
  1008         if (i.value() == value) {
  1008         if (i.value() == value) {
  1009 #if defined(Q_CC_RVCT)
  1009             i = this->erase(i);
  1010             // RVCT has problems with scoping, apparently.
       
  1011             i = QHash<Key, T>::erase(i);
       
  1012 #else
       
  1013             i = erase(i);
       
  1014 #endif
       
  1015             ++n;
  1010             ++n;
  1016         } else {
  1011         } else {
  1017             ++i;
  1012             ++i;
  1018         }
  1013         }
  1019     }
  1014     }