Samond Classes Library 1.2.0-RELEASE build 166
SCNSSet.h
Go to the documentation of this file.
1 //
2 // SCNSSet.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.05.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
23 #import <Foundation/Foundation.h>
24 #import <scl/SCCoding.h>
25 #import <scl/SCDictionaring.h>
26 #import <scl/SCStreaming.h>
27 #import <scl/SCCollectioning.h>
28 #import <scl/SCCollectionProtocol.h>
29 
30 #pragma mark -
31 #pragma mark Константы класса
32 
36 #define NSSetClass @"NSSet"
37 
38 
76 @property (nonatomic, assign, readonly, getter=empty) BOOL empty;
77 
82 @property (nonatomic, assign, readonly, getter=readOnly) BOOL readOnly;
83 
97 @property (nonatomic, retain, readonly, getter=array) SCArray *array;
98 
103 @property (nonatomic, retain, readonly, getter=set) SCSet *set;
104 
109 @property (nonatomic, retain, readonly, getter=orderedSet) SCOrderedSet *orderedSet;
110 
115 @property (nonatomic, retain, readonly, getter=dictionary) SCDictionary *dictionary;
116 
121 @property (nonatomic, retain, readonly, getter=stack) SCStack *stack;
122 
127 @property (nonatomic, retain, readonly, getter=queue) SCQueue *queue;
128 
133 @property (nonatomic, retain, readonly, getter=unidirectionalList) SCUnidirectionalList *unidirectionalList;
134 
139 @property (nonatomic, retain, readonly, getter=bidirectionalList) SCBidirectionalList *bidirectionalList;
140 
145 @property (nonatomic, retain, readonly, getter=foundationArray) NSArray *foundationArray;
146 
151 @property (nonatomic, retain, readonly, getter=foundationSet) NSSet *foundationSet;
152 
157 @property (nonatomic, retain, readonly, getter=foundationOrderedSet) NSOrderedSet *foundationOrderedSet;
158 
163 @property (nonatomic, retain, readonly, getter=foundationDictionary) NSDictionary *foundationDictionary;
164 
167 #pragma mark -
168 #pragma mark Создание неупорядоченных множеств
169 + (NSSet *)setWithCollection:(id)collection;
170 
171 #pragma mark -
172 #pragma mark Инициализация неупорядоченных множеств
173 - (id)initWithCollection:(id)collection;
174 
175 #pragma mark -
176 #pragma mark Поддержка последовательных файлов
177 + (NSSet *)setWithCoder:(NSCoder *)coder;
178 + (NSSet *)setWithContentsOfSerializedFile:(NSString *)path;
179 - (id)initWithContentsOfSerializedFile:(NSString *)path;
180 - (BOOL)writeContentsToSerializedFile:(NSString *)path;
181 
182 #pragma mark -
183 #pragma mark Поддержка словарей
184 + (NSSet *)setWithDataDictionary:(NSDictionary *)dictionary;
185 + (NSSet *)setWithDataDictionaryFromFile:(NSString *)path;
186 - (id)initWithDataDictionary:(NSDictionary *)dictionary;
187 - (id)initWithDataDictionaryFromFile:(NSString *)path;
188 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary;
189 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically;
190 - (void)writeToDataDictionaryFile:(NSString *)path;
191 - (NSDictionary *)dataDictionary;
192 
193 #pragma mark -
194 #pragma mark Поддержка потоков
195 + (NSSet *)setWithStream:(SCStream *)stream;
196 + (NSSet *)setWithFileStream:(NSString *)path;
197 - (id)initWithStream:(SCStream *)stream;
198 - (id)initWithFileStream:(NSString *)path;
199 - (void)writeToStream:(SCStream *)stream;
200 - (void)writeToFileStream:(NSString *)path;
201 - (void)appendToFileStream:(NSString *)path;
202 
203 #pragma mark -
204 #pragma mark Поддержка коллекций
206 - (SCComparisonResult)compareWithObject:(id<SCCollectioning>)object;
207 
208 #pragma mark -
209 #pragma mark Реализация протокола SCCollection
210 - (BOOL)empty;
211 - (BOOL)readOnly;
212 - (BOOL)isCollection;
213 - (BOOL)isLibraryCollection;
214 - (BOOL)isFoundationCollection;
215 - (BOOL)isArray;
216 - (BOOL)isLibraryArray;
217 - (BOOL)isFoundationArray;
218 - (BOOL)isSet;
219 - (BOOL)isLibrarySet;
220 - (BOOL)isFoundationSet;
221 - (BOOL)isOrderedSet;
222 - (BOOL)isLibraryOrderedSet;
223 - (BOOL)isFoundationOrderedSet;
224 - (BOOL)isDictionary;
225 - (BOOL)isLibraryDictionary;
226 - (BOOL)isFoundationDictionary;
227 - (BOOL)isStack;
228 - (BOOL)isQueue;
229 - (BOOL)isList;
230 - (BOOL)isSortable;
231 
232 #pragma mark -
233 #pragma mark Поиск элементов неупорядоченного множества
234 - (BOOL)containsObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
235 - (BOOL)containsCollection:(id)collection;
236 - (BOOL)containsAnyObject:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
237 - (BOOL)containsAnyObjectFromCollection:(id)collection;
238 
239 #pragma mark -
240 #pragma mark Преобразование неупорядоченных множеств
241 - (SCArray *)array;
242 - (SCSet *)set;
245 - (SCStack *)stack;
246 - (SCQueue *)queue;
249 - (NSArray *)foundationArray;
250 - (NSSet *)foundationSet;
251 - (NSOrderedSet *)foundationOrderedSet;
252 - (NSDictionary *)foundationDictionary;
253 
254 @end
Unordered set class.
Definition: SCSet.h:63
SCBidirectionalList * bidirectionalList
Definition: SCNSSet.h:139
BOOL isStack()
Definition: SCNSSet.m:753
BOOL isLibraryArray()
Definition: SCNSSet.m:621
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:75
BOOL isQueue()
Definition: SCNSSet.m:765
BOOL isCollection()
Definition: SCNSSet.m:573
BOOL isSortable()
Definition: SCNSSet.m:789
Unidirectional list class.
Definition: SCUnidirectionalList.h:74
id< SCCollectioning > copyObject()
Definition: SCNSSet.m:505
BOOL isLibraryDictionary()
Definition: SCNSSet.m:729
BOOL readOnly
Definition: SCNSSet.h:82
NSDictionary * dataDictionary()
Definition: SCNSSet.m:286
BOOL isDictionary()
Definition: SCNSSet.m:717
BOOL isFoundationSet()
Definition: SCNSSet.m:669
NSOrderedSet * foundationOrderedSet
Definition: SCNSSet.h:157
NSArray * foundationArray
Definition: SCNSSet.h:145
Standard protocol NSCoding extention protocol.
Definition: SCCoding.h:40
Ordered set class.
Definition: SCOrderedSet.h:74
SCStack * stack
Definition: SCNSSet.h:121
BOOL isSet()
Definition: SCNSSet.m:645
enum _SCComparisonResult SCComparisonResult
Instances comparing results type.
Definition: SCCollectioning.h:60
Protocol of methods for data exchanging between class instances and classes NSDictionary and NSMutabl...
Definition: SCDictionaring.h:42
BOOL empty
Definition: SCNSSet.h:76
Standard class NSSet functionality extending category.
Definition: SCNSSet.h:52
BOOL isFoundationOrderedSet()
Definition: SCNSSet.m:705
SCSet * set
Definition: SCNSSet.h:103
SCQueue * queue
Definition: SCNSSet.h:127
BOOL isFoundationArray()
Definition: SCNSSet.m:633
BOOL isOrderedSet()
Definition: SCNSSet.m:681
Collections communications protocol.
Definition: SCCollectioning.h:78
Streams communications protocol.
Definition: SCStreaming.h:40
BOOL isArray()
Definition: SCNSSet.m:609
SCArray * array
Definition: SCNSSet.h:97
BOOL isFoundationCollection()
Definition: SCNSSet.m:597
Abstract collections class.
Definition: SCCollection.h:94
Stack of objects class.
Definition: SCStack.h:69
NSSet * foundationSet
Definition: SCNSSet.h:151
BOOL isLibraryOrderedSet()
Definition: SCNSSet.m:693
Queue of objects class.
Definition: SCQueue.h:74
BOOL isLibraryCollection()
Definition: SCNSSet.m:585
SCUnidirectionalList * unidirectionalList
Definition: SCNSSet.h:133
BOOL isFoundationDictionary()
Definition: SCNSSet.m:741
BOOL isLibrarySet()
Definition: SCNSSet.m:657
Dictionary class.
Definition: SCDictionary.h:75
SCOrderedSet * orderedSet
Definition: SCNSSet.h:109
Array class.
Definition: SCArray.h:77
BOOL isList()
Definition: SCNSSet.m:777
SCDictionary * dictionary
Definition: SCNSSet.h:115
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242
NSDictionary * foundationDictionary
Definition: SCNSSet.h:163