//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ptr::NonNull; use objc2::__framework_prelude::*; use crate::*; extern_protocol!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsfastenumeration?language=objc) pub unsafe trait NSFastEnumeration { /// # Safety /// /// - `state` must be a valid pointer. /// - `buffer` must be a valid pointer. #[unsafe(method(countByEnumeratingWithState:objects:count:))] #[unsafe(method_family = none)] unsafe fn countByEnumeratingWithState_objects_count( &self, state: NonNull, buffer: NonNull<*mut AnyObject>, len: NSUInteger, ) -> NSUInteger; } ); extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsenumerator?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSEnumerator; ); impl NSEnumerator { /// Unchecked conversion of the generic parameter. /// /// # Safety /// /// The generic must be valid to reinterpret as the given type. #[inline] pub unsafe fn cast_unchecked( &self, ) -> &NSEnumerator { unsafe { &*((self as *const Self).cast()) } } } extern_conformance!( unsafe impl NSFastEnumeration for NSEnumerator {} ); extern_conformance!( unsafe impl NSObjectProtocol for NSEnumerator {} ); impl NSEnumerator { extern_methods!( #[unsafe(method(nextObject))] #[unsafe(method_family = none)] pub fn nextObject(&self) -> Option>; ); } /// Methods declared on superclass `NSObject`. impl NSEnumerator { 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 NSEnumerator { #[inline] fn default_retained() -> Retained { Self::new() } } /// NSExtendedEnumerator. impl NSEnumerator { extern_methods!( #[cfg(feature = "NSArray")] #[unsafe(method(allObjects))] #[unsafe(method_family = none)] pub fn allObjects(&self) -> Retained>; ); }