本文整理汇总了C++中Child::setNextParentChild方法的典型用法代码示例。如果您正苦于以下问题:C++ Child::setNextParentChild方法的具体用法?C++ Child::setNextParentChild怎么用?C++ Child::setNextParentChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Child
的用法示例。
在下文中一共展示了Child::setNextParentChild方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getLastChild
testlist::Child testlist::Parent::popBackChild() const {
Child result = getLastChild();
if(result.isValid())
{
result.removeParentHandler();
Child prev = result.getPrevParentChild();
result.setPrevParentChild(Child());
result.setNextParentChild(Child());
setLastChild(prev);
if(!prev.isValid())
setFirstChild(Child());
else
prev.setNextParentChild(Child());
setNumChilds(getNumChilds() - 1);
result.setParent(Parent());
}
return result;
}
示例2: setLastChild
Bool testlist::Parent::insertAfterChild(const Child & child, const Child & prev) const {
if(!child.isExists() ||
!prev.isExists() ||
prev.getParent() != *this ||
child.getParent().isValid())
return false;
Child next = prev.getNextParentChild();
prev.setNextParentChild(child);
child.setPrevParentChild(prev);
child.setNextParentChild(next);
if(next.isValid())
next.setPrevParentChild(child);
else
setLastChild(child);
child.setParent(*this);
setNumChilds(getNumChilds() + 1);
child.setupParentHandler();
return true;
}
示例3: setFirstChild
Bool testlist::Parent::insertBeforeChild(const Child & child, const Child & next) const {
if(!child.isExists() ||
!next.isExists() ||
next.getParent() != *this ||
child.getParent().isValid())
return false;
Child prev = next.getPrevParentChild();
next.setPrevParentChild(child);
child.setNextParentChild(next);
child.setPrevParentChild(prev);
if(prev.isValid())
prev.setNextParentChild(child);
else
setFirstChild(child);
child.setParent(*this);
setNumChilds(getNumChilds() + 1);
child.setupParentHandler();
return true;
}
示例4: getFirstChild
testlist::Child testlist::Parent::popFrontChild() const {
Child result = getFirstChild();
if(result.isValid())
{
result.removeParentHandler();
Child next = result.getNextParentChild();
result.setNextParentChild(Child());
result.setPrevParentChild(Child());
setFirstChild(next);
if(!next.isValid())
setLastChild(Child());
else
next.setPrevParentChild(Child());
setNumChilds(getNumChilds() - 1);
result.setParent(Parent());
}
return result;
}
示例5: if
Bool testlist::Parent::removeChild(const Child & child) const {
if( !child.isExists() || child.getParent() != *this)
return false;
child.removeParentHandler();
Child next = child.getNextParentChild(), prev = child.getPrevParentChild();
if(next.isValid())
next.setPrevParentChild(prev);
else if (getLastChild() == child)
setLastChild(prev);
else
return false;
if(prev.isValid())
prev.setNextParentChild(next);
else if (getFirstChild() == child)
setFirstChild(next);
else
return false;
child.setNextParentChild(Child());
child.setPrevParentChild(Child());
child.setParent(Parent());
setNumChilds(getNumChilds() - 1);
return true;
}