24 #import <Foundation/Foundation.h>
31 #pragma mark Class Constants
41 #define NSArrayClass @"NSArray"
74 @property (nonatomic, readonly, retain) NSString *
name;
80 @property (nonatomic, readonly, assign) BOOL
empty;
86 @property (nonatomic, readonly, assign) BOOL
readOnly;
92 @property (nonatomic, readonly, retain) id<SCCollectionDelegate>
delegate;
122 @property (nonatomic, readonly, assign) BOOL
isArray;
141 @property (nonatomic, readonly, assign) BOOL
isSet;
200 @property (nonatomic, readonly, assign) BOOL
isStack;
206 @property (nonatomic, readonly, assign) BOOL
isQueue;
213 @property (nonatomic, readonly, assign) BOOL
isList;
251 @property (nonatomic, readonly, assign)
SCSet *
set;
354 #pragma mark Creating Arrays
355 + (instancetype)arrayWithCoder:(NSCoder *)coder;
356 + (instancetype)arrayWithContentsOfSerializedFile:(NSString *)path;
357 + (instancetype)arrayWithDataDictionary:(NSDictionary *)dictionary;
358 + (instancetype)arrayWithDataDictionaryFromFile:(NSString *)path;
359 + (instancetype)arrayWithStream:(
SCStream *)stream;
360 + (instancetype)arrayWithFileStream:(NSString *)path;
361 + (instancetype)arrayWithData:(NSData *)data;
362 + (instancetype)arrayWithContentsOfURLString:(NSString *)urlString;
364 + (instancetype)arrayWithAscendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
365 + (instancetype)arrayWithDescendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
366 + (instancetype)arrayWithSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
367 + (instancetype)arrayWithAscendingSortedCollection:(
id<
SCCollection>)collection;
368 + (instancetype)arrayWithDescendingSortedCollection:(
id<
SCCollection>)collection;
369 + (instancetype)arrayWithSortedCollection:(
id<
SCCollection>)collection;
370 + (instancetype)arrayWithCollection:(
id<
SCCollection>)collection;
373 #pragma mark Initializing Arrays
374 - (instancetype)initWithAscendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
375 - (instancetype)initWithDescendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
376 - (instancetype)initWithSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
377 - (instancetype)initWithAscendingSortedCollection:(
id<
SCCollection>)collection;
378 - (instancetype)initWithDescendingSortedCollection:(
id<
SCCollection>)collection;
379 - (instancetype)initWithSortedCollection:(
id<
SCCollection>)collection;
380 - (instancetype)initWithCollection:(
id<
SCCollection>)collection;
383 #pragma mark Finding Objects in an Array
384 - (BOOL)containsObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
385 - (BOOL)containsCollection:(
id<
SCCollection>)collection;
386 - (BOOL)containsAnyObject:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
387 - (BOOL)containsAnyObjectFromCollection:(
id<
SCCollection>)collection;
390 #pragma mark Sorting Arrays
391 - (NSArray *)ascendingSortedArrayWithSorter:(
id<
SCSorter>)sorter;
392 - (NSArray *)descendingSortedArrayWithSorter:(
id<
SCSorter>)sorter;
393 - (NSArray *)sortedArrayWithSorter:(
id<
SCSorter>)sorter;
396 #pragma mark Comparing Arrays
397 - (BOOL)isEqualToCollection:(
id<
SCCollection>)collection;
400 #pragma mark Deriving New Arrays
401 - (NSArray *)arrayByAddingObjects:(
id)object, ... NS_REQUIRES_NIL_TERMINATION;
402 - (NSArray *)arrayByAddingArray:(NSArray *)array;
403 - (NSArray *)arrayByAddingCollection:(
id<
SCCollection>)collection;
Unordered set class.
Definition: SCSet.h:72
SCUnidirectionalList * unidirectionalList
Definition: NSArray+SCArray.h:281
NSArray * foundationArray
Definition: NSArray+SCArray.h:293
SCStack * stack
Definition: NSArray+SCArray.h:269
BOOL isFoundationArray
Definition: NSArray+SCArray.h:135
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:81
SCDictionary * dictionary
Definition: NSArray+SCArray.h:263
BOOL isLibraryCollection
Definition: NSArray+SCArray.h:110
Unidirectional list class.
Definition: SCUnidirectionalList.h:80
BOOL isStack
Definition: NSArray+SCArray.h:200
BOOL isFoundationOrderedSet
Definition: NSArray+SCArray.h:174
Standard class NSArray functionality extending category.
Definition: NSArray+SCArray.h:57
NSArray * ascendingSortedArray
Definition: NSArray+SCArray.h:334
BOOL isLibrarySet
Definition: NSArray+SCArray.h:147
BOOL isLibraryOrderedSet
Definition: NSArray+SCArray.h:166
SCOrderedSet * orderedSet
Definition: NSArray+SCArray.h:257
BOOL isCollection
Definition: NSArray+SCArray.h:104
Ordered set class.
Definition: SCOrderedSet.h:83
NSSet * foundationSet
Definition: NSArray+SCArray.h:299
BOOL isDictionary
Definition: NSArray+SCArray.h:180
SCQueue * queue
Definition: NSArray+SCArray.h:275
BOOL isFoundationDictionary
Definition: NSArray+SCArray.h:194
SCBidirectionalList * bidirectionalList
Definition: NSArray+SCArray.h:287
NSString * name
Definition: NSArray+SCArray.h:74
Abstract implementation of the protocol SCSorter.
Definition: SCSorter.h:138
BOOL isOrderedSet
Definition: NSArray+SCArray.h:160
Indexed collections protocol.
Definition: SCCollectionProtocols.h:793
Protocol and class SCSorter header file.
NSArray * sortedArray
Definition: NSArray+SCArray.h:349
BOOL isList
Definition: NSArray+SCArray.h:213
BOOL isLibraryDictionary
Definition: NSArray+SCArray.h:186
BOOL readOnly
Definition: NSArray+SCArray.h:86
NSArray * reversedArray
Definition: NSArray+SCArray.h:317
NSDictionary * foundationDictionary
Definition: NSArray+SCArray.h:311
Collection types protocols header file.
BOOL isFoundationSet
Definition: NSArray+SCArray.h:154
SCSet * set
Definition: NSArray+SCArray.h:251
Collections communications protocol.
Definition: SCCollectioning.h:79
Category NSDictionary(SCDictionary) header file.
id< SCCollectionDelegate > delegate
Definition: NSArray+SCArray.h:92
BOOL empty
Definition: NSArray+SCArray.h:80
BOOL isSet
Definition: NSArray+SCArray.h:141
SCIndex indexOfLastObject
Definition: NSArray+SCArray.h:233
Abstract collections class.
Definition: SCCollection.h:98
Stack of objects class.
Definition: SCStack.h:77
BOOL isQueue
Definition: NSArray+SCArray.h:206
BOOL isLibraryArray
Definition: NSArray+SCArray.h:128
BOOL isFoundationCollection
Definition: NSArray+SCArray.h:116
SCCollectionType collectionType
Definition: NSArray+SCArray.h:98
BOOL isArray
Definition: NSArray+SCArray.h:122
Queue of objects class.
Definition: SCQueue.h:83
SCArray * array
Definition: NSArray+SCArray.h:245
Category NSObject(SCObject) header file.
NSArray * descendingSortedArray
Definition: NSArray+SCArray.h:340
Dictionary class.
Definition: SCDictionary.h:80
NSOrderedSet * foundationOrderedSet
Definition: NSArray+SCArray.h:305
Array class.
Definition: SCArray.h:84
BOOL isSortable
Definition: NSArray+SCArray.h:220
NSUInteger SCIndex
Definition: SCCollectionProtocols.h:53
SCCollectionType
Definition: SCCollectionProtocols.h:59
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:224