[#BloombergLP-bslstl-operator_plus-04]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::operator&plus;
:relfileprefix: ../../
:mrdocs:

Addition operators

== Synopses

Declared in `&lt;bslstl&lowbar;randomaccessiterator&period;h&gt;`

Return a `bsl&colon;&colon;string` having the value of the concatenation of the strings referred to by the specified `lhs` and `rhs` values&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-02.adoc[operator&plus;](
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& lhs,
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-02.adoc[_» more&period;&period;&period;_]#

Return the concatenation of the specified `lhs` string ref and the specified `rhs` `bsl&colon;&colon;basic&lowbar;string` value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-05.adoc[operator&plus;](
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& lhs,
    xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;] const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-05.adoc[_» more&period;&period;&period;_]#

Return the concatenation of the specified `lhs` string ref and the specified `rhs` `std&colon;&colon;basic&lowbar;string` value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-00.adoc[operator&plus;](
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& lhs,
    std::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt; const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-00.adoc[_» more&period;&period;&period;_]#

Return the concatenation of the specified string ref and C string&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-076.adoc[operator&plus;](
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& lhs,
    CHAR&lowbar;TYPE const* rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-076.adoc[_» more&period;&period;&period;_]#

Return the concatenation of the specified `lhs` string ref and the specified `rhs` `bsl&colon;&colon;basic&lowbar;string` value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-072.adoc[operator&plus;](
    xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;] const& lhs,
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-072.adoc[_» more&period;&period;&period;_]#

Return the concatenation of the specified `lhs` `std&colon;&colon;basic&lowbar;string` and the specified `rhs` string ref&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-0f7.adoc[operator&plus;](
    std::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt; const& lhs,
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-0f7.adoc[_» more&period;&period;&period;_]#

Return the concatenation of the specified C string and string ref&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CHAR&lowbar;TYPE&gt;
xref:bsl/basic_string-0faf.adoc[bsl::basic&lowbar;string&lt;CHAR&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-03.adoc[operator&plus;](
    CHAR&lowbar;TYPE const* lhs,
    xref:BloombergLP/bslstl/StringRefImp-0c.adoc[StringRefImp&lt;CHAR&lowbar;TYPE&gt;] const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-03.adoc[_» more&period;&period;&period;_]#

Return an iterator `lhs` positions past `rhs`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class T,
    class ITER&lowbar;IMP,
    class TAG&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/RandomAccessIterator.adoc[bslstl::RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-0fa.adoc[operator&plus;](
    std::ptrdiff&lowbar;t lhs,
    xref:BloombergLP/bslstl/RandomAccessIterator.adoc[RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;] const& rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-0fa.adoc[_» more&period;&period;&period;_]#

Return an iterator `rhs` positions past `lhs`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class T,
    class ITER&lowbar;IMP,
    class TAG&lowbar;TYPE&gt;
xref:BloombergLP/bslstl/RandomAccessIterator.adoc[bslstl::RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;]
xref:BloombergLP/bslstl/operator_plus-09.adoc[operator&plus;](
    xref:BloombergLP/bslstl/RandomAccessIterator.adoc[RandomAccessIterator&lt;T, ITER&lowbar;IMP, TAG&lowbar;TYPE&gt;] const& lhs,
    std::ptrdiff&lowbar;t rhs);
----

[.small]#xref:BloombergLP/bslstl/operator_plus-09.adoc[_» more&period;&period;&period;_]#

== Return Value

* string equal to the concatenation of the operands
* iterator `lhs` positions past `rhs`
* iterator `rhs` positions past `lhs`

== Parameters

[cols="1,4"]
|===
| Name| Description
| *lhs*
| left&hyphen;hand string reference operand
| *rhs*
| right&hyphen;hand string reference operand
|===


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