Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предоставляет сведения, необходимые объекту типа allocator_traits для описания распределителя с типом Ptrуказателя.
Синтаксис
template <class Ptr>
struct pointer_traits;
Замечания
Ptr может быть необработанным указателем типа Ty * или классом со следующими свойствами.
struct Ptr
{ // describes a pointer type usable by allocators
typedef Ptr pointer;
typedef T1 element_type; // optional
typedef T2 difference_type; // optional
template <class Other>
using rebind = typename Ptr<Other, Rest...>; // optional
static pointer pointer_to(element_type& obj); // optional
};
Участники
Определения типов
| Имя | Описание |
|---|---|
typedef T2 difference_type |
Тип T2 — Ptr::difference_type, если этот тип существует, в противном случае — ptrdiff_t. Если Ptr является необработанным указателем, то тип — ptrdiff_t. |
typedef T1 element_type |
Тип T1 — Ptr::element_type, если этот тип существует, в противном случае — Ty. Если Ptr является необработанным указателем, то тип — Ty. |
typedef Ptr pointer |
Тип — Ptr. |
Структуры
| Имя | Описание |
|---|---|
rebind |
Пытается преобразовать базовый указатель в указанный тип. |
Методы
| Имя | Описание |
|---|---|
| pointer_to | Преобразует произвольную ссылку в объект класса Ptr. |
pointer_to
Статический метод, возвращающий Ptr::pointer_to(obj), если эта функция существует. В противном случае невозможно преобразовать произвольную ссылку на объект класса Ptr. Если Ptr является необработанной ссылкой, этот метод возвращает addressof(obj).
static pointer pointer_to(element_type& obj);