5#include "CoreMinimal.h"
8#include "GroupLabeler.h"
10#include "SIUnitsGroupLabeler.generated.h"
16enum class ESIUnitsMode : uint8
18 Name UMETA(DisplayName =
"Name (kilo, mega, etc.)"),
19 Abbreviation UMETA(DisplayName =
"Abbreviation (k, M, etc.)"),
41 static FString GetSINameGroupLabel(int32 powerOfTen);
47 static int AppendSINameGroupLabel(int32 powerOfTen, FString&
string);
53 static FString GetSISymbolGroupLabel(int32 powerOfTen);
59 static int AppendSISymbolGroupLabel(int32 powerOfTen, FString&
string);
82 UFUNCTION(BlueprintPure, BlueprintInternalUseOnly, Category =
"String|BigInteger")
92 UFUNCTION(BlueprintCallable, BlueprintInternalUseOnly, Category =
"String|BigInteger")
100 UFUNCTION(BlueprintPure, BlueprintInternalUseOnly, Category =
"String|BigInteger")
101 ESIUnitsMode
const GetSIUnitsMode()
const;
108 UFUNCTION(BlueprintCallable, BlueprintInternalUseOnly, Category =
"String|BigInteger")
109 void SetSIUnitsMode(ESIUnitsMode value);
118 static void CreateDefaultSIName();
119 static void CreateDefaultSISymbol();
121 int BuildGroupLabel(int32 powerOfTen, ESIUnitsMode mode, FString&
string)
const;
128 UPROPERTY(BlueprintGetter = GetOverflowGroupLabeler, BlueprintSetter = SetOverflowGroupLabeler, Category =
"String|BigInteger")
134 UPROPERTY(BlueprintGetter = GetSIUnitsMode, BlueprintSetter = SetSIUnitsMode, Category = "String|BigInteger")
135 ESIUnitsMode SIUnitsMode;
140 static const TCHAR* unitNames[48];
145#if DBN_INLINE_ENABLED
146#include "SIUnitsGroupLabeler.inl"
Definition: GroupLabeler.h:19
Definition: SIUnitsGroupLabeler.h:27
int OnAppendGroupLabel(int32 powerOfTen, FString &string) const override