diff --git a/Headers/gnustep/base/IndexedCollecting.h b/Headers/gnustep/base/IndexedCollecting.h index b64c41e86..53d4398e6 100644 --- a/Headers/gnustep/base/IndexedCollecting.h +++ b/Headers/gnustep/base/IndexedCollecting.h @@ -1,5 +1,5 @@ /* Protocol for Objective-C objects that hold elements accessible by index - Copyright (C) 1993,1994 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. Written by: R. Andrew McCallum Date: May 1993 @@ -48,29 +48,7 @@ typedef struct _IndexRange { __a.start<=__b.start && __a.end>=__b.end;}) -@protocol IndexedCollecting - -// ADDING; -- insertObject: newObject atIndex: (unsigned)index; -- insertObject: newObject before: oldObject; -- insertObject: newObject after: oldObject; -- insertContentsOf: (id )aCollection atIndex: (unsigned)index; -- appendObject: newObject; -- prependObject: newObject; -- appendContentsOf: (id )aCollection; -- prependContentsOf: (id )aCollection; - -// REPLACING AND SWAPPING -- replaceObjectAtIndex: (unsigned)index with: newObject; -- replaceRange: (IndexRange)aRange with: (id )aCollection; -- replaceRange: (IndexRange)aRange using: (id )aCollection; -- swapAtIndeces: (unsigned)index1 : (unsigned)index2; - -// REMOVING -- removeObjectAtIndex: (unsigned)index; -- removeFirstObject; -- removeLastObject; -- removeRange: (IndexRange)aRange; +@protocol ConstantIndexedCollecting // GETTING MEMBERS BY INDEX; - objectAtIndex: (unsigned)index; @@ -102,6 +80,57 @@ typedef struct _IndexRange { - withObjectsInReverseCall: (void(*)(id))aFunc; - withObjectsInReverseCall: (void(*)(id))aFunc whileTrue:(BOOL *)flag; +// NON-OBJECT MESSAGE NAMES; + +// GETTING ELEMENTS BY INDEX; +- (elt) elementAtIndex: (unsigned)index; +- (elt) firstElement; +- (elt) lastElement; + +// GETTING MEMBERS BY NEIGHBOR; +- (elt) successorOfElement: (elt)anElement; +- (elt) predecessorOfElement: (elt)anElement; + +// GETTING INDICES BY MEMBER; +- (unsigned) indexOfElement: (elt)anElement; +- (unsigned) indexOfElement: (elt)anElement + ifAbsentCall: (unsigned(*)(arglist_t))excFunc; +- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange; +- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange + ifAbsentCall: (unsigned(*)(arglist_t))excFunc; + +// ENUMERATING; +- (BOOL) getPrevElement:(elt*)anElementPtr withEnumState: (void**)enumState; +- withElementsInRange: (IndexRange)aRange call:(void(*)(elt))aFunc; +- withElementsInReverseCall: (void(*)(elt))aFunc; +- withElementsInReverseCall: (void(*)(elt))aFunc whileTrue:(BOOL *)flag; + +@end + +@protocol IndexedCollecting + +// ADDING; +- insertObject: newObject atIndex: (unsigned)index; +- insertObject: newObject before: oldObject; +- insertObject: newObject after: oldObject; +- insertContentsOf: (id )aCollection atIndex: (unsigned)index; +- appendObject: newObject; +- prependObject: newObject; +- appendContentsOf: (id )aCollection; +- prependContentsOf: (id )aCollection; + +// REPLACING AND SWAPPING +- replaceObjectAtIndex: (unsigned)index with: newObject; +- replaceRange: (IndexRange)aRange with: (id )aCollection; +- replaceRange: (IndexRange)aRange using: (id )aCollection; +- swapAtIndeces: (unsigned)index1 : (unsigned)index2; + +// REMOVING +- removeObjectAtIndex: (unsigned)index; +- removeFirstObject; +- removeLastObject; +- removeRange: (IndexRange)aRange; + // ENUMERATING WHILE CHANGING CONTENTS; - safeWithObjectsInReverseCall: (void(*)(id))aFunc; - safeWithObjectsInReverseCall: (void(*)(id))aFunc whileTrue:(BOOL *)flag; @@ -128,29 +157,6 @@ typedef struct _IndexRange { - (elt) removeLastElement; - (elt) replaceElementAtIndex: (unsigned)index with: (elt)newElement; -// GETTING ELEMENTS BY INDEX; -- (elt) elementAtIndex: (unsigned)index; -- (elt) firstElement; -- (elt) lastElement; - -// GETTING MEMBERS BY NEIGHBOR; -- (elt) successorOfElement: (elt)anElement; -- (elt) predecessorOfElement: (elt)anElement; - -// GETTING INDICES BY MEMBER; -- (unsigned) indexOfElement: (elt)anElement; -- (unsigned) indexOfElement: (elt)anElement - ifAbsentCall: (unsigned(*)(arglist_t))excFunc; -- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange; -- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange - ifAbsentCall: (unsigned(*)(arglist_t))excFunc; - -// ENUMERATING; -- (BOOL) getPrevElement:(elt*)anElementPtr withEnumState: (void**)enumState; -- withElementsInRange: (IndexRange)aRange call:(void(*)(elt))aFunc; -- withElementsInReverseCall: (void(*)(elt))aFunc; -- withElementsInReverseCall: (void(*)(elt))aFunc whileTrue:(BOOL *)flag; - // ENUMERATING WHILE CHANGING CONTENTS; - safeWithElementsInRange: (IndexRange)aRange call:(void(*)(elt))aFunc; - safeWithElementsInReverseCall: (void(*)(elt))aFunc; diff --git a/Source/objects/IndexedCollecting.h b/Source/objects/IndexedCollecting.h index b64c41e86..53d4398e6 100644 --- a/Source/objects/IndexedCollecting.h +++ b/Source/objects/IndexedCollecting.h @@ -1,5 +1,5 @@ /* Protocol for Objective-C objects that hold elements accessible by index - Copyright (C) 1993,1994 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. Written by: R. Andrew McCallum Date: May 1993 @@ -48,29 +48,7 @@ typedef struct _IndexRange { __a.start<=__b.start && __a.end>=__b.end;}) -@protocol IndexedCollecting - -// ADDING; -- insertObject: newObject atIndex: (unsigned)index; -- insertObject: newObject before: oldObject; -- insertObject: newObject after: oldObject; -- insertContentsOf: (id )aCollection atIndex: (unsigned)index; -- appendObject: newObject; -- prependObject: newObject; -- appendContentsOf: (id )aCollection; -- prependContentsOf: (id )aCollection; - -// REPLACING AND SWAPPING -- replaceObjectAtIndex: (unsigned)index with: newObject; -- replaceRange: (IndexRange)aRange with: (id )aCollection; -- replaceRange: (IndexRange)aRange using: (id )aCollection; -- swapAtIndeces: (unsigned)index1 : (unsigned)index2; - -// REMOVING -- removeObjectAtIndex: (unsigned)index; -- removeFirstObject; -- removeLastObject; -- removeRange: (IndexRange)aRange; +@protocol ConstantIndexedCollecting // GETTING MEMBERS BY INDEX; - objectAtIndex: (unsigned)index; @@ -102,6 +80,57 @@ typedef struct _IndexRange { - withObjectsInReverseCall: (void(*)(id))aFunc; - withObjectsInReverseCall: (void(*)(id))aFunc whileTrue:(BOOL *)flag; +// NON-OBJECT MESSAGE NAMES; + +// GETTING ELEMENTS BY INDEX; +- (elt) elementAtIndex: (unsigned)index; +- (elt) firstElement; +- (elt) lastElement; + +// GETTING MEMBERS BY NEIGHBOR; +- (elt) successorOfElement: (elt)anElement; +- (elt) predecessorOfElement: (elt)anElement; + +// GETTING INDICES BY MEMBER; +- (unsigned) indexOfElement: (elt)anElement; +- (unsigned) indexOfElement: (elt)anElement + ifAbsentCall: (unsigned(*)(arglist_t))excFunc; +- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange; +- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange + ifAbsentCall: (unsigned(*)(arglist_t))excFunc; + +// ENUMERATING; +- (BOOL) getPrevElement:(elt*)anElementPtr withEnumState: (void**)enumState; +- withElementsInRange: (IndexRange)aRange call:(void(*)(elt))aFunc; +- withElementsInReverseCall: (void(*)(elt))aFunc; +- withElementsInReverseCall: (void(*)(elt))aFunc whileTrue:(BOOL *)flag; + +@end + +@protocol IndexedCollecting + +// ADDING; +- insertObject: newObject atIndex: (unsigned)index; +- insertObject: newObject before: oldObject; +- insertObject: newObject after: oldObject; +- insertContentsOf: (id )aCollection atIndex: (unsigned)index; +- appendObject: newObject; +- prependObject: newObject; +- appendContentsOf: (id )aCollection; +- prependContentsOf: (id )aCollection; + +// REPLACING AND SWAPPING +- replaceObjectAtIndex: (unsigned)index with: newObject; +- replaceRange: (IndexRange)aRange with: (id )aCollection; +- replaceRange: (IndexRange)aRange using: (id )aCollection; +- swapAtIndeces: (unsigned)index1 : (unsigned)index2; + +// REMOVING +- removeObjectAtIndex: (unsigned)index; +- removeFirstObject; +- removeLastObject; +- removeRange: (IndexRange)aRange; + // ENUMERATING WHILE CHANGING CONTENTS; - safeWithObjectsInReverseCall: (void(*)(id))aFunc; - safeWithObjectsInReverseCall: (void(*)(id))aFunc whileTrue:(BOOL *)flag; @@ -128,29 +157,6 @@ typedef struct _IndexRange { - (elt) removeLastElement; - (elt) replaceElementAtIndex: (unsigned)index with: (elt)newElement; -// GETTING ELEMENTS BY INDEX; -- (elt) elementAtIndex: (unsigned)index; -- (elt) firstElement; -- (elt) lastElement; - -// GETTING MEMBERS BY NEIGHBOR; -- (elt) successorOfElement: (elt)anElement; -- (elt) predecessorOfElement: (elt)anElement; - -// GETTING INDICES BY MEMBER; -- (unsigned) indexOfElement: (elt)anElement; -- (unsigned) indexOfElement: (elt)anElement - ifAbsentCall: (unsigned(*)(arglist_t))excFunc; -- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange; -- (unsigned) indexOfElement: (elt)anElement inRange: (IndexRange)aRange - ifAbsentCall: (unsigned(*)(arglist_t))excFunc; - -// ENUMERATING; -- (BOOL) getPrevElement:(elt*)anElementPtr withEnumState: (void**)enumState; -- withElementsInRange: (IndexRange)aRange call:(void(*)(elt))aFunc; -- withElementsInReverseCall: (void(*)(elt))aFunc; -- withElementsInReverseCall: (void(*)(elt))aFunc whileTrue:(BOOL *)flag; - // ENUMERATING WHILE CHANGING CONTENTS; - safeWithElementsInRange: (IndexRange)aRange call:(void(*)(elt))aFunc; - safeWithElementsInReverseCall: (void(*)(elt))aFunc;