[#bsl-basic_string-074]
= xref:bsl.adoc[bsl]::xref:bsl/basic_string-0faf.adoc[basic&lowbar;string&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS, ALLOCATOR&gt;]
:relfileprefix: ../
:mrdocs:

Deduce template arguments for `basic&lowbar;string` from constructor arguments&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class CHAR&lowbar;TYPE,
    class CHAR&lowbar;TRAITS,
    class ALLOCATOR,
    class ALLOC&gt;
requires bsl&colon;&colon;is&lowbar;convertible&lowbar;v&lt;ALLOC, ALLOCATOR&gt;
xref:bsl/basic_string-0faf.adoc[basic&lowbar;string&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS, ALLOCATOR&gt;](
    xref:bsl/basic_string-0faf.adoc[basic&lowbar;string&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS, ALLOCATOR&gt;],
    ALLOC) -> xref:bsl/basic_string-0faf.adoc[basic&lowbar;string&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS, ALLOCATOR&gt;];
----

== Description

Deduce the template parameters `CHAR&lowbar;TYPE`, `TRAITS`, and `ALLOCATOR` from the corresponding template parameters of the `bsl&colon;&colon;basic&lowbar;string` passed to the constructor of `basic&lowbar;string`&period; This deduction guide does not participate unless the specified `ALLOC` is convertible to `ALLOCATOR`&period;


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