32 template<
typename CharType,
int N>
38 template<
typename CharType>
45 template<
typename CharType>
54 InitData
Bitset = { LoMask, HiMask };
80 template<
class CharType>
89 template<
class CharType>
103 template<
typename CharType>
106 while (
Set.Contains(*Str))
115 template<
typename CharType>
122 template<
typename CharType>
129 template<
typename CharType>
132 return *
Skip(Str,
Set) ==
'\0';
138 template<
class StringType>
145 template<
class StringType>
152 template<
class StringType>
159 template<
class StringType>
166 template<
class StringType>
173 template<
class StringType>
180 template<
class StringType>
187 template<
class StringType>
194 template<
class StringType>
201 template<
class StringType>
205 for (
auto Char : Str)
213 template<
class StringType>
221 enum class EDir {Forward, Reverse};
222 enum class EInclude {Members, NonMembers};
223 enum class EKeep {Head, Tail};
225 template<EInclude Include,
typename CharType>
226 static constexpr const CharType* FindFirst(
FAsciiSet Set,
const CharType* It,
const CharType*
End)
228 for (; It !=
End && (
Include == EInclude::Members) == !!
Set.Test(*It); ++It);
232 template<EInclude Include,
typename CharType>
233 static constexpr const CharType* FindLast(
FAsciiSet Set,
const CharType* It,
const CharType*
End)
235 for (; It !=
End && (
Include == EInclude::Members) == !!
Set.Test(*It); --It);
239 template<EDir Dir, EInclude Include, EKeep Keep,
class StringType>
240 static constexpr StringType Scan(
const StringType& Str,
FAsciiSet Set)
252 struct InitData {
uint64 Lo, Hi; };
271 return (Bit &
IsLo & LoMask) | (Bit &
IsHi & HiMask);
274 template<
typename CharType,
int N>
275 static constexpr InitData StringToBitset(
const CharType(&Chars)[N])
277 InitData
Bitset = { 0, 0 };
278 for (
int I = 0; I < N - 1; ++I)
291 : LoMask(Lo), HiMask(Hi)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
auto GetNum(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Length())
Definition StringConv.h:808
auto GetData(const TStringConversion< Converter, DefaultConversionSize > &Conversion) -> decltype(Conversion.Get())
Definition StringConv.h:802
static constexpr StringType TrimSuffixWithout(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:188
static constexpr bool HasNone(const CharType *Str, FAsciiSet Set)
Definition AsciiSet.h:123
static constexpr const CharType * FindLastOrEnd(const CharType *Str, FAsciiSet Set)
Definition AsciiSet.h:90
static constexpr StringType TrimSuffixWith(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:181
constexpr FORCEINLINE FAsciiSet operator|(FAsciiSet OtherSet) const
Definition AsciiSet.h:60
static constexpr StringType FindPrefixWithout(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:146
static constexpr bool HasAny(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:195
constexpr FORCEINLINE FAsciiSet operator&(FAsciiSet OtherSet) const
Definition AsciiSet.h:66
constexpr FAsciiSet(const CharType(&Chars)[N])
Definition AsciiSet.h:33
static constexpr bool HasOnly(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:214
static constexpr StringType TrimPrefixWithout(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:160
static constexpr bool HasNone(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:202
static constexpr bool HasOnly(const CharType *Str, FAsciiSet Set)
Definition AsciiSet.h:130
static constexpr const CharType * Skip(const CharType *Str, FAsciiSet Set)
Definition AsciiSet.h:104
constexpr FORCEINLINE FAsciiSet operator+(char Char) const
Definition AsciiSet.h:52
static constexpr const CharType * FindFirstOrEnd(const CharType *Str, FAsciiSet Set)
Definition AsciiSet.h:81
static constexpr StringType TrimPrefixWith(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:153
constexpr FORCEINLINE FAsciiSet operator~() const
Definition AsciiSet.h:72
static constexpr StringType FindSuffixWithout(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:174
static constexpr StringType FindSuffixWith(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:167
static constexpr bool HasAny(const CharType *Str, FAsciiSet Set)
Definition AsciiSet.h:116
constexpr FORCEINLINE bool Contains(CharType Char) const
Definition AsciiSet.h:39
constexpr FORCEINLINE uint64 Test(CharType Char) const
Definition AsciiSet.h:46
static constexpr StringType FindPrefixWith(const StringType &Str, FAsciiSet Set)
Definition AsciiSet.h:139