ObjFW
Toggle main menu visibility
Loading...
Searching...
No Matches
OFPair.h
1
/*
2
* Copyright (c) 2008-2026 Jonathan Schleifer <js@nil.im>
3
*
4
* All rights reserved.
5
*
6
* This program is free software: you can redistribute it and/or modify it
7
* under the terms of the GNU Lesser General Public License version 3.0 only,
8
* as published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13
* version 3.0 for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* version 3.0 along with this program. If not, see
17
* <https://www.gnu.org/licenses/>.
18
*/
19
20
#import "
OFObject.h
"
21
22
OF_ASSUME_NONNULL_BEGIN
23
29
@interface
OFPair
OF_GENERIC(FirstType, SecondType):
OFObject
<
OFCopying
,
30
OFMutableCopying
>
31
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
32
# define FirstType id
33
# define SecondType id
34
#endif
35
{
36
FirstType _Nullable _firstObject;
37
SecondType _Nullable _secondObject;
38
OF_RESERVE_IVARS(
OFPair
, 4)
39
}
40
44
@property
OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
45
FirstType firstObject;
46
50
@property
OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
51
SecondType secondObject;
52
60
+ (instancetype)pairWithFirstObject: (nullable FirstType)firstObject
61
secondObject: (nullable SecondType)secondObject;
62
70
- (instancetype)initWithFirstObject: (nullable FirstType)firstObject
71
secondObject: (nullable SecondType)secondObject
72
OF_DESIGNATED_INITIALIZER;
73
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
74
# undef FirstType
75
# undef SecondType
76
#endif
77
@end
78
79
OF_ASSUME_NONNULL_END
80
81
#import "OFMutablePair.h"
OFObject.h
OFObject
The root class for all other classes inside ObjFW.
Definition
OFObject.h:956
OFPair
A class for storing a pair of two objects.
Definition
OFPair.h:40
OFCopying-p
A protocol for the creation of copies.
Definition
OFObject.h:1618
OFMutableCopying-p
A protocol for the creation of mutable copies.
Definition
OFObject.h:1639
src
OFPair.h
Generated by
1.17.0