MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Views.h File Reference
#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 CConvertibleToDecayed<TRangeElementType<Right>, TRangeElementType<Left>>
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 CConvertibleToDecayed<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 ()
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file Views.h.