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


C++ SymbolList::GetCount方法代码示例

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


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

示例1: IfFalseThrow

void AllContainersInFileInOrderIterator::Init
(
    SourceFile *pFile,
    bool fIncludePartialContainers,
    bool fIncludeTransientTypes
)
{

    // Free the memory.
    m_nra.FreeHeap();

    if (pFile != NULL)
    {
        SymbolList *pList = pFile->GetNamespaceLevelSymbolList();
        unsigned cContainers = pList->GetCount();
        BCSYM_Container **ppContainer;
        BCSYM_NamedRoot *pCurrent, *pContainer;

        IfFalseThrow(cContainers + 1 > cContainers);
        ppContainer = m_ppNext = (BCSYM_Container **)m_nra.Alloc(VBMath::Multiply(
            (cContainers + 1), 
            sizeof(BCSYM_Container *)));

        for (pCurrent = pList->GetFirst(); pCurrent; pCurrent = pCurrent->GetNextInSymbolList())
        {

            pContainer = pCurrent->DigThroughAlias()->PNamedRoot();

            if (pContainer->IsContainer() &&
                (fIncludePartialContainers || !pContainer->PContainer()->IsPartialTypeAndHasMainType()) &&
                (fIncludeTransientTypes || !pContainer->IsTransientClass())
               )
            {
                *ppContainer = pContainer->PContainer();
                ppContainer++;
            }
        }

        // Sort the list in file definition order.
        extern int _cdecl SortSymbolsByLocation(const void *arg1, const void *arg2);

        qsort(m_ppNext, ppContainer - m_ppNext, sizeof(BCSYM_Container *), SortSymbolsByLocation);
    }
    else
    {
        m_ppNext =  NULL;
    }
}
开发者ID:,项目名称:,代码行数:48,代码来源:


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