Samond Classes Library 1.2.6-STABLE build 219
NSSet+SCSet.h
Go to the documentation of this file.
1 //
2 // NSSet+SCSet.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.05.12.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
24 #import <Foundation/Foundation.h>
25 #import <scl/NSArray+SCArray.h>
29 
30 #pragma mark -
31 #pragma mark Class Constants
32 
41 #define NSSetClass @"NSSet"
42 
43 
73 @property (nonatomic, readonly, retain) NSString *name;
74 
79 @property (nonatomic, readonly, assign) BOOL empty;
80 
85 @property (nonatomic, readonly, assign) BOOL readOnly;
86 
91 @property (nonatomic, readonly, retain) id<SCCollectionDelegate> delegate;
92 
97 @property (nonatomic, readonly, assign) SCCollectionType collectionType;
98 
103 @property (nonatomic, readonly, assign) BOOL isCollection;
104 
109 @property (nonatomic, readonly, assign) BOOL isLibraryCollection;
110 
115 @property (nonatomic, readonly, assign) BOOL isFoundationCollection;
116 
121 @property (nonatomic, readonly, assign) BOOL isArray;
122 
127 @property (nonatomic, readonly, assign) BOOL isLibraryArray;
128 
134 @property (nonatomic, readonly, assign) BOOL isFoundationArray;
135 
140 @property (nonatomic, readonly, assign) BOOL isSet;
141 
146 @property (nonatomic, readonly, assign) BOOL isLibrarySet;
147 
153 @property (nonatomic, readonly, assign) BOOL isFoundationSet;
154 
159 @property (nonatomic, readonly, assign) BOOL isOrderedSet;
160 
165 @property (nonatomic, readonly, assign) BOOL isLibraryOrderedSet;
166 
173 @property (nonatomic, readonly, assign) BOOL isFoundationOrderedSet;
174 
179 @property (nonatomic, readonly, assign) BOOL isDictionary;
180 
185 @property (nonatomic, readonly, assign) BOOL isLibraryDictionary;
186 
193 @property (nonatomic, readonly, assign) BOOL isFoundationDictionary;
194 
199 @property (nonatomic, readonly, assign) BOOL isStack;
200 
205 @property (nonatomic, readonly, assign) BOOL isQueue;
206 
212 @property (nonatomic, readonly, assign) BOOL isList;
213 
219 @property (nonatomic, readonly, assign) BOOL isSortable;
220 
234 @property (nonatomic, readonly, assign) SCArray *array;
235 
240 @property (nonatomic, readonly, assign) SCSet *set;
241 
246 @property (nonatomic, readonly, assign) SCOrderedSet *orderedSet;
247 
252 @property (nonatomic, readonly, assign) SCDictionary *dictionary;
253 
258 @property (nonatomic, readonly, assign) SCStack *stack;
259 
264 @property (nonatomic, readonly, assign) SCQueue *queue;
265 
270 @property (nonatomic, readonly, assign) SCUnidirectionalList *unidirectionalList;
271 
276 @property (nonatomic, readonly, assign) SCBidirectionalList *bidirectionalList;
277 
282 @property (nonatomic, readonly, assign) NSArray *foundationArray;
283 
288 @property (nonatomic, readonly, assign) NSSet *foundationSet;
289 
294 @property (nonatomic, readonly, assign) NSOrderedSet *foundationOrderedSet;
295 
300 @property (nonatomic, readonly, assign) NSDictionary *foundationDictionary;
301 
304 #pragma mark -
305 #pragma mark Creating Sets
306 + (instancetype)setWithCoder:(NSCoder *)coder;
307 + (instancetype)setWithContentsOfSerializedFile:(NSString *)path;
308 + (instancetype)setWithDataDictionary:(NSDictionary *)dictionary;
309 + (instancetype)setWithDataDictionaryFromFile:(NSString *)path;
310 + (instancetype)setWithStream:(SCStream *)stream;
311 + (instancetype)setWithFileStream:(NSString *)path;
312 + (instancetype)setWithData:(NSData *)data;
313 + (instancetype)setWithContentsOfFile:(NSString *)path;
314 + (instancetype)setWithContentsOfURL:(NSURL *)url;
315 + (instancetype)setWithContentsOfURLString:(NSString *)urlString;
316 + (instancetype)setWithCollection:(id<SCCollection>)collection;
317 
318 #pragma mark -
319 #pragma mark Initializing Sets
320 - (instancetype)initWithCollection:(id<SCCollection>)collection;
321 
322 #pragma mark -
323 #pragma mark Finding Objects in a Set
324 - (BOOL)containsObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
325 - (BOOL)containsCollection:(id<SCCollection>)collection;
326 - (BOOL)containsAnyObject:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
327 - (BOOL)containsAnyObjectFromCollection:(id<SCCollection>)collection;
328 
329 #pragma mark -
330 #pragma mark Comparing Sets
331 - (BOOL)isEqualToCollection:(id<SCCollection>)collection;
332 
333 #pragma mark -
334 #pragma mark Deriving New Sets
335 - (NSSet *)setByAddingObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
336 - (NSSet *)setByAddingArray:(NSArray *)array;
337 - (NSSet *)setByAddingSet:(NSSet *)set;
338 - (NSSet *)setByAddingCollection:(id<SCCollection>)collection;
339 
340 @end
Unordered set class.
Definition: SCSet.h:72
BOOL empty
Definition: NSSet+SCSet.h:79
id< SCCollectionDelegate > delegate
Definition: NSSet+SCSet.h:91
NSArray * foundationArray
Definition: NSSet+SCSet.h:282
BOOL isLibraryArray
Definition: NSSet+SCSet.h:127
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:81
BOOL isFoundationCollection
Definition: NSSet+SCSet.h:115
BOOL isOrderedSet
Definition: NSSet+SCSet.h:159
BOOL readOnly
Definition: NSSet+SCSet.h:85
SCBidirectionalList * bidirectionalList
Definition: NSSet+SCSet.h:276
Unidirectional list class.
Definition: SCUnidirectionalList.h:80
SCDictionary * dictionary
Definition: NSSet+SCSet.h:252
BOOL isFoundationOrderedSet
Definition: NSSet+SCSet.h:173
Standard class NSSet functionality extending category.
Definition: NSSet+SCSet.h:57
BOOL isLibraryDictionary
Definition: NSSet+SCSet.h:185
Caregory NSArray(SCArray) header file.
BOOL isQueue
Definition: NSSet+SCSet.h:205
NSString * name
Definition: NSSet+SCSet.h:73
BOOL isLibraryOrderedSet
Definition: NSSet+SCSet.h:165
Ordered set class.
Definition: SCOrderedSet.h:83
BOOL isList
Definition: NSSet+SCSet.h:212
SCUnidirectionalList * unidirectionalList
Definition: NSSet+SCSet.h:270
BOOL isFoundationSet
Definition: NSSet+SCSet.h:153
BOOL isArray
Definition: NSSet+SCSet.h:121
SCQueue * queue
Definition: NSSet+SCSet.h:264
BOOL isFoundationArray
Definition: NSSet+SCSet.h:134
SCCollectionType collectionType
Definition: NSSet+SCSet.h:97
SCStack * stack
Definition: NSSet+SCSet.h:258
SCSet * set
Definition: NSSet+SCSet.h:240
BOOL isDictionary
Definition: NSSet+SCSet.h:179
BOOL isLibraryCollection
Definition: NSSet+SCSet.h:109
BOOL isCollection
Definition: NSSet+SCSet.h:103
Collection types protocols header file.
Collections communications protocol.
Definition: SCCollectioning.h:79
Category NSDictionary(SCDictionary) header file.
SCOrderedSet * orderedSet
Definition: NSSet+SCSet.h:246
SCArray * array
Definition: NSSet+SCSet.h:234
Abstract collections class.
Definition: SCCollection.h:98
BOOL isSortable
Definition: NSSet+SCSet.h:219
Stack of objects class.
Definition: SCStack.h:77
BOOL isFoundationDictionary
Definition: NSSet+SCSet.h:193
NSDictionary * foundationDictionary
Definition: NSSet+SCSet.h:300
NSOrderedSet * foundationOrderedSet
Definition: NSSet+SCSet.h:294
Queue of objects class.
Definition: SCQueue.h:83
Category NSObject(SCObject) header file.
BOOL isStack
Definition: NSSet+SCSet.h:199
BOOL isLibrarySet
Definition: NSSet+SCSet.h:146
Dictionary class.
Definition: SCDictionary.h:80
Array class.
Definition: SCArray.h:84
SCCollectionType
Definition: SCCollectionProtocols.h:59
NSSet * foundationSet
Definition: NSSet+SCSet.h:288
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:224
BOOL isSet
Definition: NSSet+SCSet.h:140