[#absl-StrSplit-01c]
= xref:absl.adoc[absl]::StrSplit
:relfileprefix: ../
:mrdocs:

Overload of `StrSplit()` that takes ownership of a `std&colon;&colon;string` input and filters substrings with a `Predicate`&period;

== Synopsis

Declared in `&lt;absl&sol;strings&sol;str&lowbar;split&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename Delimiter,
    typename Predicate,
    typename StringType,
    xref:absl/EnableSplitIfString.adoc[EnableSplitIfString&lt;StringType&gt;] = 0&gt;
&sol;&ast; implementation-defined &ast;&sol;::Splitter&lt;&sol;&ast; implementation-defined &ast;&sol;::type, Predicate, std::string&gt;
StrSplit(
    StringType&& text,
    Delimiter d,
    Predicate p);
----

== Return Value

A lazy range of the retained substrings&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *text*
| The string to split&semi; ownership is transferred to the result&period;
| *d*
| The delimiter identifying the split points&period;
| *p*
| The predicate that decides whether a substring is included&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
