to_shared_ptr

Synopsis

Declared in <folly/Memory.h>

template<
    typename T,
    typename D>
std::shared_ptr<T>
to_shared_ptr(std::unique_ptr<T, D>&& ptr);

Description

Convert unique_ptr to shared_ptr without specifying the template type parameter and letting the compiler deduce it.

So you can write this:

auto sptr = to_shared_ptr(getSomethingUnique<T>());

Instead of this:

auto sptr = shared_ptr<T>(getSomethingUnique<T>());

Useful when T is long, such as:

using T = foobar::FooBarAsyncClient;

Return Value

a shared_ptr that takes ownership of ptr

Parameters

Name

Description

ptr

the unique_ptr to convert

Created with MrDocs