Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/UHTMakefile/TokenArchiveProxy.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

46 lines
1.2 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "PropertyBaseArchiveProxy.h"
class FToken;
class FArchive;
class FUHTMakefile;
/* See UHTMakefile.h for overview how makefiles work. */
struct FTokenArchiveProxy : public FPropertyBaseArchiveProxy
{
FTokenArchiveProxy(const FUHTMakefile& UHTMakefile, const FToken* Token);
FTokenArchiveProxy() { }
static void AddReferencedNames(const FToken* Token, FUHTMakefile& UHTMakefile);
friend FArchive& operator<<(FArchive& Ar, FTokenArchiveProxy& TokenArchiveProxy);
FToken* CreateToken() const;
void PostConstruct(FToken* Token) const;
void Resolve(FToken* Token, const FUHTMakefile& UHTMakefile) const;
ETokenType TokenType;
FNameArchiveProxy TokenName;
int32 StartPos;
int32 StartLine;
TCHAR Identifier[NAME_SIZE];
int32 TokenPropertyIndex;
union
{
uint8 Byte; // If CPT_Byte.
int32 Int; // If CPT_Int.
int32 Int64; // If CPT_Int64.
bool NativeBool; // if CPT_Bool
float Float; // If CPT_Float.
double Double; // If CPT_Double.
uint8 NameBytes[sizeof(FName)]; // If CPT_Name.
TCHAR String[MAX_STRING_CONST_SIZE]; // If CPT_String
};
};