Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
WindowsPlatformString.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#include "GenericPlatform/MicrosoftPlatformString.h"
7
8
9/**
10 * Windows string implementation.
11 */
14{
15 // These should be replaced with equivalent Convert and ConvertedLength functions when we properly support variable-length encodings.
16/* static void WideCharToMultiByte(const wchar_t *Source, uint32 LengthWM1, ANSICHAR *Dest, uint32 LengthA)
17 {
18 ::WideCharToMultiByte(CP_ACP,0,Source,LengthWM1+1,Dest,LengthA,NULL,NULL);
19 }
20 static void MultiByteToWideChar(const ANSICHAR *Source, TCHAR *Dest, uint32 LengthM1)
21 {
22 ::MultiByteToWideChar(CP_ACP,0,Source,LengthM1+1,Dest,LengthM1+1);
23 }*/
24};
25
26
28
29// Format specifiers to be able to print values of these types correctly, for example when using UE_LOG.
31// SIZE_T format specifier
32#define SIZE_T_FMT "I64u"
33// SIZE_T format specifier for lowercase hexadecimal output
34#define SIZE_T_x_FMT "I64x"
35// SIZE_T format specifier for uppercase hexadecimal output
36#define SIZE_T_X_FMT "I64X"
37
38// SSIZE_T format specifier
39#define SSIZE_T_FMT "I64d"
40// SSIZE_T format specifier for lowercase hexadecimal output
41#define SSIZE_T_x_FMT "I64x"
42// SSIZE_T format specifier for uppercase hexadecimal output
43#define SSIZE_T_X_FMT "I64X"
44
45// PTRINT format specifier for decimal output
46#define PTRINT_FMT "lld"
47// PTRINT format specifier for lowercase hexadecimal output
48#define PTRINT_x_FMT "llx"
49// PTRINT format specifier for uppercase hexadecimal output
50#define PTRINT_X_FMT "llX"
51
52// UPTRINT format specifier for decimal output
53#define UPTRINT_FMT "llu"
54// UPTRINT format specifier for lowercase hexadecimal output
55#define UPTRINT_x_FMT "llx"
56// UPTRINT format specifier for uppercase hexadecimal output
57#define UPTRINT_X_FMT "llX"
58#else
59// SIZE_T format specifier
60#define SIZE_T_FMT "lu"
61// SIZE_T format specifier for lowercase hexadecimal output
62#define SIZE_T_x_FMT "lx"
63// SIZE_T format specifier for uppercase hexadecimal output
64#define SIZE_T_X_FMT "lX"
65
66// SSIZE_T format specifier
67#define SSIZE_T_FMT "ld"
68// SSIZE_T format specifier for lowercase hexadecimal output
69#define SSIZE_T_x_FMT "lx"
70// SSIZE_T format specifier for uppercase hexadecimal output
71#define SSIZE_T_X_FMT "lX"
72
73// PTRINT format specifier for decimal output
74#define PTRINT_FMT "d"
75// PTRINT format specifier for lowercase hexadecimal output
76#define PTRINT_x_FMT "x"
77// PTRINT format specifier for uppercase hexadecimal output
78#define PTRINT_X_FMT "X"
79
80// UPTRINT format specifier for decimal output
81#define UPTRINT_FMT "u"
82// UPTRINT format specifier for lowercase hexadecimal output
83#define UPTRINT_x_FMT "x"
84// UPTRINT format specifier for uppercase hexadecimal output
85#define UPTRINT_X_FMT "X"
86#endif
87
88// int64 format specifier for decimal output
89#define INT64_FMT "lld"
90// int64 format specifier for lowercase hexadecimal output
91#define INT64_x_FMT "llx"
92// int64 format specifier for uppercase hexadecimal output
93#define INT64_X_FMT "llX"
94
95// uint64 format specifier for decimal output
96#define UINT64_FMT "llu"
97// uint64 format specifier for lowercase hexadecimal output
98#define UINT64_x_FMT "llx"
99// uint64 format specifier for uppercase hexadecimal output
100#define UINT64_X_FMT "llX"
#define PLATFORM_64BITS
FWindowsPlatformString FPlatformString