27 #pragma mark Class Constants
37 #define SCCollectionClass @"SCCollection"
43 #define SCNotFound NSNotFound
104 id<SCCollectionDelegate> fDelegate;
107 #pragma mark Свойства экземпляра класса
117 @property (nonatomic, readwrite, retain) NSString *name;
123 @property (nonatomic, readonly, assign)
SCIndex count;
129 @property (nonatomic, readonly, assign) BOOL empty;
135 @property (nonatomic, readwrite, assign) BOOL readOnly;
141 @property (nonatomic, readwrite, retain) id<SCCollectionDelegate> delegate;
147 @property (nonatomic, readonly, copy) NSString *typeName;
166 @property (nonatomic, readonly, assign) NSEnumerator *objectEnumerator;
172 @property (nonatomic, readonly, assign) NSEnumerator *reverseObjectEnumerator;
185 @property (nonatomic, readonly, assign)
SCArray *array;
191 @property (nonatomic, readonly, assign)
SCSet *set;
211 @property (nonatomic, readonly, assign)
SCStack *stack;
217 @property (nonatomic, readonly, assign)
SCQueue *queue;
235 @property (nonatomic, readonly, assign) NSArray *foundationArray;
241 @property (nonatomic, readonly, assign) NSSet *foundationSet;
248 @property (nonatomic, readonly, assign) NSOrderedSet *foundationOrderedSet;
255 @property (nonatomic, readonly, assign) NSDictionary *foundationDictionary;
280 @property (nonatomic, readonly, assign) BOOL isCollection;
286 @property (nonatomic, readonly, assign) BOOL isLibraryCollection;
292 @property (nonatomic, readonly, assign) BOOL isFoundationCollection;
298 @property (nonatomic, readonly, assign) BOOL isArray;
304 @property (nonatomic, readonly, assign) BOOL isLibraryArray;
311 @property (nonatomic, readonly, assign) BOOL isFoundationArray;
317 @property (nonatomic, readonly, assign) BOOL isSet;
323 @property (nonatomic, readonly, assign) BOOL isLibrarySet;
330 @property (nonatomic, readonly, assign) BOOL isFoundationSet;
336 @property (nonatomic, readonly, assign) BOOL isOrderedSet;
342 @property (nonatomic, readonly, assign) BOOL isLibraryOrderedSet;
350 @property (nonatomic, readonly, assign) BOOL isFoundationOrderedSet;
356 @property (nonatomic, readonly, assign) BOOL isDictionary;
362 @property (nonatomic, readonly, assign) BOOL isLibraryDictionary;
370 @property (nonatomic, readonly, assign) BOOL isFoundationDictionary;
376 @property (nonatomic, readonly, assign) BOOL isStack;
382 @property (nonatomic, readonly, assign) BOOL isQueue;
389 @property (nonatomic, readonly, assign) BOOL isList;
396 @property (nonatomic, readonly, assign) BOOL isSortable;
401 #pragma mark Initializing Collections
402 - (instancetype)initWithName:(NSString *)name;
403 - (instancetype)initWithCollection:(
id<
SCCollection>)collection;
406 #pragma mark Copying Collections
409 - (void)setObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
412 #pragma mark Comparing Collections
413 - (BOOL)isEqualToCollection:(
id<
SCCollection>)collection;
414 - (BOOL)isEqual:(
id)object;
417 #pragma mark Objects Enumerators
421 - (void)reverseEnumerate;
424 #pragma mark Adding Objects
426 - (void)addObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
430 #pragma mark Removing Objects
431 - (void)removeAllObjects;
432 - (void)removeObjectsWithClass:(Class)oclass;
433 - (void)removeObjectsWithClassName:(NSString *)name;
436 - (void)removeObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
439 #pragma mark Finding Objects in a Collection
441 - (BOOL)containsObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
442 - (BOOL)containsCollection:(
id<
SCCollection>)collection;
443 - (BOOL)containsAnyObject:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
444 - (BOOL)containsAnyObjectFromCollection:(
id<
SCCollection>)collection;
447 #pragma mark Detecting Collection Type
448 + (BOOL)isCollectionClass:(NSString *)name;
449 + (BOOL)isLibraryCollectionClass:(NSString *)name;
450 + (BOOL)isFoundationCollectionClass:(NSString *)name;
451 + (BOOL)isArrayClass:(NSString *)name;
452 + (BOOL)isLibraryArrayClass:(NSString *)name;
453 + (BOOL)isFoundationArrayClass:(NSString *)name;
454 + (BOOL)isSetClass:(NSString *)name;
455 + (BOOL)isLibrarySetClass:(NSString *)name;
456 + (BOOL)isFoundationSetClass:(NSString *)name;
457 + (BOOL)isOrderedSetClass:(NSString *)name;
458 + (BOOL)isLibraryOrderedSetClass:(NSString *)name;
459 + (BOOL)isFoundationOrderedSetClass:(NSString *)name;
460 + (BOOL)isDictionaryClass:(NSString *)name;
461 + (BOOL)isLibraryDictionaryClass:(NSString *)name;
462 + (BOOL)isFoundationDictionaryClass:(NSString *)name;
463 + (BOOL)isStackClass:(NSString *)name;
464 + (BOOL)isQueueClass:(NSString *)name;
465 + (BOOL)isListClass:(NSString *)name;
466 + (BOOL)isSortableClass:(NSString *)name;
468 + (BOOL)isCollection:(
id)object;
469 + (BOOL)isLibraryCollection:(
id)object;
470 + (BOOL)isFoundationCollection:(
id)object;
471 + (BOOL)isArray:(
id)object;
472 + (BOOL)isLibraryArray:(
id)object;
473 + (BOOL)isFoundationArray:(
id)object;
474 + (BOOL)isSet:(
id)object;
475 + (BOOL)isLibrarySet:(
id)object;
476 + (BOOL)isFoundationSet:(
id)object;
477 + (BOOL)isOrderedSet:(
id)object;
478 + (BOOL)isLibraryOrderedSet:(
id)object;
479 + (BOOL)isFoundationOrderedSet:(
id)object;
480 + (BOOL)isDictionary:(
id)object;
481 + (BOOL)isLibraryDictionary:(
id)object;
482 + (BOOL)isFoundationDictionary:(
id)object;
483 + (BOOL)isStack:(
id)object;
484 + (BOOL)isQueue:(
id)object;
485 + (BOOL)isList:(
id)object;
486 + (BOOL)isSortable:(
id)object;
Unordered set class.
Definition: SCSet.h:71
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:80
Unidirectional list class.
Definition: SCUnidirectionalList.h:79
Mutable collections protocol.
Definition: SCCollectionProtocols.h:576
Class SCObject header file.
Ordered set class.
Definition: SCOrderedSet.h:79
Parent class of all library classes.
Definition: SCObject.h:58
Collection types protocols header file.
Collections communications protocol.
Definition: SCCollectioning.h:78
Collections events handling class.
Definition: SCCollectionDelegate.h:524
Abstract collections class.
Definition: SCCollection.h:101
Stack of objects class.
Definition: SCStack.h:74
Queue of objects class.
Definition: SCQueue.h:80
Dictionary class.
Definition: SCDictionary.h:77
Array class.
Definition: SCArray.h:81
NSUInteger SCIndex
Definition: SCCollectionProtocols.h:50
SCCollectionType
Definition: SCCollectionProtocols.h:56