Skip to main content

engage/generated/system/collections/specialized/
compatiblecomparer_2.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "system-collections-specialized-compatiblecomparer_2-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::object::{IObject, Object};
9
10    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/system/collections/specialized/compatiblecomparer_2/CompatibleComparer_2.md"))]
11    #[::unity::class(namespace = "System.Collections.Specialized", name = "CompatibleComparer")]
12    #[parent(crate::system::object::Object)]
13    pub struct CompatibleComparer_2 {
14        #[offset(16)]
15        #[rename(name = "_comparer")]
16        pub comparer: crate::system::collections::icomparer_interface::IComparer_Interface,
17        #[static_field]
18        #[rename(name = "defaultComparer")]
19        pub default_comparer: crate::system::collections::icomparer_interface::IComparer_Interface,
20        #[offset(24)]
21        #[rename(name = "_hcp")]
22        pub hcp: crate::system::collections::ihashcodeprovider::IHashCodeProvider,
23        #[static_field]
24        #[rename(name = "defaultHashProvider")]
25        pub default_hash_provider: crate::system::collections::ihashcodeprovider::IHashCodeProvider,
26    }
27}
28
29#[cfg(feature = "system-collections-specialized-compatiblecomparer_2-types")]
30pub use __types::*;
31
32#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
33impl CompatibleComparer_2 {
34    #[doc = "`get_DefaultComparer()` overload"]
35    pub fn get_default_comparer() -> crate::system::collections::icomparer_interface::IComparer_Interface {
36        unsafe {
37            ::unity::il2cpp_call!((::unity::module_base()+0x354ddc0usize)as*mut u8,crate::system::collections::icomparer_interface::IComparer_Interface;
38            )
39        }
40    }
41
42    #[doc = "`get_DefaultHashCodeProvider()` overload"]
43    pub fn get_default_hash_code_provider() -> crate::system::collections::ihashcodeprovider::IHashCodeProvider {
44        unsafe {
45            ::unity::il2cpp_call!((::unity::module_base()+0x354deb0usize)as*mut u8,crate::system::collections::ihashcodeprovider::IHashCodeProvider;
46            )
47        }
48    }
49}
50
51#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
52pub trait ICompatibleComparer_2Methods: ICompatibleComparer_2 {
53    #[doc = "`.ctor(crate::system::collections::icomparer_interface::IComparer_Interface, crate::system::collections::ihashcodeprovider::IHashCodeProvider)` overload"]
54    fn ctor(
55        self,
56        comparer: impl ::core::convert::Into<crate::system::collections::icomparer_interface::IComparer_Interface>,
57        hash_code_provider: impl ::core::convert::Into<crate::system::collections::ihashcodeprovider::IHashCodeProvider>,
58    ) -> () {
59        unsafe {
60            let __receiver = <CompatibleComparer_2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
61            ::unity::il2cpp_call!((::unity::module_base()+0x354da10usize)as*mut u8,();
62(CompatibleComparer_2)__receiver,(crate::system::collections::icomparer_interface::IComparer_Interface)::core::convert::Into::into(comparer),(crate::system::collections::ihashcodeprovider::IHashCodeProvider)::core::convert::Into::into(hash_code_provider))
63        }
64    }
65    #[doc = "`Equals(crate::system::object::Object, crate::system::object::Object)` overload"]
66    fn equals(
67        self,
68        a: impl ::core::convert::Into<crate::system::object::Object>,
69        b: impl ::core::convert::Into<crate::system::object::Object>,
70    ) -> bool {
71        unsafe {
72            let __receiver = <CompatibleComparer_2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
73            {
74                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
75                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
76                    panic!(
77                        "unity: virtual slot {}
78 out of range (vtable len {}
79) on the runtime class behind {}
80 (method `{}
81`)",
82                        4usize,
83                        __vt.len(),
84                        <CompatibleComparer_2 as ::unity::ClassIdentity>::NAME,
85                        "Equals",
86                    )
87                });
88                let __inner: extern "C" fn(
89                    CompatibleComparer_2,
90                    crate::system::object::Object,
91                    crate::system::object::Object,
92                    ::unity::OptionalMethod,
93                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
94                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
95                __inner(__receiver, ::core::convert::Into::into(a), ::core::convert::Into::into(b), __mi)
96            }
97        }
98    }
99    #[doc = "`GetHashCode(crate::system::object::Object)` overload"]
100    fn get_hash_code(self, obj: impl ::core::convert::Into<crate::system::object::Object>) -> i32 {
101        unsafe {
102            let __receiver = <CompatibleComparer_2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
103            {
104                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
105                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
106                    panic!(
107                        "unity: virtual slot {}
108 out of range (vtable len {}
109) on the runtime class behind {}
110 (method `{}
111`)",
112                        5usize,
113                        __vt.len(),
114                        <CompatibleComparer_2 as ::unity::ClassIdentity>::NAME,
115                        "GetHashCode",
116                    )
117                });
118                let __inner: extern "C" fn(CompatibleComparer_2, crate::system::object::Object, ::unity::OptionalMethod) -> i32 =
119                    ::core::mem::transmute(__vi.method_ptr);
120                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
121                __inner(__receiver, ::core::convert::Into::into(obj), __mi)
122            }
123        }
124    }
125    #[doc = "`get_Comparer()` overload"]
126    fn get_comparer(self) -> crate::system::collections::icomparer_interface::IComparer_Interface {
127        unsafe {
128            let __receiver = <CompatibleComparer_2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
129            ::unity::il2cpp_call!((::unity::module_base()+0x354dda0usize)as*mut u8,crate::system::collections::icomparer_interface::IComparer_Interface;
130(CompatibleComparer_2)__receiver)
131        }
132    }
133    #[doc = "`get_HashCodeProvider()` overload"]
134    fn get_hash_code_provider(self) -> crate::system::collections::ihashcodeprovider::IHashCodeProvider {
135        unsafe {
136            let __receiver = <CompatibleComparer_2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
137            ::unity::il2cpp_call!((::unity::module_base()+0x354ddb0usize)as*mut u8,crate::system::collections::ihashcodeprovider::IHashCodeProvider;
138(CompatibleComparer_2)__receiver)
139        }
140    }
141}
142
143#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
144impl<__T: ICompatibleComparer_2> ICompatibleComparer_2Methods for __T {}
145
146#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
147impl CompatibleComparer_2 {
148    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
149        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
150    }
151
152    pub fn equals_method_info() -> &'static ::unity::il2cpp::MethodInfo {
153        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
154    }
155
156    pub fn get_hash_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
157        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
158    }
159
160    pub fn get_comparer_method_info() -> &'static ::unity::il2cpp::MethodInfo {
161        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
162    }
163
164    pub fn get_hash_code_provider_method_info() -> &'static ::unity::il2cpp::MethodInfo {
165        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
166    }
167
168    pub fn get_default_comparer_method_info() -> &'static ::unity::il2cpp::MethodInfo {
169        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
170    }
171
172    pub fn get_default_hash_code_provider_method_info() -> &'static ::unity::il2cpp::MethodInfo {
173        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
174    }
175}
176
177#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
178impl CompatibleComparer_2 {
179    #[doc = "Direct (non-virtual) call to `CompatibleComparer_2`'s own `Equals`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
180    pub unsafe fn equals(
181        this: impl ::core::convert::Into<::unity::IlInstance>,
182        a: crate::system::object::Object,
183        b: crate::system::object::Object,
184    ) -> bool {
185        let __mi = Self::equals_method_info();
186        let __inner: extern "C" fn(
187            ::unity::IlInstance,
188            crate::system::object::Object,
189            crate::system::object::Object,
190            ::unity::OptionalMethod,
191        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
192        __inner(this.into(), a, b, ::core::option::Option::None)
193    }
194
195    #[doc = "Direct (non-virtual) call to `CompatibleComparer_2`'s own `GetHashCode`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
196    pub unsafe fn get_hash_code(this: impl ::core::convert::Into<::unity::IlInstance>, obj: crate::system::object::Object) -> i32 {
197        let __mi = Self::get_hash_code_method_info();
198        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> i32 =
199            ::core::mem::transmute(__mi.method_ptr);
200        __inner(this.into(), obj, ::core::option::Option::None)
201    }
202}
203
204#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
205impl CompatibleComparer_2 {
206    #[doc = "`.ctor(crate::system::collections::icomparer_interface::IComparer_Interface, crate::system::collections::ihashcodeprovider::IHashCodeProvider)` — overload selector"]
207    pub fn new(
208        comparer: crate::system::collections::icomparer_interface::IComparer_Interface,
209        hash_code_provider: crate::system::collections::ihashcodeprovider::IHashCodeProvider,
210    ) -> Self {
211        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
212            panic!(
213                "{}
214::{}
215 failed to instantiate",
216                ::core::stringify!(CompatibleComparer_2),
217                ::core::stringify!(new),
218            )
219        });
220        <Self as ICompatibleComparer_2Methods>::ctor(this, comparer, hash_code_provider);
221        this
222    }
223}
224
225#[cfg(feature = "system-collections-specialized-compatiblecomparer_2")]
226#[doc(hidden)]
227pub mod prelude {
228    pub use super::{CompatibleComparer_2, ICompatibleComparer_2, ICompatibleComparer_2Methods};
229    pub use crate::system::object::IObject;
230    #[cfg(feature = "system-object")]
231    pub use crate::system::object::IObjectMethods;
232}