src/simulator/scheduler-list.cc
changeset 194 882aa1fc50fd
parent 183 040e8942746c
child 286 57e6a2006962
--- a/src/simulator/scheduler-list.cc	Tue Dec 12 14:30:44 2006 +0100
+++ b/src/simulator/scheduler-list.cc	Tue Dec 12 14:31:16 2006 +0100
@@ -31,14 +31,30 @@
 SchedulerList::~SchedulerList ()
 {}
 
+bool 
+SchedulerList::IsLower (Scheduler::EventKey const*a, Scheduler::EventKey const*b) const
+{
+  if (a->m_ns < b->m_ns)
+    {
+      return true;
+    }
+  else if (a->m_ns == b->m_ns &&
+           a->m_uid < b->m_uid)
+    {
+      return true;
+    }
+  else
+    {
+      return false;
+    }
+}
 
 EventId
 SchedulerList::RealInsert (EventImpl *event, Scheduler::EventKey key)
 {
-  Scheduler::EventKeyCompare compare;
   for (EventsI i = m_events.begin (); i != m_events.end (); i++) 
     {
-      if (compare (key, i->second)) 
+      if (IsLower (&key, &i->second))
         {
           m_events.insert (i, std::make_pair (event, key));
           return EventId (event, key.m_ns, key.m_uid);