DisplayItemList::iterator PaintController::findOutOfOrderCachedItem(const DisplayItem::Id& id, OutOfOrderIndexContext& context) { ASSERT(clientCacheIsValid(id.client)); size_t foundIndex = findMatchingItemFromIndex(id, context.displayItemIndicesByClient, m_currentPaintArtifact.displayItemList()); if (foundIndex != kNotFound) return m_currentPaintArtifact.displayItemList().begin() + foundIndex; return findOutOfOrderCachedItemForward(id, context); }
DisplayItems::iterator DisplayItemList::findOutOfOrderCachedItem(DisplayItems::iterator currentIt, const DisplayItem::Id& id, OutOfOrderIndexContext& context) { ASSERT(clientCacheIsValid(id.client)); // Skip indexing of copied items. if (currentIt - context.nextItemToIndex > 0) context.nextItemToIndex = currentIt; size_t foundIndex = findMatchingItemFromIndex(id, context.displayItemIndicesByClient, m_currentDisplayItems); if (foundIndex != kNotFound) return m_currentDisplayItems.begin() + foundIndex; return findOutOfOrderCachedItemForward(id, context); }