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

#include <IteratorAdapter.h>

+ Inheritance diagram for TIteratorAdapter< Base >:

Public Types

using BaseType = Base
 
using ThisType = TIteratorAdapter< Base >
 
using ElementType = typename BaseType::ElementType
 
using SizeType = typename BaseType::SizeType
 

Public Member Functions

 TIteratorAdapter ()=default
 
template<typename... Args>
 TIteratorAdapter (EInPlace, Args &&... InArgs)
 
ElementTypeoperator* () const
 
ElementTypeoperator-> () const
 
ThisTypeoperator++ ()
 
ThisType operator++ (int)
 
ThisTypeoperator-- ()
 
ThisType operator-- (int)
 
ThisTypeoperator+= (SizeType Offset)
 
ThisTypeoperator-= (SizeType Offset)
 
ThisType operator+ (SizeType Offset) const
 
ThisType operator- (SizeType Offset) const
 
bool operator== (const TIteratorAdapter &Right) const
 
bool operator!= (const TIteratorAdapter &Right) const
 

Friends

template<typename AnyElementType >
class TIteratorAdapter
 

Detailed Description

template<typename Base>
class TIteratorAdapter< Base >

Adapter class for iterator implementation.

This class provides an interface to implement UE compatible iterators with a minimum set of implementation requirements. This provides the user with an easier way to implement custom iterators. The adapter uses a CRTP pattern requiring its base class to implement the following:

Types:

  • ElementType: the element type used in the container.
  • SizeType: the type use for the container's element indexing and iterator's offset. Methods:
  • bool Equals(const IteratorType& other)
  • ElementType& Dereference() const;
  • void Increment(); Optional:
  • void Decrement();

Member Typedef Documentation

◆ BaseType

template<typename Base >
using TIteratorAdapter< Base >::BaseType = Base

◆ ElementType

template<typename Base >
using TIteratorAdapter< Base >::ElementType = typename BaseType::ElementType

◆ SizeType

template<typename Base >
using TIteratorAdapter< Base >::SizeType = typename BaseType::SizeType

◆ ThisType

template<typename Base >
using TIteratorAdapter< Base >::ThisType = TIteratorAdapter<Base>

Constructor & Destructor Documentation

◆ TIteratorAdapter() [1/2]

template<typename Base >
TIteratorAdapter< Base >::TIteratorAdapter ( )
default

◆ TIteratorAdapter() [2/2]

template<typename Base >
template<typename... Args>
TIteratorAdapter< Base >::TIteratorAdapter ( EInPlace  ,
Args &&...  InArgs 
)
inline

Perfect forwarding constructor to the iterator class.

Member Function Documentation

◆ operator!=()

template<typename Base >
bool TIteratorAdapter< Base >::operator!= ( const TIteratorAdapter< Base > &  Right) const
inline

◆ operator*()

template<typename Base >
ElementType & TIteratorAdapter< Base >::operator* ( ) const
inline

◆ operator+()

template<typename Base >
ThisType TIteratorAdapter< Base >::operator+ ( SizeType  Offset) const
inline

◆ operator++() [1/2]

template<typename Base >
ThisType & TIteratorAdapter< Base >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Base >
ThisType TIteratorAdapter< Base >::operator++ ( int  )
inline

◆ operator+=()

template<typename Base >
ThisType & TIteratorAdapter< Base >::operator+= ( SizeType  Offset)
inline

◆ operator-()

template<typename Base >
ThisType TIteratorAdapter< Base >::operator- ( SizeType  Offset) const
inline

◆ operator--() [1/2]

template<typename Base >
ThisType & TIteratorAdapter< Base >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename Base >
ThisType TIteratorAdapter< Base >::operator-- ( int  )
inline

◆ operator-=()

template<typename Base >
ThisType & TIteratorAdapter< Base >::operator-= ( SizeType  Offset)
inline

◆ operator->()

template<typename Base >
ElementType * TIteratorAdapter< Base >::operator-> ( ) const
inline

◆ operator==()

template<typename Base >
bool TIteratorAdapter< Base >::operator== ( const TIteratorAdapter< Base > &  Right) const
inline

Friends And Related Symbol Documentation

◆ TIteratorAdapter

template<typename Base >
friend class TIteratorAdapter
friend

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