Samond Classes Library 1.2.1-RELEASE build 181
SCCollection.h
См. документацию.
1 //
2 // SCCollection.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.04.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
23 #import <scl/SCObject.h>
24 #import <scl/SCCollectionProtocols.h>
25 
26 #pragma mark -
27 #pragma mark Class Constants
28 
32 #define SCCollectionClass @"SCCollection"
33 #define SCNotFound NSNotFound
35 
37 @protocol SCCollectionDelegate;
38 
95  NSString *fName; // Collection name
96  BOOL fReadOnly; // Read only mode flag
97  id<SCCollectionDelegate> fDelegate; // Pointer to the delegate object
98 }
99 #pragma mark -
100 #pragma mark Свойства экземпляра класса
101 
110 @property (nonatomic, retain, getter=name, setter=setName:) NSString *name;
111 
116 @property (nonatomic, assign, getter=readOnly, setter=setReadOnly:) BOOL readOnly;
117 
122 @property (nonatomic, retain, getter=delegate, setter=setDelegate:) id<SCCollectionDelegate> delegate;
123 
128 @property (nonatomic, assign, readonly, getter=count) SCIndex count;
129 
134 @property (nonatomic, assign, readonly, getter=empty) BOOL empty;
135 
140 @property (nonatomic, retain, readonly, getter=typeName) NSString *typeName;
141 
146 @property (nonatomic, retain, readonly, getter=description) NSString *description;
147 
165 @property (nonatomic, retain, readonly, getter=objectEnumerator) NSEnumerator *objectEnumerator;
166 
171 @property (nonatomic, retain, readonly, getter=reverseObjectEnumerator) NSEnumerator *reverseObjectEnumerator;
172 
175 #pragma mark -
176 #pragma mark Instance Properties
177 - (NSString *)name;
178 - (BOOL)readOnly;
179 - (id)delegate;
180 - (SCIndex)count;
181 - (BOOL)empty;
182 - (NSString *)typeName;
183 - (void)setName:(NSString *)name;
184 - (void)setReadOnly:(BOOL)flag;
185 - (void)setDelegate:(id<SCCollectionDelegate>)delegate;
186 
187 #pragma mark -
188 #pragma mark Initializing Collections
189 - (instancetype)initWithCollection:(id<SCCollection>)collection;
190 
191 #pragma mark -
192 #pragma mark Copying Collections
193 - (void)setCollection:(id<SCCollection>)collection;
194 - (void)setObject:(id<SCCollectioning>)object;
195 - (void)setObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
196 
197 #pragma mark -
198 #pragma mark Comparing Collections
199 - (BOOL)isEqualToCollection:(id<SCCollection>)collection;
200 - (BOOL)isEqualToContentsOfCollection:(id<SCCollection>)collection;
201 - (BOOL)isEqual:(id)object;
202 
203 #pragma mark -
204 #pragma mark Objects Enumerators
205 - (NSEnumerator *)objectEnumerator;
206 - (NSEnumerator *)reverseObjectEnumerator;
207 - (void)enumerateWithDelegate:(id<SCCollectionDelegate>)delegate;
208 - (void)enumerate;
209 - (void)reverseEnumerateWithDelegate:(id<SCCollectionDelegate>)delegate;
210 - (void)reverseEnumerate;
211 
212 #pragma mark -
213 #pragma mark Converting Collections
214 - (SCArray *)array;
215 - (SCSet *)set;
216 #ifndef GNUSTEP
217 - (SCOrderedSet *)orderedSet;
218 #endif
219 - (SCDictionary *)dictionary;
220 - (SCStack *)stack;
221 - (SCQueue *)queue;
222 - (SCUnidirectionalList *)unidirectionalList;
223 - (SCBidirectionalList *)bidirectionalList;
224 - (NSArray *)foundationArray;
225 - (NSSet *)foundationSet;
226 #ifndef GNUSTEP
227 - (NSOrderedSet *)foundationOrderedSet;
228 #endif
229 - (NSDictionary *)foundationDictionary;
230 
231 #pragma mark -
232 #pragma mark Adding Objects
233 - (void)addObject:(id<SCCollectioning>)object;
234 - (void)addObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
235 - (void)addCollection:(id<SCCollection>)collection;
236 
237 #pragma mark -
238 #pragma mark Removing Objects
239 - (void)removeAllObjects;
240 - (void)removeObjectsWithClass:(Class)oclass;
241 - (void)removeObjectsWithClassName:(NSString *)name;
242 - (void)removeCollection:(id<SCCollection>)collection;
243 - (void)removeObject:(id<SCCollectioning>)object;
244 - (void)removeObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
245 
246 #pragma mark -
247 #pragma mark Finding Objects in a Collection
248 - (BOOL)containsObject:(id<SCCollectioning>)object;
249 - (BOOL)containsObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
250 - (BOOL)containsCollection:(id<SCCollection>)collection;
251 - (BOOL)containsAnyObject:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
252 - (BOOL)containsAnyObjectFromCollection:(id<SCCollection>)collection;
253 
254 #pragma mark -
255 #pragma mark Detecting Collection Type
256 + (BOOL)isCollectionClass:(NSString *)name;
257 + (BOOL)isLibraryCollectionClass:(NSString *)name;
258 + (BOOL)isFoundationCollectionClass:(NSString *)name;
259 + (BOOL)isArrayClass:(NSString *)name;
260 + (BOOL)isLibraryArrayClass:(NSString *)name;
261 + (BOOL)isFoundationArrayClass:(NSString *)name;
262 + (BOOL)isSetClass:(NSString *)name;
263 + (BOOL)isLibrarySetClass:(NSString *)name;
264 + (BOOL)isFoundationSetClass:(NSString *)name;
265 + (BOOL)isOrderedSetClass:(NSString *)name;
266 + (BOOL)isLibraryOrderedSetClass:(NSString *)name;
267 + (BOOL)isFoundationOrderedSetClass:(NSString *)name;
268 + (BOOL)isDictionaryClass:(NSString *)name;
269 + (BOOL)isLibraryDictionaryClass:(NSString *)name;
270 + (BOOL)isFoundationDictionaryClass:(NSString *)name;
271 + (BOOL)isStackClass:(NSString *)name;
272 + (BOOL)isQueueClass:(NSString *)name;
273 + (BOOL)isListClass:(NSString *)name;
274 + (BOOL)isSortableClass:(NSString *)name;
275 
276 + (BOOL)isCollection:(id)object;
277 + (BOOL)isLibraryCollection:(id)object;
278 + (BOOL)isFoundationCollection:(id)object;
279 + (BOOL)isArray:(id)object;
280 + (BOOL)isLibraryArray:(id)object;
281 + (BOOL)isFoundationArray:(id)object;
282 + (BOOL)isSet:(id)object;
283 + (BOOL)isLibrarySet:(id)object;
284 + (BOOL)isFoundationSet:(id)object;
285 + (BOOL)isOrderedSet:(id)object;
286 + (BOOL)isLibraryOrderedSet:(id)object;
287 + (BOOL)isFoundationOrderedSet:(id)object;
288 + (BOOL)isDictionary:(id)object;
289 + (BOOL)isLibraryDictionary:(id)object;
290 + (BOOL)isFoundationDictionary:(id)object;
291 + (BOOL)isStack:(id)object;
292 + (BOOL)isQueue:(id)object;
293 + (BOOL)isList:(id)object;
294 + (BOOL)isSortable:(id)object;
295 
296 - (BOOL)isCollection;
297 - (BOOL)isLibraryCollection;
298 - (BOOL)isFoundationCollection;
299 - (BOOL)isArray;
300 - (BOOL)isLibraryArray;
301 - (BOOL)isFoundationArray;
302 - (BOOL)isSet;
303 - (BOOL)isLibrarySet;
304 - (BOOL)isFoundationSet;
305 - (BOOL)isOrderedSet;
306 - (BOOL)isLibraryOrderedSet;
307 - (BOOL)isFoundationOrderedSet;
308 - (BOOL)isDictionary;
309 - (BOOL)isLibraryDictionary;
310 - (BOOL)isFoundationDictionary;
311 - (BOOL)isStack;
312 - (BOOL)isQueue;
313 - (BOOL)isList;
314 - (BOOL)isSortable;
315 
316 @end
Класс неупорядоченного множества объектов
Definition: SCSet.h:65
NSEnumerator * objectEnumerator
Definition: SCCollection.h:165
SCIndex count
Definition: SCCollection.h:128
Класс двунаправленного списка объектов
Definition: SCBidirectionalList.h:75
Класс однонаправленного списка объектов
Definition: SCUnidirectionalList.h:74
Протокол классов изменяемых коллекций
Definition: SCCollectionProtocols.h:743
BOOL readOnly
Definition: SCCollection.h:116
Класс упорядоченного множества объектов
Definition: SCOrderedSet.h:73
Общий предок всех остальных классов библиотеки
Definition: SCObject.h:53
NSString * typeName
Definition: SCCollection.h:140
NSUInteger SCIndex
Definition: SCTypes.h:238
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
Класс обработчика событий коллекций
Definition: SCCollectionDelegate.h:519
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс стека объектов
Definition: SCStack.h:69
id< SCCollectionDelegate > delegate
Definition: SCCollection.h:122
Класс очереди объектов
Definition: SCQueue.h:74
BOOL empty
Definition: SCCollection.h:134
NSString * description
Definition: SCCollection.h:146
NSString * name
Definition: SCCollection.h:110
NSEnumerator * reverseObjectEnumerator
Definition: SCCollection.h:171
Класс словарей
Definition: SCDictionary.h:71
Класс массивов объектов
Definition: SCArray.h:75