ns3::MapScheduler Class Reference
[Scheduler]

a std::map event scheduler More...

#include <map-scheduler.h>

Inheritance diagram for ns3::MapScheduler:
Inheritance graph
[legend]
Collaboration diagram for ns3::MapScheduler:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

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.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]
Parameters:
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]
Returns:
true if the event list is empty and false otherwise.

Implements ns3::Scheduler.

Definition at line 59 of file map-scheduler.cc.

References m_list.

Scheduler::Event ns3::MapScheduler::PeekNext ( void   )  const [virtual]
Returns:
a pointer to the next earliest event. The caller takes ownership of the returned pointer.

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]
Parameters:
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.


Member Data Documentation

Definition at line 58 of file map-scheduler.h.

Referenced by Insert(), IsEmpty(), PeekNext(), Remove(), and RemoveNext().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:12:14 2009 for NS-3 by  doxygen 1.6.3