// SPDX-FileCopyrightText: 2021 Jorrit Rouwe // SPDX-License-Identifier: MIT #pragma once #include JPH_NAMESPACE_BEGIN /// Helper functions to get the underlying RTTI type of a type (so e.g. Array will return sometype) template const RTTI *GetPrimitiveTypeOfType(T *) { return GetRTTIOfType((T *)nullptr); } template const RTTI *GetPrimitiveTypeOfType(T **) { return GetRTTIOfType((T *)nullptr); } template const RTTI *GetPrimitiveTypeOfType(Ref *) { return GetRTTIOfType((T *)nullptr); } template const RTTI *GetPrimitiveTypeOfType(RefConst *) { return GetRTTIOfType((T *)nullptr); } template const RTTI *GetPrimitiveTypeOfType(Array *) { return GetPrimitiveTypeOfType((T *)nullptr); } template const RTTI *GetPrimitiveTypeOfType(StaticArray *) { return GetPrimitiveTypeOfType((T *)nullptr); } template const RTTI *GetPrimitiveTypeOfType(T (*)[N]) { return GetPrimitiveTypeOfType((T *)nullptr); } JPH_NAMESPACE_END