mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 10:52:22 +01:00
124 files changed.
This commit is contained in:
39
Project Reboot 3.0/Decay.h
Normal file
39
Project Reboot 3.0/Decay.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include "inc.h"
|
||||
|
||||
#include "RemoveReference.h"
|
||||
#include "RemoveCV.h"
|
||||
|
||||
namespace UE4Decay_Private
|
||||
{
|
||||
template <typename T>
|
||||
struct TDecayNonReference
|
||||
{
|
||||
typedef typename TRemoveCV<T>::Type Type;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct TDecayNonReference<T[]>
|
||||
{
|
||||
typedef T* Type;
|
||||
};
|
||||
|
||||
template <typename T, uint32 N>
|
||||
struct TDecayNonReference<T[N]>
|
||||
{
|
||||
typedef T* Type;
|
||||
};
|
||||
|
||||
template <typename RetType, typename... Params>
|
||||
struct TDecayNonReference<RetType(Params...)>
|
||||
{
|
||||
typedef RetType(*Type)(Params...);
|
||||
};
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct TDecay
|
||||
{
|
||||
typedef typename UE4Decay_Private::TDecayNonReference<typename TRemoveReference<T>::Type>::Type Type;
|
||||
};
|
||||
Reference in New Issue
Block a user