bool LString::operator !=(const LString &o) const { LString::ConstIterator thisI = this->cbegin(); LString::ConstIterator oI = o.cbegin(); for (; thisI != this->cend() && oI != o.cend(); thisI++, oI++) { if (*thisI == *oI) return false; } return true; }
LString::Iterator LString::find(const LString &str, LString::Iterator start) { ConstIterator si = str.cbegin(); Iterator index; for (Iterator i = start; i != cend(); i++) { if (*si == *i) { if (si == str.cbegin()) { index = i; } si++; if (si == str.cend()) { return index; } continue; } si = str.cbegin(); } return end(); }
int LString::indexOf(const LString &str, int start) const { if (str.length() > this->length()) return -1; if (str.length() == 1) return indexOf(str[0], start); ConstIterator si = str.cbegin(); int indexCounter = start; int index = 0; for (ConstIterator i = at(start); i != cend(); i++, indexCounter++) { if (*si == *i) { if (si == str.cbegin()) { index = indexCounter; } si++; if (si == str.cend()) { return index; } continue; } si = str.cbegin(); } return -1; }