bool SkClipStack::operator==(const SkClipStack& b) const { if (fSaveCount != b.fSaveCount || fDeque.count() != b.fDeque.count()) { return false; } SkDeque::F2BIter myIter(fDeque); SkDeque::F2BIter bIter(b.fDeque); const Rec* myRec = (const Rec*)myIter.next(); const Rec* bRec = (const Rec*)bIter.next(); while (myRec != NULL && bRec != NULL) { if (*myRec != *bRec) { return false; } myRec = (const Rec*)myIter.next(); bRec = (const Rec*)bIter.next(); } return myRec == NULL && bRec == NULL; }
bool SkClipStack::operator==(const SkClipStack& b) const { if (this->getTopmostGenID() == b.getTopmostGenID()) { return true; } if (fSaveCount != b.fSaveCount || fDeque.count() != b.fDeque.count()) { return false; } SkDeque::F2BIter myIter(fDeque); SkDeque::F2BIter bIter(b.fDeque); const Element* myElement = (const Element*)myIter.next(); const Element* bElement = (const Element*)bIter.next(); while (myElement != nullptr && bElement != nullptr) { if (*myElement != *bElement) { return false; } myElement = (const Element*)myIter.next(); bElement = (const Element*)bIter.next(); } return myElement == nullptr && bElement == nullptr; }