本文整理汇总了C++中WillBeHeapVector::reserveCapacity方法的典型用法代码示例。如果您正苦于以下问题:C++ WillBeHeapVector::reserveCapacity方法的具体用法?C++ WillBeHeapVector::reserveCapacity怎么用?C++ WillBeHeapVector::reserveCapacity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WillBeHeapVector
的用法示例。
在下文中一共展示了WillBeHeapVector::reserveCapacity方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateFindMatchRects
void TextFinder::updateFindMatchRects()
{
IntSize currentContentsSize = m_ownerFrame.contentsSize();
if (m_contentsSizeForCurrentFindMatchRects != currentContentsSize) {
m_contentsSizeForCurrentFindMatchRects = currentContentsSize;
m_findMatchRectsAreValid = false;
}
size_t deadMatches = 0;
for (Vector<FindMatch>::iterator it = m_findMatchesCache.begin(); it != m_findMatchesCache.end(); ++it) {
if (!it->m_range->boundaryPointsValid() || !it->m_range->startContainer()->inDocument())
it->m_rect = FloatRect();
else if (!m_findMatchRectsAreValid)
it->m_rect = findInPageRectFromRange(it->m_range.get());
if (it->m_rect.isEmpty())
++deadMatches;
}
// Remove any invalid matches from the cache.
if (deadMatches) {
WillBeHeapVector<FindMatch> filteredMatches;
filteredMatches.reserveCapacity(m_findMatchesCache.size() - deadMatches);
for (Vector<FindMatch>::const_iterator it = m_findMatchesCache.begin(); it != m_findMatchesCache.end(); ++it) {
if (!it->m_rect.isEmpty())
filteredMatches.append(*it);
}
m_findMatchesCache.swap(filteredMatches);
}
// Invalidate the rects in child frames. Will be updated later during traversal.
if (!m_findMatchRectsAreValid)
for (WebFrame* child = m_ownerFrame.firstChild(); child; child = child->nextSibling())
toWebLocalFrameImpl(child)->ensureTextFinder().m_findMatchRectsAreValid = false;
m_findMatchRectsAreValid = true;
}
示例2: checkInvalidControlsAndCollectUnhandled
bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(WillBeHeapVector<RefPtrWillBeMember<HTMLFormControlElement>>* unhandledInvalidControls, CheckValidityEventBehavior eventBehavior)
{
RefPtrWillBeRawPtr<HTMLFormElement> protector(this);
// Copy associatedElements because event handlers called from
// HTMLFormControlElement::checkValidity() might change associatedElements.
const FormAssociatedElement::List& associatedElements = this->associatedElements();
WillBeHeapVector<RefPtrWillBeMember<FormAssociatedElement>> elements;
elements.reserveCapacity(associatedElements.size());
for (unsigned i = 0; i < associatedElements.size(); ++i)
elements.append(associatedElements[i]);
int invalidControlsCount = 0;
for (unsigned i = 0; i < elements.size(); ++i) {
if (elements[i]->form() == this && elements[i]->isFormControlElement()) {
HTMLFormControlElement* control = toHTMLFormControlElement(elements[i].get());
if (control->isSubmittableElement() && !control->checkValidity(unhandledInvalidControls, eventBehavior) && control->formOwner() == this) {
++invalidControlsCount;
if (!unhandledInvalidControls && eventBehavior == CheckValidityDispatchNoEvent)
return true;
}
}
}
return invalidControlsCount;
}