bsl::allocate_shared_for_overwrite

Return a shared_ptr managing a newly created object.

Synopses

Declared in <bslstl_sharedptr.h>

Return a shared_ptr managing a newly created object.

template<
    class ARRAY_TYPE,
    class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared_for_overwrite(ALLOC basicAllocator)
requires is_bounded_array<ARRAY_TYPE>::value &&
                                                     !is_pointer<ALLOC>::value;
» more...

Return a shared_ptr managing a newly created object.

template<
    class ELEMENT_TYPE,
    class ALLOC>
bsl::shared_ptr<ELEMENT_TYPE>
allocate_shared_for_overwrite(ALLOC basicAllocator)
requires !is_array<ELEMENT_TYPE>::value && !is_pointer<ALLOC>::value;
» more...

Return a shared_ptr managing a newly created object.

template<
    class ARRAY_TYPE,
    class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared_for_overwrite(ALLOC* basicAllocator)
requires is_bounded_array<ARRAY_TYPE>::value;
» more...

Return a shared_ptr managing a newly created object.

template<
    class ELEMENT_TYPE,
    class ALLOC>
bsl::shared_ptr<ELEMENT_TYPE>
allocate_shared_for_overwrite(ALLOC* basicAllocator)
requires !is_array<ELEMENT_TYPE>::value;
» more...

Return a shared_ptr managing a newly created object.

template<
    class ARRAY_TYPE,
    class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared_for_overwrite(
    ALLOC basicAllocator,
    std::size_t numElements)
requires is_unbounded_array<ARRAY_TYPE>::value &&
                                                     !is_pointer<ALLOC>::value;
» more...

Return a shared_ptr managing a newly created object.

template<
    class ARRAY_TYPE,
    class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared_for_overwrite(
    ALLOC* basicAllocator,
    std::size_t numElements)
requires is_unbounded_array<ARRAY_TYPE>::value;
» more...

Return Value

shared pointer managing a newly created object

Parameters

NameDescription
basicAllocatorallocator used to supply memory
numElementsnumber of elements in the unbounded array