![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Templating utilities for manipulating TTuples.
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 TTuples.
| 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 |