5#include "CoreMinimal.h"
6#include "Kismet/BlueprintFunctionLibrary.h"
7#include "Format/BigIntegerFormatter.h"
8#include "Format/DecimalInvariantFormatter.h"
9#include "Format/DecimalFullFormatter.h"
10#include "Format/DecimalScalingFormatter.h"
11#include "Format/HexadecimalInvariantFormatter.h"
12#include "Format/ScientificGroupLabeler.h"
13#include "Format/NamedGroupLabeler.h"
14#include "Format/SIUnitsGroupLabeler.h"
15#include "BigIntegerFormatterLibrary.generated.h"
21enum class EDefaultFormatterType : uint8
26 DecimalScaledScientific,
27 DecimalScaledEngineering,
29 DecimalScaledSISymbol,
37enum class EDefaultGroupLabelerType : uint8
61 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To Invariant Decimal String", CompactNodeTitle =
"->DEC$"), Category =
"Math|BigInteger")
62 static FString ToDecimalInvariantString(
const FBigInteger& Number);
71 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append Invariant Decimal To String", CompactNodeTitle =
"+DEC$"), Category =
"Math|BigInteger")
72 static FString& AppendDecimalInvariantToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
80 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To Full Decimal String", CompactNodeTitle =
"->FMTDEC$"), Category =
"Math|BigInteger")
81 static FString ToDecimalFullString(
const FBigInteger& Number);
90 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append Full Decimal To String", CompactNodeTitle =
"+FMTDEC$"), Category =
"Math|BigInteger")
91 static FString& AppendDecimalFullToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
99 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To Scientific String", CompactNodeTitle =
"->SCI$"), Category =
"Math|BigInteger")
100 static FString ToScientificString(
const FBigInteger& Number);
109 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append Scientific To String", CompactNodeTitle =
"+SCI$"), Category =
"Math|BigInteger")
110 static FString& AppendScientificToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
118 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To Engineering String", CompactNodeTitle =
"->ENG$"), Category =
"Math|BigInteger")
119 static FString ToEngineeringString(
const FBigInteger& Number);
128 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append Engineering To String", CompactNodeTitle =
"+ENG$"), Category =
"Math|BigInteger")
129 static FString& AppendEngineeringToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
137 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To Named String", CompactNodeTitle =
"->thous$"), Category =
"Math|BigInteger")
138 static FString ToNamedString(
const FBigInteger& Number);
147 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append Named To String", CompactNodeTitle =
"+thous$"), Category =
"Math|BigInteger")
148 static FString& AppendNamedToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
156 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To SIName String", CompactNodeTitle =
"->kilo$"), Category =
"Math|BigInteger")
157 static FString ToSINameString(
const FBigInteger& Number);
166 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append SIName To String", CompactNodeTitle =
"+kilo$"), Category =
"Math|BigInteger")
167 static FString& AppendSINameToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
175 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To SISymbol String", CompactNodeTitle =
"->k$"), Category =
"Math|BigInteger")
176 static FString ToSISymbolString(
const FBigInteger& Number);
185 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append SISymbol To String", CompactNodeTitle =
"+k$"), Category =
"Math|BigInteger")
186 static FString& AppendSISymbolToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
194 UFUNCTION(BlueprintPure, meta = (DisplayName =
"To Invariant Hexadecimal String", CompactNodeTitle =
"->HEX$"), Category =
"Math|BigInteger")
195 static FString ToHexadecimalInvariantString(
const FBigInteger& Number);
204 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Append Invariant Hexadecimal To String", CompactNodeTitle =
"+HEX$"), Category =
"Math|BigInteger")
205 static FString& AppendHexadecimalInvariantToString(
const FBigInteger& Number, UPARAM(ref) FString& AppendTo);
213 UFUNCTION(BlueprintPure, meta = (DisplayName =
"Get Default Formatter"), Category =
"Math|BigInteger")
222 UFUNCTION(BlueprintPure, meta = (DisplayName = "Get Scientific Group Label"), Category = "Math|BigInteger")
223 static FString GetScientificGroupLabel(int32 PowerOfTen);
233 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Append Scientific Group Label"), Category = "Math|BigInteger")
234 static FString& AppendScientificGroupLabel(int32 PowerOfTen, UPARAM(ref) FString& AppendTo, int32& Remainder);
242 UFUNCTION(BlueprintPure, meta = (DisplayName = "Get Named Group Label"), Category = "Math|BigInteger")
243 static FString GetNamedGroupLabel(int32 PowerOfTen);
253 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Append Named Group Label"), Category = "Math|BigInteger")
254 static FString& AppendNamedGroupLabel(int32 PowerOfTen, UPARAM(ref) FString& AppendTo, int32& Remainder);
262 UFUNCTION(BlueprintPure, meta = (DisplayName = "Get SI Name Group Label"), Category = "Math|BigInteger")
263 static FString GetSINameGroupLabel(int32 PowerOfTen);
273 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Append SI Name Group Label"), Category = "Math|BigInteger")
274 static FString& AppendSINameGroupLabel(int32 PowerOfTen, UPARAM(ref) FString& AppendTo, int32& Remainder);
282 UFUNCTION(BlueprintPure, meta = (DisplayName = "Get SI Symbol Group Label"), Category = "Math|BigInteger")
283 static FString GetSISymbolGroupLabel(int32 PowerOfTen);
293 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Append SI Symbol Group Label"), Category = "Math|BigInteger")
294 static FString& AppendSISymbolGroupLabel(int32 PowerOfTen, UPARAM(ref) FString& AppendTo, int32& Remainder);
302 UFUNCTION(BlueprintPure, meta = (DisplayName = "Get Default Group Labeler"), Category = "Math|BigInteger")
303 static
UGroupLabeler* GetDefaultGroupLabeler(EDefaultGroupLabelerType Type);
308#if DBN_INLINE_ENABLED
309#include "BigIntegerFormatterLibrary.inl"
Definition: GroupLabeler.h:19
Definition: BigInteger.h:50