36 lines
1.3 KiB
C++
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); |