diff options
Diffstat (limited to 'source/core/slang-rtti-util.h')
| -rw-r--r-- | source/core/slang-rtti-util.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/core/slang-rtti-util.h b/source/core/slang-rtti-util.h index d514d1980..741e1f847 100644 --- a/source/core/slang-rtti-util.h +++ b/source/core/slang-rtti-util.h @@ -6,7 +6,6 @@ namespace Slang { struct RttiUtil { - static SlangResult setInt(int64_t value, const RttiInfo* rttiInfo, void* dst); static int64_t getInt64(const RttiInfo* rttiInfo, const void* src); @@ -23,6 +22,16 @@ struct RttiUtil /// Set a list count static SlangResult setListCount(const RttiInfo* elementType, void* dst, Index count); + /// Returns if the type can be zero initialized + static bool canZeroInit(const RttiInfo* type); + /// Returns true if the type needs dtor + static bool hasDtor(const RttiInfo* type); + /// Returns true if we can memcpy to copy + static bool canMemCpy(const RttiInfo* type); + + static void ctorArray(const RttiInfo* rttiInfo, void* inDst, ptrdiff_t stride, Index count); + static void copyArray(const RttiInfo* rttiInfo, void* inDst, const void* inSrc, ptrdiff_t stride, Index count); + static void dtorArray(const RttiInfo* rttiInfo, void* inDst, ptrdiff_t stride, Index count); }; } // namespace Slang |
