UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextHistory.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
5#include "Containers/Array.h"
6#include "CoreTypes.h"
14#include "Misc/DateTime.h"
19#include "UObject/NameTypes.h"
20
21class ITextGenerator;
23
25{
26 None = -1,
27 Base = 0,
34 AsDate,
35 AsTime,
40
41 // Add new enum types at the end only! They are serialized by index.
42};
43
44#define OVERRIDE_TEXT_HISTORY_STRINGIFICATION \
45 static bool StaticShouldReadFromBuffer(const TCHAR* Buffer); \
46 virtual bool ShouldReadFromBuffer(const TCHAR* Buffer) const override { return StaticShouldReadFromBuffer(Buffer); } \
47 virtual const TCHAR* ReadFromBuffer(const TCHAR* Buffer, const TCHAR* TextNamespace, const TCHAR* PackageNamespace) override; \
48 virtual bool WriteToBuffer(FString& Buffer, const bool bStripPackageNamespace) const override;
49
52{
53
54#define LOC_DEFINE_REGION
55inline const auto& TextMarker = TEXT("TEXT");
56inline const auto& InvTextMarker = TEXT("INVTEXT");
57inline const auto& NsLocTextMarker = TEXT("NSLOCTEXT");
58inline const auto& LocTextMarker = TEXT("LOCTEXT");
59inline const auto& LocTableMarker = TEXT("LOCTABLE");
60inline const auto& LocGenNumberMarker = TEXT("LOCGEN_NUMBER");
61inline const auto& LocGenPercentMarker = TEXT("LOCGEN_PERCENT");
62inline const auto& LocGenCurrencyMarker = TEXT("LOCGEN_CURRENCY");
63inline const auto& LocGenDateMarker = TEXT("LOCGEN_DATE");
64inline const auto& LocGenTimeMarker = TEXT("LOCGEN_TIME");
65inline const auto& LocGenDateTimeMarker = TEXT("LOCGEN_DATETIME");
66inline const auto& LocGenToLowerMarker = TEXT("LOCGEN_TOLOWER");
67inline const auto& LocGenToUpperMarker = TEXT("LOCGEN_TOUPPER");
68inline const auto& LocGenFormatOrderedMarker = TEXT("LOCGEN_FORMAT_ORDERED");
69inline const auto& LocGenFormatNamedMarker = TEXT("LOCGEN_FORMAT_NAMED");
70inline const auto& GroupedSuffix = TEXT("_GROUPED");
71inline const auto& UngroupedSuffix = TEXT("_UNGROUPED");
72inline const auto& CustomSuffix = TEXT("_CUSTOM");
73inline const auto& UtcSuffix = TEXT("_UTC");
74inline const auto& LocalSuffix = TEXT("_LOCAL");
75#undef LOC_DEFINE_REGION
76
77#define TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(Func, ...) \
78 Buffer = Func(Buffer, ##__VA_ARGS__); \
79 if (!Buffer) { return nullptr; }
80
81#define TEXT_STRINGIFICATION_PEEK_MARKER(T) TextStringificationUtil::PeekMarker(Buffer, T, UE_ARRAY_COUNT(T) - 1)
82#define TEXT_STRINGIFICATION_PEEK_INSENSITIVE_MARKER(T) TextStringificationUtil::PeekInsensitiveMarker(Buffer, T, UE_ARRAY_COUNT(T) - 1)
83bool PeekMarker(const TCHAR* Buffer, const TCHAR* InMarker, const int32 InMarkerLen);
85
86#define TEXT_STRINGIFICATION_SKIP_MARKER(T) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipMarker, T, UE_ARRAY_COUNT(T) - 1)
87#define TEXT_STRINGIFICATION_SKIP_INSENSITIVE_MARKER(T) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipInsensitiveMarker, T, UE_ARRAY_COUNT(T) - 1)
88#define TEXT_STRINGIFICATION_SKIP_MARKER_LEN(T) Buffer += (UE_ARRAY_COUNT(T) - 1)
89const TCHAR* SkipMarker(const TCHAR* Buffer, const TCHAR* InMarker, const int32 InMarkerLen);
91
92#define TEXT_STRINGIFICATION_SKIP_WHITESPACE() TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipWhitespace)
93const TCHAR* SkipWhitespace(const TCHAR* Buffer);
94
95#define TEXT_STRINGIFICATION_SKIP_WHITESPACE_TO_CHAR(C) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipWhitespaceToCharacter, TEXT(C))
97
98#define TEXT_STRINGIFICATION_SKIP_WHITESPACE_AND_CHAR(C) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipWhitespaceAndCharacter, TEXT(C))
100
101#define TEXT_STRINGIFICATION_READ_NUMBER(V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadNumberFromBuffer, V)
103
104#define TEXT_STRINGIFICATION_READ_ALNUM(V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadAlnumFromBuffer, V)
105const TCHAR* ReadAlnumFromBuffer(const TCHAR* Buffer, FString& OutValue);
106
107#define TEXT_STRINGIFICATION_READ_QUOTED_STRING(V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadQuotedStringFromBuffer, V)
108const TCHAR* ReadQuotedStringFromBuffer(const TCHAR* Buffer, FString& OutStr);
109
110#define TEXT_STRINGIFICATION_READ_SCOPED_ENUM(S, V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadScopedEnumFromBuffer, S, V)
111template <typename T>
112const TCHAR* ReadScopedEnumFromBuffer(const TCHAR* Buffer, const FString& Scope, T& OutValue)
113{
114 if (PeekInsensitiveMarker(Buffer, *Scope, Scope.Len()))
115 {
116 // Parsing something of the form: EEnumName::...
117 Buffer += Scope.Len();
118
119 FString EnumValueString;
121
123 {
124 return Buffer;
125 }
126 }
127
128 return nullptr;
129}
130
131template <typename T>
132void WriteScopedEnumToBuffer(FString& Buffer, const TCHAR* Scope, const T Value)
133{
134 Buffer += Scope;
136}
137
138} // namespace TextStringificationUtil
139
141class FTextHistory : public ITextData, public TRefCountingMixin<FTextHistory>
142{
143public:
144 FTextHistory() = default;
145 virtual ~FTextHistory() = default;
146
148 FTextHistory(const FTextHistory&) = delete;
150
151 //~ IRefCountedObject
155
156 //~ ITextData
157 virtual const FString& GetSourceString() const override { return GetDisplayString(); }
158 virtual FTextConstDisplayStringPtr GetLocalizedString() const override { return nullptr; }
159 virtual uint16 GetGlobalHistoryRevision() const override final;
161 virtual const FTextHistory& GetTextHistory() const override final { return *this; }
162 virtual FTextHistory& GetMutableTextHistory() override final { return *this; }
163
165 virtual ETextHistoryType GetType() const = 0;
166
170 virtual FTextId GetTextId() const { return FTextId(); }
171
175 virtual FString BuildInvariantDisplayString() const = 0;
176
182
184 virtual void Serialize(FStructuredArchive::FRecord Record) = 0;
185
190 static bool StaticShouldReadFromBuffer(const TCHAR* Buffer) { return false; }
191 virtual bool ShouldReadFromBuffer(const TCHAR* Buffer) const { return StaticShouldReadFromBuffer(Buffer); }
192
203 virtual const TCHAR* ReadFromBuffer(const TCHAR* Buffer, const TCHAR* TextNamespace, const TCHAR* PackageNamespace) { return nullptr; }
204
214 virtual bool WriteToBuffer(FString& Buffer, const bool bStripPackageNamespace) const { return false; }
215
218
221
224
225protected:
227 virtual bool CanUpdateDisplayString() { return true; }
228
230 virtual void UpdateDisplayString() = 0;
231
234
237
238private:
240 uint16 GlobalRevision = 0;
242 uint16 LocalRevision = 0;
245};
246
249{
250public:
251 FTextHistory_Base() = default;
254
255 //~ Begin FTextHistory Interface
257 virtual ETextHistoryType GetType() const override { return ETextHistoryType::Base; }
258 virtual FTextId GetTextId() const override final;
260 virtual const FString& GetSourceString() const override;
261 virtual const FString& GetDisplayString() const override;
264 virtual void Serialize(FStructuredArchive::FRecord Record) override;
267 //~ End FTextHistory Interface
268
269private:
271 FTextId TextId;
273 FString SourceString;
275 FTextConstDisplayStringPtr LocalizedString;
276};
277
280{
281public:
283 explicit FTextHistory_Generated(FString&& InDisplayString);
284
285 //~ Begin FTextHistory Interface
286 virtual FTextId GetTextId() const override final { return FTextId(); }
287 virtual const FString& GetDisplayString() const override;
288 virtual void Serialize(FStructuredArchive::FRecord Record) override;
289 virtual void UpdateDisplayString() override;
290 //~ End FTextHistory Interface
291
292protected:
296 virtual FString BuildLocalizedDisplayString() const = 0;
297
300};
301
304{
305public:
308
309 //~ Begin FTextHistory Interface
311 virtual ETextHistoryType GetType() const override { return ETextHistoryType::NamedFormat; }
312 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
313 virtual FString BuildLocalizedDisplayString() const override;
314 virtual FString BuildInvariantDisplayString() const override;
315 virtual void Serialize(FStructuredArchive::FRecord Record) override;
316 virtual void GetHistoricFormatData(const FText& InText, TArray<FHistoricTextFormatData>& OutHistoricFormatData) const override;
317 //~ End FTextHistory Interface
318
319private:
321 FTextFormat SourceFmt;
323 FFormatNamedArguments Arguments;
324};
325
328{
329public:
332
333 //~ Begin FTextHistory Interface
335 virtual ETextHistoryType GetType() const override { return ETextHistoryType::OrderedFormat; }
336 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
337 virtual FString BuildLocalizedDisplayString() const override;
338 virtual FString BuildInvariantDisplayString() const override;
339 virtual void Serialize(FStructuredArchive::FRecord Record) override;
340 virtual void GetHistoricFormatData(const FText& InText, TArray<FHistoricTextFormatData>& OutHistoricFormatData) const override;
341 //~ End FTextHistory Interface
342
343private:
345 FTextFormat SourceFmt;
347 FFormatOrderedArguments Arguments;
348};
349
352{
353public:
356
357 //~ Begin FTextHistory Interface
359 virtual ETextHistoryType GetType() const override { return ETextHistoryType::ArgumentFormat; }
360 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
361 virtual FString BuildLocalizedDisplayString() const override;
362 virtual FString BuildInvariantDisplayString() const override;
363 virtual void Serialize(FStructuredArchive::FRecord Record) override;
364 virtual void GetHistoricFormatData(const FText& InText, TArray<FHistoricTextFormatData>& OutHistoricFormatData) const override;
365 //~ End FTextHistory Interface
366
367private:
369 FTextFormat SourceFmt;
372};
373
376{
377public:
380
381 //~ Begin FTextHistory Interface
382 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
383 virtual void Serialize(FStructuredArchive::FRecord Record) override;
384 //~ End FTextHistory interface
385
386protected:
388 FString BuildNumericDisplayString(const FDecimalNumberFormattingRules& InFormattingRules, const int32 InValueMultiplier = 1) const;
389
396};
397
400{
401public:
404
405 //~ Begin FTextHistory Interface
407 virtual ETextHistoryType GetType() const override { return ETextHistoryType::AsNumber; }
408 virtual FString BuildLocalizedDisplayString() const override;
409 virtual FString BuildInvariantDisplayString() const override;
410 virtual void Serialize(FStructuredArchive::FRecord Record) override;
411 virtual bool GetHistoricNumericData(const FText& InText, FHistoricTextNumericData& OutHistoricNumericData) const override;
412 //~ End FTextHistory interface
413};
414
417{
418public:
421
422 //~ Begin FTextHistory Interface
424 virtual ETextHistoryType GetType() const override { return ETextHistoryType::AsPercent; }
425 virtual FString BuildLocalizedDisplayString() const override;
426 virtual FString BuildInvariantDisplayString() const override;
427 virtual void Serialize(FStructuredArchive::FRecord Record) override;
428 virtual bool GetHistoricNumericData(const FText& InText, FHistoricTextNumericData& OutHistoricNumericData) const override;
429 //~ End FTextHistory interface
430};
431
434{
435public:
438
439 //~ Begin FTextHistory Interface
441 virtual ETextHistoryType GetType() const override { return ETextHistoryType::AsCurrency; }
442 virtual FString BuildLocalizedDisplayString() const override;
443 virtual FString BuildInvariantDisplayString() const override;
444 virtual void Serialize(FStructuredArchive::FRecord Record) override;
445 //~ End FTextHistory Interface
446
447private:
449 FString CurrencyCode;
450};
451
454{
455public:
458
459 //~ Begin FTextHistory Interface
461 virtual ETextHistoryType GetType() const override { return ETextHistoryType::AsDate; }
462 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
463 virtual FString BuildLocalizedDisplayString() const override;
464 virtual FString BuildInvariantDisplayString() const override;
465 virtual void Serialize(FStructuredArchive::FRecord Record) override;
466 //~ End FTextHistory Interface
467
468private:
470 FDateTime SourceDateTime;
472 EDateTimeStyle::Type DateStyle;
474 FString TimeZone;
476 FCulturePtr TargetCulture;
477};
478
481{
482public:
485
486 //~ Begin FTextHistory Interface
488 virtual ETextHistoryType GetType() const override { return ETextHistoryType::AsTime; }
489 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
490 virtual FString BuildLocalizedDisplayString() const override;
491 virtual FString BuildInvariantDisplayString() const override;
492 virtual void Serialize(FStructuredArchive::FRecord Record) override;
493 //~ End FTextHistory Interface
494
495private:
497 FDateTime SourceDateTime;
499 EDateTimeStyle::Type TimeStyle;
501 FString TimeZone;
503 FCulturePtr TargetCulture;
504};
505
508{
509public:
513
514 //~ Begin FTextHistory Interface
516 virtual ETextHistoryType GetType() const override { return ETextHistoryType::AsDateTime; }
517 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
518 virtual FString BuildLocalizedDisplayString() const override;
519 virtual FString BuildInvariantDisplayString() const override;
520 virtual void Serialize(FStructuredArchive::FRecord Record) override;
521 //~ End FTextHistory Interfaces
522
523private:
525 FDateTime SourceDateTime;
527 EDateTimeStyle::Type DateStyle;
529 EDateTimeStyle::Type TimeStyle;
531 FString CustomPattern;
533 FString TimeZone;
535 FCulturePtr TargetCulture;
536};
537
540{
541public:
543 {
544 ToLower = 0,
545 ToUpper,
546
547 // Add new enum types at the end only! They are serialized by index.
548 };
549
552
553 //~ Begin FTextHistory Interface
555 virtual ETextHistoryType GetType() const override { return ETextHistoryType::Transform; }
556 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
557 virtual FString BuildLocalizedDisplayString() const override;
558 virtual FString BuildInvariantDisplayString() const override;
559 virtual void Serialize(FStructuredArchive::FRecord Record) override;
560 virtual void GetHistoricFormatData(const FText& InText, TArray<FHistoricTextFormatData>& OutHistoricFormatData) const override;
561 virtual bool GetHistoricNumericData(const FText& InText, FHistoricTextNumericData& OutHistoricNumericData) const override;
562 //~ End FTextHistory Interfaces
563
564private:
566 FText SourceText;
568 ETransformType TransformType;
569};
570
573{
574public:
577
578 //~ Begin FTextHistory Interface
581 virtual FTextId GetTextId() const override final;
582 virtual FTextConstDisplayStringPtr GetLocalizedString() const override;
583 virtual const FString& GetSourceString() const override;
584 virtual const FString& GetDisplayString() const override;
585 virtual FString BuildInvariantDisplayString() const override;
586 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
587 virtual void Serialize(FStructuredArchive::FRecord Record) override;
588 virtual void UpdateDisplayString() override;
589 //~ End FTextHistory Interface
590
591 void GetTableIdAndKey(FName& OutTableId, FTextKey& OutKey) const;
592
593private:
594 enum class EStringTableLoadingPhase : uint8
595 {
597 PendingLoad,
599 Loading,
601 Loaded,
602 };
603
605 class FStringTableReferenceData : public TSharedFromThis<FStringTableReferenceData, ESPMode::ThreadSafe>
606 {
607 public:
610
612 bool IsIdentical(const FStringTableReferenceData& Other) const;
613
615 FName GetTableId() const;
616
618 FTextKey GetKey() const;
619
621 void GetTableIdAndKey(FName& OutTableId, FTextKey& OutKey) const;
622
624 void CollectStringTableAssetReferences(FStructuredArchive::FRecord Record);
625
627 FTextId GetTextId();
628
630 FStringTableEntryConstPtr ResolveStringTableEntry();
631
633 FTextConstDisplayStringPtr ResolveDisplayString(const bool bForceRefresh = false);
634
635 private:
637 void ConditionalBeginAssetLoad();
638
640 FName TableId;
641
644
646 EStringTableLoadingPhase LoadingPhase = EStringTableLoadingPhase::PendingLoad;
647
650
652 FTextConstDisplayStringPtr DisplayString;
653
656 };
657 typedef TSharedPtr<FStringTableReferenceData, ESPMode::ThreadSafe> FStringTableReferenceDataPtr;
658 typedef TWeakPtr<FStringTableReferenceData, ESPMode::ThreadSafe> FStringTableReferenceDataWeakPtr;
659
661 FStringTableReferenceDataPtr StringTableReferenceData;
662};
663
666{
667public:
670
671 //~ Begin FTextHistory Interface
672 virtual ETextHistoryType GetType() const override { return ETextHistoryType::TextGenerator; }
673 virtual bool IdenticalTo(const FTextHistory& Other, const ETextIdenticalModeFlags CompareModeFlags) const override;
674 virtual FString BuildLocalizedDisplayString() const override;
675 virtual FString BuildInvariantDisplayString() const override;
676 virtual void Serialize(FStructuredArchive::FRecord Record) override;
677 //~ End FTextHistory Interface
678
679private:
682};
683
684#undef OVERRIDE_TEXT_HISTORY_STRINGIFICATION
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool LexTryParseString(EBuildConfiguration &OutConfiguration, const TCHAR *Configuration)
Definition GenericPlatformMisc.cpp:270
const TCHAR * LexToString(EAnalyticsRecordEventMode Mode)
Definition IAnalyticsProvider.cpp:5
EStringTableLoadingPolicy
Definition StringTableCoreFwd.h:9
ETextHistoryType
Definition TextHistory.h:25
ETextIdenticalModeFlags
Definition Text.h:52
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Text.h:928
Definition Text.h:1170
Definition NameTypes.h:617
Definition StructuredArchiveSlots.h:144
Definition StructuredArchive.h:57
Definition Text.h:278
Definition TextHistory.h:352
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:358
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:359
Definition TextHistory.h:434
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:440
FTextHistory_AsCurrency()=default
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:441
Definition TextHistory.h:508
FTextHistory_AsDateTime()=default
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:515
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:516
Definition TextHistory.h:454
FTextHistory_AsDate()=default
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:461
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:460
Definition TextHistory.h:400
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:407
FTextHistory_AsNumber()=default
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:406
Definition TextHistory.h:417
FTextHistory_AsPercent()=default
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:424
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:423
Definition TextHistory.h:481
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:487
FTextHistory_AsTime()=default
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:488
Definition TextHistory.h:249
virtual void UpdateDisplayString() override
Definition TextHistory.cpp:903
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:256
virtual const FString & GetDisplayString() const override
Definition TextHistory.cpp:776
virtual FTextId GetTextId() const override final
Definition TextHistory.cpp:761
virtual const FString & GetSourceString() const override
Definition TextHistory.cpp:771
virtual bool IdenticalTo(const FTextHistory &Other, const ETextIdenticalModeFlags CompareModeFlags) const override
Definition TextHistory.cpp:786
FTextHistory_Base()=default
virtual bool CanUpdateDisplayString() override
Definition TextHistory.cpp:898
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:257
virtual FString BuildInvariantDisplayString() const override
Definition TextHistory.cpp:781
virtual FTextConstDisplayStringPtr GetLocalizedString() const override
Definition TextHistory.cpp:766
Definition TextHistory.h:376
FFormatArgumentValue SourceValue
Definition TextHistory.h:391
FCulturePtr TargetCulture
Definition TextHistory.h:395
TOptional< FNumberFormattingOptions > FormatOptions
Definition TextHistory.h:393
FTextHistory_FormatNumber()=default
Definition TextHistory.h:280
FTextHistory_Generated()=default
virtual FString BuildLocalizedDisplayString() const =0
virtual FTextId GetTextId() const override final
Definition TextHistory.h:286
FString DisplayString
Definition TextHistory.h:299
Definition TextHistory.h:304
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:310
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:311
FTextHistory_NamedFormat()=default
Definition TextHistory.h:328
FTextHistory_OrderedFormat()=default
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:334
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:335
Definition TextHistory.h:573
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:580
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:579
Definition TextHistory.h:666
FTextHistory_TextGenerator()=default
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:672
Definition TextHistory.h:540
ETransformType
Definition TextHistory.h:543
OVERRIDE_TEXT_HISTORY_STRINGIFICATION
Definition TextHistory.h:554
FTextHistory_Transform()=default
virtual ETextHistoryType GetType() const override
Definition TextHistory.h:555
Definition TextHistory.h:142
virtual uint32 GetRefCount() const override final
Definition TextHistory.h:154
FTextHistory & operator=(FTextHistory &)=delete
virtual FString BuildInvariantDisplayString() const =0
virtual FTextId GetTextId() const
Definition TextHistory.h:170
virtual bool IdenticalTo(const FTextHistory &Other, const ETextIdenticalModeFlags CompareModeFlags) const =0
void MarkDisplayStringUpToDate()
Definition TextHistory.cpp:726
virtual void GetHistoricFormatData(const FText &InText, TArray< FHistoricTextFormatData > &OutHistoricFormatData) const
Definition TextHistory.h:217
virtual FReturnedRefCountValue AddRef() const override final
Definition TextHistory.h:152
virtual bool WriteToBuffer(FString &Buffer, const bool bStripPackageNamespace) const
Definition TextHistory.h:214
virtual bool ShouldReadFromBuffer(const TCHAR *Buffer) const
Definition TextHistory.h:191
virtual uint16 GetGlobalHistoryRevision() const override final
Definition TextHistory.cpp:684
virtual void Serialize(FStructuredArchive::FRecord Record)=0
virtual bool CanUpdateDisplayString()
Definition TextHistory.h:227
virtual const FTextHistory & GetTextHistory() const override final
Definition TextHistory.h:161
void MarkDisplayStringOutOfDate()
Definition TextHistory.cpp:717
virtual bool GetHistoricNumericData(const FText &InText, FHistoricTextNumericData &OutHistoricNumericData) const
Definition TextHistory.h:220
virtual void UpdateDisplayString()=0
virtual ~FTextHistory()=default
FTextHistory()=default
virtual const TCHAR * ReadFromBuffer(const TCHAR *Buffer, const TCHAR *TextNamespace, const TCHAR *PackageNamespace)
Definition TextHistory.h:203
virtual uint16 GetLocalHistoryRevision() const override final
Definition TextHistory.cpp:690
void UpdateDisplayStringIfOutOfDate()
Definition TextHistory.cpp:696
FTextHistory(const FTextHistory &)=delete
virtual const FString & GetSourceString() const override
Definition TextHistory.h:157
virtual uint32 Release() const override final
Definition TextHistory.h:153
virtual FTextConstDisplayStringPtr GetLocalizedString() const override
Definition TextHistory.h:158
virtual ETextHistoryType GetType() const =0
static bool StaticShouldReadFromBuffer(const TCHAR *Buffer)
Definition TextHistory.h:190
virtual FTextHistory & GetMutableTextHistory() override final
Definition TextHistory.h:162
Definition TextKey.h:163
Definition TextKey.h:75
Definition Text.h:385
Definition ITextData.h:15
virtual const FString & GetDisplayString() const =0
Definition ITextGenerator.h:14
Definition Array.h:670
Definition RefCounting.h:355
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
Definition Mutex.h:18
Type
Definition Text.h:127
Definition TextHistory.cpp:28
const auto & LocGenFormatOrderedMarker
Definition TextHistory.h:68
const auto & InvTextMarker
Definition TextHistory.h:56
const TCHAR * SkipInsensitiveMarker(const TCHAR *Buffer, const TCHAR *InMarker, const int32 InMarkerLen)
Definition TextHistory.cpp:51
const TCHAR * SkipWhitespace(const TCHAR *Buffer)
Definition TextHistory.cpp:62
const TCHAR * SkipMarker(const TCHAR *Buffer, const TCHAR *InMarker, const int32 InMarkerLen)
Definition TextHistory.cpp:40
const TCHAR * SkipWhitespaceAndCharacter(const TCHAR *Buffer, const TCHAR InChar)
Definition TextHistory.cpp:84
const auto & CustomSuffix
Definition TextHistory.h:72
const auto & LocTextMarker
Definition TextHistory.h:58
void WriteScopedEnumToBuffer(FString &Buffer, const TCHAR *Scope, const T Value)
Definition TextHistory.h:132
const auto & LocGenCurrencyMarker
Definition TextHistory.h:62
const TCHAR * ReadAlnumFromBuffer(const TCHAR *Buffer, FString &OutValue)
Definition TextHistory.cpp:151
const auto & LocGenToUpperMarker
Definition TextHistory.h:67
const TCHAR * ReadQuotedStringFromBuffer(const TCHAR *Buffer, FString &OutStr)
Definition TextHistory.cpp:167
bool PeekMarker(const TCHAR *Buffer, const TCHAR *InMarker, const int32 InMarkerLen)
Definition TextHistory.cpp:30
const auto & LocGenDateMarker
Definition TextHistory.h:63
const TCHAR * ReadNumberFromBuffer(const TCHAR *Buffer, FFormatArgumentValue &OutValue)
Definition TextHistory.cpp:96
const auto & LocGenDateTimeMarker
Definition TextHistory.h:65
const auto & TextMarker
Definition TextHistory.h:55
const auto & LocGenPercentMarker
Definition TextHistory.h:61
const auto & UtcSuffix
Definition TextHistory.h:73
const auto & UngroupedSuffix
Definition TextHistory.h:71
const auto & NsLocTextMarker
Definition TextHistory.h:57
const TCHAR * ReadScopedEnumFromBuffer(const TCHAR *Buffer, const FString &Scope, T &OutValue)
Definition TextHistory.h:112
const auto & LocalSuffix
Definition TextHistory.h:74
bool PeekInsensitiveMarker(const TCHAR *Buffer, const TCHAR *InMarker, const int32 InMarkerLen)
Definition TextHistory.cpp:35
const TCHAR * SkipWhitespaceToCharacter(const TCHAR *Buffer, const TCHAR InChar)
Definition TextHistory.cpp:72
const auto & LocGenToLowerMarker
Definition TextHistory.h:66
const auto & LocGenNumberMarker
Definition TextHistory.h:60
const auto & LocTableMarker
Definition TextHistory.h:59
const auto & LocGenTimeMarker
Definition TextHistory.h:64
const auto & GroupedSuffix
Definition TextHistory.h:70
const auto & LocGenFormatNamedMarker
Definition TextHistory.h:69
FMutex FTransactionallySafeMutex
Definition TransactionallySafeMutex.h:324
Definition DateTime.h:76
Definition FastDecimalFormat.h:16
Definition Text.h:199
Definition RefCounting.h:29
Definition Optional.h:131