refactor(*): remove FTypeInfo and replace it with the native std::type_info
This commit is contained in:
@ -13,7 +13,7 @@ NAMESPACE_MODULE_BEGIN(Utility)
|
||||
NAMESPACE_BEGIN(Memory)
|
||||
|
||||
template <typename ElementType>
|
||||
requires (TIsDefaultConstructible<ElementType>::Value || TIsZeroConstructible<ElementType>::Value)
|
||||
requires TIsDefaultConstructible<ElementType>::Value
|
||||
FORCEINLINE void DefaultConstruct(ElementType* Address, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsZeroConstructible<ElementType>::Value)
|
||||
@ -33,7 +33,7 @@ FORCEINLINE void DefaultConstruct(ElementType* Address, size_t Count = 1)
|
||||
}
|
||||
|
||||
template <typename DestinationElementType, typename SourceElementType>
|
||||
requires (TIsConstructible<DestinationElementType, const SourceElementType&>::Value || TIsBitwiseConstructible<DestinationElementType, const SourceElementType&>::Value)
|
||||
requires TIsConstructible<DestinationElementType, const SourceElementType&>::Value
|
||||
FORCEINLINE void Construct(DestinationElementType* Destination, const SourceElementType* Source, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsBitwiseConstructible<DestinationElementType, const SourceElementType>::Value)
|
||||
@ -53,7 +53,7 @@ FORCEINLINE void Construct(DestinationElementType* Destination, const SourceElem
|
||||
}
|
||||
|
||||
template <typename ElementType>
|
||||
requires (TIsCopyConstructible<ElementType>::Value)
|
||||
requires TIsCopyConstructible<ElementType>::Value
|
||||
FORCEINLINE void CopyConstruct(ElementType* Destination, const ElementType* Source, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsTriviallyCopyConstructible<ElementType>::Value)
|
||||
@ -73,7 +73,7 @@ FORCEINLINE void CopyConstruct(ElementType* Destination, const ElementType* Sour
|
||||
}
|
||||
|
||||
template <typename ElementType>
|
||||
requires (TIsMoveConstructible<ElementType>::Value)
|
||||
requires TIsMoveConstructible<ElementType>::Value
|
||||
FORCEINLINE void MoveConstruct(ElementType* Destination, ElementType* Source, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsTriviallyMoveConstructible<ElementType>::Value)
|
||||
@ -93,7 +93,7 @@ FORCEINLINE void MoveConstruct(ElementType* Destination, ElementType* Source, si
|
||||
}
|
||||
|
||||
template <typename DestinationElementType, typename SourceElementType>
|
||||
requires ((TIsConstructible<DestinationElementType, SourceElementType&&>::Value && TIsDestructible<SourceElementType>::Value) || TIsBitwiseRelocatable<DestinationElementType, SourceElementType>::Value)
|
||||
requires TIsConstructible<DestinationElementType, SourceElementType&&>::Value && TIsDestructible<SourceElementType>::Value
|
||||
FORCEINLINE void RelocateConstruct(DestinationElementType* Destination, SourceElementType* Source, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsBitwiseRelocatable<DestinationElementType, SourceElementType>::Value)
|
||||
@ -115,7 +115,7 @@ FORCEINLINE void RelocateConstruct(DestinationElementType* Destination, SourceEl
|
||||
}
|
||||
|
||||
template <typename ElementType>
|
||||
requires (TIsDestructible<ElementType>::Value)
|
||||
requires TIsDestructible<ElementType>::Value
|
||||
FORCEINLINE void Destruct(ElementType* Element, size_t Count = 1)
|
||||
{
|
||||
if constexpr (!TIsTriviallyDestructible<ElementType>::Value)
|
||||
@ -132,7 +132,7 @@ FORCEINLINE void Destruct(ElementType* Element, size_t Count = 1)
|
||||
}
|
||||
|
||||
template <typename ElementType>
|
||||
requires (TIsCopyAssignable<ElementType>::Value)
|
||||
requires TIsCopyAssignable<ElementType>::Value
|
||||
FORCEINLINE void CopyAssign(ElementType* Destination, const ElementType* Source, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsTriviallyCopyAssignable<ElementType>::Value)
|
||||
@ -152,7 +152,7 @@ FORCEINLINE void CopyAssign(ElementType* Destination, const ElementType* Source,
|
||||
}
|
||||
|
||||
template <typename ElementType>
|
||||
requires (TIsMoveAssignable<ElementType>::Value)
|
||||
requires TIsMoveAssignable<ElementType>::Value
|
||||
FORCEINLINE void MoveAssign(ElementType* Destination, ElementType* Source, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsTriviallyCopyConstructible<ElementType>::Value)
|
||||
@ -172,7 +172,7 @@ FORCEINLINE void MoveAssign(ElementType* Destination, ElementType* Source, size_
|
||||
}
|
||||
|
||||
template <typename ElementType>
|
||||
requires (CEqualityComparable<ElementType> || TIsBitwiseComparable<ElementType>::Value)
|
||||
requires CEqualityComparable<ElementType>
|
||||
FORCEINLINE bool Compare(const ElementType* LHS, const ElementType* RHS, size_t Count = 1)
|
||||
{
|
||||
if constexpr (TIsBitwiseComparable<ElementType>::Value)
|
||||
|
Reference in New Issue
Block a user