26 #import <Foundation/Foundation.h>
27 #if defined(GNUSTEP) && !defined(NS_ORDERED_SER_CLASS)
28 #import <scl/NSOrderedSet.h>
43 #pragma mark Collection Support Types
142 #pragma mark Protocol SCCollection Declaration
161 #pragma mark Primary Collection Properties
173 @property (nonatomic, readonly, retain) NSString *
name;
185 @property (nonatomic, readonly, assign) BOOL
empty;
191 @property (nonatomic, readonly, assign) BOOL
readOnly;
197 @property (nonatomic, readonly, retain) id<SCCollectionDelegate>
delegate;
200 #pragma mark Additional Collection Properties
218 @property (nonatomic, readonly, assign)
SCSet *
set;
282 #pragma mark Objects Enumerators
320 - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(
id *)objects count:(NSUInteger)count;
323 #pragma mark Detecting Collection Type
357 @property (nonatomic, readonly, assign) BOOL
isArray;
376 @property (nonatomic, readonly, assign) BOOL
isSet;
435 @property (nonatomic, readonly, assign) BOOL
isStack;
441 @property (nonatomic, readonly, assign) BOOL
isQueue;
448 @property (nonatomic, readonly, assign) BOOL
isList;
460 #pragma mark Initializing Collections
478 - (instancetype)initWithCollection:(
id<
SCCollection>)collection;
481 #pragma mark Поиск объектов коллекции
515 - (BOOL)containsObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
528 - (BOOL)containsCollection:(
id<
SCCollection>)collection;
545 - (BOOL)containsAnyObject:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
559 - (BOOL)containsAnyObjectFromCollection:(
id<
SCCollection>)collection;
577 - (BOOL)isEqualToCollection:(
id<
SCCollection>)collection;
582 #pragma mark Protocol SCMutableCollection Declaration
600 #pragma mark Copying Collections
645 - (void)setObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
648 #pragma mark Adding Objects
680 - (void)addObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
695 #pragma mark Removing Objects
721 - (void)removeObjectsWithClass:(Class)oclass;
733 - (void)removeObjectsWithClassName:(NSString *)name;
773 - (void)removeObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
778 #pragma mark Protocol SCIndexedCollection Declaration
796 #pragma mark Querying a Collection
826 - (id)objectAtIndex:(
SCIndex)index;
842 - (id)objectAtIndexedSubscript:(
SCIndex)index;
845 #pragma mark Finding Objects in a Collection
872 #pragma mark Protocol SCMutableIndexedCollection Declaration
890 #pragma mark Adding Objects
911 #pragma mark Removing Objects
927 - (void)removeObjectAtIndex:(
SCIndex)index;
939 - (void)removeObjectsAtIndexes:(NSIndexSet *)indexes;
942 #pragma mark Replacing Objects
981 #pragma mark Protocol SCKeydCollection Declaration
999 #pragma mark Querying a Collection
1017 - (id)objectForKey:(NSString *)key;
1031 - (id)objectForKeyedSubscript:(NSString *)key;
1045 - (id)valueForKey:(NSString *)key;
1050 #pragma mark Protocol SCMutableKeyedCollection Declaration
1068 #pragma mark Adding and Changing Objects
1103 - (void)setObject:(
id<
SCCollectioning>)object forKeyedSubscript:(NSString *)key;
1123 #pragma mark Removing Objects
1139 - (void)removeObjectForKey:(NSString *)key;
Unordered set class.
Definition: SCSet.h:72
Definition: SCCollectionProtocols.h:106
SCOrderedSet * orderedSet
Definition: SCCollection.h:194
Definition: SCCollectionProtocols.h:136
NSEnumerator * objectEnumerator
Definition: SCCollection.h:163
BOOL isSet
Definition: SCCollection.h:310
id firstObject
Definition: SCCollectionProtocols.h:806
BOOL isSortable
Definition: SCCollection.h:389
SCIndex count
Definition: SCCollection.h:120
SCBidirectionalList * bidirectionalList
Definition: SCCollection.h:224
BOOL isFoundationOrderedSet
Definition: SCCollection.h:343
NSArray * foundationArray
Definition: SCCollection.h:230
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:81
Mutable keyed collection protocol.
Definition: SCCollectionProtocols.h:1065
BOOL isLibraryDictionary
Definition: SCCollection.h:355
Definition: SCCollectionProtocols.h:64
Unidirectional list class.
Definition: SCUnidirectionalList.h:80
Mutable collections protocol.
Definition: SCCollectionProtocols.h:597
Protocol SCCollectioning header file.
Definition: SCCollectionProtocols.h:70
SCUnidirectionalList * unidirectionalList
Definition: SCCollection.h:218
Mutable indexed collection protocol.
Definition: SCCollectionProtocols.h:887
NSSet * foundationSet
Definition: SCCollection.h:236
Definition: SCCollectionProtocols.h:124
BOOL isFoundationCollection
Definition: SCCollection.h:285
Definition: SCCollectionProtocols.h:100
id lastObject
Definition: SCCollectionProtocols.h:812
BOOL readOnly
Definition: SCCollection.h:132
Ordered set class.
Definition: SCOrderedSet.h:83
BOOL isLibraryCollection
Definition: SCCollection.h:279
Definition: SCCollectionProtocols.h:76
Definition: SCCollectionProtocols.h:94
BOOL isFoundationSet
Definition: SCCollection.h:323
SCQueue * queue
Definition: SCCollection.h:212
BOOL isFoundationDictionary
Definition: SCCollection.h:363
SCArray * array
Definition: SCCollection.h:182
SCCollectionType collectionType
Definition: SCCollection.h:267
Indexed collections protocol.
Definition: SCCollectionProtocols.h:793
Definition: SCCollectionProtocols.h:82
BOOL isQueue
Definition: SCCollection.h:375
NSString * name
Definition: SCCollection.h:114
NSOrderedSet * foundationOrderedSet
Definition: SCCollection.h:242
SCIndex indexOfLastObject
Definition: SCCollectionProtocols.h:867
Library types header file.
BOOL isFoundationArray
Definition: SCCollection.h:304
BOOL isCollection
Definition: SCCollection.h:273
BOOL isArray
Definition: SCCollection.h:291
BOOL isStack
Definition: SCCollection.h:369
SCDictionary * dictionary
Definition: SCCollection.h:200
Definition: SCCollectionProtocols.h:118
Collections communications protocol.
Definition: SCCollectioning.h:79
BOOL isLibraryArray
Definition: SCCollection.h:297
SCSet * set
Definition: SCCollection.h:188
Definition: SCCollectionProtocols.h:88
Collections events handling class.
Definition: SCCollectionDelegate.h:526
Abstract collections class.
Definition: SCCollection.h:98
Stack of objects class.
Definition: SCStack.h:77
SCStack * stack
Definition: SCCollection.h:206
BOOL isDictionary
Definition: SCCollection.h:349
Definition: SCCollectionProtocols.h:112
Keyed collections protocol.
Definition: SCCollectionProtocols.h:996
BOOL isLibrarySet
Definition: SCCollection.h:316
Queue of objects class.
Definition: SCQueue.h:83
BOOL empty
Definition: SCCollection.h:126
Definition: SCCollectionProtocols.h:130
BOOL isLibraryOrderedSet
Definition: SCCollection.h:335
NSEnumerator * reverseObjectEnumerator
Definition: SCCollection.h:169
id< SCCollectionDelegate > delegate
Definition: SCCollection.h:138
Dictionary class.
Definition: SCDictionary.h:80
BOOL isList
Definition: SCCollection.h:382
Array class.
Definition: SCArray.h:84
NSUInteger SCIndex
Definition: SCCollectionProtocols.h:53
SCCollectionType
Definition: SCCollectionProtocols.h:59
BOOL isOrderedSet
Definition: SCCollection.h:329
NSDictionary * foundationDictionary
Definition: SCCollection.h:248