UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Text.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreTypes.h"
9#include "Containers/Array.h"
21#include "Misc/Optional.h"
22#include "Templates/UniquePtr.h"
24#include "Templates/Requires.h"
25
26#include <type_traits>
27
28class FText;
29class FTextHistory;
30class FTextFormatData;
35class ITextGenerator;
36
37//DECLARE_CYCLE_STAT_EXTERN( TEXT("Format Text"), STAT_TextFormat, STATGROUP_Text, );
38
39namespace ETextFlag
40{
41 enum Type
42 {
43 Transient = (1 << 0),
44 CultureInvariant = (1 << 1),
46 Immutable = (1 << 3),
47 InitializedFromString = (1<<4), // this ftext was initialized using FromString
48 };
49}
50
52{
54 None = 0,
55
64 DeepCompare = 1<<0,
65
75};
77
79{
81 None = 0,
82
88
91};
93
95{
97 Ordinal,
98};
99
101{
102 Zero = 0,
103 One, // Singular
104 Two, // Dual
105 Few, // Paucal
106 Many, // Also used for fractions if they have a separate class
107 Other, // General plural form, also used if the language only has a single form
108 Count, // Number of entries in this enum
109};
110
112enum class ETextGender : uint8
113{
114 Masculine,
115 Feminine,
116 Neuter,
117 // Add new enum types at the end only! They are serialized by index.
118};
122
125{
126 enum Type : int
127 {
133 Custom, // Internal use only
134 // Add new enum types at the end only! They are serialized by index.
135 };
136}
140
143{
144 enum Type : int
145 {
152 // Add new enum types at the end only! They are serialized by index.
153 };
154}
155
158
163
166{
181
182
183 // Add new enum types at the end only! They are serialized by index.
184};
188
191{
192 /* International Electrotechnical Commission (MiB) 1024-based */
194 /* International System of Units 1000-based */
195 SI
197
199{
201
204
207
210
213
216
219
222
225
227
230
233
236
239};
240
270
278{
279 friend class FTextFormatter;
280
281public:
283 {
285 Invalid,
287 Simple,
289 Complex,
290 };
291
296
302
308
315
322
326 CORE_API bool IsValid() const;
327
332
338
343 CORE_API const FString& GetSourceString() const;
344
349
354
359
365
370
371private:
377
380};
381
382class FCulture;
383
384class FText
385{
386public:
387
388 static CORE_API const FText& GetEmpty();
389
390public:
391
392 CORE_API FText();
393
394 FText(const FText&) = default;
395 FText& operator=(const FText&) = default;
396
399
400 // Safely copies an FText from the open to a closed transaction.
401 // See AutoRTFM::Open().
403
407 [[nodiscard]] static CORE_API FText AsNumber(float Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
408 [[nodiscard]] static CORE_API FText AsNumber(double Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
409 [[nodiscard]] static CORE_API FText AsNumber(int8 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
410 [[nodiscard]] static CORE_API FText AsNumber(int16 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
411 [[nodiscard]] static CORE_API FText AsNumber(int32 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
412 [[nodiscard]] static CORE_API FText AsNumber(int64 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
413 [[nodiscard]] static CORE_API FText AsNumber(uint8 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
414 [[nodiscard]] static CORE_API FText AsNumber(uint16 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
415 [[nodiscard]] static CORE_API FText AsNumber(uint32 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
416 [[nodiscard]] static CORE_API FText AsNumber(uint64 Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
417 [[nodiscard]] static CORE_API FText AsNumber(long Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
418
419
420 [[nodiscard]] static CORE_API FText AsCurrency(float Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
421 [[nodiscard]] static CORE_API FText AsCurrency(double Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
422 [[nodiscard]] static CORE_API FText AsCurrency(int8 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
423 [[nodiscard]] static CORE_API FText AsCurrency(int16 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
424 [[nodiscard]] static CORE_API FText AsCurrency(int32 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
425 [[nodiscard]] static CORE_API FText AsCurrency(int64 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
426 [[nodiscard]] static CORE_API FText AsCurrency(uint8 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
427 [[nodiscard]] static CORE_API FText AsCurrency(uint16 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
428 [[nodiscard]] static CORE_API FText AsCurrency(uint32 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
429 [[nodiscard]] static CORE_API FText AsCurrency(uint64 Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
430 [[nodiscard]] static CORE_API FText AsCurrency(long Val, const FString& CurrencyCode = FString(), const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
431
438 [[nodiscard]] static CORE_API FText AsCurrencyBase(int64 BaseVal, const FString& CurrencyCode, const FCulturePtr& TargetCulture = NULL, int32 ForceDecimalPlaces = -1);
439
443 [[nodiscard]] static CORE_API FText AsPercent(float Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
444 [[nodiscard]] static CORE_API FText AsPercent(double Val, const FNumberFormattingOptions* const Options = NULL, const FCulturePtr& TargetCulture = NULL);
445
454 [[nodiscard]] static CORE_API FText AsDate(const FDateTime& DateTime, const EDateTimeStyle::Type DateStyle = EDateTimeStyle::Default, const FString& TimeZone = FString(), const FCulturePtr& TargetCulture = NULL);
455 [[nodiscard]] static CORE_API FText AsDateTime(const FDateTime& DateTime, const EDateTimeStyle::Type DateStyle = EDateTimeStyle::Default, const EDateTimeStyle::Type TimeStyle = EDateTimeStyle::Default, const FString& TimeZone = FString(), const FCulturePtr& TargetCulture = NULL);
456 [[nodiscard]] static CORE_API FText AsDateTime(const FDateTime& DateTime, const FString& CustomPattern, const FString& TimeZone = FString(), const FCulturePtr& TargetCulture = NULL);
457 [[nodiscard]] static CORE_API FText AsTime(const FDateTime& DateTime, const EDateTimeStyle::Type TimeStyle = EDateTimeStyle::Default, const FString& TimeZone = FString(), const FCulturePtr& TargetCulture = NULL);
458
462 [[nodiscard]] static CORE_API FText AsTimespan(const FTimespan& Timespan, const FCulturePtr& TargetCulture = NULL);
463
467 [[nodiscard]] static CORE_API FString GetInvariantTimeZone();
468
473
478
484
488 [[nodiscard]] static CORE_API FText FromName( const FName& Val);
489
493 [[nodiscard]] static CORE_API FText FromString( const ANSICHAR* String );
494 [[nodiscard]] static CORE_API FText FromString( const UTF8CHAR* String );
495 [[nodiscard]] static CORE_API FText FromString( const WIDECHAR* String );
497 [[nodiscard]] static CORE_API FText FromString( const FString& String );
498 [[nodiscard]] static CORE_API FText FromString( FString&& String );
500
507
517 [[nodiscard]] static CORE_API FText AsCultureInvariant( FString&& String );
518
523
535 [[nodiscard]] static CORE_API FText AsLocalizable_Advanced(const FTextKey& Namespace, const FTextKey& Key, const TCHAR* String);
536 [[nodiscard]] static CORE_API FText AsLocalizable_Advanced(const FTextKey& Namespace, const FTextKey& Key, FStringView String);
537 [[nodiscard]] static CORE_API FText AsLocalizable_Advanced(const FTextKey& Namespace, const FTextKey& Key, FString&& String);
538 [[nodiscard]] static CORE_API FText AsLocalizable_Advanced_LocText(const TCHAR* Namespace, const TCHAR* Key, const TCHAR* String); // For use by LOCTEXT to avoid constructing temp FTextKeys in every caller
539
553 static CORE_API bool FindTextInLiveTable_Advanced(const FTextKey& Namespace, const FTextKey& Key, FText& OutText, const FString* const SourceString = nullptr);
554
555 UE_DEPRECATED(5.5, "FText::FindText is deprecated as it can no longer find untranslated text. Consider FText::FindTextInLiveTable_Advanced or FText::AsLocalizable_Advanced as a replacement, depending on your use-case.")
556 static UE_FORCEINLINE_HINT bool FindText(const FTextKey& Namespace, const FTextKey& Key, FText& OutText, const FString* const SourceString = nullptr)
557 {
558 return FText::FindTextInLiveTable_Advanced(Namespace, Key, OutText, SourceString);
559 }
560
561 [[nodiscard]] CORE_API const FString& ToString() const;
562
564 [[nodiscard]] CORE_API FString BuildSourceString() const;
565
566 [[nodiscard]] CORE_API bool IsNumeric() const;
567
570
572 [[nodiscard]] CORE_API bool EqualToCaseIgnored( const FText& Other ) const;
573
583
585 {
586 public:
588
589 CORE_API bool operator()(const FText& A, const FText& B) const;
590
591 private:
592#if UE_ENABLE_ICU
595#endif
596 };
597
598 [[nodiscard]] CORE_API bool IsEmpty() const;
599
600 [[nodiscard]] CORE_API bool IsEmptyOrWhitespace() const;
601
606 [[nodiscard]] CORE_API FText ToLower() const;
607
612 [[nodiscard]] CORE_API FText ToUpper() const;
613
617 [[nodiscard]] static CORE_API FText TrimPreceding( const FText& );
618
622 [[nodiscard]] static CORE_API FText TrimTrailing( const FText& );
623
628
632 UE_DEPRECATED(5.7, "FText::IsWhitespace is deprecated. Use FTextChar::IsWhitespace instead.")
633 [[nodiscard]] static CORE_API bool IsWhitespace( const TCHAR Char );
634
636
649
662
675 template <typename... ArgTypes>
676 [[nodiscard]] static inline FText Format(FTextFormat Fmt, ArgTypes... Args)
677 {
678 static_assert((TIsConstructible<FFormatArgumentValue, ArgTypes>::Value && ...), "Invalid argument type passed to FText::Format");
679 static_assert(sizeof...(Args) > 0, "FText::Format expects at least one non-format argument"); // we do this to ensure that people don't call Format for no good reason
680
681 // We do this to force-select the correct overload, because overload resolution will cause compile
682 // errors when it tries to instantiate the FFormatNamedArguments overloads.
684
686 }
687
700 template < typename... TArguments >
701 [[nodiscard]] static FText FormatNamed( FTextFormat Fmt, TArguments&&... Args );
702
715 template < typename... TArguments >
716 [[nodiscard]] static FText FormatOrdered( FTextFormat Fmt, TArguments&&... Args );
717
726 [[nodiscard]] static CORE_API FText Join(const FText& Delimiter, const FFormatOrderedArguments& Args);
727 [[nodiscard]] static CORE_API FText Join(const FText& Delimiter, const TArray<FText>& Args);
728
737 template <typename... ArgTypes>
738 [[nodiscard]] static inline FText Join(const FText& Delimiter, ArgTypes... Args)
739 {
740 static_assert((TIsConstructible<FFormatArgumentValue, ArgTypes>::Value && ...), "Invalid argument type passed to FText::Join");
741 static_assert(sizeof...(Args) > 0, "FText::Join expects at least one non-format argument"); // we do this to ensure that people don't call Join for no good reason
742
743 return Join(Delimiter, FFormatOrderedArguments{ MoveTemp(Args)... });
744 }
745
753
761
768 static CORE_API void RegisterTextGenerator( FName TypeID, FCreateTextGeneratorDelegate FactoryFunction );
769
777 template < typename T >
778 static void RegisterTextGenerator( FName TypeID )
779 {
780 RegisterTextGenerator(TypeID, FCreateTextGeneratorDelegate::CreateStatic( &CreateTextGenerator<T> ));
781 }
782
790 template < typename T >
792 {
793 RegisterTextGenerator<T>( T::TypeID );
794 }
795
803 static CORE_API void UnregisterTextGenerator( FName TypeID );
804
812 template < typename T >
814 {
815 UnregisterTextGenerator( T::TypeID );
816 }
817
818 [[nodiscard]] CORE_API bool IsTransient() const;
819 [[nodiscard]] CORE_API bool IsCultureInvariant() const;
821 [[nodiscard]] CORE_API bool IsFromStringTable() const;
822
824
826
827#if WITH_EDITORONLY_DATA
831 [[nodiscard]] static CORE_API FText ChangeKey( const FTextKey& Namespace, const FTextKey& Key, const FText& Text );
832#endif
833
835 // Start - intrusive TOptional<FText> state //
837 constexpr static bool bHasIntrusiveUnsetOptionalState = true;
839
841 : TextData(nullptr)
842 , Flags(0)
843 {
844 }
846 {
847 return TextData == nullptr;
848 }
850 // End - intrusive TOptional<FText> state //
852private:
853 template <
854 typename HistoryType
855 UE_REQUIRES(std::is_convertible_v<HistoryType*, ITextData*>)
856 >
858 : TextData(MoveTemp(InTextData))
859 , Flags(0)
860 {
861 }
862
863 CORE_API explicit FText( FString&& InSourceString );
864
866
868
869 static CORE_API void SerializeText( FArchive& Ar, FText& Value );
870 static CORE_API void SerializeText(FStructuredArchive::FSlot Slot, FText& Value);
871
873 CORE_API void GetHistoricFormatData(TArray<FHistoricTextFormatData>& OutHistoricFormatData) const;
874
876 CORE_API bool GetHistoricNumericData(FHistoricTextNumericData& OutHistoricNumericData) const;
877
879 CORE_API void Rebuild() const;
880
881 static CORE_API FText FormatNamedImpl(FTextFormat&& Fmt, FFormatNamedArguments&& InArguments);
882 static CORE_API FText FormatOrderedImpl(FTextFormat&& Fmt, FFormatOrderedArguments&& InArguments);
883
884private:
885 template<typename T1, typename T2>
886 static FText AsNumberTemplate(T1 Val, const FNumberFormattingOptions* const Options, const FCulturePtr& TargetCulture);
887 template<typename T1, typename T2>
888 static FText AsCurrencyTemplate(T1 Val, const FString& CurrencyCode, const FNumberFormattingOptions* const Options, const FCulturePtr& TargetCulture);
889 template<typename T1, typename T2>
890 static FText AsPercentTemplate(T1 Val, const FNumberFormattingOptions* const Options, const FCulturePtr& TargetCulture);
891
892private:
893 template < typename T >
894 static TSharedRef<ITextGenerator> CreateTextGenerator(FStructuredArchive::FRecord Record);
895
897 const ITextData& GetTextData() const;
898
899private:
902
905
906public:
907 friend class FTextCache;
908 friend class FTextFormatter;
909 friend class FTextFormatData;
910 friend class FTextSnapshot;
911 friend class FTextInspector;
912 friend class FTextStringHelper;
914 friend class FArchive;
918 friend class FTextProperty;
925};
926
928{
929public:
932 , TextValue(FText::GetEmpty())
933 {
934 }
935
937
939 : Type(EFormatArgumentType::Int)
940 {
941 IntValue = Value;
942 }
943
949
951 : Type(EFormatArgumentType::Int)
952 {
953 IntValue = Value;
954 }
955
961
964 {
966 }
967
970 {
972 }
973
976 , TextValue(Value)
977 {
978 }
979
982 , TextValue(MoveTemp(Value))
983 {
984 }
985
991
993
995
996 CORE_API FString ToFormattedString(const bool bInRebuildText, const bool bInRebuildAsSource) const;
997 CORE_API void ToFormattedString(const bool bInRebuildText, const bool bInRebuildAsSource, FString& OutResult) const;
998
999 CORE_API FString ToExportedString(const bool bStripPackageNamespace = false) const;
1000 CORE_API void ToExportedString(FString& OutResult, const bool bStripPackageNamespace = false) const;
1002
1004 {
1005 return Type;
1006 }
1007
1008 inline int64 GetIntValue() const
1009 {
1011 return IntValue;
1012 }
1013
1014 inline uint64 GetUIntValue() const
1015 {
1017 return UIntValue;
1018 }
1019
1020 inline float GetFloatValue() const
1021 {
1023 return FloatValue;
1024 }
1025
1026 inline double GetDoubleValue() const
1027 {
1029 return DoubleValue;
1030 }
1031
1032 inline const FText& GetTextValue() const
1033 {
1035 return TextValue.GetValue();
1036 }
1037
1039 {
1041 return (ETextGender)UIntValue;
1042 }
1043
1044private:
1046 union
1047 {
1052 };
1053 TOptional<FText> TextValue;
1054};
1055
1056template < typename T >
1057inline TSharedRef<ITextGenerator> FText::CreateTextGenerator(FStructuredArchive::FRecord Record)
1058{
1059 return MakeShared<T>();
1060}
1061
1068{
1070 {
1071 ResetValue();
1072 }
1073
1074 CORE_API void ResetValue();
1075
1077
1079
1081
1082 // This is a non-unioned version of FFormatArgumentValue that only accepts the types needed by Blueprints
1083 // It's used as a marshaller to create a real FFormatArgumentValue when performing a format
1090};
1091
1093{
1094
1095 template < typename TName, typename TValue >
1097 {
1098 Result.Emplace( Forward< TName >( Name ), Forward< TValue >( Value ) );
1099 }
1100
1101 template < typename TName, typename TValue, typename... TArguments >
1102 void FormatNamed( OUT FFormatNamedArguments& Result, TName&& Name, TValue&& Value, TArguments&&... Args )
1103 {
1105 FormatNamed( Result, Forward< TArguments >( Args )... );
1106 }
1107
1108 template < typename TValue >
1110 {
1111 Result.Emplace( Forward< TValue >( Value ) );
1112 }
1113
1114 template < typename TValue, typename... TArguments >
1115 void FormatOrdered( OUT FFormatOrderedArguments& Result, TValue&& Value, TArguments&&... Args )
1116 {
1118 FormatOrdered( Result, Forward< TArguments >( Args )... );
1119 }
1120
1121} // namespace TextFormatUtil
1122
1123template < typename... TArguments >
1125{
1126 static_assert( sizeof...( TArguments ) % 2 == 0, "FormatNamed requires an even number of Name <-> Value pairs" );
1127
1129 FormatArguments.Reserve( sizeof...( TArguments ) / 2 );
1131 return FormatNamedImpl( MoveTemp( Fmt ), MoveTemp( FormatArguments ) );
1132}
1133
1134template < typename... TArguments >
1142
1167
1199
1202{
1203public:
1205
1206 CORE_API explicit FTextSnapshot(const FText& InText);
1207
1209 CORE_API bool IdenticalTo(const FText& InText) const;
1210
1212 CORE_API bool IsDisplayStringEqualTo(const FText& InText) const;
1213
1214private:
1215
1217 static uint16 GetGlobalHistoryRevisionForText(const FText& InText);
1218
1220 static uint16 GetLocalHistoryRevisionForText(const FText& InText);
1221
1223 TRefCountPtr<ITextData> TextDataPtr;
1224
1226 FTextConstDisplayStringPtr LocalizedStringPtr;
1227
1229 uint16 GlobalHistoryRevision = 0;
1230
1232 uint16 LocalHistoryRevision = 0;
1233
1235 uint32 Flags = 0;
1236};
1237
1239{
1240private:
1241 FTextInspector() {}
1242 ~FTextInspector() {}
1243
1244public:
1245 static CORE_API bool ShouldGatherForLocalization(const FText& Text);
1248 static CORE_API FTextId GetTextId(const FText& Text);
1249 static CORE_API const FString* GetSourceString(const FText& Text);
1250 static CORE_API const FString& GetDisplayString(const FText& Text);
1251 static CORE_API bool GetTableIdAndKey(const FText& Text, FName& OutTableId, FString& OutKey);
1253 static CORE_API uint32 GetFlags(const FText& Text);
1256 static CORE_API const void* GetSharedDataId(const FText& Text);
1257};
1258
1260{
1261public:
1273 static CORE_API FText CreateFromBuffer(const TCHAR* Buffer, const TCHAR* TextNamespace = nullptr, const TCHAR* PackageNamespace = nullptr, const bool bRequiresQuotes = false);
1274
1286 static CORE_API const TCHAR* ReadFromBuffer(const TCHAR* Buffer, FText& OutValue, const TCHAR* TextNamespace = nullptr, const TCHAR* PackageNamespace = nullptr, const bool bRequiresQuotes = false);
1287
1288 UE_DEPRECATED(4.22, "FTextStringHelper::ReadFromString is deprecated. Use FTextStringHelper::ReadFromBuffer instead.")
1289 static CORE_API bool ReadFromString(const TCHAR* Buffer, FText& OutValue, const TCHAR* TextNamespace = nullptr, const TCHAR* PackageNamespace = nullptr, int32* OutNumCharsRead = nullptr, const bool bRequiresQuotes = false, const EStringTableLoadingPolicy InLoadingPolicy = EStringTableLoadingPolicy::FindOrLoad);
1290
1299 static CORE_API void WriteToBuffer(FString& Buffer, const FText& Value, const bool bRequiresQuotes = false, const bool bStripPackageNamespace = false);
1300
1301 UE_DEPRECATED(4.22, "FTextStringHelper::WriteToString is deprecated. Use FTextStringHelper::WriteToBuffer instead.")
1302 static CORE_API bool WriteToString(FString& Buffer, const FText& Value, const bool bRequiresQuotes = false);
1303
1309 static CORE_API bool IsComplexText(const TCHAR* Buffer);
1310
1311private:
1312 static const TCHAR* ReadFromBuffer_ComplexText(const TCHAR* Buffer, FText& OutValue, const TCHAR* TextNamespace, const TCHAR* PackageNamespace);
1313};
1314
1316{
1317public:
1321 CORE_API void Indent();
1322
1326 CORE_API void Unindent();
1327
1331 CORE_API void AppendLine();
1332
1336 CORE_API void AppendLine(const FText& Text);
1337
1341 CORE_API void AppendLine(const FString& String);
1342
1346 CORE_API void AppendLine(const FName& Name);
1347
1351 CORE_API void AppendLineFormat(const FTextFormat& Pattern, const FFormatNamedArguments& Arguments);
1352
1356 CORE_API void AppendLineFormat(const FTextFormat& Pattern, const FFormatOrderedArguments& Arguments);
1357
1361 template <typename... ArgTypes>
1362 inline void AppendLineFormat(FTextFormat Pattern, ArgTypes... Args)
1363 {
1364 static_assert((TIsConstructible<FFormatArgumentValue, ArgTypes>::Value && ...), "Invalid argument type passed to FTextBuilder::AppendLineFormat");
1365 static_assert(sizeof...(Args) > 0, "FTextBuilder::AppendLineFormat expects at least one non-format argument"); // we do this to ensure that people don't call AppendLineFormat for no good reason
1366
1367 BuildAndAppendLine(FText::Format(MoveTemp(Pattern), FFormatOrderedArguments{ MoveTemp(Args)... }));
1368 }
1369
1373 CORE_API void Clear();
1374
1378 CORE_API bool IsEmpty() const;
1379
1383 CORE_API int32 GetNumLines() const;
1384
1388 CORE_API FText ToText() const;
1389
1390private:
1391 CORE_API void BuildAndAppendLine(FString&& Data);
1392 CORE_API void BuildAndAppendLine(FText&& Data);
1393
1394 TArray<FText> Lines;
1395 int32 IndentCount = 0;
1396};
1397
1400{
1401 UE_DEPRECATED(5.7, "FUnicodeChar::CodepointToString is deprecated. Use FTextChar::ConvertCodepointToString instead.")
1402 static CORE_API bool CodepointToString(const uint32 InCodepoint, FString& OutString);
1403};
1404
1409namespace TextBiDi
1410{
1413 {
1419 Mixed,
1420 };
1421
1429
1451
1457
1466
1475
1484
1489} // namespace TextBiDi
1490
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::WIDECHAR WIDECHAR
A wide character. Normally a signed type.
Definition Platform.h:1133
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::UTF8CHAR UTF8CHAR
An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit.
Definition Platform.h:1137
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
FPlatformTypes::ANSICHAR ANSICHAR
An ANSI character. Normally a signed type.
Definition Platform.h:1131
#define OUT
Definition Platform.h:897
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
ETextGender
Definition KismetTextLibrary.h:48
@ Char
Character type.
#define UE_REQUIRES(...)
Definition Requires.h:86
EStringTableLoadingPolicy
Definition StringTableCoreFwd.h:9
ETextPluralType
Definition Text.h:95
ETextFormatFlags
Definition Text.h:79
TSharedPtr< FTextFormatPatternDefinition, ESPMode::ThreadSafe > FTextFormatPatternDefinitionPtr
Definition Text.h:160
CORE_API void LexFromString(ETextGender &OutValue, const TCHAR *Buffer)
Definition Text.cpp:2223
ETextPluralForm
Definition Text.h:101
ERoundingMode
Definition Text.h:166
@ ToNegativeInfinity
Definition Text.h:178
@ HalfFromZero
Definition Text.h:170
@ FromZero
Definition Text.h:174
@ HalfToZero
Definition Text.h:172
@ ToPositiveInfinity
Definition Text.h:180
@ ToZero
Definition Text.h:176
@ HalfToEven
Definition Text.h:168
TSharedRef< const FTextFormatPatternDefinition, ESPMode::ThreadSafe > FTextFormatPatternDefinitionConstRef
Definition Text.h:161
TArray< FFormatArgumentValue > FFormatOrderedArguments
Definition Text.h:157
ETextGender
Definition Text.h:113
CORE_API bool LexTryParseString(ETextGender &OutValue, const TCHAR *Buffer)
Definition Text.cpp:2213
CORE_API const TCHAR * LexToString(ETextGender InValue)
Definition Text.cpp:2229
TSortedMap< FString, FFormatArgumentValue, FDefaultAllocator, FLocKeySortedMapLess > FFormatNamedArguments
Definition Text.h:156
TSharedRef< FTextFormatPatternDefinition, ESPMode::ThreadSafe > FTextFormatPatternDefinitionRef
Definition Text.h:159
EMemoryUnitStandard
Definition Text.h:191
@ IEC
Definition Text.h:193
@ SI
Definition Text.h:195
TSharedPtr< const FTextFormatPatternDefinition, ESPMode::ThreadSafe > FTextFormatPatternDefinitionConstPtr
Definition Text.h:162
ETextIdenticalModeFlags
Definition Text.h:52
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
#define Expose_TNameOf(type)
Definition UnrealTypeTraits.h:199
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 Archive.h:1208
Definition CompactBinaryValue.h:23
Definition Culture.h:31
Definition Text.h:928
ETextGender GetGenderValue() const
Definition Text.h:1038
double GetDoubleValue() const
Definition Text.h:1026
FFormatArgumentValue(const int64 Value)
Definition Text.h:950
int64 GetIntValue() const
Definition Text.h:1008
float FloatValue
Definition Text.h:1050
float GetFloatValue() const
Definition Text.h:1020
FFormatArgumentValue(const int32 Value)
Definition Text.h:938
FFormatArgumentValue(FText &&Value)
Definition Text.h:980
FFormatArgumentValue(ETextGender Value)
Definition Text.h:986
FFormatArgumentValue()
Definition Text.h:930
FFormatArgumentValue(const FText &Value)
Definition Text.h:974
CORE_API FString ToFormattedString(const bool bInRebuildText, const bool bInRebuildAsSource) const
Definition Text.cpp:1520
uint64 GetUIntValue() const
Definition Text.h:1014
const FText & GetTextValue() const
Definition Text.h:1032
FFormatArgumentValue(const uint64 Value)
Definition Text.h:956
int64 IntValue
Definition Text.h:1048
friend void operator<<(FStructuredArchive::FSlot Slot, FFormatArgumentValue &Value)
Definition Text.cpp:1412
double DoubleValue
Definition Text.h:1051
uint64 UIntValue
Definition Text.h:1049
UE_FORCEINLINE_HINT EFormatArgumentType::Type GetType() const
Definition Text.h:1003
CORE_API FString ToExportedString(const bool bStripPackageNamespace=false) const
Definition Text.cpp:1574
CORE_API const TCHAR * FromExportedString(const TCHAR *InBuffer)
Definition Text.cpp:1610
CORE_API bool IdenticalTo(const FFormatArgumentValue &Other, const ETextIdenticalModeFlags CompareModeFlags) const
Definition Text.cpp:1454
FFormatArgumentValue(const double Value)
Definition Text.h:968
FFormatArgumentValue(const float Value)
Definition Text.h:962
FFormatArgumentValue(const uint32 Value)
Definition Text.h:944
Definition Text.h:1145
FHistoricTextFormatData(FText InFormattedText, FTextFormat &&InSourceFmt, FFormatNamedArguments &&InArguments)
Definition Text.h:1151
FTextFormat SourceFmt
Definition Text.h:1162
FFormatNamedArguments Arguments
Definition Text.h:1165
FHistoricTextFormatData()
Definition Text.h:1147
FText FormattedText
Definition Text.h:1159
Definition Text.h:1170
FHistoricTextNumericData()
Definition Text.h:1178
EType FormatType
Definition Text.h:1191
FHistoricTextNumericData(const EType InFormatType, const FFormatArgumentValue &InSourceValue, const TOptional< FNumberFormattingOptions > &InFormatOptions)
Definition Text.h:1183
EType
Definition Text.h:1173
TOptional< FNumberFormattingOptions > FormatOptions
Definition Text.h:1197
FFormatArgumentValue SourceValue
Definition Text.h:1194
Definition NameTypes.h:617
Definition StringTableRegistry.h:25
Definition StructuredArchiveSlots.h:144
Definition StructuredArchiveSlots.h:52
Definition Text.h:1316
CORE_API void Unindent()
Definition Text.cpp:2037
CORE_API void AppendLineFormat(const FTextFormat &Pattern, const FFormatNamedArguments &Arguments)
Definition Text.cpp:2062
CORE_API void Clear()
Definition Text.cpp:2072
CORE_API FText ToText() const
Definition Text.cpp:2087
CORE_API bool IsEmpty() const
Definition Text.cpp:2077
CORE_API int32 GetNumLines() const
Definition Text.cpp:2082
void AppendLineFormat(FTextFormat Pattern, ArgTypes... Args)
Definition Text.h:1362
CORE_API void AppendLine()
Definition Text.cpp:2042
CORE_API void Indent()
Definition Text.cpp:2032
Definition TextCache.h:15
Definition TextFormatter.cpp:359
Definition TextFormatter.h:22
Definition Text.h:278
CORE_API FTextFormatPatternDefinitionConstRef GetPatternDefinition() const
Definition TextFormatter.cpp:648
CORE_API const FString & GetSourceString() const
Definition TextFormatter.cpp:633
CORE_API bool IdenticalTo(const FTextFormat &Other, const ETextIdenticalModeFlags CompareModeFlags) const
Definition TextFormatter.cpp:623
static CORE_API FTextFormat FromString(const FString &InString, ETextFormatFlags InFormatFlags=ETextFormatFlags::Default)
Definition TextFormatter.cpp:598
CORE_API FText GetSourceText() const
Definition TextFormatter.cpp:628
CORE_API bool IsValid() const
Definition TextFormatter.cpp:618
CORE_API FTextFormat()
Definition TextFormatter.cpp:578
CORE_API void GetFormatArgumentNames(TArray< FString > &OutArgumentNames) const
Definition TextFormatter.cpp:658
EExpressionType
Definition Text.h:283
CORE_API EExpressionType GetExpressionType() const
Definition TextFormatter.cpp:638
CORE_API bool ValidatePattern(const FCulturePtr &InCulture, TArray< FString > &OutValidationErrors) const
Definition TextFormatter.cpp:653
CORE_API ETextFormatFlags GetFormatFlags() const
Definition TextFormatter.cpp:643
Definition TextFormatter.h:74
Definition TextHistory.h:352
Definition TextHistory.h:304
Definition TextHistory.h:328
Definition TextHistory.h:540
Definition TextHistory.h:142
Definition TextKey.h:163
Definition Text.h:1239
static CORE_API uint32 GetFlags(const FText &Text)
Definition Text.cpp:106
static CORE_API TOptional< FString > GetNamespace(const FText &Text)
Definition Text.cpp:47
static CORE_API FTextId GetTextId(const FText &Text)
Definition Text.cpp:67
static CORE_API void GetHistoricFormatData(const FText &Text, TArray< FHistoricTextFormatData > &OutHistoricFormatData)
Definition Text.cpp:111
static CORE_API const FString * GetSourceString(const FText &Text)
Definition Text.cpp:72
static CORE_API bool GetHistoricNumericData(const FText &Text, FHistoricTextNumericData &OutHistoricNumericData)
Definition Text.cpp:116
static CORE_API const void * GetSharedDataId(const FText &Text)
Definition Text.cpp:121
static CORE_API const FString & GetDisplayString(const FText &Text)
Definition Text.cpp:77
static CORE_API TOptional< FString > GetKey(const FText &Text)
Definition Text.cpp:57
static CORE_API bool ShouldGatherForLocalization(const FText &Text)
Definition Text.cpp:42
static CORE_API bool GetTableIdAndKey(const FText &Text, FName &OutTableId, FString &OutKey)
Definition Text.cpp:83
Definition TextKey.h:75
Definition TextProperty.h:21
Definition Text.h:1202
CORE_API bool IsDisplayStringEqualTo(const FText &InText) const
Definition Text.cpp:1790
CORE_API FTextSnapshot()
Definition Text.cpp:1763
CORE_API bool IdenticalTo(const FText &InText) const
Definition Text.cpp:1776
Definition Text.h:1260
static CORE_API const TCHAR * ReadFromBuffer(const TCHAR *Buffer, FText &OutValue, const TCHAR *TextNamespace=nullptr, const TCHAR *PackageNamespace=nullptr, const bool bRequiresQuotes=false)
Definition Text.cpp:1911
static CORE_API bool WriteToString(FString &Buffer, const FText &Value, const bool bRequiresQuotes=false)
Definition Text.cpp:2007
static CORE_API bool ReadFromString(const TCHAR *Buffer, FText &OutValue, const TCHAR *TextNamespace=nullptr, const TCHAR *PackageNamespace=nullptr, int32 *OutNumCharsRead=nullptr, const bool bRequiresQuotes=false, const EStringTableLoadingPolicy InLoadingPolicy=EStringTableLoadingPolicy::FindOrLoad)
Definition Text.cpp:1963
static CORE_API bool IsComplexText(const TCHAR *Buffer)
Definition Text.cpp:2013
static CORE_API FText CreateFromBuffer(const TCHAR *Buffer, const TCHAR *TextNamespace=nullptr, const TCHAR *PackageNamespace=nullptr, const bool bRequiresQuotes=false)
Definition Text.cpp:1830
static CORE_API void WriteToBuffer(FString &Buffer, const FText &Value, const bool bRequiresQuotes=false, const bool bStripPackageNamespace=false)
Definition Text.cpp:1978
Definition Text.h:585
CORE_API bool operator()(const FText &A, const FText &B) const
Definition LegacyText.cpp:139
Definition Text.h:385
CORE_API bool IsEmpty() const
Definition Text.cpp:320
static FText FormatOrdered(FTextFormat Fmt, TArguments &&... Args)
Definition Text.h:1135
static CORE_API FText TrimPreceding(const FText &)
Definition Text.cpp:368
static CORE_API FText AsCurrency(uint16 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsCurrency(int16 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsCurrency(uint64 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsNumber(uint16 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText FromString(const ANSICHAR *String)
Definition Text.cpp:1081
static CORE_API FCreateTextGeneratorDelegate FindRegisteredTextGenerator(FName TypeID)
Definition Text.cpp:563
static CORE_API FText FromStringView(FAnsiStringView InString)
Definition Text.cpp:1132
static constexpr bool bHasIntrusiveUnsetOptionalState
Definition Text.h:837
static void RegisterTextGenerator()
Definition Text.h:791
static CORE_API FText AsCurrency(long Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsCurrency(int8 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsCurrency(uint8 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
CORE_API bool IdenticalTo(const FText &Other, const ETextIdenticalModeFlags CompareModeFlags=ETextIdenticalModeFlags::None) const
Definition Text.cpp:1366
static CORE_API FText AsCurrencyBase(int64 BaseVal, const FString &CurrencyCode, const FCulturePtr &TargetCulture=NULL, int32 ForceDecimalPlaces=-1)
Definition Text.cpp:656
static CORE_API FText AsLocalizable_Advanced(const FTextKey &Namespace, const FTextKey &Key, const TCHAR *String)
Definition Text.cpp:1226
static CORE_API bool FindTextInLiveTable_Advanced(const FTextKey &Namespace, const FTextKey &Key, FText &OutText, const FString *const SourceString=nullptr)
Definition Text.cpp:1250
FText(const FText &)=default
static CORE_API void AutoRTFMAssignFromOpenToClosed(FText &Closed, const FText &Open)
Definition Text.cpp:299
static CORE_API FText AsNumber(uint32 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API void PreloadStringTable(FName InTableId, const FTextKey &InKey)
Definition Text.cpp:1351
static CORE_API FText AsPercent(float Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FString GetInvariantTimeZone()
Definition Text.cpp:840
static CORE_API FText FromTextGenerator(const TSharedRef< ITextGenerator > &TextGenerator)
Definition Text.cpp:551
static FText FormatNamed(FTextFormat Fmt, TArguments &&... Args)
Definition Text.h:1124
friend class FJsonArchiveOutputFormatter
Definition Text.h:917
friend class FArchiveFromStructuredArchiveImpl
Definition Text.h:915
FText(FIntrusiveUnsetOptionalState)
Definition Text.h:840
static CORE_API FText AsNumber(uint64 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText TrimTrailing(const FText &)
Definition Text.cpp:394
CORE_API bool ShouldGatherForLocalization() const
Definition Text.cpp:1327
static void RegisterTextGenerator(FName TypeID)
Definition Text.h:778
static CORE_API FText FromName(const FName &Val)
Definition Text.cpp:1076
CORE_API FText ToLower() const
Definition Text.cpp:344
static CORE_API FText AsMemory(uint64 NumBytes, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL, EMemoryUnitStandard UnitStandard=EMemoryUnitStandard::IEC)
Definition Text.cpp:800
CORE_API int32 CompareToCaseIgnored(const FText &Other) const
Definition Text.cpp:1284
static CORE_API FText AsCurrency(double Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
CORE_API bool IsFromStringTable() const
Definition Text.cpp:1322
static CORE_API FText AsCurrency(int32 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API const FText & GetEmpty()
Definition Text.cpp:252
static CORE_API FText AsCurrency(uint32 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
DECLARE_DELEGATE_RetVal_OneParam(TSharedRef< ITextGenerator >, FCreateTextGeneratorDelegate, FStructuredArchive::FRecord)
static CORE_API FText AsNumber(uint8 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsLocalizable_Advanced_LocText(const TCHAR *Namespace, const TCHAR *Key, const TCHAR *String)
Definition Text.cpp:1245
static CORE_API FText AsPercent(double Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static void UnregisterTextGenerator()
Definition Text.h:813
static CORE_API FText AsCurrency(float Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static FText Join(const FText &Delimiter, ArgTypes... Args)
Definition Text.h:738
static CORE_API void GetFormatPatternParameters(const FTextFormat &Fmt, TArray< FString > &ParameterNames)
Definition Text.cpp:464
CORE_API FText ToUpper() const
Definition Text.cpp:356
static CORE_API FText AsCurrency(int64 Val, const FString &CurrencyCode=FString(), const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
CORE_API bool IsCultureInvariant() const
Definition Text.cpp:1312
static CORE_API FText AsNumber(float Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsNumber(double Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
CORE_API bool IsNumeric() const
Definition Text.cpp:1274
static CORE_API FText AsTimespan(const FTimespan &Timespan, const FCulturePtr &TargetCulture=NULL)
Definition Text.cpp:766
static CORE_API FText FromStringTable(const FName InTableId, const FTextKey &InKey, const EStringTableLoadingPolicy InLoadingPolicy=EStringTableLoadingPolicy::FindOrLoad)
Definition Text.cpp:1071
static CORE_API FText AsNumber(int64 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText AsCultureInvariant(const ANSICHAR *String)
Definition Text.cpp:1171
static CORE_API FText AsNumber(int8 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
CORE_API FString BuildSourceString() const
Definition Text.cpp:1269
friend class FJsonArchiveInputFormatter
Definition Text.h:916
static CORE_API FText AsNumber(long Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText Join(const FText &Delimiter, const FFormatOrderedArguments &Args)
Definition Text.cpp:537
FText & operator=(const FText &)=default
bool operator==(FIntrusiveUnsetOptionalState) const
Definition Text.h:845
CORE_API int32 CompareTo(const FText &Other, const ETextComparisonLevel::Type ComparisonLevel=ETextComparisonLevel::Default) const
Definition Text.cpp:1279
static CORE_API bool IsWhitespace(const TCHAR Char)
Definition Text.cpp:457
CORE_API bool IsTransient() const
Definition Text.cpp:1307
static CORE_API FText AsNumber(int32 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
CORE_API bool EqualToCaseIgnored(const FText &Other) const
Definition Text.cpp:1294
CORE_API FText()
Definition Text.cpp:246
CORE_API bool IsEmptyOrWhitespace() const
Definition Text.cpp:325
friend class FScopedTextIdentityPreserver
Definition Text.h:924
static CORE_API FText TrimPrecedingAndTrailing(const FText &)
Definition Text.cpp:420
static UE_FORCEINLINE_HINT bool FindText(const FTextKey &Namespace, const FTextKey &Key, FText &OutText, const FString *const SourceString=nullptr)
Definition Text.h:556
static CORE_API FText AsNumber(int16 Val, const FNumberFormattingOptions *const Options=NULL, const FCulturePtr &TargetCulture=NULL)
static CORE_API FText Format(FTextFormat Fmt, const FFormatNamedArguments &InArguments)
Definition Text.cpp:469
CORE_API const FString & ToString() const
Definition Text.cpp:1263
CORE_API bool IsInitializedFromString() const
Definition Text.cpp:1317
static FText Format(FTextFormat Fmt, ArgTypes... Args)
Definition Text.h:676
Definition ITextData.h:15
Definition ITextGenerator.h:14
Definition Array.h:670
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition EnumAsByte.h:22
Definition RefCounting.h:454
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SortedMap.h:20
UE_FORCEINLINE_HINT void Reserve(int32 Number)
Definition SortedMap.h:142
Definition UniquePtr.h:107
Definition Text.h:1432
virtual ETextDirection ComputeTextDirection(const TCHAR *InString, const int32 InStringStartIndex, const int32 InStringLen)=0
virtual ETextDirection ComputeTextDirection(const FString &InString, const ETextDirection InBaseDirection, TArray< FTextDirectionInfo > &OutTextDirectionInfo)=0
virtual ETextDirection ComputeTextDirection(const FText &InText)=0
virtual ~ITextBiDi()
Definition Text.h:1434
virtual ETextDirection ComputeTextDirection(const FText &InText, const ETextDirection InBaseDirection, TArray< FTextDirectionInfo > &OutTextDirectionInfo)=0
virtual ETextDirection ComputeBaseDirection(const FString &InString)=0
virtual ETextDirection ComputeTextDirection(const FString &InString)=0
virtual ETextDirection ComputeTextDirection(const TCHAR *InString, const int32 InStringStartIndex, const int32 InStringLen, const ETextDirection InBaseDirection, TArray< FTextDirectionInfo > &OutTextDirectionInfo)=0
virtual ETextDirection ComputeBaseDirection(const TCHAR *InString, const int32 InStringStartIndex, const int32 InStringLen)=0
virtual ETextDirection ComputeBaseDirection(const FText &InText)=0
Definition Text.h:125
Type
Definition Text.h:127
@ Medium
Definition Text.h:130
@ Full
Definition Text.h:132
@ Long
Definition Text.h:131
@ Default
Definition Text.h:128
@ Custom
Definition Text.h:133
@ Short
Definition Text.h:129
Definition Text.h:143
Type
Definition Text.h:145
@ Double
Definition Text.h:149
@ Float
Definition Text.h:148
@ Gender
Definition Text.h:151
@ Int
Definition Text.h:146
@ UInt
Definition Text.h:147
@ Text
Definition Text.h:150
Type
Definition TextComparison.h:11
@ Default
Definition TextComparison.h:12
Definition Text.h:40
Type
Definition Text.h:42
@ InitializedFromString
Definition Text.h:47
@ Transient
Definition Text.h:43
@ CultureInvariant
Definition Text.h:44
@ ConvertedProperty
Definition Text.h:45
@ Immutable
Definition Text.h:46
Definition LegacyText.cpp:145
CORE_API bool IsControlCharacter(const TCHAR InChar)
Definition Text.cpp:1814
ETextDirection ComputeTextDirection(const FText &InText)
Definition LegacyText.cpp:217
TUniquePtr< ITextBiDi > CreateTextBiDi()
Definition LegacyText.cpp:212
ETextDirection ComputeBaseDirection(const FText &InText)
Definition LegacyText.cpp:258
ETextDirection
Definition Text.h:1413
Definition Text.h:1093
void FormatOrdered(OUT FFormatOrderedArguments &Result, TValue &&Value)
Definition Text.h:1109
void FormatNamed(OUT FFormatNamedArguments &Result, TName &&Name, TValue &&Value)
Definition Text.h:1096
Definition DateTime.h:76
Definition Text.h:1068
ETextGender ArgumentValueGender
Definition Text.h:1089
int64 ArgumentValueInt
Definition Text.h:1086
double ArgumentValueDouble
Definition Text.h:1088
friend void operator<<(FStructuredArchive::FSlot Slot, FFormatArgumentData &Value)
Definition Text.cpp:1680
TEnumAsByte< EFormatArgumentType::Type > ArgumentValueType
Definition Text.h:1084
FText ArgumentValue
Definition Text.h:1085
float ArgumentValueFloat
Definition Text.h:1087
FString ArgumentName
Definition Text.h:1080
FFormatArgumentData()
Definition Text.h:1069
CORE_API FFormatArgumentValue ToArgumentValue() const
Definition Text.cpp:1660
CORE_API void ResetValue()
Definition Text.cpp:1650
Definition IntrusiveUnsetOptionalState.h:71
Definition Text.h:199
FNumberFormattingOptions & SetUseGrouping(bool InValue)
Definition Text.h:206
FNumberFormattingOptions & SetRoundingMode(ERoundingMode InValue)
Definition Text.h:212
int32 MaximumFractionalDigits
Definition Text.h:223
static CORE_API const FNumberFormattingOptions & DefaultNoGrouping()
Definition Text.cpp:193
static CORE_API const FNumberFormattingOptions & DefaultWithGrouping()
Definition Text.cpp:187
int32 MinimumIntegralDigits
Definition Text.h:214
FNumberFormattingOptions & SetAlwaysSign(bool InValue)
Definition Text.h:203
FNumberFormattingOptions & SetMaximumFractionalDigits(int32 InValue)
Definition Text.h:224
int32 MinimumFractionalDigits
Definition Text.h:220
bool AlwaysSign
Definition Text.h:202
FNumberFormattingOptions & SetMaximumIntegralDigits(int32 InValue)
Definition Text.h:218
CORE_API bool IsIdentical(const FNumberFormattingOptions &Other) const
Definition Text.cpp:176
bool UseGrouping
Definition Text.h:205
friend CORE_API void operator<<(FStructuredArchive::FSlot Slot, FNumberFormattingOptions &Value)
Definition Text.cpp:140
FNumberFormattingOptions & SetMinimumIntegralDigits(int32 InValue)
Definition Text.h:215
CORE_API FNumberFormattingOptions()
Definition Text.cpp:127
FNumberFormattingOptions & SetMinimumFractionalDigits(int32 InValue)
Definition Text.h:221
ERoundingMode RoundingMode
Definition Text.h:211
int32 MaximumIntegralDigits
Definition Text.h:217
bool IndicateNearlyInteger
Definition Text.h:208
friend CORE_API uint32 GetTypeHash(const FNumberFormattingOptions &Key)
Definition Text.cpp:163
FNumberFormattingOptions & SetIndicateNearlyInteger(bool InValue)
Definition Text.h:209
Definition Text.h:242
FNumberParsingOptions & SetUseGrouping(bool InValue)
Definition Text.h:246
static CORE_API const FNumberParsingOptions & DefaultWithGrouping()
Definition Text.cpp:234
friend CORE_API void operator<<(FStructuredArchive::FSlot Slot, FNumberParsingOptions &Value)
CORE_API bool IsIdentical(const FNumberParsingOptions &Other) const
Definition Text.cpp:227
friend CORE_API uint32 GetTypeHash(const FNumberParsingOptions &Key)
Definition Text.cpp:221
static CORE_API const FNumberParsingOptions & DefaultNoGrouping()
Definition Text.cpp:240
bool UseGrouping
Definition Text.h:245
CORE_API FNumberParsingOptions()
Definition Text.cpp:200
bool UseClamping
Definition Text.h:253
FNumberParsingOptions & SetInsideLimits(bool InValue)
Definition Text.h:250
FNumberParsingOptions & SetUseClamping(bool InValue)
Definition Text.h:254
bool InsideLimits
Definition Text.h:249
Definition Timespan.h:76
Definition Text.h:1400
static CORE_API bool CodepointToString(const uint32 InCodepoint, FString &OutString)
Definition Text.cpp:2208
Definition IsConstructible.h:10
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
Definition Text.h:1424
ETextDirection TextDirection
Definition Text.h:1427
int32 Length
Definition Text.h:1426
int32 StartIndex
Definition Text.h:1425