[#absl-StrJoin-0c8]
= xref:absl.adoc[absl]::StrJoin
:relfileprefix: ../
:mrdocs:

`StrJoin` overloads

== Synopses

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

Joins an initializer list of `string&lowbar;view` using the default formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::string
xref:absl/StrJoin-00.adoc[StrJoin](
    std::initializer&lowbar;list&lt;std::string&lowbar;view&gt; il,
    std::string&lowbar;view separator);
----

[.small]#xref:absl/StrJoin-00.adoc[_» more&period;&period;&period;_]#

Joins the elements of an initializer list using the default formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename T&gt;
requires !std&colon;&colon;is&lowbar;convertible&lowbar;v&lt;T, absl&colon;&colon;string&lowbar;view&gt;
std::string
xref:absl/StrJoin-01.adoc[StrJoin](
    std::initializer&lowbar;list&lt;T&gt; il,
    std::string&lowbar;view separator);
----

[.small]#xref:absl/StrJoin-01.adoc[_» more&period;&period;&period;_]#

Joins the elements of a range using the default formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename Range&gt;
std::string
xref:absl/StrJoin-03c.adoc[StrJoin](
    Range const& range,
    std::string&lowbar;view separator);
----

[.small]#xref:absl/StrJoin-03c.adoc[_» more&period;&period;&period;_]#

Joins the elements of a `std&colon;&colon;tuple` using the default formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename&period;&period;&period; T&gt;
std::string
xref:absl/StrJoin-0c9.adoc[StrJoin](
    std::tuple&lt;T&period;&period;&period;&gt; const& value,
    std::string&lowbar;view separator);
----

[.small]#xref:absl/StrJoin-0c9.adoc[_» more&period;&period;&period;_]#

Joins a range of elements using the default formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename Iterator&gt;
std::string
xref:absl/StrJoin-02.adoc[StrJoin](
    Iterator start,
    Iterator end,
    std::string&lowbar;view separator);
----

[.small]#xref:absl/StrJoin-02.adoc[_» more&period;&period;&period;_]#

Joins an initializer list of `string&lowbar;view` using a custom formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename Formatter&gt;
std::string
xref:absl/StrJoin-0f.adoc[StrJoin](
    std::initializer&lowbar;list&lt;std::string&lowbar;view&gt; il,
    std::string&lowbar;view separator,
    Formatter&& fmt);
----

[.small]#xref:absl/StrJoin-0f.adoc[_» more&period;&period;&period;_]#

Joins the elements of an initializer list using a custom formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    typename Formatter&gt;
requires !std&colon;&colon;is&lowbar;convertible&lowbar;v&lt;T, absl&colon;&colon;string&lowbar;view&gt;
std::string
xref:absl/StrJoin-07.adoc[StrJoin](
    std::initializer&lowbar;list&lt;T&gt; il,
    std::string&lowbar;view separator,
    Formatter&& fmt);
----

[.small]#xref:absl/StrJoin-07.adoc[_» more&period;&period;&period;_]#

Joins the elements of a range using a custom formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename Range,
    typename Formatter&gt;
std::string
xref:absl/StrJoin-086.adoc[StrJoin](
    Range const& range,
    std::string&lowbar;view separator,
    Formatter&& fmt);
----

[.small]#xref:absl/StrJoin-086.adoc[_» more&period;&period;&period;_]#

Joins the elements of a `std&colon;&colon;tuple` using a custom formatter&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename&period;&period;&period; T,
    typename Formatter&gt;
std::string
xref:absl/StrJoin-032.adoc[StrJoin](
    std::tuple&lt;T&period;&period;&period;&gt; const& value,
    std::string&lowbar;view separator,
    Formatter&& fmt);
----

[.small]#xref:absl/StrJoin-032.adoc[_» more&period;&period;&period;_]#

Joins a range of elements and returns the result as a std&colon;&colon;string&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename Iterator,
    typename Formatter&gt;
std::string
xref:absl/StrJoin-080.adoc[StrJoin](
    Iterator start,
    Iterator end,
    std::string&lowbar;view sep,
    Formatter&& fmt);
----

[.small]#xref:absl/StrJoin-080.adoc[_» more&period;&period;&period;_]#

== Return Value

The joined string&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *il*
| The initializer list of elements to join&period;
| *separator*
| The separator placed between joined elements&period;
| *range*
| The range of elements to join&period;
| *value*
| The tuple of elements to join&period;
| *start*
| Iterator to the first element to join&period;
| *end*
| Iterator past the last element to join&period;
| *fmt*
| The formatter used to convert each element to a string&period;
| *sep*
| The separator placed between joined elements&period;
|===


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