Samond Classes Library 1.2.1-RELEASE build 181
NSArray+SCArray.h
См. документацию.
1 //
2 // NSArray+SCArray.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.05.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
24 #import <Foundation/Foundation.h>
25 #import <scl/NSObject+SCObject.h>
26 #import <scl/SCCollectionProtocols.h>
27 #import <scl/SCSorter.h>
28 
29 #pragma mark -
30 #pragma mark Class Constants
31 
35 #define NSArrayClass @"NSArray"
36 
37 
51 
67 @property (nonatomic, assign, readonly, getter=empty) BOOL empty;
68 
73 @property (nonatomic, assign, readonly, getter=readOnly) BOOL readOnly;
74 
88 @property (nonatomic, retain, readonly, getter=array) SCArray *array;
89 
94 @property (nonatomic, retain, readonly, getter=set) SCSet *set;
95 
100 #ifndef GNUSTEP
101 @property (nonatomic, retain, readonly, getter=orderedSet) SCOrderedSet *orderedSet;
102 #endif
103 
108 @property (nonatomic, retain, readonly, getter=dictionary) SCDictionary *dictionary;
109 
114 @property (nonatomic, retain, readonly, getter=stack) SCStack *stack;
115 
120 @property (nonatomic, retain, readonly, getter=queue) SCQueue *queue;
121 
126 @property (nonatomic, retain, readonly, getter=unidirectionalList) SCUnidirectionalList *unidirectionalList;
127 
132 @property (nonatomic, retain, readonly, getter=bidirectionalList) SCBidirectionalList *bidirectionalList;
133 
138 @property (nonatomic, retain, readonly, getter=foundationArray) NSArray *foundationArray;
139 
144 @property (nonatomic, retain, readonly, getter=foundationSet) NSSet *foundationSet;
145 
150 #ifndef GNUSTEP
151 @property (nonatomic, retain, readonly, getter=foundationOrderedSet) NSOrderedSet *foundationOrderedSet;
152 #endif
153 
158 @property (nonatomic, retain, readonly, getter=foundationDictionary) NSDictionary *foundationDictionary;
159 
164 @property (nonatomic, retain, readonly, getter=reversedArray) NSArray *reversedArray;
165 
177 @property (nonatomic, retain, readonly, getter=sortedArray) NSArray *sortedArray;
178 
181 #pragma mark -
182 #pragma mark Creating Arrays
183 + (instancetype)arrayWithCoder:(NSCoder *)coder;
184 + (instancetype)arrayWithContentsOfSerializedFile:(NSString *)path;
185 + (instancetype)arrayWithDataDictionary:(NSDictionary *)dictionary;
186 + (instancetype)arrayWithDataDictionaryFromFile:(NSString *)path;
187 + (instancetype)arrayWithStream:(SCStream *)stream;
188 + (instancetype)arrayWithFileStream:(NSString *)path;
189 
190 + (instancetype)arrayWithAscendingSortedCollection:(id<SCCollection>)collection sorter:(id<SCSorter>)sorter;
191 + (instancetype)arrayWithDescendingSortedCollection:(id<SCCollection>)collection sorter:(id<SCSorter>)sorter;
192 + (instancetype)arrayWithSortedCollection:(id<SCCollection>)collection sorter:(id<SCSorter>)sorter;
193 + (instancetype)arrayWithAscendingSortedCollection:(id<SCCollection>)collection;
194 + (instancetype)arrayWithDescendingSortedCollection:(id<SCCollection>)collection;
195 + (instancetype)arrayWithSortedCollection:(id<SCCollection>)collection;
196 + (instancetype)arrayWithCollection:(id<SCCollection>)collection;
197 
198 #pragma mark -
199 #pragma mark Initializing Arrays
200 - (instancetype)initWithAscendingSortedCollection:(id<SCCollection>)collection sorter:(id<SCSorter>)sorter;
201 - (instancetype)initWithDescendingSortedCollection:(id<SCCollection>)collection sorter:(id<SCSorter>)sorter;
202 - (instancetype)initWithSortedCollection:(id<SCCollection>)collection sorter:(id<SCSorter>)sorter;
203 - (instancetype)initWithAscendingSortedCollection:(id<SCCollection>)collection;
204 - (instancetype)initWithDescendingSortedCollection:(id<SCCollection>)collection;
205 - (instancetype)initWithSortedCollection:(id<SCCollection>)collection;
206 - (instancetype)initWithCollection:(id<SCCollection>)collection;
207 
208 #pragma mark -
209 #pragma mark Protocol SCCollection Implementation
210 - (BOOL)empty;
211 - (BOOL)readOnly;
212 - (BOOL)isCollection;
213 - (BOOL)isLibraryCollection;
214 - (BOOL)isFoundationCollection;
215 - (BOOL)isArray;
216 - (BOOL)isLibraryArray;
217 - (BOOL)isFoundationArray;
218 - (BOOL)isSet;
219 - (BOOL)isLibrarySet;
220 - (BOOL)isFoundationSet;
221 - (BOOL)isOrderedSet;
222 - (BOOL)isLibraryOrderedSet;
223 - (BOOL)isFoundationOrderedSet;
224 - (BOOL)isDictionary;
225 - (BOOL)isLibraryDictionary;
226 - (BOOL)isFoundationDictionary;
227 - (BOOL)isStack;
228 - (BOOL)isQueue;
229 - (BOOL)isList;
230 - (BOOL)isSortable;
231 
232 #pragma mark -
233 #pragma mark Finding Objects in an Array
234 - (BOOL)containsObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
235 - (BOOL)containsCollection:(id<SCCollection>)collection;
236 - (BOOL)containsAnyObject:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
237 - (BOOL)containsAnyObjectFromCollection:(id<SCCollection>)collection;
239 
240 #pragma mark -
241 #pragma mark Converting Arrays
242 - (SCArray *)array;
243 - (SCSet *)set;
244 #ifndef GNUSTEP
246 #endif
248 - (SCStack *)stack;
249 - (SCQueue *)queue;
252 - (NSArray *)foundationArray;
253 - (NSSet *)foundationSet;
254 #ifndef GNUSTEP
255 - (NSOrderedSet *)foundationOrderedSet;
256 #endif
257 - (NSDictionary *)foundationDictionary;
258 - (NSArray *)reversedArray;
259 
260 #pragma mark -
261 #pragma mark Sorting Arrays
262 - (NSArray *)ascendingSortedArrayWithSorter:(id<SCSorter>)sorter;
263 - (NSArray *)descendingSortedArrayWithSorter:(id<SCSorter>)sorter;
264 - (NSArray *)sortedArrayWithSorter:(id<SCSorter>)sorter;
265 - (NSArray *)ascendingSortedArray;
266 - (NSArray *)descendingSortedArray;
267 - (NSArray *)sortedArray;
268 
269 @end
Класс неупорядоченного множества объектов
Definition: SCSet.h:65
SCUnidirectionalList * unidirectionalList
Definition: NSArray+SCArray.h:126
BOOL isStack()
Definition: NSArray+SCArray.m:784
NSArray * foundationArray
Definition: NSArray+SCArray.h:138
BOOL isFoundationArray()
Definition: NSArray+SCArray.m:664
SCStack * stack
Definition: NSArray+SCArray.h:114
Класс двунаправленного списка объектов
Definition: SCBidirectionalList.h:75
BOOL isList()
Definition: NSArray+SCArray.m:808
SCDictionary * dictionary
Definition: NSArray+SCArray.h:108
NSArray * ascendingSortedArray()
Definition: NSArray+SCArray.m:1297
Класс однонаправленного списка объектов
Definition: SCUnidirectionalList.h:74
BOOL isCollection()
Definition: NSArray+SCArray.m:604
BOOL isDictionary()
Definition: NSArray+SCArray.m:748
BOOL isFoundationSet()
Definition: NSArray+SCArray.m:700
BOOL isLibraryOrderedSet()
Definition: NSArray+SCArray.m:724
Расширение функциональности стандартного класса NSArray.
Definition: NSArray+SCArray.h:50
SCOrderedSet * orderedSet
Definition: NSArray+SCArray.h:101
BOOL isFoundationCollection()
Definition: NSArray+SCArray.m:628
Класс упорядоченного множества объектов
Definition: SCOrderedSet.h:73
NSSet * foundationSet
Definition: NSArray+SCArray.h:144
SCQueue * queue
Definition: NSArray+SCArray.h:120
SCBidirectionalList * bidirectionalList
Definition: NSArray+SCArray.h:132
BOOL isFoundationOrderedSet()
Definition: NSArray+SCArray.m:736
Класс абстрактного алгоритма сортировки данных
Definition: SCSorter.h:130
BOOL isLibrarySet()
Definition: NSArray+SCArray.m:688
Протокол классов индексированных коллекций
Definition: SCCollectionProtocols.h:939
BOOL isFoundationDictionary()
Definition: NSArray+SCArray.m:772
NSArray * sortedArray
Definition: NSArray+SCArray.h:177
BOOL isArray()
Definition: NSArray+SCArray.m:640
BOOL readOnly
Definition: NSArray+SCArray.h:73
BOOL isSet()
Definition: NSArray+SCArray.m:676
NSArray * reversedArray
Definition: NSArray+SCArray.h:164
NSDictionary * foundationDictionary
Definition: NSArray+SCArray.h:158
BOOL isOrderedSet()
Definition: NSArray+SCArray.m:712
SCSet * set
Definition: NSArray+SCArray.h:94
NSArray * descendingSortedArray()
Definition: NSArray+SCArray.m:1311
NSUInteger SCIndex
Definition: SCTypes.h:238
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
BOOL empty
Definition: NSArray+SCArray.h:67
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс стека объектов
Definition: SCStack.h:69
BOOL isLibraryDictionary()
Definition: NSArray+SCArray.m:760
Класс очереди объектов
Definition: SCQueue.h:74
SCArray * array
Definition: NSArray+SCArray.h:88
BOOL isLibraryCollection()
Definition: NSArray+SCArray.m:616
BOOL isSortable()
Definition: NSArray+SCArray.m:820
Класс словарей
Definition: SCDictionary.h:71
BOOL isQueue()
Definition: NSArray+SCArray.m:796
NSOrderedSet * foundationOrderedSet
Definition: NSArray+SCArray.h:151
Класс массивов объектов
Definition: SCArray.h:75
SCIndex indexOfLastObject()
Definition: NSArray+SCArray.m:1091
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242
BOOL isLibraryArray()
Definition: NSArray+SCArray.m:652