Esempio n. 1
0
void Node::GetChildDefs(CAtlList<Definition*>& l, LPCWSTR type, bool fFirst)
{
    CAtlList<Definition*> rdl[3];

    if(fFirst)
    {
        if(Definition* pDef = m_pnf->GetDefByName(m_type))
        {
            pDef->GetChildDefs(rdl[pDef->m_priority], type, false);
        }
    }

    POSITION pos = m_nodes.GetHeadPosition();
    while(pos)
    {
        if(Node* pNode = m_nodes.GetNext(pos))
        {
            pNode->GetChildDefs(rdl[pNode->m_priority], type, false);
        }
    }

    for(ptrdiff_t i = 0; i < sizeof(rdl) / sizeof(rdl[0]); i++)
    {
        l.AddTailList(&rdl[i]);
    }
}
Esempio n. 2
0
void    CInsRecycle::DoRecycle()
{
    CAtlList<CResRoot*> tmplist;
    {
        CObjGuard   guard( m_lock );

        if ( m_resList.GetCount() )
        {
            tmplist.AddTailList( &m_resList );
            m_resList.RemoveAll();
        }
    }

    while( tmplist.GetCount() )
    {
        CResRoot*   pi = tmplist.RemoveHead();

        if ( pi )
        {
            pi->Destroy();

            delete pi;
        }
    }
}
Esempio n. 3
0
	void SubtitleFile::SegmentList::Lookup(float at, CAtlList<SegmentItem>& sis)
	{
		sis.RemoveAll();

		size_t k;
		if(Lookup(at, k)) 
		{
			sis.AddTailList(GetSegment(k));
		}
	}
Esempio n. 4
0
void Reference::GetChildDefs(CAtlList<Definition*>& l, LPCWSTR type, bool fFirst)
{
    CAtlList<Definition*> rdl[3];

    POSITION pos = m_nodes.GetHeadPosition();
    while(pos)
    {
        if(Definition* pDef = dynamic_cast<Definition*>(m_nodes.GetNext(pos)))
        {
            if(!type || pDef->m_type == type) // TODO: faster lookup
            {
                rdl[pDef->m_priority].AddTail(pDef);
            }
        }
    }

    for(ptrdiff_t i = 0; i < sizeof(rdl) / sizeof(rdl[0]); i++)
    {
        l.AddTailList(&rdl[i]);
    }
}