[#bsl-allocate_shared-0c] = xref:bsl.adoc[bsl]::allocate_shared :relfileprefix: ../ :mrdocs: Return a `shared_ptr` managing a newly created object. == Synopsis Declared in `<bslstl_sharedptr.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class ARRAY_TYPE, class ALLOC> xref:bsl/shared_ptr-0a.adoc[bsl::shared_ptr<ARRAY_TYPE>] allocate_shared( ALLOC* basicAllocator, remove_extent<ARRAY_TYPE>::type const& value) requires is_bounded_array<ARRAY_TYPE>::value; ---- == Description Return a `shared_ptr` object referring to and managing a new `ARRAY_TYPE` object, where `ARRAY_TYPE` is a bounded array. The specified `basicAllocator` will be used to supply a single contiguous region of memory holding the returned shared pointer's internal representation and the new `ARRAY_TYPE` object, and each element in the array is constructed from the specified `value`. If `basicAllocator` is 0, then the default allocator will be used instead. == Return Value shared pointer managing a newly created object == Parameters [cols="1,4"] |=== | Name| Description | *basicAllocator* | allocator used to supply memory | *value* | value used to initialize each array element |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#