]> git.sur5r.net Git - cc65/commitdiff
Added functions taking and returning consts
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 15 Oct 2000 09:24:21 +0000 (09:24 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 15 Oct 2000 09:24:21 +0000 (09:24 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@367 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/common/coll.c
src/common/coll.h

index 0b36ca4630021520f26760b78f94383c0656fa9f..232438d8a70f00a15bc7465d11c0ca661728b95d 100644 (file)
@@ -96,7 +96,7 @@ void FreeCollection (Collection* C)
 
 
 
-unsigned CollCount (Collection* C)
+unsigned CollCount (const Collection* C)
 /* Return the number of items in the collection */
 {
     return C->Count;
@@ -158,6 +158,18 @@ void* CollAt (Collection* C, unsigned Index)
 
 
 
+const void* CollConstAt (const Collection* C, unsigned Index)
+/* Return the item at the given index */
+{
+    /* Check the index */
+    PRECONDITION (Index < C->Count);
+
+    /* Return the element */    
+    return C->Items[Index];
+}
+
+
+
 void* CollLast (Collection* C)
 /* Return the last item in a collection */
 {
@@ -170,6 +182,18 @@ void* CollLast (Collection* C)
 
 
 
+const void* CollConstLast (const Collection* C)
+/* Return the last item in a collection */
+{
+    /* We must have at least one entry */
+    PRECONDITION (C->Count > 0);
+
+    /* Return the element */
+    return C->Items[C->Count-1];
+}
+
+
+
 void CollDelete (Collection* C, unsigned Index)
 /* Remove the item with the given index from the collection. This will not
  * free the item itself, just the pointer. All items with higher indices
index c84e0bbff0832b7998efc169dcd6b25eb4d9f435..ca39b14412d4590f6f101f10bc09022410aca4c2 100644 (file)
@@ -81,7 +81,7 @@ Collection* NewCollection (void);
 void FreeCollection (Collection* C);
 /* Free a collection */
 
-unsigned CollCount (Collection* C);
+unsigned CollCount (const Collection* C);
 /* Return the number of items in the collection */
 
 void CollInsert (Collection* C, void* Item, unsigned Index);
@@ -93,9 +93,15 @@ void CollAppend (Collection* C, void* Item);
 void* CollAt (Collection* C, unsigned Index) attribute ((const));
 /* Return the item at the given index */
 
+const void* CollConstAt (const Collection* C, unsigned Index) attribute ((const));
+/* Return the item at the given index */
+
 void* CollLast (Collection* C);
 /* Return the last item in a collection */
 
+const void* CollConstLast (const Collection* C);
+/* Return the last item in a collection */
+
 void CollDelete (Collection* C, unsigned Index);
 /* Remove the item with the given index from the collection. This will not
  * free the item itself, just the pointer. All items with higher indices