Ejemplo n.º 1
0
Unit *getNextUnit()
{
   UnitTime ut = time_queue.top();
   time_queue.pop();
   ticks = ut.tick;
   return (current_unit = ut.unit);
}
Ejemplo n.º 2
0
 void get_next(fractional_t &t)
 {
     TestPoints* pt;
     do // avoid duplicates
     {
         pt = queue.top();
         queue.pop();
         t = pt->get_cur();
         pt->next();
         queue.push(pt);
     } while (t == last);
     last = t;
 }
Ejemplo n.º 3
0
 void init(const fractional_t &speed,
           const fractional_t &min_time)
 {
     last = -1;
     // clean out queue
     while (!queue.empty())
         queue.pop();
     // add all iterators
     for (unsigned int i = 0; i < ts.get_task_count(); i++)
     {
         pts[i].init(ts[i], speed, min_time);
         queue.push(pts + i);
     }
 }
Ejemplo n.º 4
0
int addUnitToQueue( Unit* unit, unsigned long ticks_from_now )
{
   if (unit == NULL || ticks_from_now < 0)
      return -1;

   time_queue.push( UnitTime( ticks_from_now + ticks, unit ) );
   return 0;
}