ObjFW
Loading...
Searching...
No Matches
OFMutableTriple.h
1/*
2 * Copyright (c) 2008-2025 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 "OFTriple.h"
21
22OF_ASSUME_NONNULL_BEGIN
23
29@interface OFMutableTriple OF_GENERIC(FirstType, SecondType, ThirdType):
30 OFTriple OF_GENERIC(FirstType, SecondType, ThirdType)
31#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
32# define FirstType id
33# define SecondType id
34# define ThirdType id
35#endif
36{
37 OF_RESERVE_IVARS(OFMutableTriple, 4)
38}
39
43@property OF_NULLABLE_PROPERTY (readwrite, nonatomic, retain)
44 FirstType firstObject;
45
49@property OF_NULLABLE_PROPERTY (readwrite, nonatomic, retain)
50 SecondType secondObject;
51
55@property OF_NULLABLE_PROPERTY (readwrite, nonatomic, retain)
56 ThirdType thirdObject;
57
61- (void)makeImmutable;
62#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
63# undef FirstType
64# undef SecondType
65# undef ThirdType
66#endif
67@end
68
69OF_ASSUME_NONNULL_END
A class for storing a triple of three objects.
Definition OFMutableTriple.h:36
A class for storing a triple of three objects.
Definition OFTriple.h:42