Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/SimplifiedParsingClassInfo.h
Ryan Durand 74c879d5f3 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870960 by Ryan Durand in Main branch]
2019-12-26 23:06:02 -05:00

81 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Containers/UnrealString.h"
class FArchive;
/**
* Simplified parsing information about UClasses.
*/
class FSimplifiedParsingClassInfo
{
public:
// Constructor.
FSimplifiedParsingClassInfo(FString InClassName, FString InBaseClassName, int32 InClassDefLine, bool bInClassIsAnInterface)
: ClassName (MoveTemp(InClassName))
, BaseClassName (MoveTemp(InBaseClassName))
, ClassDefLine (InClassDefLine)
, bClassIsAnInterface(bInClassIsAnInterface)
{}
FSimplifiedParsingClassInfo() { }
/**
* Gets class name.
*/
const FString& GetClassName() const
{
return ClassName;
}
/**
* Gets base class name.
*/
const FString& GetBaseClassName() const
{
return BaseClassName;
}
/**
* Gets class definition line number.
*/
int32 GetClassDefLine() const
{
return ClassDefLine;
}
/**
* Tells if this class is an interface.
*/
bool IsInterface() const
{
return bClassIsAnInterface;
}
friend FArchive& operator<<(FArchive& Ar, FSimplifiedParsingClassInfo& SimplifiedParsingClassInfo)
{
Ar << SimplifiedParsingClassInfo.ClassName;
Ar << SimplifiedParsingClassInfo.BaseClassName;
Ar << SimplifiedParsingClassInfo.ClassDefLine;
Ar << SimplifiedParsingClassInfo.bClassIsAnInterface;
return Ar;
}
private:
// Name.
FString ClassName;
// Super-class name.
FString BaseClassName;
// Class definition line.
int32 ClassDefLine;
// Is this an interface class?
bool bClassIsAnInterface;
};