std::experimental::pmr:: resource_adaptor, std::pmr::experimental:: resource_adaptor
|
Definido en el encabezado
<experimental/memory_resource>
|
||
|
template
<
class
Alloc
>
using
resource_adaptor
=
/*resource-adaptor-imp*/
<
|
(library fundamentals TS) | |
|
template
<
class
Alloc
>
class /*resource-adaptor-imp*/ : public memory_resource ; // solo para exposición |
(library fundamentals TS) | |
La plantilla de alias
resource_adaptor
adapta el tipo de asignador
Alloc
con una interfaz
memory_resource
. El asignador se reasocia a un tipo de valor
char
antes de ser realmente adaptado (usando la plantilla de clase
resource-adaptor-imp
), de modo que adaptar especializaciones de la misma plantilla de asignador siempre produce el mismo tipo, independientemente del tipo de valor con el que se instancie originalmente la plantilla de asignador.
|
|
(library fundamentals TS)
(until library fundamentals TS v3) |
|
|
(library fundamentals TS v3) |
resource-adaptor-imp
es una plantilla de clase cuyos miembros se describen a continuación. El nombre
resource-adaptor-imp
es solo para fines expositivos y no es normativo.
Además de cumplir con los
Allocator
requisitos,
Alloc
debe satisfacer adicionalmente los siguientes requisitos:
- std:: allocator_traits < Alloc > :: pointer debe ser idéntico a Alloc :: value_type * .
- std:: allocator_traits < Alloc > :: const_pointer debe ser idéntico a Alloc :: value_type const * .
- std:: allocator_traits < Alloc > :: void_pointer debe ser idéntico a void * .
- std:: allocator_traits < Alloc > :: const_const_pointer debe ser idéntico a void const * .
Tipos de miembros de resource-adaptor-imp
| Tipo de miembro | Definición |
allocator_type
|
Alloc
|
Funciones miembro de resource-adaptor-imp
resource-adaptor-imp :: resource-adaptor-imp
|
/*resource-adaptor-imp*/
(
)
=
default
;
|
(1) | (library fundamentals TS) |
|
/*resource-adaptor-imp*/
(
const
/*resource-adaptor-imp*/
&
other
)
= default ; |
(2) | (library fundamentals TS) |
|
/*resource-adaptor-imp*/
(
/*resource-adaptor-imp*/
&&
other
)
= default ; |
(3) | (library fundamentals TS) |
|
explicit
/*resource-adaptor-imp*/
(
const
Alloc
&
a2
)
;
|
(4) | (library fundamentals TS) |
|
explicit
/*resource-adaptor-imp*/
(
Alloc
&&
a2
)
;
|
(5) | (library fundamentals TS) |
other
.
other
.
a2
.
Parámetros
| other | - |
otro objeto
resource-adaptor-imp
desde el cual copiar o mover
|
| a2 | - |
otro objeto
Alloc
desde el cual copiar o mover
|
resource-adaptor-imp :: get_allocator
|
allocator_type get_allocator
(
)
const
;
|
(library fundamentals TS) | |
Devuelve una copia del asignador encapsulado.
resource-adaptor-imp :: operator=
|
/*resource-adaptor-imp*/
&
operator
=
(
const
/*resource-adaptor-imp*/
&
other
)
= default ; |
(library fundamentals TS) | |
Operador de asignación de copia por defecto. Asigna por copia el asignador envuelto desde el de
other
.
resource-adaptor-imp :: do_allocate
|
protected
:
virtual void * do_allocate ( std:: size_t bytes, std:: size_t alignment ) ; |
(library fundamentals TS) | |
Asigna memoria utilizando la función miembro
allocate
del asignador encapsulado.
resource-adaptor-imp :: do_deallocate
|
protected
:
virtual void do_deallocate ( void * p, std:: size_t bytes, std:: size_t alignment ) ; |
(library fundamentals TS) | |
Desasigna el almacenamiento apuntado por
p
utilizando la función miembro
deallocate
del asignador encapsulado.
p
debe haber sido asignado utilizando la función miembro
allocate
de un asignador que compare igual al asignador encapsulado, y no debe haber sido desasignado posteriormente.
resource-adaptor-imp :: do_is_equal
|
protected
:
virtual bool do_is_equal ( const memory_resource & other ) const noexcept ; |
(library fundamentals TS) | |
Sea
p
igual a
dynamic_cast
<
const
/*resource-adaptor-imp*/
*
>
(
&
other
)
. Si
p
es un valor de puntero nulo, retorna
false
. De lo contrario, retorna el resultado de comparar los asignadores encapsulados por
*
p
y
*
this
usando
operator
==
.