[Haiku-commits] r30995 - haiku/trunk/headers/private/media

stippi at mail.berlios.de stippi at mail.berlios.de
Mon Jun 8 09:02:00 CEST 2009


Author: stippi
Date: 2009-06-08 09:01:58 +0200 (Mon, 08 Jun 2009)
New Revision: 30995
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=30995&view=rev

Modified:
   haiku/trunk/headers/private/media/TList.h
   haiku/trunk/headers/private/media/TMap.h
Log:
Fixed Remove() operations to be O(1) again, I just didn't get it. The item
sorting does not need to be preserved. Thanks Marcus!


Modified: haiku/trunk/headers/private/media/TList.h
===================================================================
--- haiku/trunk/headers/private/media/TList.h	2009-06-08 05:46:16 UTC (rev 30994)
+++ haiku/trunk/headers/private/media/TList.h	2009-06-08 07:01:58 UTC (rev 30995)
@@ -68,8 +68,9 @@
 			return false;
 		delete items[index];
 		item_count--;
-		for (int i = index; i < item_count; i++)
-			items[i] = items[i + 1];
+		items[index] = items[item_count];
+		if (index == item_iter)
+			item_iter--;
 		return true;
 	}
 	

Modified: haiku/trunk/headers/private/media/TMap.h
===================================================================
--- haiku/trunk/headers/private/media/TMap.h	2009-06-08 05:46:16 UTC (rev 30994)
+++ haiku/trunk/headers/private/media/TMap.h	2009-06-08 07:01:58 UTC (rev 30995)
@@ -150,8 +150,9 @@
 			return false;
 		delete items[index];
 		item_count--;
-		for (int i = index; i < item_count; i++)
-			items[i] = items[i + 1];
+		items[index] = items[item_count];
+		if (index == item_iter)
+			item_iter--;
 		return true;
 	}
 




More information about the Haiku-commits mailing list