Files
UnrealEngine/Engine/Source/Runtime/GeometryCore/Public/GeometryBase.h
2025-05-18 13:04:45 +08:00

36 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreTypes.h" // required for GEOMETRYCORE_API macro
#include "Logging/LogMacros.h"
//
// The following are convenience macros that can be used to predeclare types in the UE::Geometry::
// namespace as one-liners.
//
/** Predeclare the type TypeName in the UE::Geometry:: namespace */
#define PREDECLARE_GEOMETRY(TypeName) namespace UE { namespace Geometry { TypeName; }}
/** Predeclare the class ClassName in the UE::Geometry:: namespace, and then add a using UE::Geometry::ClassName declaration. */
#define PREDECLARE_USE_GEOMETRY_CLASS(ClassName) namespace UE { namespace Geometry { class ClassName; }} using UE::Geometry::ClassName;
/** Predeclare struct class StructName in the UE::Geometry:: namespace, and then add a using UE::Geometry::StructName declaration. */
#define PREDECLARE_USE_GEOMETRY_STRUCT(StructName) namespace UE { namespace Geometry { struct StructName; }} using UE::Geometry::StructName;
// The above macros will not work if no other header that defines the UE::Geometry:: namespace has been #included,
// this declaraction resolves that problem.
namespace UE
{
namespace Geometry
{
struct FForceGeometryNamespaceToExist
{
int a;
};
}
}
GEOMETRYCORE_API DECLARE_LOG_CATEGORY_EXTERN(LogGeometry, Log, All);