summaryrefslogtreecommitdiff
path: root/include/pso/THeap.h
blob: f906dd03ff5349c2eb77b90d27e0506bc6861aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef THEAP_H
#define THEAP_H

#include "pso/forward.h"
#include "pso/macros.h"
#include <global_types.h>
#include <stdlib.h>

void *heap_xfree(void *ptr);
void *heap_xmalloc(size_t size);

class THeap {
public:
	u8 *heap;
	size_t alloc_size;
	s32 align;
	size_t heap_size;
	s32 mbr_0x10;
public:
	THeap(size_t size, int align);
	~THeap();
	void *operator new(size_t size) { return heap_xmalloc(size); };
	void operator delete(void *ptr) { heap_xfree(ptr); };
	void *heap_alloc(size_t size);
	void *heap_zalloc(size_t size);
	void heap_free(void *ptr);
};
#endif