UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IsArrayOrRefOfTypeByPredicate.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
7
11template <typename T, template <typename> class Predicate>
13{
14 enum { Value = false };
15};
16
17template <typename ArrType, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate< ArrType[], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
18template <typename ArrType, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate<const ArrType[], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
19template <typename ArrType, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate< volatile ArrType[], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
20template <typename ArrType, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate<const volatile ArrType[], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
21
22template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate< ArrType[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
23template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate<const ArrType[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
24template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate< volatile ArrType[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
25template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate<const volatile ArrType[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
26
27template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate< ArrType(&)[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
28template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate<const ArrType(&)[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
29template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate< volatile ArrType(&)[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
30template <typename ArrType, unsigned int N, template <typename> class Predicate> struct TIsArrayOrRefOfTypeByPredicate<const volatile ArrType(&)[N], Predicate> { enum { Value = Predicate<ArrType>::Value }; };
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition IsArrayOrRefOfTypeByPredicate.h:13
@ Value
Definition IsArrayOrRefOfTypeByPredicate.h:14