Templates

Windows
MacOS
Linux

Classes

Name

Description

Public struct

DefaultDeleter

Deletes an object via the standard delete operator

Public struct

Equals

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

FNotSpecified

Public struct

FNotSpecified

Public struct

FNotSpecified

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 struct

FRawPtrProxy

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

Public class

FRefCountedObject

The base class of reference counted objects.

Public class

FReferenceControllerBase

Public struct

FReferenceControllerOps

FReferenceController is a standalone heap-allocated object that tracks the number of references to an object referenced by TSharedRef, TSharedPtr or TWeakPtr objects.

Public struct

FReturnValueCheck

Public struct

FReturnValueCheck

Public struct

FReturnValueCheck

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 struct

FVirtualDestructor

Public class

FWeakReferencer

Forward declarations.

Public struct

GetTypeHashQuery

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 struct

NotEquals

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 class

TAtomic

Atomic object wrapper class which wraps an element of T.

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 class

TAutoPtr

Wrapper around a raw pointer that destroys it automatically.

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

TContainerTraits

Public struct

TContainerTraitsBase

Traits for containers.

Public struct

TCopyQualifiersFromTo

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

Public struct

TCVTupleArity

Public struct

TDebugHelper

Public struct

TDecayedFrontOfParameterPackIsSameType

Public struct

TDecayNonReference

Public struct

TDefaultDelete

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

Public struct

TDereferenceWrapper

Helper class for dereferencing pointer types in Sort function

Public class

TEnableIf

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

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

THasInserterOperator

Public struct

TIdentity

Public struct

TImpl

We have this specialization for enums to avoid the need to have a full definition of the type.

Public struct

TIntegralConstant

Defines a value metafunction of the given Value.

Public class

TIntrusiveReferenceController

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

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

TIsCharType

TIsCharType

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

TIsPODType

Traits class which tests if a type is POD.

Public struct

TIsPointer

Traits class which tests if a type is a pointer.

Public struct

TIsReferenceType

TIsReferenceType

Public struct

TIsRValueReferenceType

TIsRValueReferenceType

Public struct

TIsSame

TIsSame

Unreal implementation of std::is_same trait.

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

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 struct

TIsVoidType

TIsVoidType

Public struct

TIsWeakPointerType

TIsWeakPointerType

Public struct

TIsZeroConstructType

TIsZeroConstructType

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

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 struct

TNot

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

Public struct

TNthTypeFromParameterPack

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

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 class

TRefCountPtr

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

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 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

TScopedPointer

Wrapper around a raw pointer that destroys it automatically.

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

TTupleElement

Public struct

TTupleElementHelper

Public struct

TTupleElementHelperImpl

Public struct

TTupleImpl

Public struct

TTupleStorage

Public struct

TTypeCompatibleBytes

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

Public struct

TTypeTraitsBase

Helper for array traits.

Public struct

TTypeWrapper

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

TUnwrapType

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

Name

Description

Public enum

EMemoryOrder

Public enum

ESPMode

ESPMode is used select between either 'fast' or 'thread safe' shared pointer types.

Functions

Name Description

Public function

constexpr T

 

Align

(
    T Val,
    uint64 Alignment
)

Aligns a value to the nearest higher multiple of 'Alignment', which must be a power of two.

Public function

constexpr T

 

AlignArbitrary

(
    T Val,
    uint64 Alignment
)

Aligns a value to the nearest higher multiple of 'Alignment'.

Public function

constexpr T

 

AlignDown

(
    T Val,
    uint64 Alignment
)

Aligns a value to the nearest lower multiple of 'Alignment', which must be a power of two.

Public function

char(&

 

ArrayCountHelper

(
    const T
)

Public function

const T &

 

AsConst

(
    T& Ref
)

Returns a non-const reference type as const.

Public function

const T *...

 

AsConst

(
    T* Ptr
)

Returns a non-const pointer type as const.

Public function

void

 

CleanupPointerArray

(
    TArray< TWeakPtr< Type > >& Pointe...
)

Given a TArray of TWeakPtr's, will remove any invalid pointers.

Public function

void

 

CleanupPointerMap

(
    TMap< TWeakPtr< KeyType >, ValueTyp...
)

Given a TMap of TWeakPtr's, will remove any invalid pointers.

Public function

TEnableIf< T...

 

CompareItems

(
    const ElementType* A,
    const ElementType* B,
    SizeType Count
)

Public function

TEnableIf<&#...

 

CompareItems

(
    const ElementType* A,
    const ElementType* B,
    SizeType Count
)

Public function

TSharedPtr< ...

 

ConstCastSharedPtr

(
    TSharedPtr< CastFromType, Mode > co...
)

Casts a 'const' shared pointer to 'mutable' shared pointer. (const_cast)

Public function

TSharedRef< ...

 

ConstCastSharedRef

(
    TSharedRef< CastFromType, Mode > co...
)

Casts a 'const' shared reference to 'mutable' shared reference. (const_cast)

Public function

TEnableIf<&#...

 

ConstructItems

(
    void* Dest,
    const SourceElementType* Sourc...,
    SizeType Count
)

Constructs a range of items into memory from a set of arguments.

Public function

TEnableIf< T...

 

ConstructItems

(
    void* Dest,
    const SourceElementType* Sourc...,
    SizeType Count
)

Public function

TEnableIf<&#...

 

CopyAssignItems

(
    ElementType* Dest,
    const ElementType* Source,
    SizeType Count
)

Copy assigns a range of items.

Public function

TEnableIf< T...

 

CopyAssignItems

(
    ElementType* Dest,
    const ElementType* Source,
    SizeType Count
)

Public function

T

 

CopyTemp

(
    const T& Val
)

Public function

T

 

CopyTemp

(
    T& Val
)

CopyTemp will enforce the creation of an rvalue which can bind to rvalue reference parameters.

Public function

T &&

 

CopyTemp

(
    T&& Val
)

Public function

T &&

 

DeclVal()

Equivalent to std::declval.

Public function

TEnableIf<&#...

 

DefaultConstructItems

(
    void* Address,
    SizeType Count
)

Default constructs a range of items in memory.

Public function

TEnableIf< T...

 

DefaultConstructItems

(
    void* Elements,
    SizeType Count
)

Public function

TEnableIf<&#...

 

DestructItem

(
    ElementType* Element
)

Destructs a single item in memory.

Public function

TEnableIf< T...

 

DestructItem

(
    ElementType* Element
)

Public function

TEnableIf<&#...

 

DestructItems

(
    ElementType* Element,
    SizeType Count
)

Destructs a range of items in memory.

Public function

TEnableIf< T...

 

DestructItems

(
    ElementType* Elements,
    SizeType Count
)

Public function

*void

 

DoSomethingWithConvertingStringsToInts

(
    TFunctionRef< int32&...
)

TFunctionRef

Public function

void

 

Exchange

(
    T& A,
    T& B
)

Public function

**&#...

 

f

(
    RealT t
)

Public function

*void

 

f

(
    int t
)

Wraps a type.

Public function

T &&

 

Forward

(
    typename TRemoveReference< T >::Typ...
)

Forward will cast a reference to an rvalue reference. This is UE's equivalent of std::forward.

Public function

T &&

 

Forward

(
    typename TRemoveReference< T >::Typ...
)

Public function

*void

 

Func

(
    typename TMoveSupportTraits< T >::M...
)

This traits class is intended to be used in pairs to allow efficient and correct move-aware overloads for generic types.

Public function

**&#...

 

Func()

Public function

**vo...

 

Func

(
    const TTuple< int32, const TCHAR&#...
)

Public function

*void

 

Func2

(
    typename TIdentity< T >::Type Val
)

Returns the same type passed to it.

Public function

constexpr T ...

 

GetData

(
    std::initializer_list< T > List
)

Public function

constexpr T ...

 

GetData

(
    T(&) Container
)

Public function

auto

 

GetData

(
    T&& Container
)

Generically gets the data pointer of a contiguous container

Public function

constexpr SI...

 

GetNum

(
    std::initializer_list< T > List
)

Public function

SIZE_T

 

GetNum

(
    T&& Container
)

Generically gets the number of items in a contiguous container

Public function

constexpr SI...

 

GetNum

(
    T(&) Container
)

Public function

*TFuncti...

 

GetTransform

(
    const FString& Prefix
)

TFunction

Public function

uint32

 

GetTypeHash

(
    const uint8 A
)

Hash functions for common types.

Public function

uint32

 

GetTypeHash

(
    const TTuple<>& Tuple
)

Public function

uint32

 

GetTypeHash

(
    const TTuple< Types... >& Tuple
)

Public function

TEnableIf< T...

 

GetTypeHash

(
    EnumType E
)

Public function

uint32

 

GetTypeHash

(
    void* A
)

Public function

uint32

 

GetTypeHash

(
    const TCHAR* S
)

Public function

uint32

 

GetTypeHash

(
    float Value
)

Public function

uint32

 

GetTypeHash

(
    const uint64 A
)

Public function

uint32

 

GetTypeHash

(
    const uint32 A
)

Public function

uint32

 

GetTypeHash

(
    const int32 A
)

Public function

uint32

 

GetTypeHash

(
    const int16 A
)

Public function

uint32

 

GetTypeHash

(
    const uint16 A
)

Public function

uint32

 

GetTypeHash

(
    const int8 A
)

Public function

uint32

 

GetTypeHash

(
    double Value
)

Public function

uint32

 

GetTypeHash

(
    const int64 A
)

Public function

uint32

 

GetTypeHash

(
    const void* A
)

Public function

uint32

 

HashCombine

(
    uint32 A,
    uint32 C
)

Combines two hash values to get a third. Note - this function is not commutative.

Public function

ReferencedTy...

 

IfAThenAElseB

(
    ReferencedType* A,
    ReferencedType* B
)

Chooses between the two parameters based on whether the first is nullptr or not.

Public function

ReferencedTy...

 

IfPThenAElseB

(
    PredicateType Predicate,
    ReferencedType* A,
    ReferencedType* B
)

Branchless pointer selection based on predicate return PTRINT(Predicate) ? A : B;

Public function

T

 

ImplicitConv

(
    typename TIdentity< T >::Type Obj
)

Uses implicit conversion to create an instance of a specific type.

Public function

auto

 

Invoke

(
    ReturnType(ObjType::*)(PMFArgTy...,
    CallableType&& Callable,
    ArgTypes&&... Args
)

Public function

auto

 

Invoke

(
    ReturnType ObjType::* pdm,
    CallableType&& Callable
)

Public function

auto

 

Invoke

(
    FuncType&& Func,
    ArgTypes&&... Args
)

Invokes a callable with a set of arguments.

Public function

constexpr bo...

 

IsAligned

(
    T Val,
    uint64 Alignment
)

Checks if a pointer is aligned to the specified alignment.

Public function

TValueOrErro...

 

MakeError

(
    A&& Arg
)

Public function

SharedPointe...

 

MakeShareable

(
    ObjectType* InObject,
    DeleterType&& InDeleter
)

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

Public function

SharedPointe...

 

MakeShareable

(
    ObjectType* InObject
)

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

Public function

TSharedRef< ...

 

MakeShared

(
    InArgTypes&&... Args
)

MakeShared utility function.

Public function

TTuple< type...

 

MakeTuple

(
    Types&&... Args
)

Makes a TTuple from some arguments.

Public function

TEnableIf< T...

 

MakeUnique

(
    TArgs&&... Args
)

Overload to cause a compile error when MakeUnique is attempted.

Public function

TEnableIf< T...

 

MakeUnique

(
    SIZE_T Size
)

Allocates a new array of type T with the given size and returns it as a TUniquePtr.

Public function

TEnableIf<&#...

 

MakeUnique

(
    TArgs&&... Args
)

Allocates a new object of type T with the given arguments and returns it as a TUniquePtr.

Public function

TValueOrErro...

 

MakeValue

(
    A&& Arg
)

Public function

ForwardIt

 

MaxElement

(
    ForwardIt First,
    ForwardIt Last
)

Works just like std::max_element.

Public function

ForwardIt

 

MaxElement

(
    ForwardIt First,
    ForwardIt Last,
    PredicateType Predicate
)

Works just like std::max_element.

Public function

void

 

Merge

(
    T* Out,
    T* In,
    const int32 Mid,
    const int32 Num,
    const PREDICATE_CLASS& Predicate
)

Stable merge to perform sort below. Stable sort is slower than non-stable algorithm.

Public function

ForwardIt

 

MinElement

(
    ForwardIt First,
    ForwardIt Last
)

Works just like std::min_element.

Public function

ForwardIt

 

MinElement

(
    ForwardIt First,
    ForwardIt Last,
    PredicateType Predicate
)

Works just like std::min_element.

Public function

void

 

Move

(
    TScopedPointer< ReferencedType >& ...,
    ReferencedType* B
)

Implement movement of a scoped pointer to avoid copying the referenced value.

Public function

void

 

Move

(
    TAutoPtr< ReferencedType >& A,
    ReferencedType* B
)

Implement movement of a scoped pointer to avoid copying the referenced value.

Public function

void

 

Move

(
    T& A,
    typename TMoveSupportTraits< T >::M...
)

This is used to provide type specific behavior for a move which may change the value of B.

Public function

void

 

Move

(
    T& A,
    typename TMoveSupportTraits< T >::C...
)

This is used to provide type specific behavior for a copy which cannot change the value of B.

Public function

TEnableIf<&#...

 

MoveAssignItems

(
    ElementType* Dest,
    const ElementType* Source,
    SizeType Count
)

Move assigns a range of items.

Public function

TEnableIf< T...

 

MoveAssignItems

(
    ElementType* Dest,
    const ElementType* Source,
    SizeType Count
)

Public function

TEnableIf<&#...

 

MoveConstructItems

(
    void* Dest,
    const ElementType* Source,
    SizeType Count
)

Move constructs a range of items into memory.

Public function

TEnableIf< T...

 

MoveConstructItems

(
    void* Dest,
    const ElementType* Source,
    SizeType Count
)

Public function

TRemoveRefer...

 

MoveTemp

(
    T&& Obj
)

MoveTemp will cast a reference to an rvalue reference.

Public function

TRemoveRefer...

 

MoveTempIfPossible

(
    T&& Obj
)

MoveTemp will cast a reference to an rvalue reference.

Public function

FORCEINLINE ...

 

operator!=

(
    const TFunction< FuncType >& Func,
    TYPE_OF_NULLPTR
)

Nullptr inequality operator.

Public function

bool

 

operator!=

(
    TYPE_OF_NULLPTR,
    const TUniquePtr< T >& Rhs
)

Public function

bool

 

operator!=

(
    const TUniquePtr< T >& Lhs,
    TYPE_OF_NULLPTR
)

Inequality comparison operator against nullptr.

Public function

bool

 

operator!=

(
    const TUniquePtr< T >& Lhs,
    const TUniquePtr< T >& Rhs
)

Public function

bool

 

operator!=

(
    const TUniquePtr< LhsT >& Lhs,
    const TUniquePtr< RhsT >& Rhs
)

Inequality comparison operator

Public function

bool

 

operator!=

(
    TYPE_OF_NULLPTR,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global inequality operator for TWeakPtr

Public function

bool

 

operator!=

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TYPE_OF_NULLPTR
)

Global inequality operator for TWeakPtr

Public function

bool

 

operator!=

(
    TSharedPtr< ObjectTypeA, Mode > con...,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator!=

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Global equality operator for TWeakPtr

Public function

FORCEINLINE ...

 

operator!=

(
    TYPE_OF_NULLPTR,
    const TFunction< FuncType >& Func
)

Nullptr inequality operator.

Public function

bool

 

operator!=

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TSharedRef< ObjectTypeB, Mode > con...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator!=

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global inequality operator for TWeakPtr

Public function

bool

 

operator!=

(
    TSharedRef< ObjectTypeA, Mode > con...,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Tests to see if a TSharedRef is not "equal" to a TSharedPtr (shared pointer is invalid, or both refer to different objects)

Public function

bool

 

operator!=

(
    TSharedPtr< ObjectTypeA, Mode > con...,
    TYPE_OF_NULLPTR
)

Global inequality operator for TSharedPtr

Public function

bool

 

operator!=

(
    TSharedPtr< ObjectTypeA, Mode > con...,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Global inequality operator for TSharedPtr

Public function

bool

 

operator!=

(
    TSharedRef< ObjectTypeA, Mode > con...,
    TSharedRef< ObjectTypeB, Mode > con...
)

Global inequality operator for TSharedRef

Public function

bool

 

operator!=

(
    TSharedRef< ObjectTypeA, Mode > con...,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator!=

(
    TSharedPtr< ObjectTypeB, Mode > con...,
    TSharedRef< ObjectTypeA, Mode > con...
)

Tests to see if a TSharedRef is not "equal" to a TSharedPtr (shared pointer is invalid, or both refer to different objects) (reverse)

Public function

bool

 

operator!=

(
    TYPE_OF_NULLPTR,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Global inequality operator for TSharedPtr

Public function

bool

 

operator==

(
    ReferencedType* A,
    const TRefCountPtr< ReferencedType ...
)

Public function

bool

 

operator==

(
    const TRefCountPtr< ReferencedType ...,
    const TRefCountPtr< ReferencedType ...
)

Public function

bool

 

operator==

(
    const TRefCountPtr< ReferencedType ...,
    ReferencedType* B
)

Public function

bool

 

operator==

(
    TSharedRef< ObjectTypeA, Mode > con...,
    TSharedRef< ObjectTypeB, Mode > con...
)

Global equality operator for TSharedRef

Public function

bool

 

operator==

(
    TSharedPtr< ObjectTypeA, Mode > con...,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Global equality operator for TSharedPtr

Public function

bool

 

operator==

(
    TSharedPtr< ObjectTypeA, Mode > con...,
    TYPE_OF_NULLPTR
)

Global equality operator for TSharedPtr

Public function

bool

 

operator==

(
    TYPE_OF_NULLPTR,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Global equality operator for TSharedPtr

Public function

bool

 

operator==

(
    TSharedRef< ObjectTypeA, Mode > con...,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Tests to see if a TSharedRef is "equal" to a TSharedPtr (both are valid and refer to the same object)

Public function

bool

 

operator==

(
    TSharedPtr< ObjectTypeB, Mode > con...,
    TSharedRef< ObjectTypeA, Mode > con...
)

Tests to see if a TSharedRef is "equal" to a TSharedPtr (both are valid and refer to the same object) (reverse)

Public function

bool

 

operator==

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TSharedRef< ObjectTypeB, Mode > con...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TSharedPtr< ObjectTypeB, Mode > con...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    TSharedRef< ObjectTypeA, Mode > con...,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    TSharedPtr< ObjectTypeA, Mode > con...,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    TWeakPtr< ObjectTypeA, Mode > const...,
    TYPE_OF_NULLPTR
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    TYPE_OF_NULLPTR,
    TWeakPtr< ObjectTypeB, Mode > const...
)

Global equality operator for TWeakPtr

Public function

bool

 

operator==

(
    const TUniquePtr< LhsT >& Lhs,
    const TUniquePtr< RhsT >& Rhs
)

Equality comparison operator

Public function

bool

 

operator==

(
    const TUniquePtr< T >& Lhs,
    const TUniquePtr< T >& Rhs
)

Public function

bool

 

operator==

(
    const TUniquePtr< T >& Lhs,
    TYPE_OF_NULLPTR
)

Equality comparison operator against nullptr.

Public function

bool

 

operator==

(
    TYPE_OF_NULLPTR,
    const TUniquePtr< T >& Rhs
)

Public function

FORCEINLINE ...

 

operator==

(
    const TFunction< FuncType >& Func,
    TYPE_OF_NULLPTR
)

Nullptr equality operator.

Public function

FORCEINLINE ...

 

operator==

(
    TYPE_OF_NULLPTR,
    const TFunction< FuncType >& Func
)

Nullptr equality operator.

Public function

*char

 

Overloaded

(
    const TCHAR* Arg
)

Creates a new TTuple by applying a functor to each of the elements.

Public function

*const T...

 

Overloaded

(
    const FString& Arg
)

Public function

uint32

 

PointerHash

(
    const void* Key,
    uint32 C
)

Public function

void

 

RadixSort32

(
    ValueType*restrict Dst,
    ValueType*
restrict Src,
    CountType Num
)

Public function

void

 

RadixSort32

(
    float*restrict Dst,
    float*
restrict Src,
    CountType Num
)

Public function

void

 

RadixSort32

(
    ValueType*restrict Dst,
    ValueType*
restrict Src,
    CountType Num,
    SortKeyClass SortKey
)

Very fast 32bit radix sort.

Public function

auto

 

Refines()

Helper function which can be used as an expression in a concept to refine ('inherit') another concept.

Public function

TEnableIf<&#...

 

RelocateConstructItems

(
    void* Dest,
    const SourceElementType* Sourc...,
    SizeType Count
)

Relocates a range of items to a new memory location as a new type.

Public function

TEnableIf< U...

 

RelocateConstructItems

(
    void* Dest,
    const SourceElementType* Sourc...,
    SizeType Count
)

Public function

TEnableIf< T...

 

ReverseBits

(
    T Bits
)

Reverses the order of the bits of a value.

Public function

void

 

SharedPointerInternals::EnableSharedFromThis

(
    ...
)

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

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

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

(
    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

FReferenceCo...

 

SharedPointerInternals::NewCustomReferenceController

(
    ObjectType* Object,
    DeleterType&& Deleter
)

Creates a custom reference controller with a specified deleter

Public function

FReferenceCo...

 

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

void

 

Sort

(
    T* First,
    const int32 Num
)

Sort elements.

Public function

void

 

Sort

(
    T** First,
    const int32 Num
)

Specialized version of the above Sort function for pointers to elements.

Public function

void

 

Sort

(
    T* First,
    const int32 Num,
    const PREDICATE_CLASS& Predicate
)

Sort elements using user defined predicate class.

Public function

void

 

Sort

(
    T** First,
    const int32 Num,
    const PREDICATE_CLASS& Predicate
)

Specialized version of the above Sort function for pointers to elements.

Public function

void

 

StableSort

(
    T* First,
    const int32 Num,
    const PREDICATE_CLASS& Predicate
)

Stable sort elements using user defined predicate class.

Public function

void

 

StableSort

(
    T** First,
    const int32 Num,
    const PREDICATE_CLASS& Predicate
)

Specialized version of the above StableSort function for pointers to elements.

Public function

void

 

StableSort

(
    T** First,
    const int32 Num
)

Specialized version of the above StableSort function for pointers to elements.

Public function

void

 

StableSort

(
    T* First,
    const int32 Num
)

Stable sort elements.

Public function

void

 

StableSortInternal

(
    T* First,
    const int32 Num,
    const PREDICATE_CLASS& Predicate
)

Stable sort elements using user defined predicate class.

Public function

T

 

StaticCast

(
    ArgType&& Arg
)

This exists to avoid a Visual Studio bug where using a cast to forward an rvalue reference array argument to a pointer parameter will cause bad code generation.

Public function

TSharedPtr< ...

 

StaticCastSharedPtr

(
    TSharedPtr< CastFromType, Mode > co...
)

Casts a shared pointer of one type to another type. (static_cast) Useful for down-casting.

Public function

TSharedRef< ...

 

StaticCastSharedRef

(
    TSharedRef< CastFromType, Mode > co...
)

SharedPointerInternals.h contains the implementation of reference counting structures we need.

Public function

TEnableIf< T...

 

Swap

(
    T& A,
    T& B
)

Swap two values. Assumes the types are trivially relocatable.

Public function

TEnableIf<&#...

 

Swap

(
    T& A,
    T& B
)

Public function Const

decltype(aut...

 

TransformTuple

(
    const TTuple< Types... >& Tuple,
    FuncType Func
)

Public function

*decltyp...

 

TransformTuple

(
    TTuple< Types... >&& Tuple,
    FuncType Func
)

Public function

**St...

 

type

(
    e.g. ints,
    floats,
    other 'small' types
)

Public function

T *

 

UE4Atomic_Private::AddExchange

(
    T*volatile* Element,
    DiffType Diff
)

Public function

T

 

UE4Atomic_Private::AddExchange

(
    volatile T* Element,
    DiffType Diff
)

Public function

T

 

UE4Atomic_Private::AndExchange

(
    volatile T* Element,
    T AndValue
)

Public function

T

 

UE4Atomic_Private::CompareExchange

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

Public function

T *

 

UE4Atomic_Private::DecrementExchange

(
    T*volatile* Element
)

Public function

T

 

UE4Atomic_Private::DecrementExchange

(
    volatile T* Element
)

Public function

T

 

UE4Atomic_Private::Exchange

(
    volatile T* Element,
    T Value
)

Public function

T *

 

UE4Atomic_Private::IncrementExchange

(
    T*volatile* Element
)

Public function

T

 

UE4Atomic_Private::IncrementExchange

(
    volatile T* Element
)

Public function

T

 

UE4Atomic_Private::Load

(
    const volatile T* Element
)

Public function

T

 

UE4Atomic_Private::LoadRelaxed

(
    const volatile T* Element
)

Public function

T

 

UE4Atomic_Private::OrExchange

(
    volatile T* Element,
    T OrValue
)

Public function

void

 

UE4Atomic_Private::Store

(
    const volatile T* Element,
    T Value
)

Public function

void

 

UE4Atomic_Private::StoreRelaxed

(
    const volatile T* Element,
    T Value
)

Public function

T *

 

UE4Atomic_Private::SubExchange

(
    T*volatile* Element,
    DiffType Diff
)

Public function

T

 

UE4Atomic_Private::SubExchange

(
    volatile T* Element,
    DiffType Diff
)

Public function

T

 

UE4Atomic_Private::XorExchange

(
    volatile T* Element,
    T XorValue
)

Public function

TEnableIf<&#...

 

UE4Function_Private::IsBound

(
    const T& Func
)

Public function

TEnableIf< T...

 

UE4Function_Private::IsBound

(
    const T& Func
)

Public function

FNotSpecifie...

 

UE4GetTypeHashExists_Private::GetTypeHash

(
    const T&
)

Public function

const T &

 

UE4GetTypeHashExists_Private::Make()

Public function

T &&

 

UE4HasInserterOperator_Private::Make()

Public function

const T &

 

UE4HasOperatorEquals_Private::Make()

Public function

FNotSpecifie...

 

UE4HasOperatorEquals_Private::operator!=

(
    const T&,
    const T&
)

Public function

FNotSpecifie...

 

UE4HasOperatorEquals_Private::operator==

(
    const T&,
    const T&
)

Public function

auto

 

UE4Invoke_Private::DereferenceIfNecessary

(
    CallableType&& Callable
)

Public function

T &&

 

UE4Private_IsInvocable::DeclVal()

Public function

TSharedRef< ...

 

UE4SharedPointer_Private::MakeSharedRef

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

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

TTuple< type...

 

UE4Tuple_Private::MakeTupleImpl

(
    Types&&... Args
)

Public function

FORCEINLINEv...

 

VisitTupleElements

(
    FuncType&& Func,
    FirstTupleType&& FirstTuple,
    TupleTypes&&... Tuples
)

Visits each element in the specified tuples in parallel and applies them as arguments to the functor.

Public function

bool

 

XOR

(
    bool A,
    bool B
)

A logical exclusive or function.

Variables

Name Description

Public variable

*decltype(a...

 

Func

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback