home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-Developer.iso / NextLibrary / Frameworks / Foundation.framework / Versions / B / Headers / NSValue.h < prev    next >
Encoding:
Text File  |  1996-10-25  |  2.6 KB  |  95 lines

  1. /*    NSValue.h
  2.     Use NSValues to put C-types into collections.
  3.     Use NSNumbers to put numbers into collections.
  4.     Copyright 1994-1996, NeXT Software, Inc.  All rights reserved.
  5. */
  6.  
  7. #import <Foundation/NSObject.h>
  8.  
  9. @class NSString, NSDictionary;
  10.  
  11. @interface NSValue : NSObject <NSCopying, NSCoding>
  12.  
  13. - (void)getValue:(void *)value;
  14. - (const char *)objCType;
  15.  
  16. @end
  17.  
  18. @interface NSValue (NSValueCreation)
  19.  
  20. - (id)initWithBytes:(const void *)value objCType:(const char *)type;
  21. + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type;
  22. + (NSValue *)value:(const void *)value withObjCType:(const char *)type;
  23.  
  24. @end
  25.  
  26. @interface NSValue (NSValueExtensionMethods)
  27.  
  28. + (NSValue *)valueWithNonretainedObject:(id)anObject;
  29. - (id)nonretainedObjectValue;
  30.  
  31. + (NSValue *)valueWithPointer:(const void *)pointer;
  32. - (void *)pointerValue;
  33.  
  34. - (BOOL)isEqualToValue:(NSValue *)value;
  35.  
  36. @end
  37.  
  38. @interface NSNumber : NSValue
  39.  
  40. - (char)charValue;
  41. - (unsigned char)unsignedCharValue;
  42. - (short)shortValue;
  43. - (unsigned short)unsignedShortValue;
  44. - (int)intValue;
  45. - (unsigned int)unsignedIntValue;
  46. - (long)longValue;
  47. - (unsigned long)unsignedLongValue;
  48. - (long long)longLongValue;
  49. - (unsigned long long)unsignedLongLongValue;
  50. - (float)floatValue;
  51. - (double)doubleValue;
  52. - (BOOL)boolValue;
  53. - (NSString *)stringValue;
  54.  
  55. - (NSComparisonResult)compare:(NSNumber *)otherNumber;
  56.  
  57. - (BOOL)isEqualToNumber:(NSNumber *)number;
  58.  
  59. - (NSString *)descriptionWithLocale:(NSDictionary *)locale;
  60.  
  61. @end
  62.  
  63. @interface NSNumber (NSNumberCreation)
  64.  
  65. - (id)initWithChar:(char)value;
  66. - (id)initWithUnsignedChar:(unsigned char)value;
  67. - (id)initWithShort:(short)value;
  68. - (id)initWithUnsignedShort:(unsigned short)value;
  69. - (id)initWithInt:(int)value;
  70. - (id)initWithUnsignedInt:(unsigned int)value;
  71. - (id)initWithLong:(long)value;
  72. - (id)initWithUnsignedLong:(unsigned long)value;
  73. - (id)initWithLongLong:(long long)value;
  74. - (id)initWithUnsignedLongLong:(unsigned long long)value;
  75. - (id)initWithFloat:(float)value;
  76. - (id)initWithDouble:(double)value;
  77. - (id)initWithBool:(BOOL)value;
  78.  
  79. + (NSNumber *)numberWithChar:(char)value;
  80. + (NSNumber *)numberWithUnsignedChar:(unsigned char)value;
  81. + (NSNumber *)numberWithShort:(short)value;
  82. + (NSNumber *)numberWithUnsignedShort:(unsigned short)value;
  83. + (NSNumber *)numberWithInt:(int)value;
  84. + (NSNumber *)numberWithUnsignedInt:(unsigned int)value;
  85. + (NSNumber *)numberWithLong:(long)value;
  86. + (NSNumber *)numberWithUnsignedLong:(unsigned long)value;
  87. + (NSNumber *)numberWithLongLong:(long long)value;
  88. + (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;
  89. + (NSNumber *)numberWithFloat:(float)value;
  90. + (NSNumber *)numberWithDouble:(double)value;
  91. + (NSNumber *)numberWithBool:(BOOL)value;
  92.  
  93. @end
  94.  
  95.