Duke's Big Numbers 1.0
C++ and Blueprint libraries for performing math, analysis, and formatting with really large numbers (>10e308).
Loading...
Searching...
No Matches
HexadecimalInvariantFormatter.h
1// Copyright (C)2023 Smiling Cat Entertainment, LTD. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Inline.h"
7#include "Format/BigIntegerFormatter.h"
8#include "HexadecimalInvariantFormatter.generated.h"
9
13UCLASS(Blueprintable)
14class DUKESBIGNUMBERS_API UHexadecimalInvariantFormatter : public UBigIntegerFormatter
15{
16 GENERATED_BODY()
17
18public:
24
31 static FString ToInvariantString(const FBigInteger& number);
32
37 static void AppendInvariantToString(const FBigInteger& number, FString& string);
38
44 static UHexadecimalInvariantFormatter* GetDefault();
45
51 virtual int32 GetRadix() const override;
52
57 virtual void OnAppendToString(const FBigInteger& number, FString& string) const override;
58
59private:
60 static UHexadecimalInvariantFormatter* defaultInstance;
61 static const TCHAR digits[16];
62
63 static void CreateDefault();
64
65};
66
67// If conditional inlining is ON, include inlinable functions here.
68#if DBN_INLINE_ENABLED
69#include "Format/HexadecimalInvariantFormatter.inl"
70#endif
Definition: BigIntegerFormatter.h:19
Definition: HexadecimalInvariantFormatter.h:15
static void AppendInvariantToString(const FBigInteger &number, FString &string)
Definition: BigInteger.h:50