本文整理汇总了C++中SVGPendingElements::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ SVGPendingElements::isEmpty方法的具体用法?C++ SVGPendingElements::isEmpty怎么用?C++ SVGPendingElements::isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SVGPendingElements
的用法示例。
在下文中一共展示了SVGPendingElements::isEmpty方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: removeElementFromPendingResources
void SVGDocumentExtensions::removeElementFromPendingResources(SVGStyledElement* element)
{
ASSERT(element);
// Remove the element from pending resources.
if (!m_pendingResources.isEmpty() && element->hasPendingResources()) {
Vector<AtomicString> toBeRemoved;
HashMap<AtomicString, SVGPendingElements*>::iterator end = m_pendingResources.end();
for (HashMap<AtomicString, SVGPendingElements*>::iterator it = m_pendingResources.begin(); it != end; ++it) {
SVGPendingElements* elements = it->value;
ASSERT(elements);
ASSERT(!elements->isEmpty());
elements->remove(element);
if (elements->isEmpty())
toBeRemoved.append(it->key);
}
element->clearHasPendingResourcesIfPossible();
// We use the removePendingResource function here because it deals with set lifetime correctly.
Vector<AtomicString>::iterator vectorEnd = toBeRemoved.end();
for (Vector<AtomicString>::iterator it = toBeRemoved.begin(); it != vectorEnd; ++it)
removePendingResource(*it);
}
// Remove the element from pending resources that were scheduled for removal.
if (!m_pendingResourcesForRemoval.isEmpty()) {
Vector<AtomicString> toBeRemoved;
HashMap<AtomicString, SVGPendingElements*>::iterator end = m_pendingResourcesForRemoval.end();
for (HashMap<AtomicString, SVGPendingElements*>::iterator it = m_pendingResourcesForRemoval.begin(); it != end; ++it) {
SVGPendingElements* elements = it->value;
ASSERT(elements);
ASSERT(!elements->isEmpty());
elements->remove(element);
if (elements->isEmpty())
toBeRemoved.append(it->key);
}
// We use the removePendingResourceForRemoval function here because it deals with set lifetime correctly.
Vector<AtomicString>::iterator vectorEnd = toBeRemoved.end();
for (Vector<AtomicString>::iterator it = toBeRemoved.begin(); it != vectorEnd; ++it)
removePendingResourceForRemoval(*it);
}
}
示例2: removeElementFromPendingResourcesForRemoval
SVGStyledElement* SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval(const AtomicString& id)
{
if (id.isEmpty())
return 0;
SVGPendingElements* resourceSet = m_pendingResourcesForRemoval.get(id);
if (!resourceSet || resourceSet->isEmpty())
return 0;
SVGPendingElements::iterator firstElement = resourceSet->begin();
SVGStyledElement* element = *firstElement;
resourceSet->remove(firstElement);
if (resourceSet->isEmpty())
removePendingResourceForRemoval(id);
return element;
}
示例3: removeElementFromPendingResources
void SVGDocumentExtensions::removeElementFromPendingResources(Element* element)
{
ASSERT(element);
// Remove the element from pending resources.
if (!m_pendingResources.isEmpty() && element->hasPendingResources()) {
Vector<AtomicString> toBeRemoved;
for (const auto& entry : m_pendingResources) {
SVGPendingElements* elements = entry.value.get();
ASSERT(elements);
ASSERT(!elements->isEmpty());
elements->remove(element);
if (elements->isEmpty())
toBeRemoved.append(entry.key);
}
clearHasPendingResourcesIfPossible(element);
// We use the removePendingResource function here because it deals with set lifetime correctly.
for (const AtomicString& id : toBeRemoved)
removePendingResource(id);
}
// Remove the element from pending resources that were scheduled for removal.
if (!m_pendingResourcesForRemoval.isEmpty()) {
Vector<AtomicString> toBeRemoved;
for (const auto& entry : m_pendingResourcesForRemoval) {
SVGPendingElements* elements = entry.value.get();
ASSERT(elements);
ASSERT(!elements->isEmpty());
elements->remove(element);
if (elements->isEmpty())
toBeRemoved.append(entry.key);
}
// We use the removePendingResourceForRemoval function here because it deals with set lifetime correctly.
for (const AtomicString& id : toBeRemoved)
removePendingResourceForRemoval(id);
}
}
示例4: markPendingResourcesForRemoval
void SVGDocumentExtensions::markPendingResourcesForRemoval(const AtomicString& id)
{
if (id.isEmpty())
return;
ASSERT(!m_pendingResourcesForRemoval.contains(id));
SVGPendingElements* existing = m_pendingResources.take(id);
if (existing && !existing->isEmpty())
m_pendingResourcesForRemoval.add(id, existing);
}