コード例 #1
0
ファイル: SemanticObjectManager.hpp プロジェクト: Aang/vlmc
    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;
    }
コード例 #2
0
ファイル: SemanticObjectManager.hpp プロジェクト: Aang/vlmc
    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;
    }
コード例 #3
0
ファイル: NoobaPlugin.cpp プロジェクト: Asitha/NoobaVSS
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();
}
コード例 #4
0
ファイル: PluginGauss.cpp プロジェクト: chrono35/chronomodel
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;
}
コード例 #5
0
//! 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() );
  }
}
コード例 #6
0
ファイル: systype.cpp プロジェクト: QiumingLu/Qt
    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();
    }
コード例 #7
0
ファイル: SemanticObjectManager.hpp プロジェクト: Aang/vlmc
    ~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();
        }
    }
コード例 #8
0
ファイル: SemanticObjectManager.hpp プロジェクト: Aang/vlmc
    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;
    }