UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Reverse.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"
6#include "Templates/UnrealTemplate.h" // for Swap
7
8namespace AlgoImpl
9{
10 template <typename T>
11 void Reverse(T* Array, int32 ArraySize)
12 {
13 for (int32 i = 0, i2 = ArraySize - 1; i < ArraySize / 2 /*rounding down*/; ++i, --i2)
14 {
15 Swap(Array[i], Array[i2]);
16 }
17 }
18}
19
20namespace Algo
21{
27 template <typename T, int32 ArraySize>
28 UE_REWRITE void Reverse(T (&Array)[ArraySize])
29 {
30 return AlgoImpl::Reverse((T*)Array, ArraySize);
31 }
32
39 template <typename T>
40 UE_REWRITE void Reverse(T* Array, int32 ArraySize)
41 {
42 return AlgoImpl::Reverse(Array, ArraySize);
43 }
44
50 template <typename ContainerType>
51 UE_REWRITE void Reverse(ContainerType&& Container)
52 {
53 return AlgoImpl::Reverse(Container.GetData(), Container.Num());
54 }
55}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define UE_REWRITE
Definition Platform.h:747
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition BinarySearch.h:10
void Reverse(T *Array, int32 ArraySize)
Definition Reverse.h:11
Definition ParallelSort.h:13