commonlibsse_ng\re\b/
BaseFormComponent.rs

1use crate::re::offsets_rtti::RTTI_BaseFormComponent;
2use crate::re::offsets_vtable::VTABLE_BaseFormComponent;
3use crate::rel::id::VariantID;
4use core::ffi::c_void;
5
6#[repr(C)]
7#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
8pub struct BaseFormComponent {
9    pub vtable: *const BaseFormComponentVtbl,
10}
11
12const _: () = {
13    assert!(core::mem::size_of::<BaseFormComponent>() == 0x8);
14    assert!(core::mem::align_of::<BaseFormComponent>() == 8);
15};
16
17impl BaseFormComponent {
18    pub const RTTI: VariantID = RTTI_BaseFormComponent;
19    pub const VTABLE: [VariantID; 1] = VTABLE_BaseFormComponent;
20}
21
22#[repr(C)]
23#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
24pub struct BaseFormComponentVtbl {
25    /// C++ destructor: `~BaseFormComponent`
26    pub CxxDrop: extern "C" fn(this: *mut c_void),
27
28    /// - `BaseFormComponent`: pure virtual
29    pub InitializeDataComponent: extern "C" fn(this: *mut c_void),
30    /// - `BaseFormComponent`: pure virtual
31    pub ClearDataComponent: extern "C" fn(this: *mut c_void),
32    /// - `BaseFormComponent`: always return `c_void`
33    pub CopyComponent: extern "C" fn(this: *mut c_void, _rhs: *mut c_void),
34}
35const _: () = assert!(core::mem::size_of::<BaseFormComponentVtbl>() == 32); // 4 * 8