a std::map event scheduler More...
#include <map-scheduler.h>
Public Member Functions | |
MapScheduler () | |
virtual | ~MapScheduler () |
virtual void | Insert (const Event &ev) |
virtual bool | IsEmpty (void) const |
virtual Event | PeekNext (void) const |
virtual Event | RemoveNext (void) |
virtual void | Remove (const Event &ev) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::MapScheduler. | |
Private Types | |
typedef std::map < Scheduler::EventKey, EventImpl * > | EventMap |
typedef std::map < Scheduler::EventKey, EventImpl * >::iterator | EventMapI |
typedef std::map < Scheduler::EventKey, EventImpl * >::const_iterator | EventMapCI |
Private Attributes | |
EventMap | m_list |
a std::map event scheduler
This class implements the an event scheduler using an std::map data structure.
Definition at line 38 of file map-scheduler.h.
typedef std::map<Scheduler::EventKey, EventImpl*> ns3::MapScheduler::EventMap [private] |
Definition at line 53 of file map-scheduler.h.
typedef std::map<Scheduler::EventKey, EventImpl*>::const_iterator ns3::MapScheduler::EventMapCI [private] |
Definition at line 55 of file map-scheduler.h.
typedef std::map<Scheduler::EventKey, EventImpl*>::iterator ns3::MapScheduler::EventMapI [private] |
Definition at line 54 of file map-scheduler.h.
ns3::MapScheduler::MapScheduler | ( | ) |
Definition at line 44 of file map-scheduler.cc.
ns3::MapScheduler::~MapScheduler | ( | ) | [virtual] |
Definition at line 46 of file map-scheduler.cc.
TypeId ns3::MapScheduler::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::MapScheduler.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Scheduler.
Definition at line 35 of file map-scheduler.cc.
References ns3::TypeId::SetParent().
void ns3::MapScheduler::Insert | ( | const Event & | ev | ) | [virtual] |
ev | event to store in the event list |
Implements ns3::Scheduler.
Definition at line 50 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, ns3::Scheduler::Event::key, m_list, ns3::Scheduler::EventKey::m_ts, ns3::Scheduler::EventKey::m_uid, NS_ASSERT, and NS_LOG_FUNCTION.
bool ns3::MapScheduler::IsEmpty | ( | void | ) | const [virtual] |
Implements ns3::Scheduler.
Definition at line 59 of file map-scheduler.cc.
References m_list.
Scheduler::Event ns3::MapScheduler::PeekNext | ( | void | ) | const [virtual] |
This method cannot be invoked if the list is empty.
Implements ns3::Scheduler.
Definition at line 65 of file map-scheduler.cc.
References m_list, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::MapScheduler::Remove | ( | const Event & | ev | ) | [virtual] |
ev | the event to remove |
This methods cannot be invoked if the list is empty.
Implements ns3::Scheduler.
Definition at line 93 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, ns3::Scheduler::Event::key, m_list, ns3::Scheduler::EventKey::m_ts, ns3::Scheduler::EventKey::m_uid, NS_ASSERT, and NS_LOG_FUNCTION.
Scheduler::Event ns3::MapScheduler::RemoveNext | ( | void | ) | [virtual] |
This method cannot be invoked if the list is empty. Remove the next earliest event from the event list.
Implements ns3::Scheduler.
Definition at line 78 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, ns3::Scheduler::Event::key, m_list, ns3::Scheduler::EventKey::m_ts, ns3::Scheduler::EventKey::m_uid, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
EventMap ns3::MapScheduler::m_list [private] |
Definition at line 58 of file map-scheduler.h.
Referenced by Insert(), IsEmpty(), PeekNext(), Remove(), and RemoveNext().