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

#include <List.h>

+ Inheritance diagram for TLinkedListBase< ContainerType, ElementType, IteratorType >:

Public Types

typedef IteratorType< ContainerType, ElementType > TIterator
 
typedef IteratorType< ContainerType, const ElementType > TConstIterator
 

Public Member Functions

 TLinkedListBase ()
 
void Unlink ()
 
void LinkBefore (ContainerType *Before)
 
void LinkAfter (ContainerType *After)
 
void LinkReplace (ContainerType *Replace)
 
void LinkHead (ContainerType *&Head)
 
UE_FORCEINLINE_HINT bool IsLinked ()
 
UE_FORCEINLINE_HINT ContainerType ** GetPrevLink () const
 
UE_FORCEINLINE_HINT ContainerType * GetNextLink () const
 
UE_FORCEINLINE_HINT ContainerType * Next ()
 

Friends

UE_FORCEINLINE_HINT friend TIterator begin (ContainerType &List)
 
UE_FORCEINLINE_HINT friend TConstIterator begin (const ContainerType &List)
 
UE_FORCEINLINE_HINT friend TIterator end (ContainerType &List)
 
UE_FORCEINLINE_HINT friend TConstIterator end (const ContainerType &List)
 

Detailed Description

template<class ContainerType, class ElementType, template< class, class > class IteratorType>
class TLinkedListBase< ContainerType, ElementType, IteratorType >

Base linked list class, used to implement methods shared by intrusive/non-intrusive linked lists

Member Typedef Documentation

◆ TConstIterator

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
typedef IteratorType<ContainerType, const ElementType> TLinkedListBase< ContainerType, ElementType, IteratorType >::TConstIterator

◆ TIterator

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
typedef IteratorType<ContainerType, ElementType> TLinkedListBase< ContainerType, ElementType, IteratorType >::TIterator

Used to iterate over the elements of a linked list.

Constructor & Destructor Documentation

◆ TLinkedListBase()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
TLinkedListBase< ContainerType, ElementType, IteratorType >::TLinkedListBase ( )
inline

Default constructor (empty list)

Member Function Documentation

◆ GetNextLink()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT ContainerType * TLinkedListBase< ContainerType, ElementType, IteratorType >::GetNextLink ( ) const
inline

◆ GetPrevLink()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT ContainerType ** TLinkedListBase< ContainerType, ElementType, IteratorType >::GetPrevLink ( ) const
inline

◆ IsLinked()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT bool TLinkedListBase< ContainerType, ElementType, IteratorType >::IsLinked ( )
inline

Returns whether element is currently linked.

Returns
true if currently linked, false otherwise

◆ LinkAfter()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
void TLinkedListBase< ContainerType, ElementType, IteratorType >::LinkAfter ( ContainerType *  After)
inline

Adds this element to the linked list, after the specified element

Parameters
AfterThe link to insert this element after.

◆ LinkBefore()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
void TLinkedListBase< ContainerType, ElementType, IteratorType >::LinkBefore ( ContainerType *  Before)
inline

Adds this element to a list, before the given element.

Parameters
BeforeThe link to insert this element before.

◆ LinkHead()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
void TLinkedListBase< ContainerType, ElementType, IteratorType >::LinkHead ( ContainerType *&  Head)
inline

Adds this element as the head of the linked list, linking the input Head pointer to this element, so that when the element is linked/unlinked, the Head linked list pointer will be correctly updated.

If Head already has an element, this functions like LinkBefore.

Parameters
HeadPointer to the head of the linked list - this pointer should be the main reference point for the linked list

◆ LinkReplace()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
void TLinkedListBase< ContainerType, ElementType, IteratorType >::LinkReplace ( ContainerType *  Replace)
inline

Adds this element to the linked list, replacing the specified element. This is equivalent to calling LinkBefore(Replace); Replace->Unlink();

Parameters
ReplacePointer to the element to be replaced

◆ Next()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT ContainerType * TLinkedListBase< ContainerType, ElementType, IteratorType >::Next ( )
inline

◆ Unlink()

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
void TLinkedListBase< ContainerType, ElementType, IteratorType >::Unlink ( )
inline

Removes this element from the list in constant time.

This function is safe to call even if the element is not linked.

Friends And Related Symbol Documentation

◆ begin [1/2]

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT friend TConstIterator begin ( const ContainerType &  List)
friend

◆ begin [2/2]

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT friend TIterator begin ( ContainerType &  List)
friend

◆ end [1/2]

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT friend TConstIterator end ( const ContainerType &  List)
friend

◆ end [2/2]

template<class ContainerType , class ElementType , template< class, class > class IteratorType>
UE_FORCEINLINE_HINT friend TIterator end ( ContainerType &  List)
friend

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