Core: Use std::array for managing kernel object space

These avoid relying on memset for clearing the arrays.
This commit is contained in:
Lioncash 2014-08-19 00:20:56 -04:00
parent e9c5c563a5
commit ab4648d3ca
2 changed files with 5 additions and 5 deletions

View file

@ -17,7 +17,6 @@ Handle g_main_thread = 0;
ObjectPool g_object_pool; ObjectPool g_object_pool;
ObjectPool::ObjectPool() { ObjectPool::ObjectPool() {
memset(occupied, 0, sizeof(bool) * MAX_COUNT);
next_id = INITIAL_NEXT_ID; next_id = INITIAL_NEXT_ID;
} }
@ -57,7 +56,7 @@ void ObjectPool::Clear() {
delete pool[i]; delete pool[i];
occupied[i] = false; occupied[i] = false;
} }
memset(pool, 0, sizeof(Object*)*MAX_COUNT); pool.fill(nullptr);
next_id = INITIAL_NEXT_ID; next_id = INITIAL_NEXT_ID;
} }

View file

@ -4,6 +4,7 @@
#pragma once #pragma once
#include <array>
#include <string> #include <string>
#include "common/common.h" #include "common/common.h"
@ -160,8 +161,8 @@ private:
INITIAL_NEXT_ID = 0x10, INITIAL_NEXT_ID = 0x10,
}; };
Object* pool[MAX_COUNT]; std::array<Object*, MAX_COUNT> pool;
bool occupied[MAX_COUNT]; std::array<bool, MAX_COUNT> occupied;
int next_id; int next_id;
}; };