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(ALLOC basicAllocator)
requires is_bounded_array<ARRAY_TYPE>::value &&
!is_pointer<ALLOC>::value;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(ALLOC* basicAllocator)
requires is_bounded_array<ARRAY_TYPE>::value;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(
ALLOC basicAllocator,
std::size_t numElements)
requires is_unbounded_array<ARRAY_TYPE>::value &&
!is_pointer<ALLOC>::value;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(
ALLOC basicAllocator,
remove_extent<ARRAY_TYPE>::type const& value)
requires is_bounded_array<ARRAY_TYPE>::value &&
!is_pointer<ALLOC>::value;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(
ALLOC* basicAllocator,
std::size_t numElements)
requires is_unbounded_array<ARRAY_TYPE>::value;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(
ALLOC* basicAllocator,
remove_extent<ARRAY_TYPE>::type const& value)
requires is_bounded_array<ARRAY_TYPE>::value;
Return a shared_ptr managing a newly created object.
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 managing a newly created object.
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;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(
ALLOC basicAllocator,
std::size_t numElements,
remove_extent<ARRAY_TYPE>::type const& value)
requires is_unbounded_array<ARRAY_TYPE>::value &&
!is_pointer<ALLOC>::value;
Return a shared_ptr managing a newly created object.
template<
class ARRAY_TYPE,
class ALLOC>
bsl::shared_ptr<ARRAY_TYPE>
allocate_shared(
ALLOC* basicAllocator,
std::size_t numElements,
remove_extent<ARRAY_TYPE>::type const& value)
requires is_unbounded_array<ARRAY_TYPE>::value;
Return Value
shared pointer managing a newly created object
Parameters
Name |
Description |
basicAllocator |
allocator used to supply memory |
numElements |
number of elements in the unbounded array |
value |
value used to initialize each array element |
args |
constructor arguments forwarded to the new object |
Created with MrDocs