#pragma once #include "CoreTypes.h" #include "TypeTraits/HelperClasses.h" NAMESPACE_REDCRAFT_BEGIN NAMESPACE_MODULE_BEGIN(Redcraft) NAMESPACE_MODULE_BEGIN(Utility) struct FForceInit { explicit FForceInit() = default; }; inline constexpr FForceInit ForceInit{}; struct FNoInit { explicit FNoInit() = default; }; inline constexpr FNoInit NoInit{}; struct FInvalid { explicit FInvalid() = default; }; inline constexpr FInvalid Invalid{}; struct FInPlace { explicit FInPlace() = default; }; inline constexpr FInPlace InPlace{}; template struct TInPlaceType { explicit TInPlaceType() = default; }; template inline constexpr TInPlaceType InPlaceType{}; template struct TInPlaceIndex { explicit TInPlaceIndex() = default; }; template inline constexpr TInPlaceIndex InPlaceIndex{}; template struct TIsInPlaceTypeSpecialization : FFalse { }; template struct TIsInPlaceTypeSpecialization> : FTrue { }; template struct TIsInPlaceIndexSpecialization : FFalse { }; template struct TIsInPlaceIndexSpecialization> : FTrue { }; NAMESPACE_MODULE_END(Utility) NAMESPACE_MODULE_END(Redcraft) NAMESPACE_REDCRAFT_END