UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Models.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6
43namespace UE::Core::Private
44{
45 template <typename Concept, typename... Ts>
46 static char (&ModelsResolve(decltype(&Concept::template Requires<Ts...>)*))[2];
47
48 template <typename Concept, typename... Ts>
49 static char (&ModelsResolve(...))[1];
50}
51
52
56template <typename Concept, typename... Args>
57constexpr bool TModels_V = sizeof(UE::Core::Private::ModelsResolve<Concept, Args...>(0)) == 2;
58
62template <typename Concept, typename... Args>
63struct TModels
64{
65 static constexpr bool Value = TModels_V<Concept, Args...>;
66};
67
75template <typename Concept, typename... Args>
76auto Refines() -> int(&)[!!TModels_V<Concept, Args...> * 2 - 1];
77
78
79/************
80 * Examples *
81 ************/
82
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
auto Refines() -> int(&)[!!TModels_V< Concept, Args... > *2 - 1]
constexpr bool TModels_V
Definition Models.h:57
implementation
Definition PlayInEditorLoadingScope.h:8
Definition Models.h:64
static constexpr bool Value
Definition Models.h:65