本文整理汇总了C++中CNode::GetSibling方法的典型用法代码示例。如果您正苦于以下问题:C++ CNode::GetSibling方法的具体用法?C++ CNode::GetSibling怎么用?C++ CNode::GetSibling使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CNode
的用法示例。
在下文中一共展示了CNode::GetSibling方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetChildCount
UInt32 CNode::GetChildCount( ) const
{
UInt32 i=0;
CNode* child = GetChild();
while( child )
{
i++;
child = child->GetSibling();
}
return i;
}
示例2: RecursiveUnInit
Bool CNode::RecursiveUnInit()
{
CNode* child = GetChild();
while( child )
{
child->RecursiveUnInit();
child = child->GetSibling();
}
SetParent( NULL );
return TRUE;
}
示例3: RecursiveUpdate
Bool CNode::RecursiveUpdate( )
{
if( Update( ) )
{
CNode* child = GetChild();
while( child )
{
child->RecursiveUpdate( );
child = child->GetSibling();
}
PrepareForNextUpdate();
return TRUE;
}
return FALSE;
}
示例4: RemoveAllChilds
Void CNode::RemoveAllChilds()
{
if( m_Child )
{
CNode* node = m_Child;
CNode* tmp = NULL;
while( node )
{
tmp = node;
node = node->GetSibling();
tmp->SetParent( NULL );
}
DebugAssert( m_Child == NULL );
}
}
示例5: RemoveChild
Void CNode::RemoveChild( CNode& childToRemove )
{
CNode* child = m_Child;
CNode* previous = NULL;
while( child )
{
if( child == &childToRemove )
{
// Si le noeud à supprimer n'est pas en premiere position
if( previous )
{
//une reference vers les sibling DOIT être maintenue de manière à ce qu'ils ne soient pas automatiquement détruit
// quand le premier sibling est détruit
CRef<CNode> tmpSibling = childToRemove.m_Sibling;
childToRemove.m_Sibling = NULL;
previous->m_Sibling = NULL; // Supprime le sibling
previous->m_Sibling = tmpSibling; // Attache le nouveau sibling
}
// Si le noeud à supprimer est en premiere position
else
{
//une reference vers les sibling DOIT être maintenue de manière à ce qu'ils ne soient pas automatiquement détruit
// quand le premier sibling est détruit
CRef<CNode> tmpSibling = childToRemove.m_Sibling;
childToRemove.m_Sibling = NULL;
m_Child = NULL; // Supprime le sibling
m_Child = tmpSibling; // Attache le nouveau sibling
}
return;
}
else
{
previous = child;
child = child->GetSibling();
}
}
}