45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
[pointer.traits.optmem]
|
||
|
||
# 20 Memory management library [[mem]](./#mem)
|
||
|
||
## 20.2 Memory [[memory]](memory#pointer.traits.optmem)
|
||
|
||
### 20.2.3 Pointer traits [[pointer.traits]](pointer.traits#optmem)
|
||
|
||
#### 20.2.3.4 Optional members [pointer.traits.optmem]
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L882)
|
||
|
||
Specializations of pointer_traits may define the member declared
|
||
in this subclause to customize the behavior of the standard library[.](#1.sentence-1)
|
||
|
||
A specialization generated from the pointer_traits primary template
|
||
has no member by this name[.](#1.sentence-2)
|
||
|
||
[ð](#lib:to_address,pointer_traits)
|
||
|
||
`static element_type* to_address(pointer p) noexcept;
|
||
`
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L894)
|
||
|
||
*Returns*: A pointer of type element_type* that references
|
||
the same location as the argument p[.](#2.sentence-1)
|
||
|
||
[3](#3)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L899)
|
||
|
||
[*Note [1](#note-1)*:
|
||
|
||
This function is intended to be the inverse of pointer_to[.](#3.sentence-1)
|
||
|
||
If defined, it customizes the behavior of
|
||
the non-member functionto_address ([[pointer.conversion]](pointer.conversion "20.2.4 Pointer conversion"))[.](#3.sentence-2)
|
||
|
||
â *end note*]
|