5#include "Containers/Array.h"
6#include "Containers/StringView.h"
7#include "Containers/UnrealString.h"
9#include "HAL/CriticalSection.h"
10#include "Templates/UnrealTemplate.h"
29 using TToStringType_T =
decltype(GetBindingType(
std::declval<T>()));
33
34
40
41
45
46
50
51
52
53
54
55
59
60
61
62
66
67
68
69
73
74
75
76
77
81
82
83
84
88
89
90
91
95
96
97
98
102
103
104
105
109
110
111
112
116
117
118
122
123
124
128
129
130
134
135
136
137
141
142
143
144
148
149
150
151
155
156
157
158
162
163
164
165
169
170
171
172
176
177
178
179
188
189
190
191
192
193
194
198
199
200
201
205
206
207
208
212
213
214
215
219
220
221
222
226
227
228
229
235
236
237
238
242
243
244
245
249
250
254
255
259
260
261
262
263
267
268
269
270
274
275
276
277
281
282
283
284
288
289
290
291
295
296
297
298
302
303
304
305
309
310
311
312
316
317
318
319
320
321
340
341
342
346
347
348
361
362
366
367
371
372
376
377
381
382
386
387
391
392
396
397
401
402
406
407
408
409
410
423
424
425
426
430
431
432
433
437
438
439
440
444
445
446
447
448
449
498
499
500
501
502
503
504
514
515
516
517
518
519
520
524
525
526
527
528
529
530
537
538
539
540
541
542
551
552
553
554
555
556
560
561
565
566
570
571
575
576
580
581
585
586
590
591
592
593
597
598
599
600
604
605
606
607
608
609
613
614
618
619
620
624
625
626
627
628
629
633
634
635
636
637
638
639
645 template <
typename... PathTypes>
672
673
683 template <
typename... PathTypes>
#define UE_ARRAY_COUNT(array)
static FString CreateTempFilename(const TCHAR *Path, const TCHAR *Prefix=TEXT(""), const TCHAR *Extension=TEXT(".tmp"))
static bool IsProjectFilePathSet()
static FString GetPath(FString &&InPath)
static FString SetExtension(const FString &InPath, const FString &InNewExtension)
static FString FeaturePackDir()
static const FString & GetRelativePathToRoot()
static const FString & CustomShaderDirArgument()
static FString EngineDir()
static FString GetExtension(const FString &InPath, bool bIncludeDot=false)
static FString CreateStandardFilename(const FString &InPath)
static FString EnginePluginsDir()
static FString EnterpriseFeaturePackDir()
static TArray< FString > GetExtensionDirs(const FString &BaseDir, const FString &SubDir=FString())
static void NormalizeDirectoryName(FString &InPath)
static const TArray< FString > & GetCookedEditorLocalizationPaths()
static FString ConvertRelativePathToFull(FString &&BasePath, const FString &InPath)
static FString ScreenShotDir()
static FString AudioCaptureDir()
static FString ChangeExtension(const FString &InPath, const FString &InNewExtension)
static FString GetBaseFilename(FString &&InPath, bool bRemovePath=true)
static FString ProjectLogDir()
static FString MakeValidFileName(const FString &InString, const TCHAR InReplacementChar=TEXT('\0'))
static bool IsDrive(const FString &InPath)
static FString GetPathLeaf(const FString &InPath)
static FString ProjectPersistentDownloadDir()
static FString GeneratedConfigDir()
static bool IsRelative(const FString &InPath)
static FString AutomationLogDir()
static FString GetProjectFilePath()
static void SetProjectFilePath(const FString &NewGameProjectFilePath)
static FString RemoveDuplicateSlashes(const FString &InPath)
static FString GetPath(const FString &InPath)
static bool ShouldSaveToUserDir()
static const TArray< FString > & GetRestrictedFolderNames()
static FString EngineConfigDir()
static FString AutomationTransientDir()
static void MakePlatformFilename(FString &InPath)
static FString ProjectIntermediateDir()
static void Split(const FString &InPath, FString &PathPart, FString &FilenamePart, FString &ExtensionPart)
static FString ProjectPlatformExtensionsDir()
static FORCEINLINE FString CombineImpl(UE::Core::Private::TToStringType_T< std::decay_t< PathTypes > >... InPaths)
static FString GameSourceDir()
static FString EngineContentDir()
static bool ValidatePath(const FString &InPath, FText *OutReason=nullptr)
static FString GameUserDeveloperDir()
static const TArray< FString > & GetGameLocalizationPaths()
static FString ProjectPluginsDir()
static FString GetPathLeaf(FString &&InPath)
static FString EngineSavedDir()
static FString ConvertFromSandboxPath(const FString &InPath, const TCHAR *InSandboxName)
static bool DirectoryExists(const FString &InPath)
static FString EngineDefaultLayoutDir()
static FString ProjectConfigDir()
static FString GameAgnosticSavedDir()
static FString ConvertRelativePathToFull(FString &&InPath)
static const TArray< FString > & GetToolTipLocalizationPaths()
static FString EngineVersionAgnosticUserDir()
static FString ProfilingDir()
static FString GetInvalidFileSystemChars()
static void NormalizeFilename(FString &InPath)
static bool IsSamePath(const FString &PathA, const FString &PathB)
static bool HasProjectPersistentDownloadDir()
static FString GetCleanFilename(const FString &InPath)
static FString ConvertRelativePathToFull(const FString &BasePath, FString &&InPath)
static FString AutomationReportsDir()
static const TArray< FString > & GetEngineLocalizationPaths()
static FString EngineEditorSettingsDir()
static FORCEINLINE FString Combine(PathTypes &&... InPaths)
static void RemoveDuplicateSlashes(FString &InPath)
static FString EngineProjectLayoutDir()
static FString ConvertToSandboxPath(const FString &InPath, const TCHAR *InSandboxName)
static FString EngineUserLayoutDir()
static FString BugItDir()
static bool MakePathRelativeTo(FString &InPath, const TCHAR *InRelativeTo)
static void CombineInternal(FString &OutPath, const FStringView *Paths, int32 NumPaths)
static FString ConvertRelativePathToFull(const FString &InPath)
static FString EnterpriseDir()
static bool CollapseRelativeDirectories(FString &InPath)
static FString EngineUserDir()
static FString LaunchDir()
static const TArray< FString > & GetEditorLocalizationPaths()
static bool IsUnderDirectory(const FString &InPath, const FString &InDirectory)
static FString CloudDir()
static FString GetPlatformLocalizationFolderName()
static FString AutomationDir()
static FString GameUserDeveloperFolderName()
static const FString & CustomUserDirArgument()
static const TArray< FString > & GetPropertyNameLocalizationPaths()
static FString ProjectContentDir()
static bool FileExists(const FString &InPath)
static FString ConvertRelativePathToFull(const FString &BasePath, const FString &InPath)
static FString ConvertRelativePathToFull(FString &&BasePath, FString &&InPath)
static FString GameDevelopersDir()
static FString SandboxesDir()
static FString ProjectDir()
static FString VideoCaptureDir()
static FString ShaderWorkingDir()
static FString GetBaseFilename(const FString &InPath, bool bRemovePath=true)
static FString EnterprisePluginsDir()
static FString GetCleanFilename(FString &&InPath)
static FString EngineIntermediateDir()
static FStringView DevelopersFolderName()
static FString ProjectUserDir()
static bool IsRestrictedPath(const FString &InPath)
static FString SourceConfigDir()
static FString EnginePlatformExtensionsDir()
static const FString & ProjectSavedDir()
static void MakeStandardFilename(FString &InPath)
static FString ProjectModsDir()
static FString EngineSourceDir()
const FStringView & GetBindingType(const FStringView &StringView)
const FString & GetBindingType(const FString &Str)
const TCHAR * GetBindingType(const TCHAR *Ptr)