UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UEOps.h File Reference
#include "Concepts/SameAs.h"
#include "HAL/Platform.h"

Go to the source code of this file.

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 implementation
 

Concepts

concept  UE::Core::Private::CWithUEOpEquals
 
concept  UE::Core::Private::CWithUEOpLessThan
 
concept  UE::Core::Private::CWithUEOpGreaterThan
 

Functions

template<typename LhsType , typename RhsType >
requires UE::Core::Private::CWithUEOpEquals<LhsType, RhsType> || UE::Core::Private::CWithUEOpEquals<RhsType, LhsType>
UE_REWRITE constexpr bool operator== (const LhsType &Lhs, const RhsType &Rhs)
 
template<typename LhsType >
requires UE::Core::Private::CWithUEOpEquals<LhsType, decltype(nullptr)>
UE_REWRITE constexpr bool operator== (const LhsType &Lhs, int UE::Core::Private::FIncomplete::*Rhs)
 
template<typename LhsType , typename RhsType >
requires UE::Core::Private::CWithUEOpLessThan<LhsType, RhsType> || UE::Core::Private::CWithUEOpGreaterThan<RhsType, LhsType>
UE_REWRITE constexpr bool operator< (const LhsType &Lhs, const RhsType &Rhs)
 
template<typename LhsType , typename RhsType >
requires UE::Core::Private::CWithUEOpLessThan<RhsType, LhsType> || UE::Core::Private::CWithUEOpGreaterThan<LhsType, RhsType>
UE_REWRITE constexpr bool operator> (const LhsType &Lhs, const RhsType &Rhs)
 
template<typename LhsType , typename RhsType >
requires UE::Core::Private::CWithUEOpLessThan<LhsType, RhsType> || UE::Core::Private::CWithUEOpGreaterThan<RhsType, LhsType>
UE_REWRITE constexpr bool operator>= (const LhsType &Lhs, const RhsType &Rhs)
 
template<typename LhsType , typename RhsType >
requires UE::Core::Private::CWithUEOpLessThan<RhsType, LhsType> || UE::Core::Private::CWithUEOpGreaterThan<LhsType, RhsType>
UE_REWRITE constexpr bool operator<= (const LhsType &Lhs, const RhsType &Rhs)
 

Function Documentation

◆ operator<()

◆ operator<=()

◆ operator==() [1/2]

This file defines global comparison operators for all types containing certain named member functions. These ensure that the operators and their variants are defined correctly based on a single customization point and should result in faster overload resolution.

bool FMyType::UEOpEquals(const FMyType&) const; bool FMyType::UEOpEquals(const OtherType&) const; Should be defined to opt into operator== and operator!=.

bool FMyType::UEOpLessThan(const FMyType&) const; bool FMyType::UEOpLessThan(const OtherType&) const; bool FMyType::UEOpGreaterThan(const OtherType&) const; Should be defined to opt into operator<, operator<=, operator> and operator>=.

bool FMyType::UEOpGreaterThan(const FMyType&) const; Will never be called if FMyType::UEOpLessThan is defined, so is redundant.

◆ operator==() [2/2]

UE_REWRITE constexpr bool operator== ( const LhsType Lhs,
int UE::Core::Private::FIncomplete::*  Rhs 
)
constexpr

◆ operator>()

◆ operator>=()