UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParseTokens.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
9#include "CoreTypes.h"
10#include "Misc/EnumClassFlags.h"
11#include "Templates/Function.h"
12
13template <typename FuncType> class TFunctionRef;
14
15namespace UE::String
16{
17
19{
21 None = 0,
23 IgnoreCase = 1 << 0,
25 SkipEmpty = 1 << 1,
27 Trim = 1 << 2,
28};
29
31
43 FAnsiStringView View,
44 ANSICHAR Delimiter,
45 TFunctionRef<void (FAnsiStringView)> Visitor,
48 FWideStringView View,
49 WIDECHAR Delimiter,
50 TFunctionRef<void (FWideStringView)> Visitor,
53 FUtf8StringView View,
54 UTF8CHAR Delimiter,
55 TFunctionRef<void (FUtf8StringView)> Visitor,
57
69template <typename OutputType>
70inline void ParseTokens(
71 const FAnsiStringView View,
72 const ANSICHAR Delimiter,
73 OutputType& Output,
75{
76 return ParseTokens(View, Delimiter, [&Output](FAnsiStringView Token) { Output.Add(Token); }, Options);
77}
78template <typename OutputType>
79inline void ParseTokens(
80 const FWideStringView View,
81 const WIDECHAR Delimiter,
82 OutputType& Output,
84{
85 return ParseTokens(View, Delimiter, [&Output](FWideStringView Token) { Output.Add(Token); }, Options);
86}
87template <typename OutputType>
88inline void ParseTokens(
89 const FUtf8StringView View,
90 const UTF8CHAR Delimiter,
91 OutputType& Output,
93{
94 return ParseTokens(View, Delimiter, [&Output](FUtf8StringView Token) { Output.Add(Token); }, Options);
95}
96
108 FAnsiStringView View,
109 FAnsiStringView Delimiter,
110 TFunctionRef<void (FAnsiStringView)> Visitor,
113 FWideStringView View,
114 FWideStringView Delimiter,
115 TFunctionRef<void (FWideStringView)> Visitor,
118 FUtf8StringView View,
119 FUtf8StringView Delimiter,
120 TFunctionRef<void (FUtf8StringView)> Visitor,
122
134template <typename OutputType>
135inline void ParseTokens(
136 const FAnsiStringView View,
137 const FAnsiStringView Delimiter,
138 OutputType& Output,
140{
141 return ParseTokens(View, Delimiter, [&Output](FAnsiStringView Token) { Output.Add(Token); }, Options);
142}
143template <typename OutputType>
144inline void ParseTokens(
145 const FWideStringView View,
146 const FWideStringView Delimiter,
147 OutputType& Output,
149{
150 return ParseTokens(View, Delimiter, [&Output](FWideStringView Token) { Output.Add(Token); }, Options);
151}
152template <typename OutputType>
153inline void ParseTokens(
154 const FUtf8StringView View,
155 const FUtf8StringView Delimiter,
156 OutputType& Output,
158{
159 return ParseTokens(View, Delimiter, [&Output](FUtf8StringView Token) { Output.Add(Token); }, Options);
160}
161
173 FAnsiStringView View,
175 TFunctionRef<void (FAnsiStringView)> Visitor,
178 FWideStringView View,
180 TFunctionRef<void (FWideStringView)> Visitor,
183 FUtf8StringView View,
185 TFunctionRef<void (FUtf8StringView)> Visitor,
187
199template <typename OutputType>
201 const FAnsiStringView View,
203 OutputType& Output,
205{
206 ParseTokensMultiple(View, Delimiters, [&Output](FAnsiStringView Token) { Output.Add(Token); }, Options);
207}
208template <typename OutputType>
210 const FWideStringView View,
212 OutputType& Output,
214{
215 ParseTokensMultiple(View, Delimiters, [&Output](FWideStringView Token) { Output.Add(Token); }, Options);
216}
217template <typename OutputType>
219 const FUtf8StringView View,
221 OutputType& Output,
223{
224 ParseTokensMultiple(View, Delimiters, [&Output](FUtf8StringView Token) { Output.Add(Token); }, Options);
225}
226
240 FAnsiStringView View,
242 TFunctionRef<void (FAnsiStringView)> Visitor,
245 FWideStringView View,
247 TFunctionRef<void (FWideStringView)> Visitor,
250 FUtf8StringView View,
252 TFunctionRef<void (FUtf8StringView)> Visitor,
254
268template <typename OutputType>
270 const FAnsiStringView View,
272 OutputType& Output,
274{
275 ParseTokensMultiple(View, Delimiters, [&Output](FAnsiStringView Token) { Output.Add(Token); }, Options);
276}
277template <typename OutputType>
279 const FWideStringView View,
281 OutputType& Output,
283{
284 ParseTokensMultiple(View, Delimiters, [&Output](FWideStringView Token) { Output.Add(Token); }, Options);
285}
286template <typename OutputType>
288 const FUtf8StringView View,
290 OutputType& Output,
292{
293 ParseTokensMultiple(View, Delimiters, [&Output](FUtf8StringView Token) { Output.Add(Token); }, Options);
294}
295
296} // UE::String
FPlatformTypes::WIDECHAR WIDECHAR
A wide character. Normally a signed type.
Definition Platform.h:1133
FPlatformTypes::UTF8CHAR UTF8CHAR
An 8-bit character containing a UTF8 (Unicode, 8-bit, variable-width) code unit.
Definition Platform.h:1137
FPlatformTypes::ANSICHAR ANSICHAR
An ANSI character. Normally a signed type.
Definition Platform.h:1131
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition AssetRegistryState.h:50
Definition String.cpp.inl:714
EParseTokensOptions
Definition ParseTokens.h:19
void ParseTokensMultiple(const FAnsiStringView View, const TConstArrayView< ANSICHAR > Delimiters, TFunctionRef< void(FAnsiStringView)> Visitor, const EParseTokensOptions Options)
Definition ParseTokens.cpp:332
void ParseTokens(const FAnsiStringView View, const ANSICHAR Delimiter, TFunctionRef< void(FAnsiStringView)> Visitor, const EParseTokensOptions Options)
Definition ParseTokens.cpp:302