objc2_foundation/
fast_enumeration_state.rs1use core::ffi::c_ulong;
2
3use objc2::encode::{Encode, Encoding, RefEncode};
4use objc2::runtime::AnyObject;
5
6#[repr(C)]
7#[derive(Clone, Copy, Debug, PartialEq)]
8pub struct NSFastEnumerationState {
9 pub state: c_ulong,
10 pub itemsPtr: *mut *mut AnyObject,
11 pub mutationsPtr: *mut c_ulong,
12 pub extra: [c_ulong; 5],
13}
14
15unsafe impl Encode for NSFastEnumerationState {
16 const ENCODING: Encoding = Encoding::Struct(
17 "?",
18 &[
19 Encoding::C_ULONG,
20 Encoding::Pointer(&Encoding::Object),
21 Encoding::Pointer(&Encoding::C_ULONG),
22 Encoding::Array(5, &Encoding::C_ULONG),
23 ],
24 );
25}
26
27unsafe impl RefEncode for NSFastEnumerationState {
28 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
29}