Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
IsArrayOrRefOfType.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6
7
8/**
9 * Type trait which returns true if the type T is an array or a reference to an array of ArrType.
10 */
11template <typename T, typename ArrType>
13{
14 enum { Value = false };
15};
16
17template <typename ArrType> struct TIsArrayOrRefOfType< ArrType[], ArrType> { enum { Value = true }; };
18template <typename ArrType> struct TIsArrayOrRefOfType<const ArrType[], ArrType> { enum { Value = true }; };
19template <typename ArrType> struct TIsArrayOrRefOfType< volatile ArrType[], ArrType> { enum { Value = true }; };
20template <typename ArrType> struct TIsArrayOrRefOfType<const volatile ArrType[], ArrType> { enum { Value = true }; };
21
22template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType< ArrType[N], ArrType> { enum { Value = true }; };
23template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType<const ArrType[N], ArrType> { enum { Value = true }; };
24template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType< volatile ArrType[N], ArrType> { enum { Value = true }; };
25template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType<const volatile ArrType[N], ArrType> { enum { Value = true }; };
26
27template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType< ArrType(&)[N], ArrType> { enum { Value = true }; };
28template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType<const ArrType(&)[N], ArrType> { enum { Value = true }; };
29template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType< volatile ArrType(&)[N], ArrType> { enum { Value = true }; };
30template <typename ArrType, unsigned int N> struct TIsArrayOrRefOfType<const volatile ArrType(&)[N], ArrType> { enum { Value = true }; };