[#BloombergLP-bslstl-SharedPtrAllocateInplaceRep-makeRep]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep.adoc[SharedPtrAllocateInplaceRep]::makeRep
:relfileprefix: ../../../
:mrdocs:

Create an in&hyphen;place representation with uninitialized storage for `TYPE`&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep.adoc[SharedPtrAllocateInplaceRep&lt;TYPE, ALLOCATOR&gt;]*
makeRep(xref:BloombergLP/bslstl/SharedPtrAllocateInplaceRep/ReboundAllocator.adoc[ReboundAllocator] basicAllocator);
----

== Description

Create a `SharedPtrAllocateInplaceRep` object having storage for an in&hyphen;place uninitialized object of (template parameter) `TYPE`, and return its address&period; Use the specified `basicAllocator` to supply memory and, upon a call to `disposeRep`, to destroy this representation (and the in&hyphen;place shared object)&period; Note that the function members `ptr` and `originalPtr` will return the address of an uninitialized object&period; This object should be explicitly initialized by the caller, and it is undefined behavior to call `disposeRep` until this object has been successfully constructed&period;

== Return Value

address of the newly created representation

== Parameters

[cols="1,4"]
|===
| Name| Description
| *basicAllocator*
| allocator used to supply memory for this representation
|===


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