本文整理汇总了C++中Section::GetChildren方法的典型用法代码示例。如果您正苦于以下问题:C++ Section::GetChildren方法的具体用法?C++ Section::GetChildren怎么用?C++ Section::GetChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Section
的用法示例。
在下文中一共展示了Section::GetChildren方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SectionSP
SectionSP
SectionList::FindSectionContainingLinkedFileAddress (addr_t vm_addr, uint32_t depth) const
{
//if (m_range_cache.IsEmpty())
// BuildRangeCache();
#ifdef LLDB_CONFIGURATION_DEBUG
assert(m_finalized);
#endif
SectionRangeCache::Entry *entry = m_range_cache.FindEntryThatContains(vm_addr);
if (entry)
return m_sections[entry->data];
if (depth == 0)
return SectionSP();
for (const_iterator si = m_sections.begin(), se = m_sections.end();
si != se;
++si)
{
Section *sect = si->get();
SectionSP sect_sp = sect->GetChildren().FindSectionContainingLinkedFileAddress(vm_addr, depth - 1);
if (sect_sp)
return sect_sp;
}
return SectionSP();
}
示例2: BuildRangeCache
void
SectionList::Finalize ()
{
BuildRangeCache();
for (const_iterator si = m_sections.begin(), se = m_sections.end();
si != se;
++si)
{
Section *sect = si->get();
sect->GetChildren().Finalize();
}
}
示例3: if
SectionSP
SectionList::FindSectionContainingLinkedFileAddress (addr_t vm_addr, uint32_t depth) const
{
SectionSP sect_sp;
const_iterator sect_iter;
const_iterator end = m_sections.end();
for (sect_iter = m_sections.begin(); sect_iter != end && sect_sp.get() == NULL; ++sect_iter)
{
Section *sect = sect_iter->get();
if (sect->ContainsLinkedFileAddress (vm_addr))
{
sect_sp = *sect_iter;
}
else if (depth > 0)
{
sect_sp = sect->GetChildren().FindSectionContainingLinkedFileAddress (vm_addr, depth - 1);
}
}
return sect_sp;
}
示例4:
SectionSP
SectionList::FindSectionContainingFileAddress (addr_t vm_addr, uint32_t depth) const
{
SectionSP sect_sp;
const_iterator sect_iter;
const_iterator end = m_sections.end();
for (sect_iter = m_sections.begin(); sect_iter != end && sect_sp.get() == NULL; ++sect_iter)
{
Section *sect = sect_iter->get();
if (sect->ContainsFileAddress (vm_addr))
{
// The file address is in this section. We need to make sure one of our child
// sections doesn't contain this address as well as obeying the depth limit
// that was passed in.
if (depth > 0)
sect_sp = sect->GetChildren().FindSectionContainingFileAddress(vm_addr, depth - 1);
if (sect_sp.get() == NULL && !sect->IsFake())
sect_sp = *sect_iter;
}
}
return sect_sp;
}