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>
31 #pragma mark Константы класса
36 #define NSNumberClass @"NSNumber"
95 @property (nonatomic, assign, readonly, getter=
unicharValue) unichar unicharValue;
101 @property (nonatomic, assign, readonly, getter=
binaryString) NSString *binaryString;
107 @property (nonatomic, retain, readonly, getter=
octalString) NSString *octalString;
113 @property (nonatomic, retain, readonly, getter=
decimalString) NSString *decimalString;
119 @property (nonatomic, retain, readonly, getter=
string) NSString *
string;
131 @property (nonatomic, retain, readonly, getter=
boolString) NSString *boolString;
137 @property (nonatomic, retain, readonly, getter=
floatString) NSString *floatString;
144 @property (nonatomic, retain, readonly, getter=
doubleString) NSString *doubleString;
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;
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;
195 #pragma mark Поддержка последовательных файлов
196 + (NSNumber *)numberWithCoder:(NSCoder *)coder;
197 + (NSNumber *)numberWithContentsOfSerializedFile:(NSString *)path;
198 - (id)initWithContentsOfSerializedFile:(NSString *)path;
199 - (BOOL)writeContentsToSerializedFile:(NSString *)path;
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;
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;
223 #pragma mark Поддержка коллекций
228 #pragma mark Доступ к свойствам экземпляра класса
243 #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;
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;
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;
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