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
GroupLabeler.h
1// Copyright (C)2023 Smiling Cat Entertainment, LTD. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/NoExportTypes.h"
7
8#include "Inline.h"
9
10#include "GroupLabeler.generated.h"
11
17UCLASS(Abstract, Blueprintable)
18class DUKESBIGNUMBERS_API UGroupLabeler : public UObject
19{
20 GENERATED_BODY()
21
22public:
32 UFUNCTION(BlueprintPure, Category = "String|BigInteger")
33 FString GetGroupLabel(int32 powerOfTen) const;
34
47 UFUNCTION(BlueprintPure=false, Category = "String|BigInteger")
48 FString& AppendGroupLabel(int32 PowerOfTen, UPARAM(ref) FString& AppendTo, int32& Remainder) const;
49
62 virtual int32 OnAppendGroupLabel(int32 powerOfTen, FString& string) const;
63
69 UFUNCTION(BlueprintPure, BlueprintInternalUseOnly, Category = "String|BigInteger")
70 FString GetSeparatorBefore() const;
71
77 UFUNCTION(BlueprintCallable, BlueprintInternalUseOnly, Category = "String|BigInteger")
78 void SetSeparatorBefore(const FString& value);
79
80protected:
84 UPROPERTY(BlueprintGetter = GetSeparatorBefore, BlueprintSetter = SetSeparatorBefore, Category = "String|BigInteger")
85 FString SeparatorBefore;
86
87};
88
89// If conditional inlining is ON, include inlinable functions here.
90#if DBN_INLINE_ENABLED
91#include "GroupLabeler.inl"
92#endif
Definition: GroupLabeler.h:19