当前位置: 首页>>代码示例>>C++>>正文


C++ DLList::next方法代码示例

本文整理汇总了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);
  }
}
开发者ID:Abner-Sun,项目名称:mysql5.1-vx-pre1,代码行数:31,代码来源:DbtupTrigger.cpp

示例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);

  }
}
开发者ID:Abner-Sun,项目名称:mysql5.1-vx-pre1,代码行数:17,代码来源:DbtupTrigger.cpp

示例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()
开发者ID:Abner-Sun,项目名称:mysql5.1-vx-pre1,代码行数:43,代码来源:DbtupTrigger.cpp

示例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()
开发者ID:Abner-Sun,项目名称:mysql5.1-vx-pre1,代码行数:20,代码来源:DbtupTrigger.cpp

示例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;
}
开发者ID:robertg231,项目名称:CSCI-115,代码行数:66,代码来源:Lab+4+project.cpp


注:本文中的DLList::next方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。