ObjFW  Diff

Differences From Artifact [14ca51589b]:

To Artifact [914f43516c]:


14
15
16
17
18
19
20



21

22
23
24
25
26
27
28
14
15
16
17
18
19
20
21
22
23

24
25
26
27
28
29
30
31







+
+
+
-
+







 * file.
 */

#include <unistd.h>

#import "OFObject.h"

/**
 * \brief The type of a number.
 */
enum of_number_type {
typedef enum of_number_type_t {
	OF_NUMBER_BOOL,
	OF_NUMBER_CHAR,
	OF_NUMBER_SHORT,
	OF_NUMBER_INT,
	OF_NUMBER_LONG,
	OF_NUMBER_UCHAR,
	OF_NUMBER_USHORT,
41
42
43
44
45
46
47
48

49
50
51
52
53
54
55
44
45
46
47
48
49
50

51
52
53
54
55
56
57
58







-
+







	OF_NUMBER_INTMAX,
	OF_NUMBER_UINTMAX,
	OF_NUMBER_PTRDIFF,
	OF_NUMBER_INTPTR,
	OF_NUMBER_UINTPTR,
	OF_NUMBER_FLOAT,
	OF_NUMBER_DOUBLE,
};
} of_number_type_t;

/**
 * \brief Provides a way to store a number in an object.
 */
@interface OFNumber: OFObject <OFCopying>
{
	union {
76
77
78
79
80
81
82
83

84
85
86
87
88
89
90
79
80
81
82
83
84
85

86
87
88
89
90
91
92
93







-
+







		uintmax_t      uintmax;
		ptrdiff_t      ptrdiff;
		intptr_t       intptr;
		uintptr_t      uintptr;
		float	       float_;
		double	       double_;
	} value;
	enum of_number_type type;
	of_number_type_t type;
}

/**
 * \param bool_ A BOOL which the OFNumber should contain
 * \return A new autoreleased OFNumber
 */
+ numberWithBool: (BOOL)bool_;
444
445
446
447
448
449
450
451

452
453
454

455
456
457
458
459
460
461
447
448
449
450
451
452
453

454

455

456
457
458
459
460
461
462
463







-
+
-

-
+







 *
 * \param double_ A double which the OFNumber should contain
 * \return An initialized OFNumber
 */
- initWithDouble: (double)double_;

/**
 * \return An enum of type of_number_type indicating the type of contained
 * \return An of_number_type_t indicating the type of the number
 *	   number of the OFNumber
 */
- (enum of_number_type)type;
- (of_number_type_t)type;

/**
 * \return The OFNumber as a BOOL
 */
- (BOOL)boolValue;

/**