Структура pointer_traits
Предоставляет данные, необходимые объекту класса шаблонов allocator_traits для описания распределителя с типом указателя Ptr.
template<class Ptr>
struct pointer_traits;
Заметки
PTR может быть сырцовым указателем типа Ty * или класса со следующими свойствами.
template<class Ty, class... Rest>
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
};
Предупреждение
Хотя стандарт C++ определяет члена rebind как шаблон псевдонима, Visual C++ реализует rebind как struct.
Определения типов
Name |
Описание |
---|---|
typedef T2 difference_type |
Тип T2Ptr::difference_type, если этот тип существует, в противном случае ptrdiff_t. Если Ptr необработанный указатель, тип ptrdiff_t. |
typedef T1 element_type |
Тип T1Ptr::element_type, если этот тип существует, в противном случае Ty. Если Ptr необработанный указатель, тип Ty. |
typedef Ptr pointer |
Типом является Ptr. |
структурам;
Name |
Описание |
---|---|
pointer_traits::rebind |
Пытается преобразовать базовый тип указателя к указанному типу. |
Методы
Name |
Описание |
---|---|
Преобразование произвольная ссылку на объект класса Ptr. |
Требования
Заголовок:<memory>
Пространство имен: std