Samond Classes Library 1.2.2-RELEASE build 188
SCSet.h
Go to the documentation of this file.
1 //
2 // SCSet.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 
22 #import <scl/SCCollection.h>
23 
24 #pragma mark -
25 #pragma mark Class Constants
26 
35 #define SCSetClass @"SCSet"
36 
37 
71 @interface SCSet : SCCollection {
72  NSMutableSet *fSet; // Internal data storage
73 }
74 
94 @property (nonatomic, readonly, assign) SCArray *allObjects;
95 
100 @property (nonatomic, readonly, assign) id anyObject;
101 
104 #pragma mark -
105 #pragma mark Creating Sets
106 + (instancetype)setWithCoder:(NSCoder *)coder;
107 + (instancetype)setWithContentsOfSerializedFile:(NSString *)path;
108 + (instancetype)setWithDataDictionary:(NSDictionary *)dictionary;
109 + (instancetype)setWithDataDictionaryFromFile:(NSString *)path;
110 + (instancetype)setWithStream:(SCStream *)stream;
111 + (instancetype)setWithFileStream:(NSString *)path;
112 
113 + (instancetype)setWithName:(NSString *)name;
114 + (instancetype)setWithObject:(id<SCCollectioning>)object;
115 + (instancetype)setWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
116 + (instancetype)setWithCollection:(id<SCCollection>)collection;
117 + (instancetype)setWithSet:(SCSet *)set;
118 + (instancetype)set;
119 
120 #pragma mark -
121 #pragma mark Initializing Sets
122 - (instancetype)initWithName:(NSString *)name;
123 - (instancetype)initWithObject:(id<SCCollectioning>)object;
124 - (instancetype)initWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
125 - (instancetype)initWithCollection:(id<SCCollection>)collection;
126 - (instancetype)initWithSet:(SCSet *)set;
127 - (instancetype)init;
128 
129 #pragma mark -
130 #pragma mark Copying Sets
131 - (void)setSet:(SCSet *)set;
132 - (void)setArray:(SCArray *)array;
133 
134 #pragma mark -
135 #pragma mark Comparing Sets
136 - (BOOL)isSubsetOfSet:(id<SCCollection>)set;
137 - (BOOL)intersectsSet:(id<SCCollection>)set;
138 - (BOOL)isEqualToSet:(SCSet *)set;
139 - (BOOL)isEqualToArray:(SCArray *)array;
140 
141 #pragma mark -
142 #pragma mark Combining and Recombining Sets
143 - (void)unionSet:(id<SCCollection>)set;
144 - (void)minusSet:(id<SCCollection>)set;
145 - (void)intersectSet:(id<SCCollection>)set;
146 
147 @end
Unordered set class.
Definition: SCSet.h:71
Collections communications protocol.
Definition: SCCollectioning.h:78
Abstract collections class.
Definition: SCCollection.h:101
Class SCCollection header file.
Array class.
Definition: SCArray.h:81
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:226