00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <stdarg.h>
00013
00014 #import "OFObject.h"
00015 #import "OFEnumerator.h"
00016
00017 @class OFDataArray;
00018 @class OFString;
00019
00023 @interface OFArray: OFObject <OFCopying, OFMutableCopying, OFFastEnumeration>
00024 {
00025 OFDataArray *array;
00026 }
00027
00031 + array;
00032
00039 + arrayWithObject: (OFObject*)obj;
00040
00047 + arrayWithObjects: (OFObject*)first, ...;
00048
00055 + arrayWithCArray: (OFObject**)objs;
00056
00063 - initWithObject: (OFObject*)obj;
00064
00071 - initWithObjects: (OFObject*)first, ...;
00072
00080 - initWithObject: (OFObject*)first
00081 argList: (va_list)args;
00082
00089 - initWithCArray: (OFObject**)objs;
00090
00094 - (size_t)count;
00095
00099 - (id*)cArray;
00100
00107 - (id)objectAtIndex: (size_t)index;
00108
00116 - (size_t)indexOfObject: (OFObject*)obj;
00117
00126 - (size_t)indexOfObjectIdenticalTo: (OFObject*)obj;
00127
00131 - (id)firstObject;
00132
00136 - (id)lastObject;
00137
00144 - (OFString*)componentsJoinedByString: (OFString*)separator;
00145
00149 - (OFEnumerator*)enumerator;
00150 @end
00151
00153 @interface OFArrayEnumerator: OFEnumerator
00154 {
00155 OFDataArray *array;
00156 size_t count;
00157 unsigned long mutations;
00158 unsigned long *mutations_ptr;
00159 size_t pos;
00160 }
00161
00162 - initWithDataArray: (OFDataArray*)data
00163 mutationsPointer: (unsigned long*)mutations_ptr;
00164 @end
00166
00167 #import "OFMutableArray.h"