Samond Classes Library 1.2.0-RELEASE build 166
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 
21 #import <scl/SCCollection.h>
22 
23 #pragma mark -
24 #pragma mark Константы класса
25 
29 #define SCSetClass @"SCSet"
30 
31 
63 @interface SCSet : SCCollection {
64  NSMutableSet *fSet; // Внутреннее представление элементов неупорядоченного множества
65 }
66 
86 @property (nonatomic, retain, readonly, getter=allObjects) SCArray *allObjects;
87 
92 @property (nonatomic, retain, readonly, getter=anyObject) id anyObject;
93 
96 #pragma mark -
97 #pragma mark Создание множеств
98 + (SCSet *)setWithCoder:(NSCoder *)coder;
99 + (SCSet *)setWithContentsOfSerializedFile:(NSString *)path;
100 + (SCSet *)setWithDataDictionary:(NSDictionary *)dictionary;
101 + (SCSet *)setWithDataDictionaryFromFile:(NSString *)path;
102 + (SCSet *)setWithStream:(SCStream *)stream;
103 + (SCSet *)setWithFileStream:(NSString *)path;
104 
105 + (SCSet *)setWithName:(NSString *)name;
106 + (SCSet *)setWithObject:(id)object;
107 + (SCSet *)setWithObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
108 + (SCSet *)setWithCollection:(id)collection;
109 + (SCSet *)setWithSet:(SCSet *)set;
110 + (SCSet *)set;
111 
112 #pragma mark -
113 #pragma mark Инициализация множеств
114 - (id)initWithName:(NSString *)name;
115 - (id)initWithObject:(id)object;
116 - (id)initWithObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
117 - (id)initWithCollection:(id)collection;
118 - (id)initWithSet:(SCSet *)set;
119 - (id)init;
120 
121 #pragma mark -
122 #pragma mark Копирование множеств
123 - (void)setSet:(SCSet *)set;
124 
125 #pragma mark -
126 #pragma mark Сравнение множеств
127 - (BOOL)isSubsetOfSet:(id)set;
128 - (BOOL)intersectsSet:(id)set;
129 - (BOOL)isEqualToSet:(SCSet *)set;
130 - (BOOL)isEqualToContentsOfSet:(SCSet *)set;
131 
132 #pragma mark -
133 #pragma mark Доступ к элементам множества
134 - (SCArray *)allObjects;
135 - (id)anyObject;
136 
137 #pragma mark -
138 #pragma mark Комбинирование и рекомбинирование неупорядоченных множеств
139 - (void)unionSet:(id)set;
140 - (void)minusSet:(id)set;
141 - (void)intersectSet:(id)set;
142 
143 @end
Unordered set class.
Definition: SCSet.h:63
SCArray * allObjects
Definition: SCSet.h:86
id anyObject
Definition: SCSet.h:92
Abstract collections class.
Definition: SCCollection.h:94
Array class.
Definition: SCArray.h:77
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242