23template <
typename InIntType>
27 static_assert(std::is_integral_v<IntType>,
"An integer type is required.");
91 template <
typename OtherIntType>
356 return FMath::Max(
X,
Y);
367 return FMath::Min(
X,
Y);
391 return X *
X +
Y *
Y;
505 if constexpr (std::is_same_v<IntType, int32>)
509 else if constexpr (std::is_same_v<IntType, int64>)
513 else if constexpr (std::is_same_v<IntType, uint32>)
517 else if constexpr (std::is_same_v<IntType, uint64>)
523 static_assert(
sizeof(
IntType) == 0,
"Unimplemented");
529template <
typename IntType>
532template <
typename IntType>
535template <
typename IntType>
544 return FString::Printf(
TEXT(
"X=%lld Y=%lld"),
X,
Y);
550 return FString::Printf(
TEXT(
"X=%d Y=%d"),
X,
Y);
556 return FString::Printf(
TEXT(
"X=%d Y=%d"),
X,
Y);
562 return FString::Printf(
TEXT(
"X=%d Y=%d"),
X,
Y);
568 return FString::Printf(
TEXT(
"X=%llu Y=%llu"),
X,
Y);
574 return FString::Printf(
TEXT(
"X=%u Y=%u"),
X,
Y);
580 return FString::Printf(
TEXT(
"X=%u Y=%u"),
X,
Y);
586 return FString::Printf(
TEXT(
"X=%u Y=%u"),
X,
Y);
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
EForceInit
Definition CoreMiscDefines.h:154
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const TCHAR * LexToString(EAnalyticsRecordEventMode Mode)
Definition IAnalyticsProvider.cpp:5
#define UE_SERIALIZE_VARIANT_FROM_MISMATCHED_TAG(AR_OR_SLOT, ALIAS, TYPE, ALT_TYPE)
Definition LargeWorldCoordinatesSerializer.h:9
#define SA_VALUE(Name, Value)
Definition StructuredArchiveNameHelpers.h:77
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
OutType IntCastChecked(InType In)
Definition UnrealTemplate.h:166
Definition Archive.h:1208
Definition NameTypes.h:617
Definition StructuredArchiveSlots.h:144
Definition StructuredArchiveSlots.h:52
UE_API FStructuredArchiveRecord EnterRecord()
Definition StructuredArchiveSlots.h:252
uint32 GetTypeHash(const TBox< T > &Box)
Definition Box.h:1008
U16 Index
Definition radfft.cpp:71
static constexpr UE_FORCEINLINE_HINT T DivideAndRoundUp(T Dividend, T Divisor)
Definition UnrealMathUtility.h:694
static constexpr UE_FORCEINLINE_HINT T DivideAndRoundDown(T Dividend, T Divisor)
Definition UnrealMathUtility.h:701
static CORE_API bool Value(const TCHAR *Stream, const TCHAR *Match, FName &Name)
Definition Parse.cpp:584
Definition IsPODType.h:12
Definition IsUECoreType.h:19
TIntPoint operator/(const TIntPoint &Other) const
Definition IntPoint.h:299
friend void operator<<(FStructuredArchive::FSlot Slot, TIntPoint &Point)
Definition IntPoint.h:485
InIntType IntType
Definition IntPoint.h:26
TIntPoint(IntType InXY)
Definition IntPoint.h:71
IntType GetMin() const
Definition IntPoint.h:365
TIntPoint(const TIntPoint &)=default
friend FArchive & operator<<(FArchive &Ar, TIntPoint &Point)
Definition IntPoint.h:474
static TIntPoint DivideAndRoundUp(TIntPoint lhs, TIntPoint Divisor)
Definition IntPoint.h:434
TIntPoint operator+(const TIntPoint &Other) const
Definition IntPoint.h:266
TIntPoint operator*(const TIntPoint &Other) const
Definition IntPoint.h:288
bool operator==(const TIntPoint &Other) const
Definition IntPoint.h:138
bool SerializeFromMismatchedTag(FName StructTag, FArchive &Ar)
Definition IntPoint.h:503
IntType operator[](IntType Index) const
Definition IntPoint.h:322
TIntPoint(TIntPoint< OtherIntType > Other)
Definition IntPoint.h:92
TIntPoint operator*(IntType Scale) const
Definition IntPoint.h:244
TIntPoint operator-(const TIntPoint &Other) const
Definition IntPoint.h:277
TIntPoint ComponentMax(const TIntPoint &Other) const
Definition IntPoint.h:343
TIntPoint & operator=(TIntPoint &&)=default
IntType Y
Definition IntPoint.h:37
static int32 Num()
Definition IntPoint.h:462
static TIntPoint DivideAndRoundUp(TIntPoint lhs, IntType Divisor)
Definition IntPoint.h:429
IntType GetMax() const
Definition IntPoint.h:354
static TIntPoint DivideAndRoundDown(TIntPoint lhs, TIntPoint Divisor)
Definition IntPoint.h:452
static TIntPoint DivideAndRoundDown(TIntPoint lhs, IntType Divisor)
Definition IntPoint.h:447
TIntPoint & operator/=(IntType Divisor)
Definition IntPoint.h:174
TIntPoint ComponentMin(const TIntPoint &Other) const
Definition IntPoint.h:333
bool Serialize(FArchive &Ar)
Definition IntPoint.h:497
IntType XY[2]
Definition IntPoint.h:41
PRAGMA_ENABLE_DEPRECATION_WARNINGS const IntType & operator()(int32 PointIndex) const
Definition IntPoint.h:112
TIntPoint operator/(IntType Divisor) const
Definition IntPoint.h:255
FString ToString() const
Definition IntPoint.h:399
IntType & operator[](IntType Index)
Definition IntPoint.h:310
static const TIntPoint ZeroValue
Definition IntPoint.h:45
TIntPoint & operator/=(const TIntPoint &Other)
Definition IntPoint.h:230
TIntPoint(EForceInit)
Definition IntPoint.h:82
IntType & operator()(int32 PointIndex)
Definition IntPoint.h:125
bool operator!=(const TIntPoint &Other) const
Definition IntPoint.h:149
TIntPoint & operator*=(const TIntPoint &Other)
Definition IntPoint.h:202
static const TIntPoint NoneValue
Definition IntPoint.h:48
IntType X
Definition IntPoint.h:34
TIntPoint & operator=(const TIntPoint &)=default
TIntPoint & operator*=(IntType Scale)
Definition IntPoint.h:160
TIntPoint & operator-=(const TIntPoint &Other)
Definition IntPoint.h:216
bool InitFromString(const FString &InSourceString)
Definition IntPoint.h:411
IntType Size() const
Definition IntPoint.h:376
IntType SizeSquared() const
Definition IntPoint.h:389
TIntPoint & operator+=(const TIntPoint &Other)
Definition IntPoint.h:188
PRAGMA_DISABLE_DEPRECATION_WARNINGS TIntPoint(TIntPoint &&)=default