![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Unreal's own iterators are not STL compliant (they are only compatible with range-for loops) so they cannot be used with more advanced STL algorithms or other third-party libraries which may expect the full iterator interface compatibility. For that TExtendedIterator fills in the missing components and wraps Unreal iterators to be fully STL iterator compliant. More...
#include <Iterators.h>
Public Types | |
| using | value_type = TIteratorElementType<Iterator> |
| using | iterator_category = TIteratorCategory<Iterator> |
| using | difference_type = TIteratorDifference<Iterator> |
| using | pointer = value_type* |
| using | reference = value_type& |
Public Member Functions | |
| TExtendedIterator () | |
| template<CConvertibleToDecayed< Iterator > InputIterator> | |
| TExtendedIterator (InputIterator &&input) | |
| TExtendedIterator (TExtendedIterator const &other) | |
| TExtendedIterator (TExtendedIterator &&other) noexcept | |
| auto | operator= (TExtendedIterator other) -> TExtendedIterator & |
| auto | operator++ () -> TExtendedIterator & |
| auto | operator++ (int) -> TExtendedIterator |
| template<CBasicBidirectionalIterator = Iterator> | |
| auto | operator-- () -> TExtendedIterator & |
| template<CBasicBidirectionalIterator = Iterator> | |
| auto | operator-- (int) -> TExtendedIterator |
| template<CHasMemberAccessOperator = Iterator> | |
| auto | operator-> () |
| template<CHasMemberAccessOperator = Iterator> | |
| auto | operator-> () const |
| auto | operator* () -> value_type const & |
| auto | operator* () const -> value_type const & |
| auto | operator+= (int steps) -> TExtendedIterator & |
| auto | operator+ (int steps) const -> TExtendedIterator |
| template<CBasicBidirectionalIterator = Iterator> | |
| auto | operator-= (int steps) -> TExtendedIterator & |
| template<CBasicBidirectionalIterator = Iterator> | |
| auto | operator- (int steps) const -> TExtendedIterator |
Friends | |
| auto | operator- (TExtendedIterator const &l, TExtendedIterator const &r) -> difference_type |
| bool | operator== (TExtendedIterator const &l, TExtendedIterator const &r) |
| bool | operator!= (TExtendedIterator const &l, TExtendedIterator const &r) |
| template<CIteratorComparable = Iterator> | |
| auto | operator<=> (TExtendedIterator const &l, TExtendedIterator const &r) |
Unreal's own iterators are not STL compliant (they are only compatible with range-for loops) so they cannot be used with more advanced STL algorithms or other third-party libraries which may expect the full iterator interface compatibility. For that TExtendedIterator fills in the missing components and wraps Unreal iterators to be fully STL iterator compliant.
TExtendedIterator makes a copy of the Unreal iterator it wraps for internal storage, which should not have significant side effects, but emphasis is on SHOULD.
Definition at line 278 of file Iterators.h.
| using Mcro::Range::TExtendedIterator< Iterator, Policy >::difference_type = TIteratorDifference<Iterator> |
Definition at line 284 of file Iterators.h.
| using Mcro::Range::TExtendedIterator< Iterator, Policy >::iterator_category = TIteratorCategory<Iterator> |
Definition at line 283 of file Iterators.h.
| using Mcro::Range::TExtendedIterator< Iterator, Policy >::pointer = value_type* |
Definition at line 285 of file Iterators.h.
| using Mcro::Range::TExtendedIterator< Iterator, Policy >::reference = value_type& |
Definition at line 286 of file Iterators.h.
| using Mcro::Range::TExtendedIterator< Iterator, Policy >::value_type = TIteratorElementType<Iterator> |
Definition at line 282 of file Iterators.h.
|
inline |
Definition at line 288 of file Iterators.h.
|
inline |
Definition at line 291 of file Iterators.h.
|
inline |
Definition at line 293 of file Iterators.h.
|
inlinenoexcept |
Definition at line 296 of file Iterators.h.
|
inline |
Definition at line 340 of file Iterators.h.
|
inline |
Definition at line 347 of file Iterators.h.
|
inline |
Definition at line 359 of file Iterators.h.
|
inline |
Definition at line 306 of file Iterators.h.
|
inline |
Definition at line 312 of file Iterators.h.
|
inline |
Definition at line 354 of file Iterators.h.
|
inline |
Definition at line 373 of file Iterators.h.
|
inline |
Definition at line 320 of file Iterators.h.
|
inline |
Definition at line 327 of file Iterators.h.
|
inline |
Definition at line 367 of file Iterators.h.
|
inline |
Definition at line 335 of file Iterators.h.
|
inline |
Definition at line 338 of file Iterators.h.
|
inline |
Definition at line 299 of file Iterators.h.
|
friend |
Definition at line 390 of file Iterators.h.
|
friend |
Definition at line 380 of file Iterators.h.
|
friend |
Definition at line 396 of file Iterators.h.
|
friend |
Definition at line 385 of file Iterators.h.