MCRO
C++23 utilities for Unreal Engine.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Templates.h File Reference
#include "CoreMinimal.h"
#include "Concepts.h"

Go to the source code of this file.

Data Structures

struct  Mcro::Templates::TTemplate< Template >
 Base struct containing traits of specified template (which only accepts type parameters) More...
 
struct  Mcro::Templates::TTemplate< Template >::Parameters< T >
 
struct  Mcro::Templates::TTemplate< Template >::Parameters< Template< Params... > >
 
struct  Mcro::Templates::TTemplate< Template >::ParametersDecay< T >
 
struct  Mcro::Templates::TTemplate< Template >::ParametersDecay< Template< Params... > >
 

Namespaces

namespace  Mcro
 
namespace  Mcro::Templates
 This namespace provide some introspection into template instantiations.
 

Concepts

concept  Mcro::Templates::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 Mcro::Templates::TTemplate_Params = typename TTemplate<Template>::template Parameters<Instance>::Type
 Get template type parameters as a tuple.
 
template<template< typename... > typename Template, typename Instance >
using Mcro::Templates::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 Mcro::Templates::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 Mcro::Templates::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 Mcro::Templates::AsConst (T &&input)
 Tired of typing const_cast<FMyLongUnwieldyTypeName>(...)? use this instead.
 
template<CMutableType T>
auto Mcro::Templates::AsMutable (T &&input)
 Tired of typing const_cast<FMyLongUnwieldyTypeName>(...)? use this instead.
 
template<typename T >
auto Mcro::Templates::AsConstPtr (const T *input)
 Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)? use this instead.
 
template<typename T >
auto Mcro::Templates::AsConstPtr (T *input)
 Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)? use this instead.
 
template<typename T >
auto Mcro::Templates::AsMutablePtr (T *input)
 Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)? use this instead.
 
template<typename T >
auto Mcro::Templates::AsMutablePtr (const T *input)
 Tired of typing const_cast<FMyLongUnwieldyTypeName*>(...)? use this instead.
 

Variables

template<template< typename... > typename Template, typename Instance >
constexpr size_t Mcro::Templates::TTemplate_ParamCount = TTemplate<Template>::template ParameterCount<Instance>
 Get the number of template type parameters from a specified templated instance (which only has type parameters)
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file Templates.h.