void CMMLNodeAttrList::getTag2AttrList( QString tagname, std::vector<long>& attrIdx ) { attrIdx.clear(); std::multimap<QString, long>::const_iterator fndIter = m_tag2attrno.find( tagname ); if( fndIter == m_tag2attrno.end() ) return; do { Q_ASSERT( fndIter->first == tagname ); Q_ASSERT( fndIter->second < (long) getParameterNumber() ); attrIdx.push_back( fndIter->second ); fndIter++; } while( fndIter != m_tag2attrno.end() && fndIter->first == tagname ); }
int CMMLNodeAttrList::isSupportedTag2Attr( QString tagName, QString attrName ) { CNode_TextPropertyData *data; std::multimap<QString, long>::const_iterator fndIter = m_tag2attrno.find( tagName ); if( fndIter == m_tag2attrno.end() ) return 0; do { Q_ASSERT( fndIter->first == tagName ); Q_ASSERT( fndIter->second < (long) getParameterNumber() ); if( (data = getParameter( fndIter->second )) == 0 ) continue; if( data->m_name == attrName ) return 1; fndIter++; } while( fndIter != m_tag2attrno.end() && fndIter->first == tagName ); return 0; }
float DLPAggregWrapper::getParameter(int index) { if (index < getParameterNumber()) return parameters[index]; return -1; }