vtk_rs/
vtkCommonArchive.rs1#[allow(non_camel_case_types)]
10pub struct vtkBufferedArchiver(*mut core::ffi::c_void);
11impl vtkBufferedArchiver {
12 #[doc(alias = "vtkBufferedArchiver")]
14 pub fn new() -> Self {
15 unsafe extern "C" {
16 fn vtkBufferedArchiver_new() -> *mut core::ffi::c_void;
17 }
18 Self(unsafe { &mut *vtkBufferedArchiver_new() })
19 }
20 #[cfg(test)]
21 unsafe fn _get_ptr(&self) -> *mut core::ffi::c_void {
22 unsafe extern "C" {
23 fn vtkBufferedArchiver_get_ptr(
24 sself: *mut core::ffi::c_void,
25 ) -> *mut core::ffi::c_void;
26 }
27 unsafe { vtkBufferedArchiver_get_ptr(self.0) }
28 }
29}
30impl std::default::Default for vtkBufferedArchiver {
31 fn default() -> Self {
32 Self::new()
33 }
34}
35impl Drop for vtkBufferedArchiver {
36 fn drop(&mut self) {
37 unsafe extern "C" {
38 fn vtkBufferedArchiver_destructor(sself: *mut core::ffi::c_void);
39 }
40 unsafe { vtkBufferedArchiver_destructor(self.0) }
41 self.0 = core::ptr::null_mut();
42 }
43}
44#[test]
45fn test_vtkBufferedArchiver_create_drop() {
46 let obj = vtkBufferedArchiver::new();
47 let ptr = obj.0;
48 assert!(!ptr.is_null());
49 assert!(unsafe { !obj._get_ptr().is_null() });
50 drop(obj);
51 let new_obj = vtkBufferedArchiver(ptr);
52 assert!(unsafe { new_obj._get_ptr().is_null() });
53}
54#[allow(non_camel_case_types)]
64pub struct vtkPartitionedArchiver(*mut core::ffi::c_void);
65impl vtkPartitionedArchiver {
66 #[doc(alias = "vtkPartitionedArchiver")]
68 pub fn new() -> Self {
69 unsafe extern "C" {
70 fn vtkPartitionedArchiver_new() -> *mut core::ffi::c_void;
71 }
72 Self(unsafe { &mut *vtkPartitionedArchiver_new() })
73 }
74 #[cfg(test)]
75 unsafe fn _get_ptr(&self) -> *mut core::ffi::c_void {
76 unsafe extern "C" {
77 fn vtkPartitionedArchiver_get_ptr(
78 sself: *mut core::ffi::c_void,
79 ) -> *mut core::ffi::c_void;
80 }
81 unsafe { vtkPartitionedArchiver_get_ptr(self.0) }
82 }
83}
84impl std::default::Default for vtkPartitionedArchiver {
85 fn default() -> Self {
86 Self::new()
87 }
88}
89impl Drop for vtkPartitionedArchiver {
90 fn drop(&mut self) {
91 unsafe extern "C" {
92 fn vtkPartitionedArchiver_destructor(sself: *mut core::ffi::c_void);
93 }
94 unsafe { vtkPartitionedArchiver_destructor(self.0) }
95 self.0 = core::ptr::null_mut();
96 }
97}
98#[test]
99fn test_vtkPartitionedArchiver_create_drop() {
100 let obj = vtkPartitionedArchiver::new();
101 let ptr = obj.0;
102 assert!(!ptr.is_null());
103 assert!(unsafe { !obj._get_ptr().is_null() });
104 drop(obj);
105 let new_obj = vtkPartitionedArchiver(ptr);
106 assert!(unsafe { new_obj._get_ptr().is_null() });
107}