5#include "Containers/Array.h"
10#include "Misc/Optional.h"
99 Distance,
Angle,
Speed,
AngularSpeed,
Acceleration,
Temperature,
Mass,
Density,
Force,
Torque,
Impulse,
PositionalImpulse,
Frequency,
DataSize,
LuminousFlux,
LuminousIntensity,
Illuminance,
Luminance,
Time,
PixelDensity,
Multipliers,
ExposureValue,
Stress,
130 bool bGlobalUnitDisplay;
183template<
typename NumericType>
200 template<
typename OtherType>
202 template<
typename OtherType>
221 operator const NumericType&()
const =
delete;
224 template<
typename OtherType>
228 static bool ExtractNumberBoundary(
const TCHAR* Start,
const TCHAR*&
End);
231 template<
typename OtherType>
256 template<
typename OtherType>
259 return !(
LHS == RHS);
263template <
typename CharType,
typename T>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FString LexToSanitizedString(const FNumericUnit< T > &NumericUnit)
Definition UnitConversion.inl:456
bool LexTryParseString(FNumericUnit< T > &OutValue, const TCHAR *String)
Definition UnitConversion.inl:476
EUnit
Definition UnitConversion.h:19
@ GramsPerCubicCentimeter
@ KilogramCentimetersSquaredPerSecondSquared
@ CentimetersPerSecondSquared
@ KilogramCentimetersPerSecondSquared
@ KilogramsPerCubicCentimeter
void LexFromString(FNumericUnit< T > &OutValue, const TCHAR *String)
Definition UnitConversion.inl:466
FString LexToString(const FNumericUnit< T > &NumericUnit)
Definition UnitConversion.inl:448
TStringBuilderBase< CharType > & operator<<(TStringBuilderBase< CharType > &Builder, const FNumericUnit< T > &NumericUnit)
Definition UnitConversion.inl:439
EUnitType
Definition UnitConversion.h:98
Definition UnitConversion.h:109
CORE_API bool ShouldDisplayUnits() const
Definition UnitConversion.cpp:592
CORE_API const TArray< EUnit > & GetDisplayUnits(EUnitType InType) const
Definition UnitConversion.cpp:603
CORE_API FUnitSettings()
Definition UnitConversion.cpp:569
CORE_API void SetShouldDisplayUnits(bool bInGlobalUnitDisplay)
Definition UnitConversion.cpp:597
FDisplaySettingChanged & OnDisplaySettingsChanged()
Definition UnitConversion.h:125
CORE_API void SetDisplayUnits(EUnitType InType, const TArray< EUnit > &Units)
Definition UnitConversion.cpp:622
DECLARE_EVENT(FUnitSettings, FDisplaySettingChanged)
Definition StringBuilder.h:79
Definition ValueOrError.h:58
Definition UnitConversion.h:185
TOptional< FNumericUnit< NumericType > > ConvertTo(EUnit ToUnits) const
Definition UnitConversion.inl:302
FNumericUnit & operator=(const FNumericUnit< OtherType > &Other)
static TValueOrError< FNumericUnit< NumericType >, FText > TryParseExpression(const TCHAR *InExpression, EUnit InDefaultUnit, const FNumericUnit< NumericType > &InExistingValue)
Definition UnitConversion.inl:323
FNumericUnit & operator=(const FNumericUnit &Other)
Definition UnitConversion.inl:279
const EUnit Units
Definition UnitConversion.h:189
friend bool operator==(const FNumericUnit< NumericType > &LHS, const FNumericUnit< OtherType > &RHS)
Definition UnitConversion.h:232
static TOptional< FNumericUnit< NumericType > > TryParseString(const TCHAR *InSource)
Definition UnitConversion.inl:336
FNumericUnit()
Definition UnitConversion.inl:262
FNumericUnit< NumericType > QuantizeUnitsToBestFit() const
Definition UnitConversion.inl:317
friend bool operator!=(const FNumericUnit< NumericType > &LHS, const FNumericUnit< OtherType > &RHS)
Definition UnitConversion.h:257
NumericType Value
Definition UnitConversion.h:187
Definition UnitConversion.h:140
static CORE_API FUnitSettings & Settings()
Definition UnitConversion.cpp:640
static CORE_API EUnitType GetUnitType(EUnit)
Definition UnitConversion.cpp:659
static EUnit CalculateDisplayUnit(T Value, EUnit InUnits)
Definition UnitConversion.inl:200
static CORE_API TOptional< EUnit > UnitFromString(const TCHAR *UnitString)
Definition UnitConversion.cpp:682
static CORE_API bool AreUnitsCompatible(EUnit From, EUnit To)
Definition UnitConversion.cpp:647
static FNumericUnit< T > QuantizeUnitsToBestFit(T Value, EUnit Units)
Definition UnitConversion.inl:145
static CORE_API bool IsUnitOfType(EUnit Unit, EUnitType Type)
Definition UnitConversion.cpp:653
static T Convert(T InValue, EUnit From, EUnit To)
Definition UnitConversion.inl:74
static CORE_API TConstArrayView< const TCHAR * > GetSupportedUnits()
Definition UnitConversion.cpp:700
static CORE_API const TCHAR * GetUnitDisplayString(EUnit Unit)
Definition UnitConversion.cpp:669
Definition Optional.h:131