Поделиться через


Структура 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

Описание

Метод pointer_traits::pointer_to

Преобразование произвольная ссылку на объект класса Ptr.

Требования

Заголовок:<memory>

Пространство имен: std

См. также

Ссылки

<memory>

Класс allocator_traits