//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ffi::*; use core::ptr::NonNull; use objc2::__framework_prelude::*; use objc2_foundation::*; use crate::*; extern_class!( /// A class to set functions to be linked. /// /// All functions set on this object must have unique names. /// /// See also [Apple's documentation](https://developer.apple.com/documentation/metal/mtllinkedfunctions?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct MTLLinkedFunctions; ); extern_conformance!( unsafe impl NSCopying for MTLLinkedFunctions {} ); unsafe impl CopyingHelper for MTLLinkedFunctions { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for MTLLinkedFunctions {} ); impl MTLLinkedFunctions { extern_methods!( /// Create an autoreleased MTLLinkedFunctions object. #[unsafe(method(linkedFunctions))] #[unsafe(method_family = none)] pub fn linkedFunctions() -> Retained; #[cfg(feature = "MTLLibrary")] /// The array of functions to be AIR linked. #[unsafe(method(functions))] #[unsafe(method_family = none)] pub fn functions(&self) -> Option>>>; #[cfg(feature = "MTLLibrary")] /// Setter for [`functions`][Self::functions]. /// /// This is [copied][objc2_foundation::NSCopying::copy] when set. #[unsafe(method(setFunctions:))] #[unsafe(method_family = none)] pub fn setFunctions(&self, functions: Option<&NSArray>>); #[cfg(feature = "MTLLibrary")] /// The array of functions compiled to binary to be linked. #[unsafe(method(binaryFunctions))] #[unsafe(method_family = none)] pub fn binaryFunctions(&self) -> Option>>>; #[cfg(feature = "MTLLibrary")] /// Setter for [`binaryFunctions`][Self::binaryFunctions]. /// /// This is [copied][objc2_foundation::NSCopying::copy] when set. #[unsafe(method(setBinaryFunctions:))] #[unsafe(method_family = none)] pub fn setBinaryFunctions( &self, binary_functions: Option<&NSArray>>, ); #[cfg(feature = "MTLLibrary")] /// Groups of functions, grouped to match callsites in the shader code. #[unsafe(method(groups))] #[unsafe(method_family = none)] pub fn groups( &self, ) -> Option>>>>; #[cfg(feature = "MTLLibrary")] /// Setter for [`groups`][Self::groups]. /// /// This is [copied][objc2_foundation::NSCopying::copy] when set. #[unsafe(method(setGroups:))] #[unsafe(method_family = none)] pub fn setGroups( &self, groups: Option<&NSDictionary>>>, ); #[cfg(feature = "MTLLibrary")] /// The array of functions to be AIR linked. /// /// These functions are not exported by the pipeline state as MTLFunctionHandle objects. /// Function pointer support is not required to link private functions. #[unsafe(method(privateFunctions))] #[unsafe(method_family = none)] pub fn privateFunctions( &self, ) -> Option>>>; #[cfg(feature = "MTLLibrary")] /// Setter for [`privateFunctions`][Self::privateFunctions]. /// /// This is [copied][objc2_foundation::NSCopying::copy] when set. #[unsafe(method(setPrivateFunctions:))] #[unsafe(method_family = none)] pub fn setPrivateFunctions( &self, private_functions: Option<&NSArray>>, ); ); } /// Methods declared on superclass `NSObject`. impl MTLLinkedFunctions { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for MTLLinkedFunctions { #[inline] fn default_retained() -> Retained { Self::new() } }