UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TIntrusiveLinkedList< ElementType > Class Template Reference

#include <List.h>

+ Inheritance diagram for TIntrusiveLinkedList< ElementType >:

Public Member Functions

 TIntrusiveLinkedList ()
 
- Public Member Functions inherited from TLinkedListBase< ElementType, ElementType, TIntrusiveLinkedListIterator >
 TLinkedListBase ()
 
void Unlink ()
 
void LinkBefore (ElementType *Before)
 
void LinkAfter (ElementType *After)
 
void LinkReplace (ElementType *Replace)
 
void LinkHead (ElementType *&Head)
 
UE_FORCEINLINE_HINT bool IsLinked ()
 
UE_FORCEINLINE_HINT ElementType ** GetPrevLink () const
 
UE_FORCEINLINE_HINT ElementType * GetNextLink () const
 
UE_FORCEINLINE_HINT ElementType * Next ()
 

Additional Inherited Members

- Public Types inherited from TLinkedListBase< ElementType, ElementType, TIntrusiveLinkedListIterator >
typedef TIntrusiveLinkedListIterator< ElementType, ElementType > TIterator
 
typedef TIntrusiveLinkedListIterator< ElementType, const ElementType > TConstIterator
 

Detailed Description

template<class ElementType>
class TIntrusiveLinkedList< ElementType >

Encapsulates a link in a single linked list with constant access time. Structs/classes must inherit this, to use it, e.g: struct FMyStruct : public TIntrusiveLinkedList<FMyStruct>

This linked list is intrusive, i.e. the element is a subclass of this link, so that each link IS the element.

Never reference TIntrusiveLinkedList outside of the above class/struct inheritance, only ever refer to the struct, e.g: FMyStruct* MyLinkedList = NULL;

FMyStruct* StructLink = new FMyStruct(); StructLink->LinkHead(MyLinkedList);

for (FMyStruct::TIterator It(MyLinkedList); It; It.Next()) { ... }

Constructor & Destructor Documentation

◆ TIntrusiveLinkedList()

template<class ElementType >
TIntrusiveLinkedList< ElementType >::TIntrusiveLinkedList ( )
inline

Default constructor (empty list).


The documentation for this class was generated from the following file: