acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
heap.h
1// Created by Camilo Sasuke Thomas Borregaard Soerensen on 2023-11-23 17:17
2#pragma once
3
4
5namespace heap
6{
7
8
9 class CLASS_DECL_ACME heap
10 {
11 protected:
12
13
14 friend class ::c::malloc;
15
16
17 heap();
18 ~heap();
19
20
21 public:
22
23
24 //::heap::allocator * m_pallocator;
25 //::acme::acme * m_pacme;
26 ::heap::enum_memory m_ememory;
27 ::heap::allocator * m_pallocator;
28
29
30 //virtual void * allocate_debug(memsize size, ::i32 nBlockUse, const_char_pointer pszFile, ::i32 iLine);
31 //virtual void * reallocate_normal(void * p, memsize size);
32 //virtual memsize allocation_size(void * p);
33
34
35 //virtual void * reallocate_debug(void * p, memsize size, ::i32 nBlockUse, const_char_pointer pszFile, ::i32 iLine);
36
37
38 //virtual void free(void * p);
39
40
41 virtual void initialize_heap(::heap::allocator * pallocator, ::heap::enum_memory ememory);
42
43 virtual void start_heap();
44
45 //Created by camilo on 2021-07-24 01:06 BRT <3ThomasBorregaardSorensen!!
46//#include "__aligned_memory_allocate.h"
47 virtual void * aligned_allocate(memsize size, memsize * psizeAllocated, memsize align = 0, const_char_pointer pszAnnotation = nullptr);
48 virtual void * aligned_allocate_debug(memsize nSize, memsize * psizeAllocated, ::i32 nBlockUse, const_char_pointer szFileName, ::i32 nLine, memsize align = 0, const_char_pointer pszAnnotation = nullptr);
49
50
51 //Created by camilo on 2021-07-24 01:05 BRT <3ThomasBorregaardSorensen!!
52//#include "__unaligned_memory_allocate.h"
53 virtual void * unaligned_allocate(memsize size, memsize * psizeAllocated, const_char_pointer pszAnnotation = nullptr);
54 virtual void * unaligned_allocate_debug(memsize nSize, memsize * psizeAllocated, ::i32 nBlockUse, const_char_pointer szFileName, ::i32 nLine, const_char_pointer pszAnnotation = nullptr);
55
56 virtual void * count_allocate(::collection::count count, memsize size, const_char_pointer pszAnnotation = nullptr);
57 //Created by camilo on 2021-07-24 01:05 BRT <3ThomasBorregaardSorensen!!
58 //#include "__memory_allocate.h"
59
60
61#if !defined(MCHECK) && !defined(__VLD) && !defined(__MCRTDBG)
62
63
64 virtual void * allocate(memsize size, memsize * psizeAllocated, const_char_pointer pszAnnotation = nullptr);
65 virtual void * reallocate(void * p, memsize nSize, const_char_pointer pszAnnotation = nullptr);
66 virtual void free(void * p);
67 virtual memsize size(void * p);
68
69
70#endif
71
72
73 virtual void * allocate_debug(memsize nSize, ::i32 nBlockUse, const_char_pointer szFileName, ::i32 nLine, const_char_pointer pszAnnotation = nullptr);
74 virtual void * reallocate_debug(void * p, memsize nSize, ::i32 nBlockUse, const_char_pointer szFileName, ::i32 nLine, const_char_pointer pszAnnotation = nullptr);
75 virtual void free_debug(void * p, ::i32 iBlockType);
76 virtual memsize size_debug(void * p, ::i32 iBlockType);
77
78
79 };
80
81
82} // namespace heap
83
84
85
Definition allocator.h:37