UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ContainerElementTypeCompatibility.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7
13template <typename InElementType>
15{
18
19 template <typename IterBeginType, typename IterEndType, typename OperatorType = InElementType&(*)(IterBeginType&)>
20 static void ReinterpretRange(IterBeginType Iter, IterEndType IterEnd, OperatorType Operator = [](IterBeginType& InIt) -> InElementType& { return *InIt; })
21 {
22 }
23
24 template <typename IterBeginType, typename IterEndType, typename SizeType, typename OperatorType = InElementType & (*)(IterBeginType&)>
25 static void ReinterpretRangeContiguous(IterBeginType Iter, IterEndType IterEnd, SizeType Size, OperatorType Operator = [](IterBeginType& InIt) -> InElementType& { return *InIt; })
26 {
27 }
28
29 static constexpr void CopyingFromOtherType() {}
30};
31
36template <typename ElementType>
37constexpr bool TIsContainerElementTypeReinterpretable_V = !std::is_same_v<typename TContainerElementTypeCompatibility<ElementType>::ReinterpretType, ElementType>;
38
39template <typename ElementType>
40struct UE_DEPRECATED(5.4, "TIsContainerElementTypeReinterpretable has been deprecated - please use TIsContainerElementTypeReinterpretable_V instead") TIsContainerElementTypeReinterpretable
41{
43};
44
49template <typename ElementType>
50constexpr bool TIsContainerElementTypeCopyable_V = !std::is_same_v<typename TContainerElementTypeCompatibility<ElementType>::CopyFromOtherType, ElementType>;
51
52template <typename ElementType>
53struct UE_DEPRECATED(5.4, "TIsContainerElementTypeCopyable has been deprecated - please use TIsContainerElementTypeCopyable_V instead") TIsContainerElementTypeCopyable
54{
56};
constexpr bool TIsContainerElementTypeCopyable_V
Definition ContainerElementTypeCompatibility.h:50
constexpr bool TIsContainerElementTypeReinterpretable_V
Definition ContainerElementTypeCompatibility.h:37
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Size
Definition VulkanMemory.cpp:4034
Definition ContainerElementTypeCompatibility.h:15
InElementType CopyFromOtherType
Definition ContainerElementTypeCompatibility.h:17
static void ReinterpretRange(IterBeginType Iter, IterEndType IterEnd, OperatorType Operator=[](IterBeginType &InIt) -> InElementType &{ return *InIt;})
Definition ContainerElementTypeCompatibility.h:20
InElementType ReinterpretType
Definition ContainerElementTypeCompatibility.h:16
static void ReinterpretRangeContiguous(IterBeginType Iter, IterEndType IterEnd, SizeType Size, OperatorType Operator=[](IterBeginType &InIt) -> InElementType &{ return *InIt;})
Definition ContainerElementTypeCompatibility.h:25
static constexpr void CopyingFromOtherType()
Definition ContainerElementTypeCompatibility.h:29