Public Member Functions

ns3::HeapScheduler Class Reference
[Scheduler]

a binary heap event scheduler More...

#include <heap-scheduler.h>

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

List of all members.

Public Member Functions

virtual void Insert (const EventId &id)
virtual bool IsEmpty (void) const
virtual EventId PeekNext (void) const
virtual EventId RemoveNext (void)
virtual bool Remove (const EventId &ev)

Detailed Description

a binary heap event scheduler

This code started as a c++ translation of a java-based code written in 2005 to implement a heap sort. So, this binary heap is really a pretty straightforward implementation of the classic data structure. Not much to say about it.

What is smart about this code ?


Member Function Documentation

virtual void ns3::HeapScheduler::Insert ( const EventId id  )  [virtual]
Parameters:
id event to store in the event list

This method takes ownership of the event pointer.

Implements ns3::Scheduler.

virtual bool ns3::HeapScheduler::IsEmpty ( void   )  const [virtual]
Returns:
true if the event list is empty and false otherwise.

Implements ns3::Scheduler.

virtual EventId ns3::HeapScheduler::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.

virtual bool ns3::HeapScheduler::Remove ( const EventId id  )  [virtual]
Parameters:
id the id of the event to remove
Returns:
true if the id was found and removed successfully, false otherwise.

This methods cannot be invoked if the list is empty.

Implements ns3::Scheduler.

virtual EventId ns3::HeapScheduler::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.


The documentation for this class was generated from the following file: