![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Mixed text utilities and type traits. More...
Namespaces | |
namespace | Detail |
namespace | Macros |
This namespace is used by MCRO text literal macros, don't use it directly! | |
Data Structures | |
struct | TAsFormatArgument |
struct | TAsFormatArgument< FStdStringView > |
struct | TAsFormatArgument< Operand > |
Convert Unreal/STL/Range-V3 tuples to string the following way: (Item0, Item1, Item2, ...) More... | |
struct | TAsFormatArgument< TStdString< CharType > > |
Concepts | |
concept | CStringViewInvariant |
Concept constraining given type to a string view of any character type. | |
concept | CStringInvariant |
Concept constraining given type to a string of any character type. | |
concept | CStringOrView |
Concept constraining given type to a string or a a view of TCHAR. | |
concept | CStringOrViewInvariant |
Concept constraining given type to a string or a a view of any character type. | |
concept | CStringOrViewOrName |
Concept constraining given type to a string, a view or an FName of TCHAR. | |
concept | CStdStringOrView |
Concept constraining given type to a std::string or a view of TCHAR. | |
concept | CStdStringOrViewTyped |
Concept constraining given type to a std::string or a view of given character type. | |
concept | CStdStringInvariant |
Concept constraining given type to only a std::string of any character type. | |
concept | CStdStringViewInvariant |
Concept constraining given type to only a std::string_view of any character type. | |
concept | CStdStringOrViewInvariant |
Concept constraining given type to a std::string or a view of any character type. | |
concept | CDirectStringFormatArgument |
A type which is directly convertible to FStringFormatArg. | |
concept | CHasToString |
A type which which provides a ToString() member method. | |
concept | CHasPtrToString |
A type which which provides a ToString() member method. | |
concept | CHasStringFormatArgumentConversion |
A type which can be used with FStringFormatArg via a TAsFormatArgument specialization. | |
concept | CStringFormatArgument |
A type which can be converted to FStringFormatArg via any method. | |
Typedefs | |
template<class CharT , class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>> | |
using | TStdString = std::basic_string<CharT, Traits, Allocator> |
Unreal style alias for STL strings. | |
template<class CharT , class Traits = std::char_traits<CharT>> | |
using | TStdStringView = std::basic_string_view<CharT, Traits> |
Unreal style alias for STL string views. | |
using | FUtf16StringView = TStringView<UTF16CHAR> |
using | FUtf32StringView = TStringView<UTF32CHAR> |
using | FStdString = TStdString<TCHAR> |
cross-TCHAR alias for std::[w]string | |
using | FStdStringView = TStdStringView<TCHAR> |
cross-TCHAR alias for std::[w]string_view | |
Functions | |
template<typename CharType > | |
constexpr auto | UnrealView (TStdStringView< CharType > const &stdStr) |
View an STL string object via an Unreal TStringView | |
template<CStringViewInvariant T> | |
constexpr auto | StdView (T const &unrealStr) |
View an Unreal TStringView via an STL string view. | |
template<CConvertibleToDecayed< FString > T> | |
auto | StdView (T const &unrealStr) |
View an Unreal string via an STL string view. | |
MCRO_API FString | UnrealCopy (FStdStringView const &stdStr) |
Create a copy of an input STL string. | |
template<CStdStringOrViewInvariant T> | |
FString | UnrealConvert (T const &stdStr) |
Create a copy and convert an input STL string to TCHAR. | |
MCRO_API FName | UnrealNameCopy (FStdStringView const &stdStr) |
Create a copy of an input STL string as an FName. | |
template<CStdStringOrViewInvariant T> | |
FName | UnrealNameConvert (T const &stdStr) |
Create a copy and convert an input STL string to TCHAR as an FName. | |
MCRO_API FStdString | StdCopy (FStringView const &unrealStr) |
Create an Stl copy of an input Unreal string view. | |
MCRO_API FStdString | StdCopy (FName const &unrealStr) |
Create an Stl copy of an input Unreal string. | |
template<typename ConvertTo > | |
auto | StdConvert (FStringView const &unrealStr) -> TStdString< ConvertTo > |
Create a copy and convert an input Unreal string to the given character type. | |
template<typename ConvertTo > | |
auto | StdConvert (FStdStringView const &stdStr) -> TStdString< ConvertTo > |
Create a copy and convert an input STL string of TCHAR to the given character type. | |
template<typename ConvertTo > | |
auto | StdConvert (FName const &name) -> TStdString< ConvertTo > |
Create a copy and convert an input FName to the given character type. | |
template<CStringOrView... Args> | |
FString | Join (const TCHAR *separator, Args... args) |
Join the given string arguments with a delimiter and skip empty entries. | |
MCRO_API FString | DynamicPrintf (const TCHAR *fmt,...) |
Copy of FString::PrintfImpl but not private so it can work with strings which were not literals. | |
template<CStringFormatArgument T> | |
auto | AsFormatArgument (T &&input) |
template<CStringFormatArgument T> | |
FString | AsString (T &&input) |
Attempt to convert anything to string which can tell via some method how to do so. | |
template<CStringFormatArgument... Args> | |
FStringFormatOrderedArguments | OrderedArguments (Args &&... args) |
Create an ordered argument list for a string format from input arguments. | |
template<CStringFormatArgument... Args> | |
FStringFormatNamedArguments | NamedArguments (TTuple< FString, Args >... args) |
Create a named argument list for a string format from input argument tuples. | |
Mixed text utilities and type traits.
using Mcro::Text::FStdString = TStdString<TCHAR> |
using Mcro::Text::FStdStringView = TStdStringView<TCHAR> |
using Mcro::Text::FUtf16StringView = TStringView<UTF16CHAR> |
using Mcro::Text::FUtf32StringView = TStringView<UTF32CHAR> |
using Mcro::Text::TStdString = std::basic_string<CharT, Traits, Allocator> |
using Mcro::Text::TStdStringView = std::basic_string_view<CharT, Traits> |
auto Mcro::Text::AsFormatArgument | ( | T && | input | ) |
FString Mcro::Text::AsString | ( | T && | input | ) |
Attempt to convert anything to string which can tell via some method how to do so.
This may be more expensive than directly using an already existing designated string conversion for a given type, because it uses FStringFormatArg
and a TAsFormatArgument
as intermediate steps. However, this can be still useful for types where such conversion doesn't already exist or when using this in a template.
It's still much faster than using FMT_(myVar) "{0}"
MCRO_API FString Mcro::Text::DynamicPrintf | ( | const TCHAR * | fmt, |
... ) |
Copy of FString::PrintfImpl but not private so it can work with strings which were not literals.
FString Mcro::Text::Join | ( | const TCHAR * | separator, |
Args... | args ) |
FStringFormatNamedArguments Mcro::Text::NamedArguments | ( | TTuple< FString, Args >... | args | ) |
FStringFormatOrderedArguments Mcro::Text::OrderedArguments | ( | Args &&... | args | ) |
auto Mcro::Text::StdConvert | ( | FName const & | name | ) | -> TStdString<ConvertTo> |
auto Mcro::Text::StdConvert | ( | FStdStringView const & | stdStr | ) | -> TStdString<ConvertTo> |
auto Mcro::Text::StdConvert | ( | FStringView const & | unrealStr | ) | -> TStdString<ConvertTo> |
MCRO_API FStdString Mcro::Text::StdCopy | ( | FName const & | unrealStr | ) |
Create an Stl copy of an input Unreal string.
MCRO_API FStdString Mcro::Text::StdCopy | ( | FStringView const & | unrealStr | ) |
Create an Stl copy of an input Unreal string view.
|
constexpr |
auto Mcro::Text::StdView | ( | T const & | unrealStr | ) |
FString Mcro::Text::UnrealConvert | ( | T const & | stdStr | ) |
MCRO_API FString Mcro::Text::UnrealCopy | ( | FStdStringView const & | stdStr | ) |
Create a copy of an input STL string.
FName Mcro::Text::UnrealNameConvert | ( | T const & | stdStr | ) |
MCRO_API FName Mcro::Text::UnrealNameCopy | ( | FStdStringView const & | stdStr | ) |
Create a copy of an input STL string as an FName.
|
constexpr |