commonlibsse_ng\re\n/
NiTCollection.rs1use core::alloc::Layout;
2use core::ffi::c_void;
3use core::ptr::NonNull;
4
5use crate::re::NiAllocator::NiMemEventType;
6use crate::re::NiMemManager::NiMemManager;
7
8#[inline]
9pub fn NiMalloc(size_in_bytes: usize) -> Option<NonNull<u8>> {
10 NiMemManager::get_singleton_mut()?.allocate(
11 size_in_bytes,
12 0,
13 NiMemEventType::Malloc,
14 false,
15 None,
16 None,
17 None,
18 )
19}
20
21#[inline]
22pub fn NiAlignedMalloc(layout: Layout) -> Option<NonNull<u8>> {
23 let size_in_bytes = layout.size();
24 let alignment = layout.align();
25
26 NiMemManager::get_singleton_mut()?.allocate(
27 size_in_bytes,
28 alignment,
29 NiMemEventType::AlignedMalloc,
30 false,
31 None,
32 None,
33 None,
34 )
35}
36
37#[inline]
38pub fn NiFree(mem: *mut c_void) {
39 if let Some(mem_manager) = NiMemManager::get_singleton_mut() {
40 mem_manager.deallocate(mem, NiMemEventType::Free, None);
41 }
42}