1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
-
+
-
+
-
+
|
/*
* Copyright (c) 2008 - 2009
* Copyright (c) 2008 - 2010
* Jonathan Schleifer <js@webkeks.org>
*
* All rights reserved.
*
* This file is part of ObjFW. It may be distributed under the terms of the
* Q Public License 1.0, which can be found in the file LICENSE included in
* the packaging of this file.
*/
#import "objfw-defs.h"
#include <stddef.h>
#include <stdint.h>
#import <objc/objc.h>
/**
* A result of a comparison.
* \brief A result of a comparison.
*/
typedef enum {
/// The left object is smaller than the right
OF_ORDERED_ASCENDING = -1,
/// Both objects are equal
OF_ORDERED_SAME = 0,
/// The left object is bigger than the right
OF_ORDERED_DESCENDING = 1
} of_comparison_result_t;
/**
* The OFObject class is the base class for all other classes inside ObjFW.
* \brief The root class for all other classes inside ObjFW.
*/
@interface OFObject
{
/// The class of the object
Class isa;
}
|
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
|
-
+
+
+
|
*
* It is also called when the retain count reaches zero.
*/
- (void)dealloc;
@end
/**
* Objects implementing this protocol can be copied.
* \brief A protocol for the creation of copies.
*/
@protocol OFCopying
/**
* \return A copy of the object
*/
- (id)copy;
@end
/**
* \brief A protocol for the creation of mutable copies.
*
* This protocol is implemented by objects that can be mutable and immutable
* and allows returning a mutable copy.
*/
@protocol OFMutableCopying
/**
* \return A copy of the object
*/
- (id)mutableCopy;
@end
|