Struct pointer_traits
Fornece informações que são necessárias a um objeto allocator_traits
para descrever um alocador com o tipo de ponteiro Ptr
.
Sintaxe
template <class Ptr>
struct pointer_traits;
Comentários
Ptr pode ser um ponteiro bruto do tipo Ty *
ou uma classe com as seguintes propriedades.
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
};
Membros
Typedefs
Nome | Descrição |
---|---|
typedef T2 difference_type |
O tipo T2 é Ptr::difference_type se esse tipo de existir, caso contrário, ptrdiff_t . Se Ptr for um ponteiro bruto, o tipo será ptrdiff_t . |
typedef T1 element_type |
O tipo T1 é Ptr::element_type se esse tipo de existir, caso contrário, Ty . Se Ptr for um ponteiro bruto, o tipo será Ty . |
typedef Ptr pointer |
O tipo é Ptr . |
Estruturas
Nome | Descrição |
---|---|
rebind |
Tenta converter o tipo de ponteiro subjacente em um tipo especificado. |
Métodos
Nome | Descrição |
---|---|
pointer_to | Converte uma referência arbitrária em um objeto da classe Ptr . |
pointer_to
O método estático que retorna Ptr::pointer_to(obj)
, se essa função existir. Caso contrário, não é possível converter uma referência arbitrária para um objeto da classe Ptr
. Se Ptr
for um ponteiro bruto, esse método retornará addressof(obj)
.
static pointer pointer_to(element_type& obj);