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;

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;

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;

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;

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;

Return Value

shared pointer managing a newly created object

Parameters

Name

Description

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