31#define LITERAL(CharType, StringLiteral) TLiteral<CharType>::Select(StringLiteral, TEXT(StringLiteral))
34template <
typename CharType, const
unsigned int Size>
37 static constexpr CharType
LineFeed = (CharType)0xa;
39 static constexpr CharType
FormFeed = (CharType)0xc;
41 static constexpr CharType
NextLine = (CharType)0x85;
53template <
typename CharType>
56 static constexpr CharType
LineFeed = (CharType)0xa;
58 static constexpr CharType
FormFeed = (CharType)0xc;
74template <
typename CharType>
95 if constexpr (std::is_same_v<CharType, ANSICHAR>)
97 return ::isupper((
unsigned char)
Char) != 0;
99 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
101 return ::iswupper(
Char) != 0;
103 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
105 return ::isupper((
unsigned char)
Char) != 0;
109 static_assert(
sizeof(CharType) == 0,
"Not supported");
116 if constexpr (std::is_same_v<CharType, ANSICHAR>)
118 return ::islower((
unsigned char)
Char) != 0;
120 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
122 return ::iswlower(
Char) != 0;
124 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
126 return ::islower((
unsigned char)
Char) != 0;
130 static_assert(
sizeof(CharType) == 0,
"Not supported");
137 if constexpr (std::is_same_v<CharType, ANSICHAR>)
139 return ::isalpha((
unsigned char)
Char) != 0;
141 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
143 return ::iswalpha(
Char) != 0;
145 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
147 return ::isalpha((
unsigned char)
Char) != 0;
151 static_assert(
sizeof(CharType) == 0,
"Not supported");
158 if constexpr (std::is_same_v<CharType, ANSICHAR>)
160 return ::isgraph((
unsigned char)
Char) != 0;
162 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
164 return ::iswgraph(
Char) != 0;
166 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
168 return ::isgraph((
unsigned char)
Char) != 0;
172 static_assert(
sizeof(CharType) == 0,
"Not supported");
179 if constexpr (std::is_same_v<CharType, ANSICHAR>)
181 return ::isprint((
unsigned char)
Char) != 0;
183 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
185 return ::iswprint(
Char) != 0;
187 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
189 return ::isprint((
unsigned char)
Char) != 0;
193 static_assert(
sizeof(CharType) == 0,
"Not supported");
200 if constexpr (std::is_same_v<CharType, ANSICHAR>)
202 return ::ispunct((
unsigned char)
Char) != 0;
204 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
206 return ::iswpunct(
Char) != 0;
208 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
210 return ::ispunct((
unsigned char)
Char) != 0;
214 static_assert(
sizeof(CharType) == 0,
"Not supported");
221 if constexpr (std::is_same_v<CharType, ANSICHAR>)
223 return ::isalnum((
unsigned char)
Char) != 0;
225 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
227 return ::iswalnum(
Char) != 0;
229 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
231 return ::isalnum((
unsigned char)
Char) != 0;
235 static_assert(
sizeof(CharType) == 0,
"Not supported");
242 if constexpr (std::is_same_v<CharType, ANSICHAR>)
244 return ::isdigit((
unsigned char)
Char) != 0;
246 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
248 return ::iswdigit(
Char) != 0;
250 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
252 return ::isdigit((
unsigned char)
Char) != 0;
256 static_assert(
sizeof(CharType) == 0,
"Not supported");
263 if constexpr (std::is_same_v<CharType, ANSICHAR>)
265 return ::isxdigit((
unsigned char)
Char) != 0;
267 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
269 return ::iswxdigit(
Char) != 0;
271 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
273 return ::isxdigit((
unsigned char)
Char) != 0;
277 static_assert(
sizeof(CharType) == 0,
"Not supported");
284 if constexpr (std::is_same_v<CharType, ANSICHAR>)
286 return ::isspace((
unsigned char)
Char) != 0;
288 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
290 return ::iswspace(
Char) != 0;
292 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
294 return ::isspace((
unsigned char)
Char) != 0;
298 static_assert(
sizeof(CharType) == 0,
"Not supported");
305 if constexpr (std::is_same_v<CharType, ANSICHAR>)
307 return ::iscntrl((
unsigned char)
Char) != 0;
309 else if constexpr (std::is_same_v<CharType, WIDECHAR>)
311 return ::iswcntrl(
Char) != 0;
313 else if constexpr (std::is_same_v<CharType, UTF8CHAR>)
315 return ::iscntrl((
unsigned char)
Char) != 0;
319 static_assert(
sizeof(CharType) == 0,
"Not supported");
TChar< WIDECHAR > FCharWide
Definition Char.h:359
#define LITERAL(CharType, StringLiteral)
Definition Char.h:31
TChar< ANSICHAR > FCharAnsi
Definition Char.h:360
TChar< TCHAR > FChar
Definition Char.h:358
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
static bool IsLinebreak(CharType Char)
Definition Char.h:61
static bool IsLinebreak(CharType Char)
Definition Char.h:45
static constexpr CharType ParagraphSeparator
Definition Char.h:43
static constexpr CharType CarriageReturn
Definition Char.h:40
static constexpr CharType VerticalTab
Definition Char.h:38
static constexpr CharType NextLine
Definition Char.h:41
static constexpr CharType LineFeed
Definition Char.h:37
static constexpr CharType FormFeed
Definition Char.h:39
static constexpr CharType LineSeparator
Definition Char.h:42
static bool IsDigit(CharType Char)
Definition Char.h:240
static bool IsHexDigit(CharType Char)
Definition Char.h:261
static bool IsOctDigit(CharType Char)
Definition Char.h:324
static bool IsPrint(CharType Char)
Definition Char.h:177
static bool IsPunct(CharType Char)
Definition Char.h:198
static bool IsAlnum(CharType Char)
Definition Char.h:219
static bool IsUpper(CharType Char)
Definition Char.h:93
static bool IsAlpha(CharType Char)
Definition Char.h:135
static CharType ToLower(CharType Char)
Definition Char.h:88
static bool IsIdentifier(CharType Char)
Definition Char.h:334
static int32 ConvertCharDigitToInt(CharType Char)
Definition Char.h:329
static bool IsControl(CharType Char)
Definition Char.h:303
static CharType ToUpper(CharType Char)
Definition Char.h:80
static bool IsLower(CharType Char)
Definition Char.h:114
static bool IsUnderscore(CharType Char)
Definition Char.h:339
static constexpr UE_FORCEINLINE_HINT uint32 ToUnsigned(CharType Char)
Definition Char.h:352
static bool IsWhitespace(CharType Char)
Definition Char.h:282
static bool IsGraph(CharType Char)
Definition Char.h:156
static const WIDECHAR * Select(const ANSICHAR *, const WIDECHAR *wide)
Definition Char.h:28
static const WIDECHAR Select(const ANSICHAR, const WIDECHAR wide)
Definition Char.h:27
static const ANSICHAR Select(const ANSICHAR ansi, const WIDECHAR)
Definition Char.h:21
static const ANSICHAR * Select(const ANSICHAR *ansi, const WIDECHAR *)
Definition Char.h:22