Samond Classes Library 1.2.0-RELEASE build 166
SCNumber.h
Go to the documentation of this file.
1 //
2 // SCNumber.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 17.04.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/SCTypes.h>
28 #import <scl/SCCollectioning.h>
29 
30 #pragma mark -
31 #pragma mark Константы класса
32 
36 #define NSNumberClass @"NSNumber"
37 
38 
59 
83 @property (nonatomic, assign, readonly, getter=byteValue) SCByte byteValue;
84 
89 @property (nonatomic, assign, readonly, getter=unsignedByteValue) SCUByte unsignedByteValue;
90 
95 @property (nonatomic, assign, readonly, getter=unicharValue) unichar unicharValue;
96 
101 @property (nonatomic, assign, readonly, getter=binaryString) NSString *binaryString;
102 
107 @property (nonatomic, retain, readonly, getter=octalString) NSString *octalString;
108 
113 @property (nonatomic, retain, readonly, getter=decimalString) NSString *decimalString;
114 
119 @property (nonatomic, retain, readonly, getter=string) NSString *string;
120 
125 @property (nonatomic, retain, readonly, getter=hexadecimalString) NSString *hexadecimalString;
126 
131 @property (nonatomic, retain, readonly, getter=boolString) NSString *boolString;
132 
137 @property (nonatomic, retain, readonly, getter=floatString) NSString *floatString;
138 
144 @property (nonatomic, retain, readonly, getter=doubleString) NSString *doubleString;
145 
148 #pragma mark -
149 #pragma mark Создание числовых объектов
150 + (NSNumber *)numberWithNumber:(NSNumber *)number;
151 + (NSNumber *)numberWithByte:(SCByte)byte;
152 + (NSNumber *)numberWithUnsignedByte:(SCUByte)byte;
153 + (NSNumber *)numberWithUnichar:(unichar)chr;
154 + (NSNumber *)numberWithBinaryString:(NSString *)string;
155 + (NSNumber *)numberWithOctalString:(NSString *)string;
156 + (NSNumber *)numberWithDecimalString:(NSString *)string;
157 + (NSNumber *)numberWithHexadecimalString:(NSString *)string;
158 + (NSNumber *)numberWithString:(NSString *)string;
159 + (NSNumber *)numberWithBoolString:(NSString *)string;
160 + (NSNumber *)numberWithFloatString:(NSString *)string;
161 + (NSNumber *)numberWithDoubleString:(NSString *)string;
162 + (NSNumber *)numberWithBinaryCharString:(const char *)string;
163 + (NSNumber *)numberWithOctalCharString:(const char *)string;
164 + (NSNumber *)numberWithDecimalCharString:(const char *)string;
165 + (NSNumber *)numberWithHexadecimalCharString:(const char *)string;
166 + (NSNumber *)numberWithCharString:(const char *)string;
167 + (NSNumber *)numberWithBoolCharString:(const char *)string;
168 + (NSNumber *)numberWithFloatCharString:(const char *)string;
169 + (NSNumber *)numberWithDoubleCharString:(const char *)string;
170 
171 #pragma mark -
172 #pragma mark Инициализация числовых объектов
173 - (id)initWithNumber:(NSNumber *)number;
174 - (id)initWithByte:(SCByte)byte;
175 - (id)initWithUnsignedByte:(SCUByte)byte;
176 - (id)initWithUnichar:(unichar)chr;
177 - (id)initWithBinaryString:(NSString *)string;
178 - (id)initWithOctalString:(NSString *)string;
179 - (id)initWithDecimalString:(NSString *)string;
180 - (id)initWithHexadecimalString:(NSString *)string;
181 - (id)initWithString:(NSString *)string;
182 - (id)initWithBoolString:(NSString *)string;
183 - (id)initWithFloatString:(NSString *)string;
184 - (id)initWithDoubleString:(NSString *)string;
185 - (id)initWithBinaryCharString:(const char *)string;
186 - (id)initWithOctalCharString:(const char *)string;
187 - (id)initWithDecimalCharString:(const char *)string;
188 - (id)initWithHexadecimalCharString:(const char *)string;
189 - (id)initWithCharString:(const char *)string;
190 - (id)initWithBoolCharString:(const char *)string;
191 - (id)initWithFloatCharString:(const char *)string;
192 - (id)initWithDoubleCharString:(const char *)string;
193 
194 #pragma mark -
195 #pragma mark Поддержка последовательных файлов
196 + (NSNumber *)numberWithCoder:(NSCoder *)coder;
197 + (NSNumber *)numberWithContentsOfSerializedFile:(NSString *)path;
198 - (id)initWithContentsOfSerializedFile:(NSString *)path;
199 - (BOOL)writeContentsToSerializedFile:(NSString *)path;
200 
201 #pragma mark -
202 #pragma mark Поддержка словарей
203 + (NSNumber *)numberWithDataDictionary:(NSDictionary *)dictionary;
204 + (NSNumber *)numberWithDataDictionaryFromFile:(NSString *)path;
205 - (id)initWithDataDictionary:(NSDictionary *)dictionary;
206 - (id)initWithDataDictionaryFromFile:(NSString *)path;
207 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary;
208 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically;
209 - (void)writeToDataDictionaryFile:(NSString *)path;
210 - (NSDictionary *)dataDictionary;
211 
212 #pragma mark -
213 #pragma mark Поддержка потоков
214 + (NSNumber *)numberWithStream:(SCStream *)stream;
215 + (NSNumber *)numberWithFileStream:(NSString *)path;
216 - (id)initWithStream:(SCStream *)stream;
217 - (id)initWithFileStream:(NSString *)path;
218 - (void)writeToStream:(SCStream *)stream;
219 - (void)writeToFileStream:(NSString *)path;
220 - (void)appendToFileStream:(NSString *)path;
221 
222 #pragma mark -
223 #pragma mark Поддержка коллекций
225 - (SCComparisonResult)compareWithObject:(id<SCCollectioning>)object;
226 
227 #pragma mark -
228 #pragma mark Доступ к свойствам экземпляра класса
229 - (SCByte)byteValue;
231 - (unichar)unicharValue;
232 
233 - (NSString *)binaryString;
234 - (NSString *)octalString;
235 - (NSString *)decimalString;
236 - (NSString *)string;
237 - (NSString *)hexadecimalString;
238 - (NSString *)boolString;
239 - (NSString *)floatString;
240 - (NSString *)doubleString;
241 
242 #pragma mark -
243 #pragma mark Определение типов числовых объекта
245 
246 #pragma mark -
247 #pragma mark Сравнение экземпляров класса
248 - (BOOL)isEqualToByte:(SCByte)value;
249 - (BOOL)isEqualToUnsignedByte:(SCUByte)value;
250 - (BOOL)isEqualToShort:(SCShort)value;
251 - (BOOL)isEqualToUnsignedShort:(SCUShort)value;
252 - (BOOL)isEqualToInteger:(SCInteger)value;
253 - (BOOL)isEqualToUnsignedInteger:(SCUInteger)value;
254 - (BOOL)isEqualToLongLong:(SCLong)value;
255 - (BOOL)isEqualToUnsignedLongLong:(SCULong)value;
256 - (BOOL)isEqualToChar:(char)value;
257 - (BOOL)isEqualToUnichar:(unichar)value;
258 - (BOOL)isEqualToBool:(BOOL)value;
259 - (BOOL)isEqualToFloat:(SCFloat)value;
260 - (BOOL)isEqualToDouble:(SCDouble)value;
261 
262 #pragma mark -
263 #pragma mark Сравнение экземпляров класса с текстовым представлением чисел
264 - (BOOL)isEqualToBinaryString:(NSString *)string;
265 - (BOOL)isEqualToOctalString:(NSString *)string;
266 - (BOOL)isEqualToDecimalString:(NSString *)string;
267 - (BOOL)isEqualToHexadecimalString:(NSString *)string;
268 - (BOOL)isEqualToString:(NSString *)string;
269 - (BOOL)isEqualToBoolString:(NSString *)string;
270 - (BOOL)isEqualToFloatString:(NSString *)string;
271 - (BOOL)isEqualToDoubleString:(NSString *)string;
272 
273 - (BOOL)isEqualToBinaryCharString:(const char *)string;
274 - (BOOL)isEqualToOctalCharString:(const char *)string;
275 - (BOOL)isEqualToDecimalCharString:(const char *)string;
276 - (BOOL)isEqualToHexadecimalCharString:(const char *)string;
277 - (BOOL)isEqualToCharString:(const char *)string;
278 - (BOOL)isEqualToBoolCharString:(const char *)string;
279 - (BOOL)isEqualToFloatCharString:(const char *)string;
280 - (BOOL)isEqualToDoubleCharString:(const char *)string;
281 
282 @end
uint64_t SCULong
Definition: SCTypes.h:78
int16_t SCShort
Definition: SCTypes.h:42
int64_t SCLong
Definition: SCTypes.h:54
Standard class NSNumber functionality extending category.
Definition: SCNumber.h:58
NSString * decimalString
Definition: SCNumber.h:113
NSString * doubleString
Definition: SCNumber.h:144
NSString * floatString
Definition: SCNumber.h:137
int32_t SCInteger
Definition: SCTypes.h:48
id< SCCollectioning > copyObject()
Definition: SCNumber.m:1213
uint32_t SCUInteger
Definition: SCTypes.h:72
SCStandardType type()
Definition: SCNumber.m:1368
int8_t SCByte
Definition: SCTypes.h:36
Standard protocol NSCoding extention protocol.
Definition: SCCoding.h:40
uint16_t SCUShort
Definition: SCTypes.h:66
NSDictionary * dataDictionary()
Definition: SCNumber.m:873
uint8_t SCUByte
Definition: SCTypes.h:60
unichar unicharValue
Definition: SCNumber.h:95
SCUByte unsignedByteValue
Definition: SCNumber.h:89
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
SCByte byteValue
Definition: SCNumber.h:83
NSString * binaryString
Definition: SCNumber.h:101
float_t SCFloat
Definition: SCTypes.h:84
Collections communications protocol.
Definition: SCCollectioning.h:78
Streams communications protocol.
Definition: SCStreaming.h:40
NSString * boolString
Definition: SCNumber.h:131
enum _SCStandardType SCStandardType
Standard data type.
Definition: SCTypes.h:208
NSString * string
Definition: SCNumber.h:119
NSString * octalString
Definition: SCNumber.h:107
NSString * hexadecimalString
Definition: SCNumber.h:125
double_t SCDouble
Definition: SCTypes.h:90
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242