![]() |
MCRO
C++23 utilities for Unreal Engine.
|
This namespace provide some introspection into template instantiations. More...
Data Structures | |
struct | TTemplate |
Base struct containing traits of specified template (which only accepts type parameters) More... | |
Concepts | |
concept | CIsTemplate |
Check if given type is an instantiation of a given template (which only accepts type parameters) | |
Typedefs | |
template<template< typename... > typename Template, typename Instance > | |
using | TTemplate_Params = typename TTemplate<Template>::template Parameters<Instance>::Type |
Get template type parameters as a tuple. | |
template<template< typename... > typename Template, typename Instance > | |
using | TTemplate_ParamsDecay = typename TTemplate<Template>::template ParametersDecay<Instance>::Type |
Get decayed template type parameters as a tuple. | |
template<template< typename... > typename Template, typename Instance , int I> | |
using | TTemplate_Param = typename TTemplate<Template>::template Param<Instance, I> |
Get a type parameter at a specified position of a templated instance. | |
template<template< typename... > typename Template, typename Instance , int I> | |
using | TTemplate_ParamDecay = typename TTemplate<Template>::template ParamDecay<Instance, I> |
Get a decayed type parameter at a specified position of a templated instance. | |
Functions | |
template<CConstType T> | |
auto | AsConst (T &&input) |
Tired of typing const_cast<FMyLongUnwieldyTypeName>(...) ? use this instead. | |
template<CMutableType T> | |
auto | AsMutable (T &&input) |
Tired of typing const_cast<FMyLongUnwieldyTypeName>(...) ? use this instead. | |
template<typename T > | |
auto | AsConstPtr (const T *input) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...) ? use this instead. | |
template<typename T > | |
auto | AsConstPtr (T *input) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...) ? use this instead. | |
template<typename T > | |
auto | AsMutablePtr (T *input) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...) ? use this instead. | |
template<typename T > | |
auto | AsMutablePtr (const T *input) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...) ? use this instead. | |
Variables | |
template<template< typename... > typename Template, typename Instance > | |
constexpr size_t | TTemplate_ParamCount = TTemplate<Template>::template ParameterCount<Instance> |
Get the number of template type parameters from a specified templated instance (which only has type parameters) | |
This namespace provide some introspection into template instantiations.
using Mcro::Templates::TTemplate_Param = typename TTemplate<Template>::template Param<Instance, I> |
Get a type parameter at a specified position of a templated instance.
Definition at line 115 of file Templates.h.
using Mcro::Templates::TTemplate_ParamDecay = typename TTemplate<Template>::template ParamDecay<Instance, I> |
Get a decayed type parameter at a specified position of a templated instance.
Definition at line 126 of file Templates.h.
using Mcro::Templates::TTemplate_Params = typename TTemplate<Template>::template Parameters<Instance>::Type |
Get template type parameters as a tuple.
Definition at line 93 of file Templates.h.
using Mcro::Templates::TTemplate_ParamsDecay = typename TTemplate<Template>::template ParametersDecay<Instance>::Type |
Get decayed template type parameters as a tuple.
Definition at line 104 of file Templates.h.
auto Mcro::Templates::AsConst | ( | T && | input | ) |
Tired of typing const_cast<FMyLongUnwieldyTypeName>(...)
? use this instead.
Definition at line 153 of file Templates.h.
auto Mcro::Templates::AsConstPtr | ( | const T * | input | ) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)
? use this instead.
Definition at line 169 of file Templates.h.
auto Mcro::Templates::AsConstPtr | ( | T * | input | ) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)
? use this instead.
Definition at line 173 of file Templates.h.
auto Mcro::Templates::AsMutable | ( | T && | input | ) |
Tired of typing const_cast<FMyLongUnwieldyTypeName>(...)
? use this instead.
Definition at line 161 of file Templates.h.
auto Mcro::Templates::AsMutablePtr | ( | const T * | input | ) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)
? use this instead.
Definition at line 181 of file Templates.h.
auto Mcro::Templates::AsMutablePtr | ( | T * | input | ) |
Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)
? use this instead.
Definition at line 177 of file Templates.h.
|
inlineconstexpr |
Get the number of template type parameters from a specified templated instance (which only has type parameters)
Definition at line 149 of file Templates.h.