array lists dont have cons/destuctors anymore. RAII is not helpful
This commit is contained in:
+3
-3
@@ -7,13 +7,13 @@ struct Array_List {
|
||||
int length;
|
||||
int next_index;
|
||||
|
||||
Array_List(int initial_capacity = 16) {
|
||||
void alloc(int initial_capacity = 16) {
|
||||
data = (type*)malloc(initial_capacity * sizeof(type));
|
||||
next_index = 0;
|
||||
length = initial_capacity;
|
||||
}
|
||||
|
||||
~Array_List() {
|
||||
void dealloc() {
|
||||
free(data);
|
||||
data = 0;
|
||||
}
|
||||
@@ -52,7 +52,7 @@ struct Array_List {
|
||||
}
|
||||
|
||||
void reserve(unsigned int count) {
|
||||
if (next_index+count <= length) {
|
||||
if (next_index+count <= (unsigned int)length) {
|
||||
length *= 2;
|
||||
data = (type*)realloc(data, length * sizeof(type));
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ class Bucket_Allocator {
|
||||
|
||||
public:
|
||||
Bucket_Allocator(unsigned int bucket_size, unsigned int initial_bucket_count) {
|
||||
this->free_list.alloc();
|
||||
this->bucket_size = bucket_size;
|
||||
next_index_in_latest_bucket = 0;
|
||||
next_bucket_index = 0;
|
||||
@@ -48,7 +49,7 @@ public:
|
||||
for (unsigned int i = 0; i <= next_bucket_index; ++i) {
|
||||
free(buckets[i]);
|
||||
}
|
||||
|
||||
this->free_list.dealloc();
|
||||
free(buckets);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user