29 lines
810 B
Markdown
29 lines
810 B
Markdown
[out.ptr]
|
||
|
||
# 20 Memory management library [[mem]](./#mem)
|
||
|
||
## 20.3 Smart pointers [[smartptr]](smartptr#out.ptr)
|
||
|
||
### 20.3.4 Smart pointer adaptors [[smartptr.adapt]](smartptr.adapt#out.ptr)
|
||
|
||
#### 20.3.4.2 Function template out_ptr [out.ptr]
|
||
|
||
[ð](#lib:out_ptr)
|
||
|
||
`template<class Pointer = void, class Smart, class... Args>
|
||
constexpr auto out_ptr(Smart& s, Args&&... args);
|
||
`
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L5650)
|
||
|
||
Let P be Pointer if is_void_v<Pointer> is false,
|
||
otherwise *POINTER_OF*(Smart)[.](#1.sentence-1)
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L5655)
|
||
|
||
*Returns*: out_ptr_t<Smart, P, Args&&...>(s, std::forward<Args>(args)...)[.](#2.sentence-1)
|