21 #ifndef HEAP_SCHEDULER_H 
   22 #define HEAP_SCHEDULER_H 
   69   virtual bool IsEmpty (
void) 
const;
 
   84   inline uint32_t 
Parent (uint32_t 
id) 
const;
 
   91   uint32_t 
Sibling (uint32_t 
id) 
const;
 
   98   inline uint32_t 
LeftChild (uint32_t 
id) 
const;
 
  105   inline uint32_t 
RightChild (uint32_t 
id) 
const;
 
  111   inline uint32_t 
Root (
void) 
const;
 
  116   uint32_t 
Last (
void) 
const;
 
  123   inline bool IsRoot (uint32_t 
id) 
const;
 
  130   inline bool IsBottom (uint32_t 
id) 
const;
 
  146   inline uint32_t 
Smallest (uint32_t a, uint32_t b) 
const;
 
  153   inline void Exch (uint32_t a, uint32_t b);
 
uint32_t Sibling(uint32_t id) const 
Get the next sibling of a given entry. 
 
virtual ~HeapScheduler()
Destructor. 
 
void TopDown(uint32_t start)
Percolate a deletion bubble down the heap. 
 
virtual Scheduler::Event RemoveNext(void)
Remove the earliest event from the event list. 
 
bool IsLessStrictly(uint32_t a, uint32_t b) const 
Compare (less than) two items. 
 
virtual Scheduler::Event PeekNext(void) const 
Get a pointer to the next event. 
 
static TypeId GetTypeId(void)
Register this type. 
 
bool IsRoot(uint32_t id) const 
Test if an index is the root. 
 
void Exch(uint32_t a, uint32_t b)
Swap two items. 
 
uint32_t RightChild(uint32_t id) const 
Get the right child index of a given entry. 
 
ns3::Scheduler abstract base class, ns3::Scheduler::Event and ns3::Scheduler::EventKey declarations...
 
a binary heap event scheduler 
 
uint32_t Smallest(uint32_t a, uint32_t b) const 
Minimum of two items. 
 
virtual void Insert(const Scheduler::Event &ev)
Insert a new Event in the schedule. 
 
BinaryHeap m_heap
The event list. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
HeapScheduler()
Constructor. 
 
bool IsBottom(uint32_t id) const 
Test if an index is at the bottom of the heap. 
 
uint32_t Last(void) const 
Return the index of the last element. 
 
virtual void Remove(const Scheduler::Event &ev)
Remove a specific event from the event list. 
 
void BottomUp(void)
Percolate a newly inserted Last item to its proper position. 
 
virtual bool IsEmpty(void) const 
Test if the schedule is empty. 
 
uint32_t Parent(uint32_t id) const 
Get the parent index of a given entry. 
 
a unique identifier for an interface. 
 
std::vector< Scheduler::Event > BinaryHeap
Event list type: vector of Events, managed as a heap. 
 
uint32_t Root(void) const 
Get the root index of the heap. 
 
uint32_t LeftChild(uint32_t id) const 
Get the left child of a given entry.