本文整理汇总了C++中DLList::next方法的典型用法代码示例。如果您正苦于以下问题:C++ DLList::next方法的具体用法?C++ DLList::next怎么用?C++ DLList::next使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DLList
的用法示例。
在下文中一共展示了DLList::next方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ndbrequire
void
Dbtup::fireDetachedTriggers(KeyReqStruct *req_struct,
DLList<TupTriggerData>& triggerList,
Operationrec* const regOperPtr,
bool disk)
{
TriggerPtr trigPtr;
/**
* Set disk page
*/
req_struct->m_disk_page_ptr.i = m_pgman.m_ptr.i;
ndbrequire(regOperPtr->is_first_operation());
triggerList.first(trigPtr);
while (trigPtr.i != RNIL) {
jam();
if ((trigPtr.p->monitorReplicas ||
regOperPtr->op_struct.primary_replica) &&
(trigPtr.p->monitorAllAttributes ||
trigPtr.p->attributeMask.overlaps(req_struct->changeMask))) {
jam();
executeTrigger(req_struct,
trigPtr.p,
regOperPtr,
disk);
}
triggerList.next(trigPtr);
}
}
示例2: executeTriggers
void Dbtup::executeTriggers(KeyReqStruct *req_struct,
DLList<TupTriggerData>& triggerList,
Operationrec* regOperPtr,
bool disk)
{
TriggerPtr trigPtr;
triggerList.first(trigPtr);
while (trigPtr.i != RNIL) {
jam();
executeTrigger(req_struct,
trigPtr.p,
regOperPtr,
disk);
triggerList.next(trigPtr);
}
}
示例3: findTriggerList
/* ---------------------------------------------------------------- */
Uint32
Dbtup::dropTrigger(Tablerec* table, const DropTrigReq* req, BlockNumber sender)
{
if (ERROR_INSERTED(4004)) {
CLEAR_ERROR_INSERT_VALUE;
return 9999;
}
Uint32 triggerId = req->getTriggerId();
TriggerType::Value ttype = req->getTriggerType();
TriggerActionTime::Value ttime = req->getTriggerActionTime();
TriggerEvent::Value tevent = req->getTriggerEvent();
// ndbout_c("Drop TupTrigger %u = %u %u %u %u by %u", triggerId, table, ttype, ttime, tevent, sender);
DLList<TupTriggerData>* tlist = findTriggerList(table, ttype, ttime, tevent);
ndbrequire(tlist != NULL);
Ptr<TupTriggerData> ptr;
for (tlist->first(ptr); !ptr.isNull(); tlist->next(ptr)) {
jam();
if (ptr.p->triggerId == triggerId) {
if(ttype==TriggerType::SUBSCRIPTION && sender != ptr.p->m_receiverBlock)
{
/**
* You can only drop your own triggers for subscription triggers.
* Trigger IDs are private for each block.
*
* SUMA encodes information in the triggerId
*
* Backup doesn't really care about the Ids though.
*/
jam();
continue;
}
jam();
tlist->release(ptr.i);
return 0;
}
}
return DropTrigRef::TriggerNotFound;
}//Dbtup::dropTrigger()
示例4: while
void
Dbtup::fireDeferredTriggers(Signal* signal,
KeyReqStruct *req_struct,
DLList<TupTriggerData>& triggerList,
Operationrec* const regOperPtr)
{
TriggerPtr trigPtr;
triggerList.first(trigPtr);
while (trigPtr.i != RNIL) {
jam();
if (trigPtr.p->monitorAllAttributes ||
trigPtr.p->attributeMask.overlaps(req_struct->changeMask)) {
jam();
executeTrigger(req_struct,
trigPtr,
regOperPtr);
}//if
triggerList.next(trigPtr);
}//while
}//Dbtup::fireDeferredTriggers()
示例5: main
int main()
{
using namespace std;
DLList<int> myIntDLL;
cout << "Prepending: 5" << endl;
myIntDLL.prepend(5);
myIntDLL.printList();
cout << "Prepending: 4" << endl;
myIntDLL.prepend(4);
myIntDLL.printList();
cout << "Prepending: 3" << endl;
myIntDLL.prepend(3);
myIntDLL.printList();
cout << "Appending: 9" << endl;
myIntDLL.append(9);
myIntDLL.printList();
cout << "Appending: 8" << endl;
myIntDLL.append(8);
myIntDLL.printList();
cout << "Appeding: 7" << endl;
myIntDLL.append(7);
myIntDLL.printList();
cout << "Current data: " << *myIntDLL.getValue() << endl;
cout << "Moving to end" << endl;
myIntDLL.moveToEnd();
cout << "Current data: " << *myIntDLL.getValue() << endl;
cout << "Moving to start" << endl;
myIntDLL.moveToStart();
cout << "Current data: " << *myIntDLL.getValue() << endl;
cout << "Iterating through list with next function" << endl;
for (int i = 0; i < 10; i++)
{
cout << "Current data: " << *myIntDLL.getValue() << endl;
cout << "Next: " << myIntDLL.next() << endl;
}
cout << "Iterating through list with prev function" << endl;
for (int i = 0; i < 10; i++)
{
cout << "Current data: " << *myIntDLL.getValue() << endl;
cout << "Prev: " << myIntDLL.prev() << endl;
}
cout << "Number of links active: " << myIntDLL.numActive() << endl;
cout << "Number of links free: " << myIntDLL.numFree() << endl;
cout << "Clearing list" << endl;
myIntDLL.clear();
myIntDLL.printList();
cout << "Number of links active: " << myIntDLL.numActive() << endl;
cout << "Number of links free: " << myIntDLL.numFree() << endl;
return 0;
}