本文整理汇总了C++中HeapVector::reverseFind方法的典型用法代码示例。如果您正苦于以下问题:C++ HeapVector::reverseFind方法的具体用法?C++ HeapVector::reverseFind怎么用?C++ HeapVector::reverseFind使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HeapVector
的用法示例。
在下文中一共展示了HeapVector::reverseFind方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: previous
Element* SlotScopedTraversal::previous(const Element& current)
{
Element* nearestAncestorAssignedToSlot = SlotScopedTraversal::nearestAncestorAssignedToSlot(current);
ASSERT(nearestAncestorAssignedToSlot);
// NodeTraversal within nearestAncestorAssignedToSlot
if (Element* previous = ElementTraversal::previous(current, nearestAncestorAssignedToSlot))
return previous;
// If null, jump to previous assigned node's descendant
const HeapVector<Member<Node>> assignedNodes = nearestAncestorAssignedToSlot->assignedSlot()->getAssignedNodes();
size_t currentIndex = assignedNodes.reverseFind(*nearestAncestorAssignedToSlot);
ASSERT(currentIndex != kNotFound);
for (; currentIndex > 0; --currentIndex) {
const Member<Node> assignedPrevious = assignedNodes[currentIndex - 1];
if (assignedPrevious->isElementNode()) {
if (Element* last = ElementTraversal::lastWithin(*toElement(assignedPrevious)))
return last;
return toElement(assignedPrevious);
}
}
return nullptr;
}