xref: /aosp_15_r20/external/executorch/backends/apple/coreml/runtime/sdk/ETCoreMLPair.h (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1 //
2 // ETCoreMLPair.h
3 //
4 // Copyright © 2024 Apple Inc. All rights reserved.
5 //
6 // Please refer to the license found in the LICENSE file in the root directory of the source tree.
7 
8 #import <Foundation/Foundation.h>
9 
10 NS_ASSUME_NONNULL_BEGIN
11 /// A class representing a pair with first and second objects.
12 __attribute__((objc_subclassing_restricted))
13 @interface ETCoreMLPair<First, Second> : NSObject<NSCopying>
14 
15 - (instancetype)init NS_UNAVAILABLE;
16 
17 + (instancetype)new NS_UNAVAILABLE;
18 
19 /// Constructs an `ETCoreMLPair` instance.
20 ///
21 /// @param first The first object of this pair.
22 /// @param second The second object of this pair.
23 - (instancetype)initWithFirst:(First)first second:(Second)second NS_DESIGNATED_INITIALIZER;
24 
25 /// The first object.
26 @property (nonatomic, readonly) First first;
27 
28 /// The second object..
29 @property (nonatomic, readonly) Second second;
30 
31 @end
32 
33 NS_ASSUME_NONNULL_END
34