Return a shared_ptr managing a newly created object.
Synopsis
Declared in <bslstl_sharedptr.h>
template<
class ELEMENT_TYPE,
class ALLOC,
class... ARGS>
bsl::shared_ptr<ELEMENT_TYPE>
allocate_shared(
ALLOC basicAllocator,
ARGS&&... args)
requires !is_array<ELEMENT_TYPE>::value && !is_pointer<ALLOC>::value;
Description
Return a shared_ptr object referring to and managing a new ELEMENT_TYPE object. 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 ELEMENT_TYPE object, which is initialized by calling allocator_traits<ALLOC>::construct passing basicAllocator, an ELEMENT_TYPE * pointer to space for the new shared object, and the specified arguments std::forward<ARGS>(args)....
Return Value
shared pointer managing a newly created object
Parameters
Name |
Description |
basicAllocator |
allocator used to supply memory |
args |
constructor arguments forwarded to the new object |
Created with MrDocs