style(miscellaneous): move Placeholders.h from Templates to Miscellaneous

This commit is contained in:
2022-03-16 09:58:23 +08:00
parent c46e5059aa
commit 2448653fa0
5 changed files with 1 additions and 3 deletions

View File

@ -0,0 +1,36 @@
#pragma once
#include "CoreTypes.h"
#include "TypeTraits/HelperClasses.h"
NAMESPACE_REDCRAFT_BEGIN
NAMESPACE_MODULE_BEGIN(Redcraft)
NAMESPACE_MODULE_BEGIN(Utility)
struct FForceInit { explicit FForceInit() = default; };
inline constexpr FForceInit ForceInit{};
struct FNoInit { explicit FNoInit() = default; };
inline constexpr FNoInit NoInit{};
struct FInvalid { explicit FInvalid() = default; };
inline constexpr FInvalid Invalid{};
struct FInPlace { explicit FInPlace() = default; };
inline constexpr FInPlace InPlace{};
template <typename T> struct TInPlaceType { explicit TInPlaceType() = default; };
template <typename T> inline constexpr TInPlaceType<T> InPlaceType{};
template <size_t I> struct TInPlaceIndex { explicit TInPlaceIndex() = default; };
template <size_t I> inline constexpr TInPlaceIndex<I> InPlaceIndex{};
template <typename T> struct TIsInPlaceTypeSpecialization : FFalse { };
template <typename T> struct TIsInPlaceTypeSpecialization<TInPlaceType<T>> : FTrue { };
template <typename T> struct TIsInPlaceIndexSpecialization : FFalse { };
template <size_t I> struct TIsInPlaceIndexSpecialization<TInPlaceIndex<I>> : FTrue { };
NAMESPACE_MODULE_END(Utility)
NAMESPACE_MODULE_END(Redcraft)
NAMESPACE_REDCRAFT_END