objc2_core_ml/generated/
MLCustomLayer.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6#[cfg(feature = "objc2-metal")]
7#[cfg(not(target_os = "watchos"))]
8use objc2_metal::*;
9
10use crate::*;
11
12extern_protocol!(
13    /// [Apple's documentation](https://developer.apple.com/documentation/coreml/mlcustomlayer?language=objc)
14    pub unsafe trait MLCustomLayer {
15        /// # Safety
16        ///
17        /// `parameters` generic should be of the correct type.
18        #[unsafe(method(initWithParameterDictionary:error:_))]
19        #[unsafe(method_family = init)]
20        unsafe fn initWithParameterDictionary_error(
21            this: Allocated<Self>,
22            parameters: &NSDictionary<NSString, AnyObject>,
23        ) -> Result<Retained<Self>, Retained<NSError>>;
24
25        #[unsafe(method(setWeightData:error:_))]
26        #[unsafe(method_family = none)]
27        unsafe fn setWeightData_error(
28            &self,
29            weights: &NSArray<NSData>,
30        ) -> Result<(), Retained<NSError>>;
31
32        #[unsafe(method(outputShapesForInputShapes:error:_))]
33        #[unsafe(method_family = none)]
34        unsafe fn outputShapesForInputShapes_error(
35            &self,
36            input_shapes: &NSArray<NSArray<NSNumber>>,
37        ) -> Result<Retained<NSArray<NSArray<NSNumber>>>, Retained<NSError>>;
38
39        #[cfg(feature = "MLMultiArray")]
40        #[unsafe(method(evaluateOnCPUWithInputs:outputs:error:_))]
41        #[unsafe(method_family = none)]
42        unsafe fn evaluateOnCPUWithInputs_outputs_error(
43            &self,
44            inputs: &NSArray<MLMultiArray>,
45            outputs: &NSArray<MLMultiArray>,
46        ) -> Result<(), Retained<NSError>>;
47
48        #[cfg(feature = "objc2-metal")]
49        #[cfg(not(target_os = "watchos"))]
50        /// # Safety
51        ///
52        /// - `inputs` generic may need to be synchronized.
53        /// - `inputs` generic may be unretained, you must ensure it is kept alive while in use.
54        /// - `outputs` generic may need to be synchronized.
55        /// - `outputs` generic may be unretained, you must ensure it is kept alive while in use.
56        #[optional]
57        #[unsafe(method(encodeToCommandBuffer:inputs:outputs:error:_))]
58        #[unsafe(method_family = none)]
59        unsafe fn encodeToCommandBuffer_inputs_outputs_error(
60            &self,
61            command_buffer: &ProtocolObject<dyn MTLCommandBuffer>,
62            inputs: &NSArray<ProtocolObject<dyn MTLTexture>>,
63            outputs: &NSArray<ProtocolObject<dyn MTLTexture>>,
64        ) -> Result<(), Retained<NSError>>;
65    }
66);