MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Concepts.h File Reference
#include "CoreMinimal.h"
#include "Mcro/Concepts.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
 

Concepts

concept  Mcro::Range::CHasEquals
 
concept  Mcro::Range::CHasNotEquals
 
concept  Mcro::Range::CBasicForwardIteratorBase
 The most basic minimal iterator which can only proceed forward one element at a time.
 
concept  Mcro::Range::CBasicForwardIterator
 
concept  Mcro::Range::CHasMemberAccessOperator
 
concept  Mcro::Range::CBasicBidirectionalIterator
 Basic minimal iterator which can only proceed forward or backward one element at a time.
 
concept  Mcro::Range::CJumpForwardIterator
 An iterator type which can natively proceed forward in arbitrarily large steps.
 
concept  Mcro::Range::CJumpForwardPlusIterator
 An iterator type which can natively proceed forward in arbitrarily large steps and exposes a + operator.
 
concept  Mcro::Range::CRandomAccessIterator
 An iterator type which can natively seek its associated content in arbitrarily large steps.
 
concept  Mcro::Range::CRandomAccessPlusMinusIterator
 An iterator type which can natively seek its associated content in arbitrarily large steps and exposes +- operators.
 
concept  Mcro::Range::CIsIteratorStep
 Constraint given iterator to its best stepping capability.
 
concept  Mcro::Range::CIsIteratorDirection
 Constraint given iterator to its best directional capability.
 
concept  Mcro::Range::CIteratorFeature
 Constraint given iterator to its best capabilies both in stepping and in direction.
 
concept  Mcro::Range::CUnrealRange
 
concept  Mcro::Range::CStdDistanceCompatible
 
concept  Mcro::Range::CHasGetIndex
 
concept  Mcro::Range::CHasElementIndex
 
concept  Mcro::Range::CIteratorComparable
 
concept  Mcro::Range::CCountableRange
 

Typedefs

template<typename T >
using Mcro::Range::TIteratorCategory
 Assume an STL iterator category from input iterator.
 
template<CBasicForwardIterator T>
using Mcro::Range::TIteratorElementType = std::decay_t<decltype(*DeclVal<T>())>
 return the iterator's associated content type when they're dereferenced.
 
template<CRangeMember T>
using Mcro::Range::TRangeElementType = TIteratorElementType<decltype(DeclVal<T>().begin())>
 return a range's associated content type determined by dereferencing their iterator.
 

Enumerations

enum class  Mcro::Range::EIteratorDirection { Mcro::Range::NotIterator , Mcro::Range::Forward , Mcro::Range::Bidirectional }
 
enum class  Mcro::Range::EIteratorStep { Mcro::Range::NotIterator , Mcro::Range::Single , Mcro::Range::Jump , Mcro::Range::JumpBinaryOperators }
 

Functions

template<typename L , typename R >
bool Mcro::Range::IteratorEquals (L const &l, R const &r)
 

Variables

template<typename T >
constexpr EIteratorDirection Mcro::Range::TIteratorDirection
 Get the direction given iterator is capable of.
 
template<typename T >
constexpr EIteratorStep Mcro::Range::TIteratorStep
 Get the maximum steps the given iterator can be seeking with.
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file Concepts.h.