size_t Phase::speciesIndex(const std::string& nameStr) const { if (nameStr.find(':') != npos) { std::string pn; std::string sn = parseSpeciesName(nameStr, pn); if (pn == "" || pn == m_name || pn == m_id) { return getValue(m_speciesIndices, sn, npos); } else { return npos; } } else { return getValue(m_speciesIndices, nameStr, npos); } }
size_t Phase::speciesIndex(const std::string& nameStr) const { size_t loc = getValue(m_speciesIndices, toLowerCopy(nameStr), npos); if (loc == npos && nameStr.find(':') != npos) { std::string pn; std::string sn = toLowerCopy(parseSpeciesName(nameStr, pn)); if (pn == "" || pn == m_name || pn == m_id) { return getValue(m_speciesIndices, sn, npos); } else { return npos; } } else { return loc; } }
size_t Phase::speciesIndex(const std::string& nameStr) const { std::string pn; std::string sn = parseSpeciesName(nameStr, pn); if (pn == "" || pn == m_name || pn == m_id) { vector<string>::const_iterator it = m_speciesNames.begin(); for (size_t k = 0; k < m_kk; k++) { if (*it == sn) { return k; } ++it; } return npos; } return npos; }