UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT > Class Template Reference

#include <IteratorUtil.h>

Public Member Functions

 ExpandIterator ()
 
bool operator== (const ExpandIterator &Other) const
 
bool operator!= (const ExpandIterator &Other) const
 
OutputType operator* () const
 
const ExpandIteratoroperator++ ()
 
void goto_next ()
 
 ExpandIterator (const InputIteratorT &CurItr, const InputIteratorT &EndItr, const ExpandFunctionT &ExpandFuncIn)
 

Public Attributes

InputIteratorT Cur
 
InputIteratorT End
 
OutputType CurValue
 
int CurExpandI
 
ExpandFunctionT ExpandFunc
 

Detailed Description

template<typename OutputType, typename InputType, typename InputIteratorT>
class UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >

Wrapper around existing iterator that returns multiple values, of potentially different type, for each value that input iterator returns.

This is done via an "expansion" function that takes an int reference which indicates "where" we are in the expansion (eg like a state machine). How you use this value is up to you.

When the input is -1, you should interpret this as the "beginning" of handling the input value (ie we have not returned any values yet for this input value)

When you are "done" with an input value, set the outgoing int reference to -1 and the base iterator will be incremented.

If you have more values to return for this input value, set it to some positive number of your choosing.

See FDynamicMesh3::VtxTrianglesItr for an example

Constructor & Destructor Documentation

◆ ExpandIterator() [1/2]

template<typename OutputType , typename InputType , typename InputIteratorT >
UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::ExpandIterator ( )
inline

◆ ExpandIterator() [2/2]

template<typename OutputType , typename InputType , typename InputIteratorT >
UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::ExpandIterator ( const InputIteratorT CurItr,
const InputIteratorT EndItr,
const ExpandFunctionT ExpandFuncIn 
)
inline

Member Function Documentation

◆ goto_next()

template<typename OutputType , typename InputType , typename InputIteratorT >
void UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::goto_next ( )
inline

◆ operator!=()

template<typename OutputType , typename InputType , typename InputIteratorT >
bool UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::operator!= ( const ExpandIterator< OutputType, InputType, InputIteratorT > &  Other) const
inline

◆ operator*()

template<typename OutputType , typename InputType , typename InputIteratorT >
OutputType UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::operator* ( ) const
inline

◆ operator++()

template<typename OutputType , typename InputType , typename InputIteratorT >
const ExpandIterator & UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::operator++ ( )
inline

◆ operator==()

template<typename OutputType , typename InputType , typename InputIteratorT >
bool UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::operator== ( const ExpandIterator< OutputType, InputType, InputIteratorT > &  Other) const
inline

Member Data Documentation

◆ Cur

template<typename OutputType , typename InputType , typename InputIteratorT >
InputIteratorT UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::Cur

◆ CurExpandI

template<typename OutputType , typename InputType , typename InputIteratorT >
int UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::CurExpandI

◆ CurValue

template<typename OutputType , typename InputType , typename InputIteratorT >
OutputType UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::CurValue

◆ End

template<typename OutputType , typename InputType , typename InputIteratorT >
InputIteratorT UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::End

◆ ExpandFunc

template<typename OutputType , typename InputType , typename InputIteratorT >
ExpandFunctionT UE::Geometry::ExpandIterator< OutputType, InputType, InputIteratorT >::ExpandFunc

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