本文整理汇总了C++中FullPos::setContainer方法的典型用法代码示例。如果您正苦于以下问题:C++ FullPos::setContainer方法的具体用法?C++ FullPos::setContainer怎么用?C++ FullPos::setContainer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FullPos
的用法示例。
在下文中一共展示了FullPos::setContainer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: newFullPos
void ArrayData::newFullPos(FullPos &fp) {
assert(fp.getContainer() == NULL);
fp.setContainer(this);
fp.setNext(strongIterators());
setStrongIterators(&fp);
getFullPos(fp);
}
示例2: newFullPos
void ArrayData::newFullPos(FullPos &fp) {
assert(!fp.getContainer());
fp.setContainer(this);
fp.setNext(strongIterators());
setStrongIterators(&fp);
fp.m_pos = m_pos;
}
示例3: freeFullPos
void ArrayData::freeFullPos(FullPos &fp) {
assert(strongIterators() != 0 && fp.getContainer() == (ArrayData*)this);
// search for fp in our list, then remove it. Usually its the first one.
FullPos* p = strongIterators();
if (p == &fp) {
setStrongIterators(p->getNext());
fp.setContainer(NULL);
return;
}
for (; p->getNext(); p = p->getNext()) {
if (p->getNext() == &fp) {
p->setNext(p->getNext()->getNext());
fp.setContainer(NULL);
return;
}
}
// If the strong iterator list was empty or if fp could not be
// found in the strong iterator list, then we are in a bad state
assert(false);
}