[pointer.traits.general]

# 20 Memory management library [[mem]](./#mem)

## 20.2 Memory [[memory]](memory#pointer.traits.general)

### 20.2.3 Pointer traits [[pointer.traits]](pointer.traits#general)

#### 20.2.3.1 General [pointer.traits.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L745)

The class template pointer_traits supplies a uniform interface to certain
attributes of pointer-like types[.](#1.sentence-1)

[ð](#lib:pointer_traits)

namespace std {template<class Ptr> struct pointer_traits {*see below*; }; template<class T> struct pointer_traits<T*> {using pointer = T*; using element_type = T; using difference_type = ptrdiff_t; template<class U> using rebind = U*; static constexpr pointer pointer_to(*see below* r) noexcept; };}
