removed typeid
This commit is contained in:
@@ -194,4 +194,18 @@ namespace Juliet
|
|||||||
#else
|
#else
|
||||||
#error AlignOf not defined for this compiler.
|
#error AlignOf not defined for this compiler.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
[[nodiscard]] constexpr const char* GetTypeName()
|
||||||
|
{
|
||||||
|
#if COMPILER_CLANG
|
||||||
|
return __PRETTY_FUNCTION__;
|
||||||
|
#elif COMPILER_MSVC
|
||||||
|
return __FUNCSIG__;
|
||||||
|
#elif COMPILER_GCC
|
||||||
|
return __PRETTY_FUNCTION__;
|
||||||
|
#else
|
||||||
|
return "UnknownType";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
} // namespace Juliet
|
} // namespace Juliet
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
#include <Core/Common/CoreUtils.h>
|
#include <Core/Common/CoreUtils.h>
|
||||||
#include <Core/Common/NonNullPtr.h>
|
#include <Core/Common/NonNullPtr.h>
|
||||||
#include <Core/Common/String.h>
|
#include <Core/Common/String.h>
|
||||||
#include <Core/Memory/Utils.h>
|
|
||||||
#include <Juliet.h>
|
#include <Juliet.h>
|
||||||
#include <typeinfo> // Added for typeid
|
|
||||||
|
|
||||||
namespace Juliet
|
namespace Juliet
|
||||||
{
|
{
|
||||||
@@ -88,14 +86,14 @@ namespace Juliet
|
|||||||
[[nodiscard]] Type* ArenaPushStruct(NonNullPtr<Arena> arena JULIET_DEBUG_PARAM(const char* tag = nullptr))
|
[[nodiscard]] Type* ArenaPushStruct(NonNullPtr<Arena> arena JULIET_DEBUG_PARAM(const char* tag = nullptr))
|
||||||
{
|
{
|
||||||
return static_cast<Type*>(
|
return static_cast<Type*>(
|
||||||
ArenaPush(arena, sizeof(Type) * 1, AlignOf(Type), true JULIET_DEBUG_PARAM(tag ? tag : typeid(Type).name())));
|
ArenaPush(arena, sizeof(Type) * 1, AlignOf(Type), true JULIET_DEBUG_PARAM(tag ? tag : GetTypeName<Type>())));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
[[nodiscard]] Type* ArenaPushArray(NonNullPtr<Arena> arena, size_t count JULIET_DEBUG_PARAM(const char* tag = nullptr))
|
[[nodiscard]] Type* ArenaPushArray(NonNullPtr<Arena> arena, size_t count JULIET_DEBUG_PARAM(const char* tag = nullptr))
|
||||||
{
|
{
|
||||||
return static_cast<Type*>(ArenaPush(arena, sizeof(Type) * count, Max(8ull, AlignOf(Type)),
|
return static_cast<Type*>(ArenaPush(arena, sizeof(Type) * count, Max(8ull, AlignOf(Type)),
|
||||||
true JULIET_DEBUG_PARAM(tag ? tag : typeid(Type).name())));
|
true JULIET_DEBUG_PARAM(tag ? tag : GetTypeName<Type>())));
|
||||||
}
|
}
|
||||||
|
|
||||||
TempArena ArenaTempBegin(NonNullPtr<Arena> arena);
|
TempArena ArenaTempBegin(NonNullPtr<Arena> arena);
|
||||||
|
|||||||
Reference in New Issue
Block a user