![]() |
MCRO
C++23 utilities for Unreal Engine.
|
#include "CoreMinimal.h"#include "Mcro/Range/Iterators.h"#include "Mcro/LibraryIncludes/Start.h"#include "range/v3/all.hpp"#include "Mcro/LibraryIncludes/End.h"Go to the source code of this file.
Namespaces | |
| namespace | Mcro |
| namespace | Mcro::Range |
Functions | |
| template<typename T > | |
| decltype(auto) | Mcro::Range::Literal (std::initializer_list< T > &&input) |
| Make an initializer list compatible with range API's. | |
| template<CRangeMember... Ranges> | |
| auto | Mcro::Range::Zip (Ranges &&...right) |
pipeable version of ranges::views::zip | |
| template<CRangeMember... Ranges> | |
| auto | Mcro::Range::Concat (Ranges &&...right) |
pipeable version of ranges::views::concat | |
| template<CRangeMember Input> | |
| bool | Mcro::Range::IsEmpty (Input &&range) |
| Check if range is empty. | |
| FORCEINLINE auto | Mcro::Range::IsEmpty () |
| Check if range is empty. | |
| template<CRangeMember Input, typename Value = TRangeElementType<Input>> | |
| decltype(auto) | Mcro::Range::First (Input &&range, Value &&def) |
Get's the first element of a range or return a provided default value. Same as *r.begin() but safer. | |
| FORCEINLINE auto | Mcro::Range::First (auto &&def) |
Get's the first element of a range or return a provided default value. Same as *r.begin() but safer. | |
| template<CRangeMember Input, typename Value = TRangeElementType<Input>> | |
| decltype(auto) | Mcro::Range::FirstOrDefault (Input &&range) |
Get's the first element of a range or return the default value for the element type. Same as *r.begin() but safer. | |
| FORCEINLINE auto | Mcro::Range::FirstOrDefault () |
Get's the first element of a range or return the default value for the element type. Same as *r.begin() but safer. | |
| template<CRangeMember Left, CRangeMember Right> requires CCoreHalfEqualityComparable<TRangeElementType<Left>, TRangeElementType<Right>> | |
| bool | Mcro::Range::MatchOrdered (Left &&left, Right &&right, bool matchOnlyBeginning=false) |
| Return true if input ranges match their values and their order. | |
| template<CRangeMember Left, typename Value > requires CCoreHalfEqualityComparable<Value, TRangeElementType<Left>> | |
| bool | Mcro::Range::MatchOrdered (Left &&left, std::initializer_list< Value > &&right, bool matchOnlyBeginning=false) |
| template<CRangeMember Right> | |
| auto | Mcro::Range::MatchOrdered (Right &&right, bool matchOnlyBeginning=false) |
| Return true if input ranges match their values and their order. | |
| template<typename Value > | |
| auto | Mcro::Range::MatchOrdered (std::initializer_list< Value > &&right, bool matchOnlyBeginning=false) |
| template<CFunctionLike Predicate> | |
| auto | Mcro::Range::AllOf (Predicate &&pred) |
| template<CFunctionLike Predicate> | |
| auto | Mcro::Range::AnyOf (Predicate &&pred) |
| FORCEINLINE auto | Mcro::Range::FilterValid () |
| template<CFunctionLike Transform, CRangeOfTuplesCompatibleWithFunction< Transform > Left> | |
| auto | Mcro::Range::TransformTuple (Left &&left, Transform &&tr) |
| Transform a range of tuples with structured binding function arguments, so range transformations shouldn't bother with the actual type of the tuple. | |
| template<CFunctionLike Transform> | |
| auto | Mcro::Range::TransformTuple (Transform &&tr) |
| Transform a range of tuples with structured binding function arguments, so range transformations shouldn't bother with the actual type of the tuple. | |
| template<CFunctionLike Predicate, CRangeOfTuplesCompatibleWithFunction< Predicate > Left> | |
| auto | Mcro::Range::FilterTuple (Left &&left, Predicate &&predicate) |
| Filter a range of tuples with structured binding function arguments, so filter predicates shouldn't bother with the actual type of the tuple. | |
| template<CFunctionLike Predicate> | |
| auto | Mcro::Range::FilterTuple (Predicate &&predicate) |
| Filter a range of tuples with structured binding function arguments, so filter predicates shouldn't bother with the actual type of the tuple. | |
| template<size_t ItemIndex, CRangeOfTuples Range> | |
| auto | Mcro::Range::SelectTupleItem (Range &&left) |
| template<size_t ItemIndex> | |
| auto | Mcro::Range::SelectTupleItem () |
| FORCEINLINE auto | Mcro::Range::GetKeys () |
| FORCEINLINE auto | Mcro::Range::GetValues () |
Definition in file Views.h.