|
Samond Classes Library 1.1.6-RELEASE build 132
|
00001 // 00002 // SCNumber.h 00003 // scl 00004 // 00005 // Created by Viacheslav Smolensky on 17.04.12. 00006 // Copyright (c) 2007 - 2014 by Samond Development Corporation. All rights reserved. 00007 // 00008 00016 #import <Foundation/Foundation.h> 00017 #import <scl/SCTypes.h> 00018 #import <scl/SCCollectionProtocol.h> 00019 00020 #define NSNumberClass @"NSNumber" ///< NSNumber class name 00021 00032 @interface NSNumber(SCNumber) <SCDictionaryObjectProtocol, SCCollectionProtocol, SCCodingProtocol, 00033 SCStreamProtocol> 00034 #pragma mark - 00035 #pragma mark Class properties 00036 #if (__MAC_OS_X_VERSION_MIN_REQUIRED > 1040) || IOS_TARGET 00037 // Instance class name property 00038 @property (retain, readonly, getter=className) NSString *className; 00039 // Number data type property 00040 @property (assign, readonly, getter=type) SCStandardType type; 00041 #endif 00042 00043 #pragma mark - 00044 #pragma mark Creating NSNumber Object 00045 00051 + (NSNumber *)numberWithNumber:(NSNumber *)number; 00052 00058 + (NSNumber *)numberWithByte:(SCByte)byte; 00059 00065 + (NSNumber *)numberWithUnsignedByte:(SCUByte)byte; 00066 00073 + (NSNumber *)numberWithDataDictionary:(NSDictionary *)dictionary; 00074 00081 + (NSNumber *)numberWithDataDictionaryFromFile:(NSString *)path; 00082 00088 + (NSNumber *)numberWithContentsOfSerializedFile:(NSString *)path; 00089 00097 + (NSNumber *)numberWithStream:(SCStream *)stream; 00098 00105 + (NSNumber *)numberWithFileStream:(NSString *)path; 00106 00107 #pragma mark - 00108 #pragma mark Initializing NSNumber Object 00109 00115 - (id)initWithNumber:(NSNumber *)number; 00116 00122 - (id)initWithByte:(SCByte)byte; 00123 00129 - (id)initWithUnsignedByte:(SCUByte)byte; 00130 00137 - (id)initWithDataDictionary:(NSDictionary *)dictionary; 00138 00145 - (id)initWithDataDictionaryFromFile:(NSString *)path; 00146 00152 - (id)initWithContentsOfSerializedFile:(NSString *)path; 00153 00161 - (id)initWithStream:(SCStream *)stream; 00162 00169 - (id)initWithFileStream:(NSString *)path; 00170 00171 #pragma mark - 00172 #pragma mark Supporting Data Dictionaries 00173 00178 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary; 00179 00186 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically; 00187 00192 - (void)writeToDataDictionaryFile:(NSString *)path; 00193 00198 - (NSDictionary *)dataDictionary; 00199 00200 #pragma mark - 00201 #pragma mark Supportiting Serialized Files 00202 00208 - (BOOL)writeContentsToSerializedFile:(NSString *)path; 00209 00210 #pragma mark - 00211 #pragma mark Supporting Streams 00212 00219 - (void)writeToStream:(SCStream *)stream; 00220 00226 - (void)writeToFileStream:(NSString *)path; 00227 00233 - (void)appendToFileStream:(NSString *)path; 00234 00235 #pragma mark - 00236 #pragma mark Supporting Collections 00237 00242 - (id<SCCollectionProtocol>)copyObject; 00243 00254 - (SCComparisonResult)compareWithObject:(id<SCCollectionProtocol>)object; 00255 00256 #pragma mark - 00257 #pragma mark Detecting NSNumber Object Type 00258 00263 - (SCStandardType)type; 00264 00265 #pragma mark - 00266 #pragma mark Accessing Values 00267 00272 - (SCByte)byteValue; 00273 00278 - (SCUByte)unsignedByteValue; 00279 00280 #pragma mark - 00281 #pragma mark Comparing Numbers 00282 00288 - (BOOL)isEqualToByte:(SCByte)byte; 00289 00295 - (BOOL)isEqualToShort:(SCShort)sht; 00296 00302 - (BOOL)isEqualToInt:(SCInteger)integer; 00303 00309 - (BOOL)isEqualToLongLong:(SCLong)longint; 00310 00316 - (BOOL)isEqualToUnsignedByte:(SCUByte)byte; 00317 00323 - (BOOL)isEqualToUnsignedShort:(SCUShort)sht; 00324 00330 - (BOOL)isEqualToUnsignedInt:(SCUInteger)integer; 00331 00337 - (BOOL)isEqualToUnsignedLongLong:(SCULong)longint; 00338 00344 - (BOOL)isEqualToFloat:(SCFloat)flt; 00345 00351 - (BOOL)isEqualToDouble:(SCDouble)dbl; 00352 00358 - (BOOL)isEqualToChar:(char)chr; 00359 00365 - (BOOL)isEqualToBool:(BOOL)boolean; 00366 00367 #pragma mark - 00368 #pragma mark Other Methods 00369 00374 - (NSString *)className; 00375 00376 @end
1.7.3