MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Tuples.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.

Data Structures

struct  Mcro::Tuples::TTypeAt_Struct< size_t, typename >
 
struct  Mcro::Tuples::TTypeAt_Struct< I, T >
 
struct  Mcro::Tuples::TSkip_Struct< Count, Tuple >
 
struct  Mcro::Tuples::TTrimEnd_Struct< Count, Tuple >
 
struct  Mcro::Tuples::TTake_Struct< Count, Tuple >
 

Namespaces

namespace  Mcro
 
namespace  Mcro::Tuples
 Templating utilities for manipulating TTuples.
 
namespace  Mcro::Tuples::Detail
 

Concepts

concept  Mcro::Tuples::CStdTupleLike
 
concept  Mcro::Tuples::CRangeV3TupleLike
 
concept  Mcro::Tuples::CStdPairLike
 
concept  Mcro::Tuples::CRangeV3PairLike
 
concept  Mcro::Tuples::CTupleConvertsToArgs
 
concept  Mcro::Tuples::CUnrealTuple
 
concept  Mcro::Tuples::CStdOrRangeV3Tuple
 
concept  Mcro::Tuples::CTuple
 

Typedefs

template<CTuple T>
using Mcro::Tuples::TIndexSequenceForTuple = std::make_index_sequence<GetSize<T>()>
 
template<size_t I, CTuple T>
using Mcro::Tuples::TTypeAt = typename TTypeAt_Struct<I, T>::Type
 
template<size_t I, CTuple T>
using Mcro::Tuples::TTypeAtDecayed = std::decay_t<typename TTypeAt_Struct<I, T>::Type>
 
template<typename Tuple , size_t... Indices>
using Mcro::Tuples::TComposeFrom = TTuple<typename TTupleElement<Indices, Tuple>::Type...>
 Compose one tuple out of the elements of another tuple based on the input index parameter pack.
 
template<size_t Count, typename Tuple >
using Mcro::Tuples::TSkip = typename TSkip_Struct<Count, Tuple>::Type
 Skip the first Count elements of the input tuple.
 
template<size_t Count, typename Tuple >
using Mcro::Tuples::TTrimEnd = typename TTrimEnd_Struct<Count, Tuple>::Type
 Disregard the last Count elements of the input tuple.
 
template<size_t Count, typename Tuple >
using Mcro::Tuples::TTake = typename TTake_Struct<Count, Tuple>::Type
 Take only the first Count elements of the input tuple.
 

Functions

template<size_t I, CStdTupleLike T>
decltype(auto) Mcro::Tuples::GetItem (T &&tuple)
 
template<CStdOrRangeV3Tuple T>
consteval size_t Mcro::Tuples::GetSize ()
 
template<typename T , typename RestTuple , size_t... Indices>
auto Mcro::Tuples::Detail::Prepend_Impl (T &&left, RestTuple const &right, std::index_sequence< Indices... > &&)
 
template<typename T , typename RestTuple , size_t... Indices>
auto Mcro::Tuples::Detail::Append_Impl (T &&right, RestTuple const &left, std::index_sequence< Indices... > &&)
 
template<typename T , typename... Rest>
TTuple< T, Rest... > Mcro::Tuples::operator>> (T &&left, TTuple< Rest... > const &right)
 Prepend a value to a tuple.
 
template<typename T , typename... Rest>
TTuple< Rest..., T > Mcro::Tuples::operator<< (TTuple< Rest... > const &left, T &&right)
 Append a value to a tuple.
 

Variables

template<typename >
constexpr bool Mcro::Tuples::TIsStdArray = false
 
template<typename >
constexpr bool Mcro::Tuples::TIsStdSubRange = false
 
template<typename >
constexpr bool Mcro::Tuples::TIsRangeV3SubRange = false
 
template<typename >
constexpr bool Mcro::Tuples::TIsStdTuple = false
 
template<typename >
constexpr bool Mcro::Tuples::TIsStdPair = false
 
template<typename >
constexpr bool Mcro::Tuples::TIsRangeV3Tuple = false
 
template<typename >
constexpr bool Mcro::Tuples::TIsRangeV3Pair = false
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file Tuples.h.