Optimize pointer clearing for zonebuilding

This commit is contained in:
momo5502
2016-06-10 13:52:55 +02:00
parent a0e52dc550
commit 80267f8874
19 changed files with 115 additions and 97 deletions

View File

@ -70,6 +70,10 @@ namespace Utils
char* Save(const void * _str, size_t size, size_t count = 1);
char* Save(Game::XFILE_BLOCK_TYPES stream, const void * _str, size_t size, size_t count);
char* Save(Game::XFILE_BLOCK_TYPES stream, int value, size_t count);
template <typename T> char* Save(T* object)
{
return SaveArray<T>(object, 1);
}
template <typename T> char* SaveArray(T* array, size_t count)
{
return Save(array, sizeof(T), count);
@ -101,6 +105,10 @@ namespace Utils
{
return reinterpret_cast<T*>(this->At());
}
template <typename T> static inline void ClearPointer(T** object)
{
*object = reinterpret_cast<T*>(-1);
}
void ToBuffer(std::string& outBuffer);
std::string ToBuffer();