Templates

Classes

Name

Description

Public struct

DefaultDeleter

Deletes an object via the standard delete operator

Public struct

FConstCastTag

Public struct

FEqualityHelper

Public class

FEuclidDivisionGCD

Euclidean algorithm using modulo policy.

Public struct

FFunctionRefStoragePolicy

Public struct

FFunctionStorage

Public struct

FIdentityFunctor

A functor which returns whatever is passed to it. Mainly used for generic composition.

Public struct

FMakeReferenceTo

Wrapper for a type that yields a reference to that type.

Public class

FNoncopyable

Utility template for a class that should not be copyable.

Public struct

FNoopStruct

Used to avoid cluttering code with ifdefs.

Public struct

FNullTag

NOTE: The following is an Unreal extension to standard shared_ptr behavior.

Public struct

FRadixSortKeyFloat

Float cast to uint32 which maintains sorted order http://codercorner.com/RadixSortRevisited.htm

Public class

FRefCountBase

Base class implementing thread-safe reference counting.

Public class

FRefCountedObject

The base class of reference counted objects.

Public class

FSharedReferencer

FSharedReferencer is a wrapper around a pointer to a reference controller that is used by either a TSharedRef or a TSharedPtr to keep track of a referenced object's lifetime

Public struct

FStaticCastTag

Dummy structures used internally as template arguments for typecasts

Public class

FThreadSafeRefCountedObject

Like FRefCountedObject, but internal ref count is thread safe

Public struct

FVirtualDestructor

Public class

FWeakReferencer

Forward declarations.

Public struct

IDebugHelper

Helper classes to help debugger visualization.

Public struct

IFunction_OwnedObject

Common interface to a callable object owned by TFunction.

Public struct

IFunction_OwnedObject_Inline

Common interface to a callable object owned by TFunction.

Public struct

IFunction_OwnedObject_OnHeap

Common interface to a callable object owned by TFunction.

Public class

IRefCountedObject

A virtual interface for ref counted objects to implement.

Public class

std

Libc++ 8.0 and older incorrectly defined std::tuple_element as class, whereas the standard says it should be a struct.

Public struct

TAlignedBytes

Used to declare an untyped array of data with compile-time alignment.

Public struct

TAnd

Does a boolean AND of the Value static members of each type, but short-circuits if any Type::Value == false.

Public struct

TAndValue

Public struct

TArrayRange

Wraps a range into a container like interface to satisfy the GetData and GetNum global functions.

Public struct

TAtomicBase_Arithmetic

Arithmetic atomic implementation - used by both pointers and integral types in addition to getting and setting.

Public struct

TAtomicBase_Basic

Basic storage and implementation - only allows getting and setting via platform atomics.

Public struct

TAtomicBase_Integral

Integral atomic implementation - allows arithmetic and bitwise operations.

Public struct

TAtomicBase_Mutex

TODO : basic storage and getting and setting, but the element is protected by a mutex instead of using platform atomics.

Public struct

TAtomicBase_Pointer

Pointer atomic implementation - allows arithmetic with PTRINT.

Public struct

TAtomicBaseType

Public struct

TCallTraitsBase

Base class for call traits. Used to more easily refine portions when specializing

Public struct

TCallTraitsParamTypeHelper

Call traits helpers

Public struct

TCanBitwiseRelocate

Public class

TChooseClass

Chooses between two different classes based on a boolean.

Public struct

TCopyQualifiersAndRefsFromTo

Copies the cv-qualifiers and references from one type to another, e.g.:

Public struct

TCopyQualifiersFromTo

Copies the cv-qualifiers from one type to another, e.g.:

Public struct

TCVTupleArity

Public struct

TCVTupleElement

Public struct

TCVTupleIndex

Public struct

TDebugHelper

Public struct

TDecayNonReference

Public struct

TDefaultDelete

Single-ownership smart pointer in the vein of std::unique_ptr.

Public struct

TDeleterHolder

A helper class that efficiently stores a custom deleter and is intended to be derived from.

Public struct

TDereferenceWrapper

Helper class for dereferencing pointer types in Sort function

Public struct

TDontCopy

Can be used as a wrapper over non-copyable objects (i.e. FCriticalSection) if you still want the class containing your object to keep its copyable property without compromising integrity of the object that doesn't support being copied.

Public class

TEnableIf

Includes a function in an overload set if the predicate is true.

Public struct

TEqualTo

Binary predicate class for performing equality comparisons.

Public struct

TForceInitAtBoot

Template for initializing a singleton at the boot.

Public struct

TFormatSpecifier

TFormatSpecifier, only applies to numeric types

Public struct

TFuncCanBindToFunctor

Public struct

TFunction_CopyableOwnedObject

Implementation of IFunction_OwnedObject for a given copyable T.

Public struct

TFunction_OwnedObject

Public struct

TFunction_UniqueOwnedObject

Implementation of IFunction_OwnedObject for a given non-copyable T.

Public struct

TFunctionRefBase

A class which defines an operator() which will own storage of a callable and invoke the TFunctionRefCaller::Call function on it.

Public struct

TFunctionRefCaller

A class which is used to instantiate the code needed to call a bound function.

Public struct

TFunctionStorage

Public struct

TFunctorReturnTypeIsCompatible

Public struct

TGetTupleHashHelper

Public struct

TGreater

Binary predicate class for sorting elements in reverse order.

Public struct

TGuardValue

Exception-safe guard around saving/restoring a value.

Public struct

TGuardValue_Bitfield_Cleanup

Public struct

TIdentity

Public struct

TImpl

Public struct

TIntegralConstant

Defines a value metafunction of the given Value.

Public class

TIntrusiveReferenceController

Public struct

TInvokeResult

Trait for the type of the result when invoking a callable with the given argument types.

Public struct

TInvokeResult_Impl

Public struct

TIsAbstract

Traits class which tests if a type is abstract.

Public struct

TIsArithmetic

Traits class which tests if a type is arithmetic.

Public struct

TIsArray

Traits class which tests if a type is a C++ array.

Public struct

TIsArrayOrRefOfType

Type trait which returns true if the type T is an array or a reference to an array of ArrType.

Public struct

TIsArrayOrRefOfTypeByPredicate

Type trait which returns true if the type T is an array or a reference to an array of a type which matches the predicate.

Public struct

TIsBitwiseConstructible

Tests if a type T is bitwise-constructible from a given argument type U.

Public struct

TIsBoundedArray

Traits class which tests if a type is a bounded C++ array.

Public struct

TIsClass

Determines if T is a struct/class type

Public struct

TIsConst

Traits class which tests if a type is const.

Public struct

TIsConstructible

Determines if T is constructible from a set of arguments.

Public struct

TIsDerivedFrom

Is type DerivedType inherited from BaseType.

Public struct

TIsEnum

Public struct

TIsEnumClass

Traits class which tests if a type is arithmetic.

Public struct

TIsEnumConvertibleToInt

Public struct

TIsFloatingPoint

Traits class which tests if a type is floating point.

Public struct

TIsFunction

TIsFunction

Tests is a type is a function.

Public struct

TIsFundamentalType

TIsFundamentalType

Public struct

TIsInitializerList

Traits class which tests if a type is an initializer list.

Public struct

TIsIntegral

Traits class which tests if a type is integral.

Public struct

TIsInvocable

Traits class which tests if an instance of CallableType can be invoked with a list of the arguments of the types provided.

Public struct

TIsInvocableImpl

Public struct

TIsLValueReferenceType

TIsLValueReferenceType

Public struct

TIsMemberPointer

Traits class which tests if a type is a pointer to member (data member or member function).

Public struct

TIsNullableBinding

Public struct

TIsPointer

Traits class which tests if a type is a pointer.

Public struct

TIsPolymorphic

Traits class which tests if a type is polymorphic (virtual).

Public struct

TIsReferenceType

TIsReferenceType

Public struct

TIsRValueReferenceType

TIsRValueReferenceType

Public struct

TIsSigned

Traits class which tests if a type is a signed integral type.

Public struct

TIsSupportedSize

Public struct

TIsTFunction

Traits class which checks if T is a TFunction<> type.

Public struct

TIsTFunctionRef

Traits class which checks if T is a TFunctionRef<> type.

Public struct

TIsTrivial

Traits class which tests if a type is trivial.

Public struct

TIsTriviallyCopyAssignable

Traits class which tests if a type has a trivial copy assignment operator.

Public struct

TIsTriviallyCopyConstructible

Traits class which tests if a type has a trivial copy constructor.

Public struct

TIsTriviallyDestructible

Traits class which tests if a type has a trivial destructor.

Public struct

TIsTUniqueFunction

Traits class which checks if T is a TFunction<> type.

Public struct

TIsTuple

Public struct

TIsUECoreType

Traits class which tests if a type is part of the core types included in CoreMinimal.h.

Public struct

TIsUECoreVariant

Traits class which tests if a type is a core variant type (e.g. FVector, which supports FVector3f/FVector3d float/double variants. Can be used to determine if the provided type is a core variant type in general: e.g. TIsUECoreVariant::Value == false TIsUECoreVariant::Value == true and also to determine if it is a variant type of a particular component type: e.g TIsUECoreVariant::Value == false TIsUECoreVariant::Value == true

Public struct

TIsUnboundedArray

Traits class which tests if a type is an unbounded C++ array.

Public struct

TIsValidVariadicFunctionArg

Tests if a type is a valid argument to a variadic function, e.g. printf.

Public struct

TIsVoidPointer

Public class

TJugglingRotation

Array rotation using juggling technique.

Public struct

TKeyValuePair

Helper class to make it easy to use key/value pairs with a container.

Public class

TLazyEnableIf

This is a variant of the above that will determine the return type 'lazily', i.e. only if the function is enabled.

Public struct

TLess

Binary predicate class for sorting elements in order.

Public struct

TLessThanHelper

Public struct

TLosesQualifiersFromTo

Tests if qualifiers are lost between one type and another, e.g.:

Public struct

TMakeSigned

Traits class which gets the signed version of an integer type.

Public struct

TMakeUnsigned

Traits class which gets the unsigned version of an integer type.

Public struct

TMaxSizeof

Finds the maximum sizeof the supplied types

Public class

TMergeSort

Merge sort class.

Public struct

TModels

Utilities for concepts checks.

Public struct

TMoveSupportTraitsBase

Public struct

TNameOf

TNameOf

Public class

TNonNullPtr

TNonNullPtr is a non-nullable, non-owning, raw/naked/unsafe pointer.

Public struct

TNot

Does a boolean NOT of the Value static members of the type.

Public struct

TNthTypeFromParameterPack

TIsSame

Public struct

TOr

Does a boolean OR of the Value static members of each type, but short-circuits if any Type::Value == true.

Public struct

TOrValue

Public struct

TPimplHeapObjectImpl

Public struct

TPimplPtr

Forward declaration.

Public struct

TPointerIsConvertibleFromTo

Version of [TPointerIsConvertibleFromTo](API\Runtime\Core\Templates\TPointerIsConvertibleFromTo_1)_ that produces an incomplete type when either From or `To are incomplete types

Public struct

TPointerIsConvertibleFromTo

Tests if a From* is convertible to a To*

Public class

TPointerIsConvertibleFromTo_TestBase

Public class

TPointerIsConvertibleFromTo_TestDerived

Public class

TPointerIsConvertibleFromTo_Unrelated

Public struct

TRadixSortKeyCastUint32

Public struct

TRawPtrProxy

NOTE: The following is an Unreal extension to standard shared_ptr behavior.

Public struct

TRawPtrProxyWithDeleter

NOTE: The following is an Unreal extension to standard shared_ptr behavior.

Public class

TRefCountPtr

A smart pointer to an object which implements AddRef/Release.

Public class

TReferenceControllerBase

Public class

TReferenceControllerWithDeleter

Public struct

TRemoveCV

TRemoveCV will remove any const/volatile qualifiers from a type.

Public struct

TRemoveExtent

Removes one dimension of extents from an array type.

Public struct

TRemovePointer

Removes one level of pointer from a type, e.g.:

Public struct

TRemoveReference

TRemoveReference will remove any references from a type.

Public struct

TRetainedRef

TRetainedRef

Public class

TReversePredicate

Helper class to reverse a predicate. Performs Predicate(B, A)

Public class

TRotationInPlaceMerge

Merge policy for merge sort.

TRotationPolicy Policy for array rotation algorithm.

Public struct

TRValueToLValueReference

TRValueToLValueReference converts any rvalue reference type into the equivalent lvalue reference, otherwise returns the same type.

Public struct

TScopeCounter

Commonly used to make sure a value is incremented, and then decremented anyway the function can terminate.

Public class

TScopedCallback

Helper object for batching callback requests and firing on destruction of the FScopedCallback object.

Public class

TSharedFromThis

Derive your class from TSharedFromThis to enable access to a TSharedRef directly from an object instance that's already been allocated.

Public class

TSharedPtr

TSharedPtr is a non-intrusive reference-counted authoritative object pointer.

Public class

TSharedRef

NOTE: TSharedRef is an Unreal extension to standard smart pointer feature set.

Public struct

TStorageOwnerType

Public struct

TTransformTuple_Impl

Public struct

TTuple

Public struct

TTupleArity

Traits class which calculates the number of elements in a tuple.

Public struct

TTupleBase

Public struct

TTupleBaseElement

Public struct

TTupleElementGetterByIndex

Public struct

TTupleElementGetterByType

Public struct

TTypeCompatibleBytes

An untyped array of data with compile-time alignment and size derived from another type.

Public struct

TTypeTraits

Traits for types.

Public struct

TTypeTraitsBase

Helper for array traits.

Public class

TUniqueFunction

TUniqueFunction

Public class

TUniqueObj

This is essentially a reference version of TUniquePtr Useful to force heap allocation of a value, e.g. in a TMap to give similar behaviour to TIndirectArray

Public class

TUniquePtr

Public struct

TUseBitwiseSwap

A traits class which specifies whether a Swap of a given type should swap the bits or use a traditional value-based swap.

Public struct

TValueOrError_ErrorProxy

Public struct

TValueOrError_ValueProxy

Public struct

TVisitTupleElements_Impl

Public struct

TVoid

Public class

TWeakPtr

TWeakPtr is a non-intrusive reference-counted weak object pointer.

Typedefs

Enums

Functions

Name Description

Public function

uint32

 

Freeze::IntrinsicAppendHash

(
    const TTuple< KeyType, ValueType > ...,
    const FTypeLayoutDesc& TypeDesc,
    const FPlatformTypeLayoutParameters...,
    FSHA1& Hasher
)

Public function

uint32

 

Freeze::IntrinsicGetTargetAlignment

(
    const TTuple< KeyType, ValueType > ...,
    const FTypeLayoutDesc& TypeDesc,
    const FPlatformTypeLayoutParameters...
)

Public function

uint32

 

Freeze::IntrinsicUnfrozenCopy

(
    const FMemoryUnfreezeContent& Cont...,
    const TTuple< KeyType, ValueType > ...,
    void* OutDst
)

Public function

void

 

Freeze::IntrinsicWriteMemoryImage

(
    FMemoryImageWriter& Writer,
    const TTuple< KeyType, ValueType > ...,
    const FTypeLayoutDesc&
)

Public function

void

 

Freeze::IntrinsicWriteMemoryImage

(
    FMemoryImageWriter& Writer,
    const TSharedPtr< ObjectType, Mode ...,
    const FTypeLayoutDesc&
)

Public function

void

 

SharedPointerInternals::EnableSharedFromThis

(
    ...
)

Templated helper catch-all function, accomplice to the above helper functions

Public function

void

 

SharedPointerInternals::EnableSharedFromThis

(
    TSharedRef< SharedRefType, Mode > c...,
    ObjectType const* InObject,
    TSharedFromThis< OtherType, Mode > ...
)

Templated helper function (const) that creates a shared reference from an object instance

Public function

void

 

SharedPointerInternals::EnableSharedFromThis

(
    TSharedRef< SharedRefType, Mode >&...,
    ObjectType const* InObject,
    TSharedFromThis< OtherType, Mode > ...
)

Templated helper function that creates a shared reference from an object instance

Public function

void

 

SharedPointerInternals::EnableSharedFromThis

(
    TSharedPtr< SharedPtrType, Mode > c...,
    ObjectType const* InObject,
    TSharedFromThis< OtherType, Mode > ...
)

Templated helper function (const) that creates a shared pointer from an object instance

Public function

void

 

SharedPointerInternals::EnableSharedFromThis

(
    TSharedPtr< SharedPtrType, Mode >&...,
    ObjectType const* InObject,
    TSharedFromThis< OtherType, Mode > ...
)

Templated helper function that creates a shared pointer from an object instance

Public function

TReferenceCo...

 

SharedPointerInternals::NewCustomReferenceController

(
    ObjectType* Object,
    DeleterType&& Deleter
)

Creates a custom reference controller with a specified deleter

Public function

TReferenceCo...

 

SharedPointerInternals::NewDefaultReferenceController

(
    ObjectType* Object
)

Creates a reference controller which just calls delete

Public function

TIntrusiveRe...

 

SharedPointerInternals::NewIntrusiveReferenceController

(
    ArgTypes&&... Args
)

Creates an intrusive reference controller

Public function

T

 

UE::Core::Private::Atomic::AddExchange

(
    volatile T* Element,
    DiffType Diff
)

Public function

T *

 

UE::Core::Private::Atomic::AddExchange

(
    T*volatile* Element,
    DiffType Diff
)

Public function

T

 

UE::Core::Private::Atomic::AndExchange

(
    volatile T* Element,
    T AndValue
)

Public function

T

 

UE::Core::Private::Atomic::CompareExchange

(
    volatile T* Element,
    T ExpectedValue,
    T NewValue
)

Public function

T

 

UE::Core::Private::Atomic::DecrementExchange

(
    volatile T* Element
)

Public function

T *

 

UE::Core::Private::Atomic::DecrementExchange

(
    T*volatile* Element
)

Public function

T

 

UE::Core::Private::Atomic::Exchange

(
    volatile T* Element,
    T Value
)

Public function

T

 

UE::Core::Private::Atomic::IncrementExchange

(
    volatile T* Element
)

Public function

T *

 

UE::Core::Private::Atomic::IncrementExchange

(
    T*volatile* Element
)

Public function

T

 

UE::Core::Private::Atomic::Load

(
    const volatile T* Element
)

Public function

T

 

UE::Core::Private::Atomic::LoadRelaxed

(
    const volatile T* Element
)

Public function

T

 

UE::Core::Private::Atomic::OrExchange

(
    volatile T* Element,
    T OrValue
)

Public function

void

 

UE::Core::Private::Atomic::Store

(
    const volatile T* Element,
    T Value
)

Public function

void

 

UE::Core::Private::Atomic::StoreRelaxed

(
    const volatile T* Element,
    T Value
)

Public function

T *

 

UE::Core::Private::Atomic::SubExchange

(
    T*volatile* Element,
    DiffType Diff
)

Public function

T

 

UE::Core::Private::Atomic::SubExchange

(
    volatile T* Element,
    DiffType Diff
)

Public function

T

 

UE::Core::Private::Atomic::XorExchange

(
    volatile T* Element,
    T XorValue
)

Public function

auto

 

UE::Core::Private::DereferenceIfNecessary

(
    TargetType&& Target,
    const volatile OuterType* Targ...
)

Public function

auto

 

UE::Core::Private::DereferenceIfNecessary

(
    TargetType&& Target,
    ...
)

Public function

bool

 

UE::Core::Private::Function::IsBound

(
    const T& Func
)

Public function

constexpr bo...

 

UE::Core::Private::IsDerivedFromSharedFromThisImpl

(
    ...
)

Public function

constexpr bo...

 

UE::Core::Private::IsDerivedFromSharedFromThisImpl

(
    const TSharedFromThis< T >*
)

Public function

T &&

 

UE::Core::Private::IsInvocable::DeclVal()

Public function

TSharedRef< ...

 

UE::Core::Private::MakeSharedRef

(
    ObjectType* InObject,
    SharedPointerInternals::TReferenceC...
)

Needed to work around an Android compiler bug - we need to construct a TSharedRef from MakeShared without making MakeShared a friend in order to access the private constructor.

Public function

void *

 

UE::Core::Private::PimplPtr::CallCopier

(
    void* Ptr
)

Public function

void

 

UE::Core::Private::PimplPtr::CallDeleter

(
    void* Ptr
)

Public function Static

void *

 

UE::Core::Private::PimplPtr::CopyFunc

(
    void* A
)

Public function

void

 

UE::Core::Private::PimplPtr::DeleterFunc

(
    void* Ptr
)

Public function Static

void

 

UE::Core::Private::Tuple::Assign

(
    LhsType& Lhs,
    RhsType&& Rhs,
    TIntegerSequence< uint32, Indices.....
)

Public function

decltype(Con...

 

UE::Core::Private::Tuple::AssignableConceptCheck

(
    Deduced&& ...
)

Public function

void

 

UE::Core::Private::Tuple::ConceptCheckingHelper

(
    ArgTypes&& ...
)

This only exists to have something to expand a parameter pack into, for concept checking.

Public function

std::enable_...

 

UE::Core::Private::Tuple::ConstructibleConceptCheck

(
    Deduced&& ...
)

Public function

TTuple< Elem...

 

UE::Core::Private::Tuple::MakeTupleImpl

(
    Types&&... Args
)

Public function

uint32

 

UE::Private::MurmurFinalize32

(
    uint32 Hash
)

Variables

Name Description

Public variable

constexpr SIZE_...

 

RequiredAlignment

Public variable

constexpr uint3...

 

TTypeCountInParameterPack_V

Public variable

constexpr uint3...

 

TTypeCountInParameterPack_V< T, U, Types... >

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel