Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/UHTMakefile/MetadataArchiveProxy.h
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

31 lines
1000 B
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Containers/Map.h"
#include "ObjectBaseArchiveProxy.h"
class UMetaData;
class FArchive;
class FUHTMakefile;
/* See UHTMakefile.h for overview how makefiles work. */
struct FMetadataArchiveProxy : public FObjectBaseArchiveProxy
{
FMetadataArchiveProxy() { }
FMetadataArchiveProxy(FUHTMakefile& UHTMakefile, UMetaData* Metadata);
friend FArchive& operator<<(FArchive& Ar, FMetadataArchiveProxy& MetadataArchiveProxy);
UMetaData* CreateMetadata(const FUHTMakefile& UHTMakefile) const;
void Resolve(UMetaData* Metadata, const FUHTMakefile& UHTMakefile) const;
TArray<TPair<FNameArchiveProxy, FNameArchiveProxy>> KeyRedirectMap;
TArray<TPair<FSerializeIndex, TArray<TPair<FNameArchiveProxy, FString>>>> ObjectMetaDataMapProxy;
static void AddReferencedNames(UMetaData* Metadata, FUHTMakefile& UHTMakefile);
static void AddStaticallyReferencedNames(FUHTMakefile& UHTMakefile);
};