inline T* getObject( const QString & objectName ) const { typename QMap<QString, T*>::const_iterator it = m_objectByName.find( objectName ); if ( it != m_objectByName.end() ) return it.value(); return NULL; }
inline T* getObject( quint32 objectId ) const { typename QMap<quint32, T*>::const_iterator it = m_objectById.find( objectId ); if ( it != m_objectById.end() ) return it.value(); return NULL; }
void NoobaPlugin::deleteMapItems(QMap<QString, value>& map) { typename QMap<QString, value>::iterator iter = map.begin(); for(; iter != map.end(); iter++) { delete iter.value(); } map.clear(); }
QStringList PluginGauss::getRefsNames() const { QStringList refNames; typename QMap< QString, QMap<QString, QMap<double, double> > >::const_iterator it = mRefDatas.begin(); while(it != mRefDatas.end()) { refNames.push_back(it.key()); ++it; } return refNames; }
//! populate two lists (ks, vs) from map - in reverse order template <class Key, class T> void mapToReversedLists( const QMap< Key, T >& map, QList<Key>& ks, QList<T>& vs ) { ks.reserve( map.size() ); vs.reserve( map.size() ); typename QMap<Key, T>::const_iterator i = map.constEnd(); while ( i-- != map.constBegin() ) { ks.append( i.key() ); vs.append( i.value() ); } }
static void clear(QMap<int, T*> &temp) { QMap<int, T*> clearMap = temp; typename QMap<int, T*>::iterator it; for(it = clearMap.begin(); it != clearMap.end(); ) { SAFE_DELETE(it.value()); clearMap.erase(it++); } clearMap.clear(); }
~SemanticObjectManager() { if ( m_objectByName.empty() == false ) { typename QMap<QString, T*>::iterator it = m_objectByName.begin(); typename QMap<QString, T*>::iterator end = m_objectByName.end(); for ( ; it != end; ++it ) delete it.value(); } }
inline bool deleteObject( const QString & objectName ) { typename QMap<quint32, T*>::iterator itid; quint32 objectId; itid = m_objectById.find( getObjectIdByObjectName( objectName ) ); if ( itid != m_objectById.end() ) { T* value; value = itid.value(); objectId = itid.key(); if (value != NULL) { delete value; m_objectByName.erase( m_objectByName.find( objectName ) ); m_nameById.erase( m_nameById.find( objectId) ); if ( objectId < ( m_higherFreeId - 1 ) ) { m_objectById[ objectId ] = NULL; ++m_mapHoles; } else { m_objectById.erase( itid ); --m_higherFreeId; } } else { qDebug() << "You can't delete the object named [" << objectName << "], it already has been deleted!"; return false; } } else { qDebug() << "You can't delete the object named [" << objectName << "], it doesn't exist!"; return false; } return true; }