Samond Classes Library 1.2.6-STABLE build 219
NSNumber+SCNumber.h
Go to the documentation of this file.
1 //
2 // NSNumber+SCNumber.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 17.04.12.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
24 #import <Foundation/Foundation.h>
26 #import <scl/SCTypes.h>
27 
28 #pragma mark -
29 #pragma mark Class Constants
30 
39 #define NSNumberClass @"NSNumber"
40 
41 
63 
79 @property (nonatomic, readonly, assign) SCByte byteValue;
80 
85 @property (nonatomic, readonly, assign) SCUByte unsignedByteValue;
86 
91 @property (nonatomic, readonly, assign) unichar unicharValue;
92 
97 @property (nonatomic, readonly, assign) NSString *binaryString;
98 
103 @property (nonatomic, readonly, assign) NSString *octalString;
104 
109 @property (nonatomic, readonly, assign) NSString *decimalString;
110 
115 @property (nonatomic, readonly, assign) NSString *string;
116 
121 @property (nonatomic, readonly, assign) NSString *hexadecimalString;
122 
127 @property (nonatomic, readonly, assign) NSString *boolString;
128 
133 @property (nonatomic, readonly, assign) NSString *floatString;
134 
139 @property (nonatomic, readonly, assign) NSString *doubleString;
140 
156 @property (nonatomic, readonly, assign) SCDataType type;
157 
160 #pragma mark -
161 #pragma mark Creating Numbers
162 + (instancetype)numberWithCoder:(NSCoder *)coder;
163 + (instancetype)numberWithContentsOfSerializedFile:(NSString *)path;
164 + (instancetype)numberWithDataDictionary:(NSDictionary *)dictionary;
165 + (instancetype)numberWithDataDictionaryFromFile:(NSString *)path;
166 + (instancetype)numberWithStream:(SCStream *)stream;
167 + (instancetype)numberWithFileStream:(NSString *)path;
168 + (instancetype)numberWithData:(NSData *)data;
169 + (instancetype)numberWithContentsOfFile:(NSString *)path;
170 + (instancetype)numberWithContentsOfURL:(NSURL *)url;
171 + (instancetype)numberWithContentsOfURLString:(NSString *)urlString;
172 
173 + (instancetype)numberWithNumber:(NSNumber *)number;
174 + (instancetype)numberWithByte:(SCByte)byte;
175 + (instancetype)numberWithUnsignedByte:(SCUByte)byte;
176 + (instancetype)numberWithUnichar:(unichar)chr;
177 + (instancetype)numberWithBinaryString:(NSString *)string;
178 + (instancetype)numberWithOctalString:(NSString *)string;
179 + (instancetype)numberWithDecimalString:(NSString *)string;
180 + (instancetype)numberWithHexadecimalString:(NSString *)string;
181 + (instancetype)numberWithString:(NSString *)string;
182 + (instancetype)numberWithBoolString:(NSString *)string;
183 + (instancetype)numberWithFloatString:(NSString *)string;
184 + (instancetype)numberWithDoubleString:(NSString *)string;
185 
186 #pragma mark -
187 #pragma mark Initializing Numbers
188 - (instancetype)initWithNumber:(NSNumber *)number;
189 - (instancetype)initWithByte:(SCByte)byte;
190 - (instancetype)initWithUnsignedByte:(SCUByte)byte;
191 - (instancetype)initWithUnichar:(unichar)chr;
192 - (instancetype)initWithBinaryString:(NSString *)string;
193 - (instancetype)initWithOctalString:(NSString *)string;
194 - (instancetype)initWithDecimalString:(NSString *)string;
195 - (instancetype)initWithHexadecimalString:(NSString *)string;
196 - (instancetype)initWithString:(NSString *)string;
197 - (instancetype)initWithBoolString:(NSString *)string;
198 - (instancetype)initWithFloatString:(NSString *)string;
199 - (instancetype)initWithDoubleString:(NSString *)string;
200 
201 #pragma mark -
202 #pragma mark Comparing Numbers
203 - (BOOL)isEqualToByte:(SCByte)value;
204 - (BOOL)isEqualToUnsignedByte:(SCUByte)value;
205 - (BOOL)isEqualToShort:(SCShort)value;
206 - (BOOL)isEqualToUnsignedShort:(SCUShort)value;
207 - (BOOL)isEqualToInteger:(SCInteger)value;
208 - (BOOL)isEqualToUnsignedInteger:(SCUInteger)value;
209 - (BOOL)isEqualToLongLong:(SCLong)value;
210 - (BOOL)isEqualToUnsignedLongLong:(SCULong)value;
211 - (BOOL)isEqualToChar:(char)value;
212 - (BOOL)isEqualToUnichar:(unichar)value;
213 - (BOOL)isEqualToBool:(BOOL)value;
214 - (BOOL)isEqualToFloat:(SCFloat)value;
215 - (BOOL)isEqualToDouble:(SCDouble)value;
216 
217 #pragma mark -
218 #pragma mark Comparing Numbers and Strings
219 - (BOOL)isEqualToBinaryString:(NSString *)string;
220 - (BOOL)isEqualToOctalString:(NSString *)string;
221 - (BOOL)isEqualToDecimalString:(NSString *)string;
222 - (BOOL)isEqualToHexadecimalString:(NSString *)string;
223 - (BOOL)isEqualToString:(NSString *)string;
224 - (BOOL)isEqualToBoolString:(NSString *)string;
225 - (BOOL)isEqualToFloatString:(NSString *)string;
226 - (BOOL)isEqualToDoubleString:(NSString *)string;
227 
228 @end
uint64_t SCULong
Definition: SCTypes.h:94
int16_t SCShort
Definition: SCTypes.h:189
int64_t SCLong
Definition: SCTypes.h:176
Standard class NSNumber functionality extending category.
Definition: NSNumber+SCNumber.h:62
NSString * decimalString
Definition: NSNumber+SCNumber.h:109
NSString * doubleString
Definition: NSNumber+SCNumber.h:139
NSString * floatString
Definition: NSNumber+SCNumber.h:133
int32_t SCInteger
Definition: SCTypes.h:149
uint32_t SCUInteger
Definition: SCTypes.h:73
int8_t SCByte
Definition: SCTypes.h:119
SCDataType type
Definition: NSNumber+SCNumber.h:156
uint16_t SCUShort
Definition: SCTypes.h:101
SCDataType
Definition: SCTypes.h:235
uint8_t SCUByte
Definition: SCTypes.h:207
unichar unicharValue
Definition: NSNumber+SCNumber.h:91
SCUByte unsignedByteValue
Definition: NSNumber+SCNumber.h:85
SCByte byteValue
Definition: NSNumber+SCNumber.h:79
NSString * binaryString
Definition: NSNumber+SCNumber.h:97
Library types header file.
double SCDouble
Definition: SCTypes.h:131
NSString * boolString
Definition: NSNumber+SCNumber.h:127
float SCFloat
Definition: SCTypes.h:143
Category NSObject(SCObject) header file.
NSString * octalString
Definition: NSNumber+SCNumber.h:103
NSString * hexadecimalString
Definition: NSNumber+SCNumber.h:121
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:224