本文整理汇总了C++中boost::shared_ptr::GetActivity方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::GetActivity方法的具体用法?C++ shared_ptr::GetActivity怎么用?C++ shared_ptr::GetActivity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类boost::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::GetActivity方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RemoveItem
void Scheduler::RemoveItem(boost::shared_ptr<Schedule> item)
{
LOG_AM_TRACE("Entering function %s", __FUNCTION__);
LOG_AM_DEBUG("Removing [Activity %llu]",
item->GetActivity()->GetId());
try {
/* Do NOT attempt to get an iterator to an item that isn't in a
* container. */
if (item->m_queueItem.is_linked()) {
bool updateWake = false;
/* If the item is at the head of either queue, the time might
* have changed. Otherwise, it definitely didn't. */
if (item->IsLocal()) {
if (m_localQueue.iterator_to(*item) == m_localQueue.begin()) {
updateWake = true;
}
} else {
if (m_queue.iterator_to(*item) == m_queue.begin()) {
updateWake = true;
}
}
item->m_queueItem.unlink();
if (updateWake) {
DequeueAndUpdateTimeout();
}
}
} catch (...) {
}
}
示例2: AddItem
void Scheduler::AddItem(boost::shared_ptr<Schedule> item)
{
LOG_AM_TRACE("Entering function %s", __FUNCTION__);
LOG_AM_DEBUG(
"Adding [Activity %llu] to start at %llu (%s)",
item->GetActivity()->GetId(),
(unsigned long long)item->GetNextStartTime(),
TimeToString(item->GetNextStartTime(), !item->IsLocal()).c_str());
bool updateWake = false;
if (item->IsLocal()) {
m_localQueue.insert(*item);
if (m_localQueue.iterator_to(*item) == m_localQueue.begin()) {
updateWake = true;
}
} else {
m_queue.insert(*item);
if (m_queue.iterator_to(*item) == m_queue.begin()) {
updateWake = true;
}
}
if (updateWake) {
DequeueAndUpdateTimeout();
}
}