![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Templating utilities for manipulating TTuple
s.
More...
Namespaces | |
namespace | Detail |
Data Structures | |
struct | TSkip_Struct |
struct | TTake_Struct |
struct | TTrimEnd_Struct |
struct | TTypeAt_Struct |
struct | TTypeAt_Struct< I, T > |
Concepts | |
concept | CStdTupleLike |
concept | CRangeV3TupleLike |
concept | CStdPairLike |
concept | CRangeV3PairLike |
concept | CTupleConvertsToArgs |
concept | CUnrealTuple |
concept | CStdOrRangeV3Tuple |
concept | CTuple |
Typedefs | |
template<CTuple T> | |
using | TIndexSequenceForTuple = std::make_index_sequence<GetSize<T>()> |
template<size_t I, CTuple T> | |
using | TTypeAt = typename TTypeAt_Struct<I, T>::Type |
template<size_t I, CTuple T> | |
using | TTypeAtDecayed = std::decay_t<typename TTypeAt_Struct<I, T>::Type> |
template<typename Tuple , size_t... Indices> | |
using | 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 | TSkip = typename TSkip_Struct<Count, Tuple>::Type |
Skip the first Count elements of the input tuple. | |
template<size_t Count, typename Tuple > | |
using | TTrimEnd = typename TTrimEnd_Struct<Count, Tuple>::Type |
Disregard the last Count elements of the input tuple. | |
template<size_t Count, typename Tuple > | |
using | 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) | GetItem (T &&tuple) |
template<CStdOrRangeV3Tuple T> | |
consteval size_t | GetSize () |
template<typename T , typename... Rest> | |
TTuple< T, Rest... > | operator>> (T &&left, TTuple< Rest... > const &right) |
Prepend a value to a tuple. | |
template<typename T , typename... Rest> | |
TTuple< Rest..., T > | operator<< (TTuple< Rest... > const &left, T &&right) |
Append a value to a tuple. | |
Variables | |
template<typename > | |
constexpr bool | TIsStdArray = false |
template<typename > | |
constexpr bool | TIsStdSubRange = false |
template<typename > | |
constexpr bool | TIsRangeV3SubRange = false |
template<typename > | |
constexpr bool | TIsStdTuple = false |
template<typename > | |
constexpr bool | TIsStdPair = false |
template<typename > | |
constexpr bool | TIsRangeV3Tuple = false |
template<typename > | |
constexpr bool | TIsRangeV3Pair = false |
Templating utilities for manipulating TTuple
s.
using Mcro::Tuples::TComposeFrom = TTuple<typename TTupleElement<Indices, Tuple>::Type...> |
using Mcro::Tuples::TIndexSequenceForTuple = std::make_index_sequence<GetSize<T>()> |
using Mcro::Tuples::TSkip = typename TSkip_Struct<Count, Tuple>::Type |
using Mcro::Tuples::TTake = typename TTake_Struct<Count, Tuple>::Type |
using Mcro::Tuples::TTrimEnd = typename TTrimEnd_Struct<Count, Tuple>::Type |
using Mcro::Tuples::TTypeAt = typename TTypeAt_Struct<I, T>::Type |
using Mcro::Tuples::TTypeAtDecayed = std::decay_t<typename TTypeAt_Struct<I, T>::Type> |
decltype(auto) Mcro::Tuples::GetItem | ( | T && | tuple | ) |
|
consteval |
TTuple< Rest..., T > Mcro::Tuples::operator<< | ( | TTuple< Rest... > const & | left, |
T && | right ) |
TTuple< T, Rest... > Mcro::Tuples::operator>> | ( | T && | left, |
TTuple< Rest... > const & | right ) |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |