Navigation
API > API/Runtime > API/Runtime/Core
The code below effectively reimplements a minimal version of TTuple, tailored to the needs of delegates' param structs passed to ProcessEvent.
It distinguishes a return element from parameter elements, giving it a different member name for easy access, forcing its default value with either value init or EForceInit depending on the type.
It also directly constructs the elements rather than default construct and copy assign, and uses perfect forwarding so that moves happen instead of copies where possible.
| Name | TDelegateWrapperReturnBase |
| Type | struct |
| Header File | /Engine/Source/Runtime/Core/Public/UObject/ScriptDelegates.h |
| Include Path | #include "UObject/ScriptDelegates.h" |
Syntax
template<typename T>
struct TDelegateWrapperReturnBase
Derived Classes
Struct Specializations
| Name | Remarks |
|---|---|
| TDelegateWrapperReturnBase< T > |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| MemberType | std::remove_cv_t< std::remove_reference_t< T > > | UObject/ScriptDelegates.h | |
| RemappedMemberType | std::conditional_t< UE::CUnscopedEnum< MemberType >, TEnumAsByte< MemberType >, MemberType > | UObject/ScriptDelegates.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ReturnValue | RemappedMemberType | UObject/ScriptDelegates.h |