20 General utilities library [utilities]

20.11 Smart pointers [smartptr]

20.11.9 Function template out_­ptr [out.ptr]

template<class Pointer = void, class Smart, class... Args> auto out_ptr(Smart& s, Args&&... args);
Let P be Pointer if is_­void_­v<Pointer> is false, otherwise POINTER_­OF(Smart).
Returns: out_­ptr_­t<Smart, P, Args&&...>(s, std​::​forward<Args>(args)...)