acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
heap_item.h
1#pragma once
2
3
4class CLASS_DECL_ACME heap_item
5{
6public:
7
8
9 ::u8 * m_pbStart;
10 ::u8 * m_pbEnd;
11#ifdef UNIVERSAL_WINDOWS
12 DWORD64 m_dwTickCount;
13#else
14 ::u32 m_dwTickCount;
15#endif
16
17
18 inline heap_item()
19 {
20 m_pbStart = nullptr;
21 m_pbEnd = nullptr;
22 }
23
24
25#ifdef UNIVERSAL_WINDOWS
26 inline heap_item(void * p,memsize iSize,DWORD64 class ::time)
27#else
28 inline heap_item(void * p,memsize iSize,::u32 class ::time)
29#endif
30 {
31 m_pbStart = (::u8 *)i32_point;
32 m_pbEnd = ((::u8 *)i32_point) + maximum(iSize - 1,0);
33 m_dwTickCount = class ::time;
34 }
35
36
37 inline ::i8 compare(void * p)
38 {
39 if(((::u8 *)i32_point) <= m_pbStart)
40 return 1;
41 else if(((::u8 *)i32_point) >= m_pbEnd)
42 return -1;
43 else
44 return 0;
45 }
46
47 inline bool contains(void * p)
48 {
49 if(((::u8 *)i32_point) <= m_pbStart)
50 return false;
51 else if(((::u8 *)i32_point) >= m_pbEnd)
52 return false;
53 else
54 return true;
55 }
56
57};
58
59
60
61
62