SIMLIB/C++
3.07
|
class CalendarListImplementation — sorted list More...
Classes | |
class | iterator |
Public Member Functions | |
iterator | begin () |
iterator | end () |
bool | empty () |
double | first_time () |
EventNotice * | first () |
void | insert (Entity *e, double t) |
enqueue operation More... | |
Entity * | remove (Entity *e) |
special dequeue operation for rescheduling More... | |
Entity * | remove_first () |
dequeue operation More... | |
CalendarListImplementation () | |
void | clear (bool destroy) |
remove all items More... | |
~ CalendarListImplementation () | |
void | debug_print () |
print of calendar contents - FOR DEBUGGING ONLY More... | |
EventNotice * | extract_first () |
fast special operations for list swap (Dangerous!): More... | |
void | insert_extracted (EventNotice *evn) |
fast special enqueue operation More... | |
Private Member Functions | |
iterator | search (EventNotice *en) |
search — linear search for insert position More... | |
Private Attributes | |
EventNoticeLinkBase | l |
head of circular list More... | |
class CalendarListImplementation — sorted list
Definition at line 264 of file calendar.cc.
|
inline |
Definition at line 330 of file calendar.cc.
|
inline |
Definition at line 339 of file calendar.cc.
References simlib3::allocator, simlib3::Calendar::clear(), simlib3::EventNoticeAllocator::clear(), and simlib3::Calendar::debug_print().
|
inline |
Definition at line 282 of file calendar.cc.
References simlib3::EventNoticeLinkBase::succ.
Referenced by simlib3::CalendarQueue::estimate_bucket_width(), simlib3::CalendarQueue::switchtocq(), and simlib3::CalendarQueue::visualize().
|
inline |
remove all items
destroy | deallocates entities if true |
Definition at line 333 of file calendar.cc.
References simlib3::SimObject::isAllocated().
Referenced by simlib3::CalendarQueue::clear().
void simlib3::CalendarListImplementation::debug_print | ( | ) |
print of calendar contents - FOR DEBUGGING ONLY
Definition at line 1136 of file calendar.cc.
References simlib3::Print().
Referenced by simlib3::CalendarQueue::debug_print().
|
inline |
Definition at line 284 of file calendar.cc.
Referenced by simlib3::CalendarQueue::Resize(), simlib3::CalendarQueue::SearchMinTime(), simlib3::CalendarQueue::switchtocq(), and simlib3::CalendarQueue::switchtolist().
|
inline |
Definition at line 283 of file calendar.cc.
Referenced by simlib3::CalendarQueue::estimate_bucket_width(), simlib3::CalendarQueue::switchtocq(), and simlib3::CalendarQueue::visualize().
|
inline |
fast special operations for list swap (Dangerous!):
Definition at line 349 of file calendar.cc.
References simlib3::EventNoticeLinkBase::remove().
Referenced by simlib3::CalendarQueue::Resize(), simlib3::CalendarQueue::switchtocq(), and simlib3::CalendarQueue::switchtolist().
|
inline |
Definition at line 288 of file calendar.cc.
|
inline |
Definition at line 287 of file calendar.cc.
Referenced by simlib3::CalendarQueue::Get(), simlib3::CalendarQueue::GetFirst(), and simlib3::CalendarQueue::SearchMinTime().
|
inline |
enqueue operation
Definition at line 311 of file calendar.cc.
References simlib3::EventNotice::Create(), and simlib3::EventNoticeLinkBase::insert().
Referenced by simlib3::CalendarQueue::ScheduleAt().
|
inline |
fast special enqueue operation
Definition at line 355 of file calendar.cc.
References simlib3::EventNoticeLinkBase::insert().
Referenced by simlib3::CalendarQueue::Resize(), simlib3::CalendarQueue::switchtocq(), and simlib3::CalendarQueue::switchtolist().
special dequeue operation for rescheduling
Definition at line 318 of file calendar.cc.
References simlib3::EventNotice::Destroy().
Referenced by simlib3::CalendarQueue::Get().
|
inline |
dequeue operation
Definition at line 324 of file calendar.cc.
References simlib3::EventNotice::Destroy().
Referenced by simlib3::CalendarQueue::GetFirst().
|
inlineprivate |
search — linear search for insert position
Definition at line 292 of file calendar.cc.
References simlib3::EventNotice::priority, t, and simlib3::EventNotice::time.
|
private |
head of circular list
Definition at line 265 of file calendar.cc.