bsl::static_pointer_cast

Return a shared_ptr obtained by static_cast from source.

Synopsis

Declared in <bslstl_sharedptr.h>

template<
    class TO_TYPE,
    class FROM_TYPE>
bsl::shared_ptr<TO_TYPE>
static_pointer_cast(shared_ptr<FROM_TYPE> const& source) noexcept;

Description

Return a shared_ptr<TO_TYPE> object sharing ownership of the same object as the specified source shared pointer to the (template parameter) FROM_TYPE, and referring to static_cast<TO_TYPE *>(source.get()). Note that if source cannot be statically cast to TO_TYPE *, then a compiler diagnostic will be emitted indicating the error.

Return Value

shared pointer obtained by static_cast from source

Parameters

NameDescription
sourcesource shared pointer that supplies ownership