Ark Server API (ASA) - Wiki
|
#include <Function.h>
Public Member Functions | |
TFunction (TYPE_OF_NULLPTR=nullptr) | |
template<typename FunctorType , typename = typename TEnableIf< TAnd< TNot<TIsTFunction<typename TDecay<FunctorType>::Type>>, UE::Core::Private::Function::TFuncCanBindToFunctor<FuncType, FunctorType> >::Value >::Type> | |
TFunction (FunctorType &&InFunc) | |
TFunction (TFunction &&)=default | |
TFunction (const TFunction &Other)=default | |
~TFunction ()=default | |
TFunction & | operator= (TFunction &&Other) |
TFunction & | operator= (const TFunction &Other) |
void | Reset () |
FORCEINLINE | operator bool () const |
FORCEINLINE bool | operator== (TYPE_OF_NULLPTR) const |
FORCEINLINE bool | operator!= (TYPE_OF_NULLPTR) const |
Private Types | |
using | Super = UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<false>, FuncType> |
TFunction<FuncType>
See the class definition for intended usage.
TFunction<FuncType>
A class which represents a copy of something callable. FuncType represents a function type and so TFunction should be defined as follows:
// A function taking a string and float and returning int32. Parameter names are optional. TFunction<int32 (const FString& Name, float Scale)>
Unlike TFunctionRef, this object is intended to be used like a UE version of std::function. That is, it takes a copy of whatever is bound to it, meaning you can return it from functions and store them in objects without caring about the lifetime of the original object being bound.
Example:
// Something.h TFunction<FString (int32)> GetTransform();
// Something.cpp TFunction<FString (int32)> GetTransform(const FString& Prefix) { // Squares number and returns it as a string with the specified prefix return [=](int32 Num) { return Prefix + TEXT(": ") + TTypeToString<int32>::ToString(Num * Num); }; }
// SomewhereElse.cpp #include "Something.h"
void Func() { TFunction<FString (int32)> Transform = GetTransform(TEXT("Hello"));
FString Result = Transform(5); // "Hello: 25" }
Definition at line 839 of file Function.h.
|
private |
Definition at line 841 of file Function.h.
|
inline |
Default constructor.
Definition at line 847 of file Function.h.
|
inline |
Constructor which binds a TFunction to any function object.
Definition at line 863 of file Function.h.
|
default |
|
default |
|
inlineexplicit |
Tests if the TFunction is callable.
Definition at line 913 of file Function.h.
|
inline |
Nullptr inequality operator.
Definition at line 929 of file Function.h.
|
inline |
Copy assignment operator.
Definition at line 895 of file Function.h.
|
inline |
Move assignment operator.
Definition at line 886 of file Function.h.
|
inline |
Nullptr equality operator.
Definition at line 921 of file Function.h.
Removes any bound callable from the TFunction, restoring it to the default 'empty' state.
Definition at line 905 of file Function.h.