Samond Classes Library 1.2.1-RELEASE build 181
SCSet.h
См. документацию.
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 
30 #define SCSetClass @"SCSet"
31 
32 
65 @interface SCSet : SCCollection {
66  NSMutableSet *fSet; // Internal data storage
67 }
68 
88 @property (nonatomic, retain, readonly, getter=allObjects) SCArray *allObjects;
89 
94 @property (nonatomic, retain, readonly, getter=anyObject) id anyObject;
95 
98 #pragma mark -
99 #pragma mark Creating Sets
100 + (instancetype)setWithCoder:(NSCoder *)coder;
101 + (instancetype)setWithContentsOfSerializedFile:(NSString *)path;
102 + (instancetype)setWithDataDictionary:(NSDictionary *)dictionary;
103 + (instancetype)setWithDataDictionaryFromFile:(NSString *)path;
104 + (instancetype)setWithStream:(SCStream *)stream;
105 + (instancetype)setWithFileStream:(NSString *)path;
106 
107 + (instancetype)setWithName:(NSString *)name;
108 + (instancetype)setWithObject:(id<SCCollectioning>)object;
109 + (instancetype)setWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
110 + (instancetype)setWithCollection:(id<SCCollection>)collection;
111 + (instancetype)setWithSet:(SCSet *)set;
112 + (instancetype)set;
113 
114 #pragma mark -
115 #pragma mark Initializing Sets
116 - (instancetype)initWithName:(NSString *)name;
117 - (instancetype)initWithObject:(id<SCCollectioning>)object;
118 - (instancetype)initWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
119 - (instancetype)initWithCollection:(id<SCCollection>)collection;
120 - (instancetype)initWithSet:(SCSet *)set;
121 - (instancetype)init;
122 
123 #pragma mark -
124 #pragma mark Copying Sets
125 - (void)setSet:(SCSet *)set;
126 
127 #pragma mark -
128 #pragma mark Comparing Sets
129 - (BOOL)isSubsetOfSet:(id<SCCollection>)set;
130 - (BOOL)intersectsSet:(id<SCCollection>)set;
131 - (BOOL)isEqualToSet:(SCSet *)set;
132 - (BOOL)isEqualToContentsOfSet:(SCSet *)set;
133 
134 #pragma mark -
135 #pragma mark Accessing Set Members
136 - (SCArray *)allObjects;
137 - (id)anyObject;
138 
139 #pragma mark -
140 #pragma mark Combining and Recombining Sets
141 - (void)unionSet:(id<SCCollection>)set;
142 - (void)minusSet:(id<SCCollection>)set;
143 - (void)intersectSet:(id<SCCollection>)set;
144 
145 @end
Класс неупорядоченного множества объектов
Definition: SCSet.h:65
SCArray * allObjects
Definition: SCSet.h:88
id anyObject
Definition: SCSet.h:94
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс массивов объектов
Definition: SCArray.h:75
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242