bsl::make_shared

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>
bsl::shared_ptr<ARRAY_TYPE>
make_shared()
requires is_bounded_array<ARRAY_TYPE>::value;
» more...

Return a shared_ptr managing a newly created object.

template<class ARRAY_TYPE>
bsl::shared_ptr<ARRAY_TYPE>
make_shared(std::size_t numElements)
requires is_unbounded_array<ARRAY_TYPE>::value;
» more...

Return a shared_ptr managing a newly created object.

template<class ARRAY_TYPE>
bsl::shared_ptr<ARRAY_TYPE>
make_shared(remove_extent<ARRAY_TYPE>::type const& value)
requires is_bounded_array<ARRAY_TYPE>::value;
» more...

Return a shared_ptr managing a newly created object.

template<
    class ELEMENT_TYPE,
    class... ARGS>
bsl::shared_ptr<ELEMENT_TYPE>
make_shared(ARGS&&... args)
requires !bsl::is_array<ELEMENT_TYPE>::value;
» more...

Return a shared_ptr managing a newly created object.

template<class ARRAY_TYPE>
bsl::shared_ptr<ARRAY_TYPE>
make_shared(
    std::size_t numElements,
    remove_extent<ARRAY_TYPE>::type const& value)
requires is_unbounded_array<ARRAY_TYPE>::value;
» more...

Return Value

shared pointer managing a newly created object

Parameters

NameDescription
numElementsnumber of elements in the unbounded array
valuevalue used to initialize each array element
argsconstructor arguments forwarded to the new object