本文整理汇总了C++中WeakPtr::toStrongRef方法的典型用法代码示例。如果您正苦于以下问题:C++ WeakPtr::toStrongRef方法的具体用法?C++ WeakPtr::toStrongRef怎么用?C++ WeakPtr::toStrongRef使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WeakPtr
的用法示例。
在下文中一共展示了WeakPtr::toStrongRef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: lookup
ImageDataCache::Ptr ImageDataCachePrivate::lookup(ImageDataMetadata::Ptr metadata)
{
if (cache.contains(metadata)) {
WeakPtr weakPtr = cache[metadata];
ImageDataCache::Ptr ptr = weakPtr.toStrongRef();
if (ptr.isNull()) {
cache.remove(metadata);
} else {
return ptr;
}
}
ImageDataCache::Ptr ptr(new ImageDataCache::CacheEntry());
cache.insert(metadata, ptr.toWeakRef());
return ptr;
}
示例2: getSymPath
const SymbolPath SymbolNode::getSymPath() const
{
SymbolPath path;
const SymbolNode* curNode = this;
for (WeakPtr wpParent = m_parent; !wpParent.isNull();)
{
Ptr pParent = wpParent.toStrongRef();
for (ConstChildIterator pChild = pParent->childConstBegin();
pChild != pParent->childConstEnd(); ++pChild)
{
if (pChild.value().data() == curNode)
{
path.addParentSymbol(pChild.key());
break;
}
}
wpParent = pParent->m_parent;
}
return path;
}