![]() |
MCRO
C++23 utilities for Unreal Engine.
|
#include "CoreMinimal.h"
#include "Mcro/Concepts.h"
#include "Mcro/TypeName.h"
#include "Mcro/TextMacros.h"
#include "Mcro/SharedObjects.h"
#include "Mcro/Void.h"
#include "Mcro/Range/Concepts.h"
Go to the source code of this file.
Data Structures | |
struct | Mcro::Range::TIteratorJumpForward_Struct< T > |
struct | Mcro::Range::TIteratorJumpForward_Struct< T > |
struct | Mcro::Range::TIteratorJumpBackward_Struct< T > |
struct | Mcro::Range::TIteratorJumpBackward_Struct< T > |
struct | Mcro::Range::TIteratorDifference_Struct< T > |
struct | Mcro::Range::TIteratorDifference_Struct< T > |
struct | Mcro::Range::TIteratorCompare_Struct< T > |
struct | Mcro::Range::TIteratorCompare_Struct< T > |
struct | Mcro::Range::TIteratorComputeDistance_Struct< T > |
struct | Mcro::Range::TIteratorComputeDistance_Struct< T > |
struct | Mcro::Range::FExtendedIteratorPolicy |
Extra settings for TExtendedIterator wrapper. More... | |
struct | Mcro::Range::TExtendedIterator< Iterator, Policy > |
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... | |
struct | Mcro::Range::FTempStringIterator |
Allows range-v3 and std::ranges to iterate over temporary string objects and keep the string alive during view and action operators. More... | |
Namespaces | |
namespace | Mcro |
namespace | Mcro::Range |
Macros | |
#define | MCRO_RANGE_ALLOW_BASIC_ITERATOR_FEATURE_EMULATION 1 |
Iterators which can only step one item at a time, and/or doesn't expose difference computation can have the jump and difference features emulated at the cost of expensive O(N) time operations. Turning this feature off ensures stricter policy about this when working with Unreal containers and range-v3. | |
Typedefs | |
template<typename T > | |
using | Mcro::Range::TIteratorDifference = typename TIteratorDifference_Struct<T>::Type |
return a difference type for given iterator. | |
Variables | |
template<typename T > | |
constexpr TIteratorJumpForward_Struct< T > | Mcro::Range::TIteratorJumpForward |
template<typename T > | |
constexpr TIteratorJumpBackward_Struct< T > | Mcro::Range::TIteratorJumpBackward |
template<typename T > | |
constexpr TIteratorCompare_Struct< T > | Mcro::Range::TIteratorCompare |
template<typename T > | |
constexpr TIteratorComputeDistance_Struct< T > | Mcro::Range::TIteratorComputeDistance |
Definition in file Iterators.h.
#define MCRO_RANGE_ALLOW_BASIC_ITERATOR_FEATURE_EMULATION 1 |
Iterators which can only step one item at a time, and/or doesn't expose difference computation can have the jump and difference features emulated at the cost of expensive O(N) time operations. Turning this feature off ensures stricter policy about this when working with Unreal containers and range-v3.
When this flag is on, a runtime ensure is still triggered.
Definition at line 32 of file Iterators.h.