Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/ClassMaps.h
Robert Manuszewski 2752c82adc Merging //UE4/Dev-Main @ 4664414 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4675693 by Robert Manuszewski in Dev-Core branch]
2019-01-02 00:55:51 -05:00

63 lines
1.7 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Stack.h"
#include "UnderlyingEnumType.h"
#include "UnrealSourceFile.h"
class UField;
class UClass;
class UProperty;
class UPackage;
class UEnum;
class FClassDeclarationMetaData;
class FArchive;
struct FManifestModule;
class FUnrealSourceFile;
class FUnrealTypeDefinitionInfo;
extern TMap<FString, TSharedRef<FUnrealSourceFile> > GUnrealSourceFilesMap;
extern TMap<UField*, TSharedRef<FUnrealTypeDefinitionInfo> > GTypeDefinitionInfoMap;
extern TMap<const UPackage*, TArray<UField*>> GPackageSingletons;
extern TMap<UClass*, FString> GClassStrippedHeaderTextMap;
extern TMap<UClass*, FString> GClassHeaderNameWithNoPathMap;
extern TSet<FUnrealSourceFile*> GPublicSourceFileSet;
extern TMap<UProperty*, FString> GArrayDimensions;
extern TMap<UPackage*, const FManifestModule*> GPackageToManifestModuleMap;
extern TMap<UField*, uint32> GGeneratedCodeHashes;
extern TMap<UEnum*, EUnderlyingEnumType> GEnumUnderlyingTypes;
extern TMap<FName, TSharedRef<FClassDeclarationMetaData> > GClassDeclarations;
extern TSet<UProperty*> GUnsizedProperties;
extern TSet<UField*> GEditorOnlyDataTypes;
extern TMap<UStruct*, TTuple<TSharedRef<FUnrealSourceFile>, int32>> GStructToSourceLine;
/** Types access specifiers. */
enum EAccessSpecifier
{
ACCESS_NotAnAccessSpecifier = 0,
ACCESS_Public,
ACCESS_Private,
ACCESS_Protected,
ACCESS_Num,
};
inline FArchive& operator<<(FArchive& Ar, EAccessSpecifier& ObjectType)
{
if (Ar.IsLoading())
{
int32 Value;
Ar << Value;
ObjectType = EAccessSpecifier(Value);
}
else if (Ar.IsSaving())
{
int32 Value = (int32)ObjectType;
Ar << Value;
}
return Ar;
}