20 Memory management library [mem]

20.3 Smart pointers [smartptr]

20.3.4 Smart pointer adaptors [smartptr.adapt]

20.3.4.4 Function template inout_­ptr [inout.ptr]

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