Return a shared_ptr managing a newly created object.
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;
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)....
shared pointer managing a newly created object
| Name | Description |
|---|---|
| basicAllocator | allocator used to supply memory |
| args | constructor arguments forwarded to the new object |