Skip to main content

engage/generated/system/collections/
caseinsensitivehashcodeprovider.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider-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/caseinsensitivehashcodeprovider/CaseInsensitiveHashCodeProvider.md"))]
11    #[::unity::class(namespace = "System.Collections", name = "CaseInsensitiveHashCodeProvider")]
12    #[parent(crate::system::object::Object)]
13    pub struct CaseInsensitiveHashCodeProvider {}
14}
15
16#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider-types")]
17pub use __types::*;
18
19#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
20impl CaseInsensitiveHashCodeProvider {
21    #[doc = "`get_Default()` overload"]
22    pub fn get_default() -> crate::system::collections::caseinsensitivehashcodeprovider::CaseInsensitiveHashCodeProvider {
23        unsafe {
24            ::unity::il2cpp_call!((::unity::module_base()+0x33a1330usize)as*mut u8,crate::system::collections::caseinsensitivehashcodeprovider::CaseInsensitiveHashCodeProvider;
25            )
26        }
27    }
28}
29
30#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
31pub trait ICaseInsensitiveHashCodeProviderMethods: ICaseInsensitiveHashCodeProvider {
32    #[doc = "`.ctor()` overload"]
33    fn ctor(self) -> () {
34        unsafe {
35            let __receiver =
36                <CaseInsensitiveHashCodeProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
37            ::unity::il2cpp_call!((::unity::module_base()+0x33a1210usize)as*mut u8,();
38(CaseInsensitiveHashCodeProvider)__receiver)
39        }
40    }
41    #[doc = "`GetHashCode(crate::system::object::Object)` overload"]
42    fn get_hash_code(self, obj: impl ::core::convert::Into<crate::system::object::Object>) -> i32 {
43        unsafe {
44            let __receiver =
45                <CaseInsensitiveHashCodeProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
46            {
47                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
48                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
49                    panic!(
50                        "unity: virtual slot {}
51 out of range (vtable len {}
52) on the runtime class behind {}
53 (method `{}
54`)",
55                        4usize,
56                        __vt.len(),
57                        <CaseInsensitiveHashCodeProvider as ::unity::ClassIdentity>::NAME,
58                        "GetHashCode",
59                    )
60                });
61                let __inner: extern "C" fn(CaseInsensitiveHashCodeProvider, crate::system::object::Object, ::unity::OptionalMethod) -> i32 =
62                    ::core::mem::transmute(__vi.method_ptr);
63                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
64                __inner(__receiver, ::core::convert::Into::into(obj), __mi)
65            }
66        }
67    }
68}
69
70#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
71impl<__T: ICaseInsensitiveHashCodeProvider> ICaseInsensitiveHashCodeProviderMethods for __T {}
72
73#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
74impl CaseInsensitiveHashCodeProvider {
75    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
76        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
77    }
78
79    pub fn get_default_method_info() -> &'static ::unity::il2cpp::MethodInfo {
80        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
81    }
82
83    pub fn get_hash_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
84        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
85    }
86}
87
88#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
89impl CaseInsensitiveHashCodeProvider {
90    #[doc = "Direct (non-virtual) call to `CaseInsensitiveHashCodeProvider`'s own `GetHashCode`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
91    pub unsafe fn get_hash_code(this: impl ::core::convert::Into<::unity::IlInstance>, obj: crate::system::object::Object) -> i32 {
92        let __mi = Self::get_hash_code_method_info();
93        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> i32 =
94            ::core::mem::transmute(__mi.method_ptr);
95        __inner(this.into(), obj, ::core::option::Option::None)
96    }
97}
98
99#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
100impl CaseInsensitiveHashCodeProvider {
101    #[doc = "`.ctor()` — no args"]
102    pub fn new() -> Self {
103        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
104            panic!(
105                "{}
106::{}
107 failed to instantiate",
108                ::core::stringify!(CaseInsensitiveHashCodeProvider),
109                ::core::stringify!(new),
110            )
111        });
112        <Self as ICaseInsensitiveHashCodeProviderMethods>::ctor(this);
113        this
114    }
115}
116
117#[cfg(feature = "system-collections-caseinsensitivehashcodeprovider")]
118#[doc(hidden)]
119pub mod prelude {
120    pub use super::{CaseInsensitiveHashCodeProvider, ICaseInsensitiveHashCodeProvider, ICaseInsensitiveHashCodeProviderMethods};
121    pub use crate::system::object::IObject;
122    #[cfg(feature = "system-object")]
123    pub use crate::system::object::IObjectMethods;
124}