Commit Graph

3 Commits

Author SHA1 Message Date
devin doucette
f50c772c5d Add UE::String::BytesToHex, UE::String::HexToBytes, FString += FStringView
- Both hex functions work the same as their FString equivalents but without requiring FString as input or output.
- Optimize TCharToNibble to do a check at the end instead of at the start, as the previous implementation causes the character ranges to be tested twice.
- Change HexToBytes from FString to use UE::String::HexToBytes.
- Add FString += FStringView to facilitate conversion to FStringView.

#rb Matt.Peters, Steve.Robb
#ushell-cherrypick of 10711451 by Devin.Doucette
#ushell-cherrypick of 10720873 by Devin.Doucette


#ROBOMERGE-SOURCE: CL 11162861 via CL 11162877 via CL 11162886
#ROBOMERGE-BOT: (v640-11091645)

[CL 11166825 by devin doucette in Main branch]
2020-01-29 15:14:57 -05:00
devin doucette
9bee01e44a Implement LexFromString from FStringView for primitive types
These implementations are not optimized yet. They exist to allow conversion from FString to FStringView.

#rb Matt.Peters, Steve.Robb
#ushell-cherrypick of 10720867 by Devin.Doucette


#ROBOMERGE-SOURCE: CL 11162860 via CL 11162876 via CL 11162885
#ROBOMERGE-BOT: (v640-11091645)

[CL 11166821 by devin doucette in Main branch]
2020-01-29 15:14:54 -05:00
devin doucette
1e26a384a7 Add UE::String::ParseLines, UE::String::ParseTokens[Multiple]
- UE::String::ParseLines can be used to split a string view on line endings to find the non-empty lines in the view. Intended to replace functions like FString::ParseIntoArrayLines and FFileHelper::LoadFileToStringArray.
- UE::String::ParseTokens[Multiple] can be used to split a string view on one or more single-character or multi-character delimiters. Intended to replace FString::ParseIntoArray. Separate handling of single-character delimiters reduced the cost by 27% in the case being profiled.
- Extend Algo::CompareByPredicate to allow the input ranges to be different types and to take them by universal reference.
- Extend TArrayView and MakeArrayView to allow array views to be created from initializer lists.

#rb Matt.Peters, Steve.Robb
#ushell-cherrypick of 10720885 by Devin.Doucette
#ushell-cherrypick of 10812084 by Devin.Doucette


#ROBOMERGE-SOURCE: CL 11162858 via CL 11162872 via CL 11162884
#ROBOMERGE-BOT: (v640-11091645)

[CL 11166820 by devin doucette in Main branch]
2020-01-29 15:14:51 -05:00