[#bsl-shared_ptr-0c]
= xref:bsl.adoc[bsl]::xref:bsl/shared_ptr-0a.adoc[shared&lowbar;ptr&lt;ELEMENT&lowbar;TYPE&gt;]
:relfileprefix: ../
:mrdocs:

Deduction guide for constructing `shared&lowbar;ptr` from `ManagedPtr`&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class ELEMENT&lowbar;TYPE,
    class ALLOC&gt;
requires bsl&colon;&colon;is&lowbar;convertible&lowbar;v&lt;ALLOC &ast;, BloombergLP&colon;&colon;bslma&colon;&colon;Allocator &ast;&gt;
xref:bsl/shared_ptr-0a.adoc[shared&lowbar;ptr&lt;ELEMENT&lowbar;TYPE&gt;](
    xref:BloombergLP/bslma/ManagedPtr-0fa.adoc[BloombergLP::bslma::ManagedPtr&lt;ELEMENT&lowbar;TYPE&gt;],
    ALLOC*) -> xref:bsl/shared_ptr-0a.adoc[shared&lowbar;ptr&lt;ELEMENT&lowbar;TYPE&gt;];
----

== Description

Deduce the specified type `ELEMENT&lowbar;TYPE` corresponding template parameter of the `bslma&colon;&colon;ManagedPtr` supplied to the constructor of `shared&lowbar;ptr`&period; This guide does not participate in deduction unless the specified `ALLOC` inherits from `bslma&colon;&colon;Allocator`&period;


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