5#include "Containers/Array.h"
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;
54#define LOC_DEFINE_REGION
75#undef LOC_DEFINE_REGION
77#define TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(Func, ...) \
78 Buffer = Func(Buffer, ##__VA_ARGS__); \
79 if (!Buffer) { return nullptr; }
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)
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)
92#define TEXT_STRINGIFICATION_SKIP_WHITESPACE() TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipWhitespace)
95#define TEXT_STRINGIFICATION_SKIP_WHITESPACE_TO_CHAR(C) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipWhitespaceToCharacter, TEXT(C))
98#define TEXT_STRINGIFICATION_SKIP_WHITESPACE_AND_CHAR(C) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::SkipWhitespaceAndCharacter, TEXT(C))
101#define TEXT_STRINGIFICATION_READ_NUMBER(V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadNumberFromBuffer, V)
104#define TEXT_STRINGIFICATION_READ_ALNUM(V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadAlnumFromBuffer, V)
107#define TEXT_STRINGIFICATION_READ_QUOTED_STRING(V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadQuotedStringFromBuffer, V)
110#define TEXT_STRINGIFICATION_READ_SCOPED_ENUM(S, V) TEXT_STRINGIFICATION_FUNC_MODIFY_BUFFER_AND_VALIDATE(TextStringificationUtil::ReadScopedEnumFromBuffer, S, V)
240 uint16 GlobalRevision = 0;
273 FString SourceString;
313 virtual FString BuildLocalizedDisplayString()
const override;
314 virtual FString BuildInvariantDisplayString()
const override;
337 virtual FString BuildLocalizedDisplayString()
const override;
338 virtual FString BuildInvariantDisplayString()
const override;
361 virtual FString BuildLocalizedDisplayString()
const override;
362 virtual FString BuildInvariantDisplayString()
const override;
408 virtual FString BuildLocalizedDisplayString()
const override;
409 virtual FString BuildInvariantDisplayString()
const override;
425 virtual FString BuildLocalizedDisplayString()
const override;
426 virtual FString BuildInvariantDisplayString()
const override;
442 virtual FString BuildLocalizedDisplayString()
const override;
443 virtual FString BuildInvariantDisplayString()
const override;
449 FString CurrencyCode;
463 virtual FString BuildLocalizedDisplayString()
const override;
464 virtual FString BuildInvariantDisplayString()
const override;
490 virtual FString BuildLocalizedDisplayString()
const override;
491 virtual FString BuildInvariantDisplayString()
const override;
518 virtual FString BuildLocalizedDisplayString()
const override;
519 virtual FString BuildInvariantDisplayString()
const override;
531 FString CustomPattern;
557 virtual FString BuildLocalizedDisplayString()
const override;
558 virtual FString BuildInvariantDisplayString()
const override;
568 ETransformType TransformType;
594 enum class EStringTableLoadingPhase :
uint8
605 class FStringTableReferenceData :
public TSharedFromThis<FStringTableReferenceData, ESPMode::ThreadSafe>
612 bool IsIdentical(
const FStringTableReferenceData&
Other)
const;
615 FName GetTableId()
const;
637 void ConditionalBeginAssetLoad();
646 EStringTableLoadingPhase LoadingPhase = EStringTableLoadingPhase::PendingLoad;
661 FStringTableReferenceDataPtr StringTableReferenceData;
674 virtual FString BuildLocalizedDisplayString()
const override;
675 virtual FString BuildInvariantDisplayString()
const override;
684#undef OVERRIDE_TEXT_HISTORY_STRINGIFICATION
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
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
Definition NameTypes.h:617
Definition StructuredArchiveSlots.h:144
Definition StructuredArchive.h:57
Definition TextHistory.h:352
FTextHistory_ArgumentDataFormat()=default
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
FTextHistory_StringTableEntry()=default
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
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 ITextData.h:15
virtual const FString & GetDisplayString() const =0
Definition ITextGenerator.h:14
Definition RefCounting.h:355
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
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 RefCounting.h:29
Definition Optional.h:131