mirror of
https://github.com/zeldaret/botw
synced 2026-08-17 13:09:22 -04:00
38 lines
676 B
C++
38 lines
676 B
C++
#pragma once
|
|
|
|
#include <thread/seadThread.h>
|
|
|
|
namespace ksys::util {
|
|
|
|
template <typename T>
|
|
inline void safeDelete(T*& pointer) {
|
|
if (pointer)
|
|
delete pointer;
|
|
pointer = nullptr;
|
|
}
|
|
|
|
template <typename T>
|
|
inline void safeDeleteArray(T*& pointer) {
|
|
if (pointer)
|
|
delete[] pointer;
|
|
pointer = nullptr;
|
|
}
|
|
|
|
template <typename T>
|
|
inline void safeDeleteThread(T*& thread, bool is_jam = false) {
|
|
if (!thread)
|
|
return;
|
|
|
|
thread->quitAndWaitDoneSingleThread(is_jam);
|
|
safeDelete(thread);
|
|
}
|
|
|
|
inline void safeDeleteHeap(sead::Heap*& heap) {
|
|
if (heap) {
|
|
heap->destroy();
|
|
heap = nullptr;
|
|
}
|
|
}
|
|
|
|
} // namespace ksys::util
|