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


C++ EventPtr::getScheduled方法代码示例

本文整理汇总了C++中EventPtr::getScheduled方法的典型用法代码示例。如果您正苦于以下问题:C++ EventPtr::getScheduled方法的具体用法?C++ EventPtr::getScheduled怎么用?C++ EventPtr::getScheduled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在EventPtr的用法示例。


在下文中一共展示了EventPtr::getScheduled方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: while

bool
Map::doProcessOneEvent()
{
    commandQueue_.runCommands();

    // search next event
    while (nowItr_->second->empty())
    {
        if (events_.size() == 1)
        {
            // No more events left!
            return false;
        }
        else
        {
            delete events_.begin()->second;
            events_.erase(events_.begin());
        }
        nowItr_ = events_.begin();
    }

    assure(!nowItr_->second->empty(), "There MUST be events!");

    // get next event
    EventPtr nextEvent = nowItr_->second->front();

    wns::simulator::Time newTime = nextEvent->getScheduled();

    // run until all now events are processed
    if (simTime_ < newTime)
    {
        if(stop_)
        {
            return false;
        }
        onNewSimTime(newTime);
    }

    simTime_ = newTime;

    nextEvent->state_ = Event::Running;
    (*nextEvent)();
    nextEvent->state_ = Event::Finished;

    // remove the event
    nowItr_->second->pop_front();

    return true;
}
开发者ID:freiheitsnetz,项目名称:openwns-library,代码行数:49,代码来源:Map.cpp

示例2: event

wns::events::scheduler::IEventPtr
Map::doSchedule(const Callable& callable, wns::simulator::Time at)
{
    EventPtr event (new wns::events::scheduler::Map::Event(callable));
    event->scheduler_ = this;
    event->issued_ = getTime();
    event->scheduled_ = at;
    EventContainer::iterator itr = events_.find(event->getScheduled());
    if (itr == events_.end())
    {
        DiscreteTimeContainer* dtc = new DiscreteTimeContainer();
        // we need to add a new list
        dtc->push_back(event);
        events_[at] = dtc;
    }
    else
    {
        itr->second->push_back(event);
    }
    event->state_ = Event::Queued;
    return event;
}
开发者ID:freiheitsnetz,项目名称:openwns-library,代码行数:22,代码来源:Map.cpp


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