23 #import <scl/SCCollection.h>
24 #import <scl/SCSorter.h>
27 #pragma mark Class Constants
32 #define SCArrayClass @"SCArray"
76 NSMutableArray *fArray;
131 @property (nonatomic, retain, readonly, getter=
firstObject)
id firstObject;
137 @property (nonatomic, retain, readonly, getter=
lastObject)
id lastObject;
155 #pragma mark Creating Arrays
156 + (instancetype)arrayWithCoder:(NSCoder *)coder;
157 + (instancetype)arrayWithContentsOfSerializedFile:(NSString *)path;
158 + (instancetype)arrayWithDataDictionary:(NSDictionary *)dictionary;
159 + (instancetype)arrayWithDataDictionaryFromFile:(NSString *)path;
160 + (instancetype)arrayWithStream:(
SCStream *)stream;
161 + (instancetype)arrayWithFileStream:(NSString *)path;
163 + (instancetype)arrayWithName:(NSString *)name;
165 + (instancetype)arrayWithObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
166 + (instancetype)arrayWithCollection:(
id<
SCCollection>)collection;
167 + (instancetype)arrayWithArray:(
SCArray *)array;
168 + (instancetype)array;
170 + (instancetype)arrayWithAscendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
171 + (instancetype)arrayWithDescendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
172 + (instancetype)arrayWithSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
173 + (instancetype)arrayWithAscendingSortedCollection:(
id<
SCCollection>)collection;
174 + (instancetype)arrayWithDescendingSortedCollection:(
id<
SCCollection>)collection;
175 + (instancetype)arrayWithSortedCollection:(
id<
SCCollection>)collection;
178 #pragma mark Initializing Arrays
179 - (instancetype)initWithName:(NSString *)name;
181 - (instancetype)initWithObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
182 - (instancetype)initWithCollection:(
id<
SCCollection>)collection;
183 - (instancetype)initWithArray:(
SCArray *)array;
184 - (instancetype)init;
186 - (instancetype)initWithAscendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
187 - (instancetype)initWithDescendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
188 - (instancetype)initWithSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
189 - (instancetype)initWithAscendingSortedCollection:(
id<
SCCollection>)collection;
190 - (instancetype)initWithDescendingSortedCollection:(
id<
SCCollection>)collection;
191 - (instancetype)initWithSortedCollection:(
id<
SCCollection>)collection;
194 #pragma mark Copying Arrays
195 - (void)setArray:(
SCArray *)array;
199 - (void)setAscendingSortedCollection:(
id<
SCCollection>)collection;
200 - (void)setDescendingSortedCollection:(
id<
SCCollection>)collection;
201 - (void)setSortedCollection:(
id<
SCCollection>)collection;
204 #pragma mark Comparing Arrays
205 - (BOOL)isEqualToArray:(
SCArray *)array;
206 - (BOOL)isEqualToContentsOfArray:(
SCArray *)array;
209 #pragma mark Sorting Arrays
210 - (void)sortAscendingWithSorter:(
id<
SCSorter>)sorter;
211 - (void)sortDescendingWithSorter:(
id<
SCSorter>)sorter;
212 - (void)sortWithSorter:(
id<
SCSorter>)sorter;
213 - (void)sortAscending;
214 - (void)sortDescending;
219 - (
SCArray *)ascendingSortedArray;
220 - (
SCArray *)descendingSortedArray;
224 #pragma mark Adding Objects
226 - (void)insertAtIndex:(
SCIndex)index objects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
228 - (void)insertAtIndexes:(NSIndexSet *)indexes objects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
229 - (void)insertCollection:(
id<
SCCollection>)collection atIndexes:(NSIndexSet *)indexes;
233 #pragma mark Removing Objects
234 - (void)removeFirstObject;
235 - (void)removeLastObject;
236 - (void)removeObjectAtIndex:(
SCIndex)index;
237 - (void)removeObjectsAtIndexes:(NSIndexSet *)indexes;
238 - (void)removeObjectsInRange:(NSRange)range;
241 #pragma mark Replacing Objects
243 - (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes
244 withObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
245 - (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withCollection:(
id<
SCCollection>)collection;
246 - (void)replaceObjectsInRange:(NSRange)range withObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
247 - (void)replaceObjectsInRange:(NSRange)range withCollection:(
id<
SCCollection>)collection;
250 #pragma mark Copying and Moving Objects
251 - (void)exchangeObjectAtIndex:(
SCIndex)index withObjectAtIndex:(
SCIndex)destination;
252 - (void)duplicateObjectAtIndex:(
SCIndex)index;
253 - (void)duplicateObjectsInRange:(NSRange)range;
254 - (void)duplicateAllObjects;
257 - (void)copyObjectAtIndex:(
SCIndex)index toIndex:(
SCIndex)destination;
258 - (void)copyObjectsInRange:(NSRange)range toIndex:(
SCIndex)destination;
259 - (void)moveObjectAtIndex:(
SCIndex)index toIndex:(
SCIndex)destination;
260 - (void)moveObjectsInRange:(NSRange)range toIndex:(
SCIndex)destination;
266 #pragma mark Querying an Array
269 - (id)objectAtIndex:(
SCIndex)index;
270 - (
SCArray *)objectsAtIndexes:(NSIndexSet *)indexes;
271 - (
SCArray *)objectsInRange:(NSRange)range;
274 #pragma mark Finding Objects in an Array
Протокол классов изменяемых индексированных коллекций
Definition: SCCollectionProtocols.h:1029
Класс абстрактного алгоритма сортировки данных
Definition: SCSorter.h:130
SCIndex indexOfLastObject
Definition: SCArray.h:150
Протокол классов индексированных коллекций
Definition: SCCollectionProtocols.h:939
NSUInteger SCIndex
Definition: SCTypes.h:238
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
id firstObject
Definition: SCArray.h:131
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
SCArray * sortedArray
Definition: SCArray.h:98
SCArray * reversedArray
Definition: SCArray.h:118
Класс массивов объектов
Definition: SCArray.h:75
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242
id lastObject
Definition: SCArray.h:137