diff options
Diffstat (limited to 'core/src/Utils/RTTI.hpp')
-rw-r--r-- | core/src/Utils/RTTI.hpp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/core/src/Utils/RTTI.hpp b/core/src/Utils/RTTI.hpp deleted file mode 100644 index 86b1e2c..0000000 --- a/core/src/Utils/RTTI.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include <cassert> - -template <class T, class TBase> -bool is_a(TBase* t) -{ - assert(t != nullptr); - return T::IsInstance(t); -} - -template <class T, class TBase> -bool is_a_nullable(TBase* t) -{ - if (t) { - return is_a<T, TBase>(t); - } else { - return false; - } -} - -template <class T, class TBase> -T* dyn_cast(TBase* t) -{ - assert(t != nullptr); - if (T::IsInstance(t)) { - return static_cast<T*>(t); - } else { - return nullptr; - } -} - -template <class T, class TBase> -const T* dyn_cast(const TBase* t) -{ - assert(t != nullptr); - if (T::IsInstance(t)) { - return static_cast<const T*>(t); - } else { - return nullptr; - } -} - -template <class T, class TBase> -T* dyn_cast_nullable(TBase* t) -{ - if (!t) return nullptr; - return dyn_cast<T, TBase>(t); -} |