︙ | | | ︙ | |
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include "objfw-defs.h"
#ifdef OF_HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#import "OFObject.h"
#import "OFSerialization.h"
#import "OFJSONRepresentation.h"
#import "OFMessagePackRepresentation.h"
OF_ASSUME_NONNULL_BEGIN
/*! @file */
/*!
* @brief The C type of a number stored in an OFNumber.
|
|
>
|
<
|
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include "objfw-defs.h"
#ifdef OF_HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#import "OFJSONRepresentation.h"
#import "OFMessagePackRepresentation.h"
#import "OFSerialization.h"
#import "OFValue.h"
OF_ASSUME_NONNULL_BEGIN
/*! @file */
/*!
* @brief The C type of a number stored in an OFNumber.
|
︙ | | | ︙ | |
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
} of_number_type_t;
/*!
* @class OFNumber OFNumber.h ObjFW/OFNumber.h
*
* @brief Provides a way to store a number in an object.
*/
@interface OFNumber: OFObject <OFCopying, OFComparing, OFSerialization,
OFJSONRepresentation, OFMessagePackRepresentation>
{
union of_number_value {
bool bool_;
signed char sChar;
signed short sShort;
signed int sInt;
|
|
|
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
} of_number_type_t;
/*!
* @class OFNumber OFNumber.h ObjFW/OFNumber.h
*
* @brief Provides a way to store a number in an object.
*/
@interface OFNumber: OFValue <OFComparing, OFSerialization,
OFJSONRepresentation, OFMessagePackRepresentation>
{
union of_number_value {
bool bool_;
signed char sChar;
signed short sShort;
signed int sInt;
|
︙ | | | ︙ | |
292
293
294
295
296
297
298
299
300
301
302
303
304
305
|
*/
@property (readonly, nonatomic) float floatValue;
/*!
* @brief The OFNumber as a `double`.
*/
@property (readonly, nonatomic) double doubleValue;
/*!
* @brief Creates a new OFNumber with the specified `bool`.
*
* @param bool_ A `bool` which the OFNumber should contain
* @return A new autoreleased OFNumber
*/
|
>
>
>
>
>
>
>
>
>
>
>
|
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
|
*/
@property (readonly, nonatomic) float floatValue;
/*!
* @brief The OFNumber as a `double`.
*/
@property (readonly, nonatomic) double doubleValue;
#ifdef OF_HAVE_UNAVAILABLE
+ (instancetype)valueWithBytes: (const void *)bytes
objCType: (const char *)objCType OF_UNAVAILABLE;
+ (instancetype)valueWithPointer: (const void *)pointer OF_UNAVAILABLE;
+ (instancetype)valueWithNonretainedObject: (id)object OF_UNAVAILABLE;
+ (instancetype)valueWithRange: (of_range_t)range OF_UNAVAILABLE;
+ (instancetype)valueWithPoint: (of_point_t)point OF_UNAVAILABLE;
+ (instancetype)valueWithDimension: (of_dimension_t)dimension OF_UNAVAILABLE;
+ (instancetype)valueWithRectangle: (of_rectangle_t)rectangle OF_UNAVAILABLE;
#endif
/*!
* @brief Creates a new OFNumber with the specified `bool`.
*
* @param bool_ A `bool` which the OFNumber should contain
* @return A new autoreleased OFNumber
*/
|
︙ | | | ︙ | |
518
519
520
521
522
523
524
525
526
527
528
529
530
531
|
*
* @param double_ A `double` which the OFNumber should contain
* @return A new autoreleased OFNumber
*/
+ (instancetype)numberWithDouble: (double)double_;
- (instancetype)init OF_UNAVAILABLE;
/*!
* @brief Initializes an already allocated OFNumber with the specified `bool`.
*
* @param bool_ A `bool` which the OFNumber should contain
* @return An initialized OFNumber
*/
|
>
>
>
>
>
>
>
>
>
>
|
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
|
*
* @param double_ A `double` which the OFNumber should contain
* @return A new autoreleased OFNumber
*/
+ (instancetype)numberWithDouble: (double)double_;
- (instancetype)init OF_UNAVAILABLE;
#ifdef OF_HAVE_UNAVAILABLE
- (instancetype)initWithBytes: (const void *)bytes
objCType: (const char *)objCType OF_UNAVAILABLE;
- (instancetype)initWithPointer: (const void *)pointer OF_UNAVAILABLE;
- (instancetype)initWithNonretainedObject: (id)object OF_UNAVAILABLE;
- (instancetype)initWithRange: (of_range_t)range OF_UNAVAILABLE;
- (instancetype)initWithPoint: (of_point_t)point OF_UNAVAILABLE;
- (instancetype)initWithDimension: (of_dimension_t)dimension OF_UNAVAILABLE;
- (instancetype)initWithRectangle: (of_rectangle_t)rectangle OF_UNAVAILABLE;
#endif
/*!
* @brief Initializes an already allocated OFNumber with the specified `bool`.
*
* @param bool_ A `bool` which the OFNumber should contain
* @return An initialized OFNumber
*/
|
︙ | | | ︙ | |