-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDataAllocator.cpp
40 lines (35 loc) · 1.08 KB
/
DataAllocator.cpp
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
29
30
31
32
33
34
35
36
37
38
39
40
#include "DataAllocator.h"
DataAllocator::~DataAllocator() {
//FreeAllocatedMemory();
}
/*
void DataAllocator::operator=(DataAllocator & data) {
AllocateDataMemory(data.GetAllocatedDataSize());
std::memcpy(allocated_data.get(), data.GetAllocatedMemory().get(), GetAllocatedDataSize());
}
*/
//void DataAllocator::operator=(Memory & data) {
//FreeAllocatedMemory();
// AllocateDataMemory(data.GetAllocatedDataSize());
// std::memcpy(allocated_data.get(), data.memory.get(), GetAllocatedDataSize());
//}
/*
Memory DataAllocator::GetAllocatedMemory(int offset, int size) {
if ((offset + size) < GetAllocatedDataSize()) {
Memory(allocated_data + offset, size);
} else {
return Memory(0, 0);
}
}
*/
void DataAllocator::AllocateDataMemory(int allocated_data_size_) {
char * new_memory = new char[allocated_data_size_];
allocated_data = std::shared_ptr<char>(new_memory);
allocated_data_size = allocated_data_size_;
}
void DataAllocator::FreeAllocatedMemory() {
if (IsMemoryAllocated()) {
allocated_data = 0;
allocated_data_size = 0;
}
}