当前位置: 首页>>代码示例>>C++>>正文


C++ HeapVector::swap方法代码示例

本文整理汇总了C++中HeapVector::swap方法的典型用法代码示例。如果您正苦于以下问题:C++ HeapVector::swap方法的具体用法?C++ HeapVector::swap怎么用?C++ HeapVector::swap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HeapVector的用法示例。


在下文中一共展示了HeapVector::swap方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: dispatchScheduledEvent

void MediaRecorder::dispatchScheduledEvent() {
  HeapVector<Member<Event>> events;
  events.swap(m_scheduledEvents);

  for (const auto& event : events)
    dispatchEvent(event);
}
开发者ID:ollie314,项目名称:chromium,代码行数:7,代码来源:MediaRecorder.cpp

示例2: deliver

void IntersectionObserver::deliver()
{

    if (m_entries.isEmpty())
        return;

    HeapVector<Member<IntersectionObserverEntry>> entries;
    entries.swap(m_entries);
    m_callback->handleEvent(entries, *this);
}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:10,代码来源:IntersectionObserver.cpp

示例3: scheduledEventTimerFired

void RTCDTMFSender::scheduledEventTimerFired(TimerBase*) {
  if (m_stopped)
    return;

  HeapVector<Member<Event>> events;
  events.swap(m_scheduledEvents);

  HeapVector<Member<Event>>::iterator it = events.begin();
  for (; it != events.end(); ++it)
    dispatchEvent((*it).release());
}
开发者ID:mirror,项目名称:chromium,代码行数:11,代码来源:RTCDTMFSender.cpp

示例4: scheduledEventTimerFired

void RTCDataChannel::scheduledEventTimerFired(Timer<RTCDataChannel>*)
{
    HeapVector<Member<Event>> events;
    events.swap(m_scheduledEvents);

    HeapVector<Member<Event>>::iterator it = events.begin();
    for (; it != events.end(); ++it)
        dispatchEvent((*it).release());

    events.clear();
}
开发者ID:,项目名称:,代码行数:11,代码来源:

示例5: ensureNoahsArkCondition

void HTMLFormattingElementList::ensureNoahsArkCondition(
    HTMLStackItem* newItem) {
  HeapVector<Member<HTMLStackItem>> candidates;
  tryToEnsureNoahsArkConditionQuickly(newItem, candidates);
  if (candidates.isEmpty())
    return;

  // We pre-allocate and re-use this second vector to save one malloc per
  // attribute that we verify.
  HeapVector<Member<HTMLStackItem>> remainingCandidates;
  remainingCandidates.reserveInitialCapacity(candidates.size());

  for (const auto& attribute : newItem->attributes()) {
    for (const auto& candidate : candidates) {
      // These properties should already have been checked by
      // tryToEnsureNoahsArkConditionQuickly.
      ASSERT(newItem->attributes().size() == candidate->attributes().size());
      ASSERT(newItem->localName() == candidate->localName() &&
             newItem->namespaceURI() == candidate->namespaceURI());

      Attribute* candidateAttribute =
          candidate->getAttributeItem(attribute.name());
      if (candidateAttribute &&
          candidateAttribute->value() == attribute.value())
        remainingCandidates.append(candidate);
    }

    if (remainingCandidates.size() < kNoahsArkCapacity)
      return;

    candidates.swap(remainingCandidates);
    remainingCandidates.shrink(0);
  }

  // Inductively, we shouldn't spin this loop very many times. It's possible,
  // however, that we wil spin the loop more than once because of how the
  // formatting element list gets permuted.
  for (size_t i = kNoahsArkCapacity - 1; i < candidates.size(); ++i)
    remove(candidates[i]->element());
}
开发者ID:,项目名称:,代码行数:40,代码来源:

示例6:

HeapVector<Member<IntersectionObserverEntry>> IntersectionObserver::takeRecords()
{
    HeapVector<Member<IntersectionObserverEntry>> entries;
    entries.swap(m_entries);
    return entries;
}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:6,代码来源:IntersectionObserver.cpp

示例7: getNewRegions

void VTTParser::getNewRegions(HeapVector<Member<VTTRegion>>& outputRegions)
{
    ASSERT(outputRegions.isEmpty());
    outputRegions.swap(m_regionList);
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:5,代码来源:VTTParser.cpp

示例8: getNewCues

void VTTParser::getNewCues(HeapVector<Member<TextTrackCue>>& outputCues)
{
    ASSERT(outputCues.isEmpty());
    outputCues.swap(m_cueList);
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:5,代码来源:VTTParser.cpp


注:本文中的HeapVector::swap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。