23 #import <Foundation/Foundation.h>
24 #import <scl/SCCoding.h>
25 #import <scl/SCDictionaring.h>
26 #import <scl/SCStreaming.h>
27 #import <scl/SCCollectioning.h>
28 #import <scl/SCCollectionProtocol.h>
29 #import <scl/SCSorter.h>
30 #import <scl/SCIndexedCollection.h>
33 #pragma mark Константы класса
38 #define NSArrayClass @"NSArray"
80 @property (nonatomic, assign, readonly, getter=
empty) BOOL empty;
86 @property (nonatomic, assign, readonly, getter=
readOnly) BOOL readOnly;
107 @property (nonatomic, retain, readonly, getter=
set)
SCSet *set;
149 @property (nonatomic, retain, readonly, getter=
foundationArray) NSArray *foundationArray;
155 @property (nonatomic, retain, readonly, getter=
foundationSet) NSSet *foundationSet;
173 @property (nonatomic, retain, readonly, getter=
reversedArray) NSArray *reversedArray;
186 @property (nonatomic, retain, readonly, getter=
sortedArray) NSArray *sortedArray;
191 #pragma mark Создание массивов
192 + (NSArray *)arrayWithAscendingSortedCollection:(
id)collection sorter:(
id<
SCSorter>)sorter;
193 + (NSArray *)arrayWithDescendingSortedCollection:(
id)collection sorter:(
id<
SCSorter>)sorter;
194 + (NSArray *)arrayWithSortedCollection:(
id)collection sorter:(
id<
SCSorter>)sorter;
195 + (NSArray *)arrayWithAscendingSortedCollection:(
id)collection;
196 + (NSArray *)arrayWithDescendingSortedCollection:(
id)collection;
197 + (NSArray *)arrayWithSortedCollection:(
id)collection;
198 + (NSArray *)arrayWithCollection:(
id)collection;
201 #pragma mark Инициализация массивов
202 - (id)initWithAscendingSortedCollection:(
id)collection sorter:(
id<
SCSorter>)sorter;
203 - (id)initWithDescendingSortedCollection:(
id)collection sorter:(
id<
SCSorter>)sorter;
204 - (id)initWithSortedCollection:(
id)collection sorter:(
id<
SCSorter>)sorter;
205 - (id)initWithAscendingSortedCollection:(
id)collection;
206 - (id)initWithDescendingSortedCollection:(
id)collection;
207 - (id)initWithSortedCollection:(
id)collection;
208 - (id)initWithCollection:(
id)collection;
211 #pragma mark Поддержка последовательных файлов
212 + (NSArray *)arrayWithCoder:(NSCoder *)coder;
213 + (NSArray *)arrayWithContentsOfSerializedFile:(NSString *)path;
214 - (id)initWithContentsOfSerializedFile:(NSString *)path;
215 - (BOOL)writeContentsToSerializedFile:(NSString *)path;
218 #pragma mark Поддержка словарей
219 + (NSArray *)arrayWithDataDictionary:(NSDictionary *)dictionary;
220 + (NSArray *)arrayWithDataDictionaryFromFile:(NSString *)path;
221 - (id)initWithDataDictionary:(NSDictionary *)dictionary;
222 - (id)initWithDataDictionaryFromFile:(NSString *)path;
223 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary;
224 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically;
225 - (void)writeToDataDictionaryFile:(NSString *)path;
229 #pragma mark Поддержка потоков
230 + (NSArray *)arrayWithStream:(
SCStream *)stream;
231 + (NSArray *)arrayWithFileStream:(NSString *)path;
232 - (id)initWithStream:(
SCStream *)stream;
233 - (id)initWithFileStream:(NSString *)path;
234 - (void)writeToStream:(
SCStream *)stream;
235 - (void)writeToFileStream:(NSString *)path;
236 - (void)appendToFileStream:(NSString *)path;
239 #pragma mark Поддержка коллекций
244 #pragma mark Реализация протокола SCCollection
268 #pragma mark Поиск объектов
269 - (BOOL)containsObjects:(
id)object, ... NS_REQUIRES_NIL_TERMINATION;
270 - (BOOL)containsCollection:(
id)collection;
271 - (BOOL)containsAnyObject:(
id)object, ... NS_REQUIRES_NIL_TERMINATION;
272 - (BOOL)containsAnyObjectFromCollection:(
id)collection;
276 #pragma mark Преобразование массивов
292 #pragma mark Сортировка массивов
293 - (NSArray *)ascendingSortedArrayWithSorter:(
id<
SCSorter>)sorter;
294 - (NSArray *)descendingSortedArrayWithSorter:(
id<
SCSorter>)sorter;
295 - (NSArray *)sortedArrayWithSorter:(
id<
SCSorter>)sorter;
BOOL isQueue()
Definition: SCNSArray.m:1020
SCUnidirectionalList * unidirectionalList
Definition: SCNSArray.h:137
BOOL isFoundationCollection()
Definition: SCNSArray.m:852
Unordered set class.
Definition: SCSet.h:63
BOOL isLibraryArray()
Definition: SCNSArray.m:876
SCULong SCIndex
Index data type.
Definition: SCTypes.h:240
NSOrderedSet * foundationOrderedSet
Definition: SCNSArray.h:161
NSArray * descendingSortedArray()
Definition: SCNSArray.m:1522
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:75
BOOL isFoundationArray()
Definition: SCNSArray.m:888
SCArray * array
Definition: SCNSArray.h:101
SCQueue * queue
Definition: SCNSArray.h:131
Unidirectional list class.
Definition: SCUnidirectionalList.h:74
SCStack * stack
Definition: SCNSArray.h:125
NSArray * sortedArray
Definition: SCNSArray.h:186
BOOL readOnly
Definition: SCNSArray.h:86
SCDictionary * dictionary
Definition: SCNSArray.h:119
NSSet * foundationSet
Definition: SCNSArray.h:155
NSArray * ascendingSortedArray()
Definition: SCNSArray.m:1508
Standard protocol NSCoding extention protocol.
Definition: SCCoding.h:40
BOOL isDictionary()
Definition: SCNSArray.m:972
Ordered set class.
Definition: SCOrderedSet.h:74
NSArray * foundationArray
Definition: SCNSArray.h:149
BOOL isFoundationOrderedSet()
Definition: SCNSArray.m:960
enum _SCComparisonResult SCComparisonResult
Instances comparing results type.
Definition: SCCollectioning.h:60
BOOL isLibraryCollection()
Definition: SCNSArray.m:840
Abstract implementation of the protocol SCSorter.
Definition: SCSorter.h:37
BOOL isSet()
Definition: SCNSArray.m:900
Indexed collections protocol.
Definition: SCIndexedCollection.h:39
Protocol of methods for data exchanging between class instances and classes NSDictionary and NSMutabl...
Definition: SCDictionaring.h:42
BOOL isArray()
Definition: SCNSArray.m:864
SCBidirectionalList * bidirectionalList
Definition: SCNSArray.h:143
BOOL isCollection()
Definition: SCNSArray.m:828
BOOL isLibrarySet()
Definition: SCNSArray.m:912
SCOrderedSet * orderedSet
Definition: SCNSArray.h:113
BOOL isFoundationSet()
Definition: SCNSArray.m:924
BOOL isSortable()
Definition: SCNSArray.m:1044
Collections communications protocol.
Definition: SCCollectioning.h:78
SCSet * set
Definition: SCNSArray.h:107
Streams communications protocol.
Definition: SCStreaming.h:40
NSDictionary * dataDictionary()
Definition: SCNSArray.m:517
SCIndex indexOfLastObject()
Definition: SCNSArray.m:1307
Abstract collections class.
Definition: SCCollection.h:94
BOOL isList()
Definition: SCNSArray.m:1032
Stack of objects class.
Definition: SCStack.h:69
BOOL isOrderedSet()
Definition: SCNSArray.m:936
id< SCCollectioning > copyObject()
Definition: SCNSArray.m:735
BOOL isFoundationDictionary()
Definition: SCNSArray.m:996
NSArray * reversedArray
Definition: SCNSArray.h:173
Queue of objects class.
Definition: SCQueue.h:74
Standard class NSArray functionality extending category.
Definition: SCNSArray.h:54
Dictionary class.
Definition: SCDictionary.h:75
NSDictionary * foundationDictionary
Definition: SCNSArray.h:167
Array class.
Definition: SCArray.h:77
BOOL empty
Definition: SCNSArray.h:80
BOOL isStack()
Definition: SCNSArray.m:1008
BOOL isLibraryOrderedSet()
Definition: SCNSArray.m:948
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242
BOOL isLibraryDictionary()
Definition: SCNSArray.m:984