std::experimental::pmr:: resource_adaptor, std::pmr::experimental:: resource_adaptor
|
Défini dans l'en-tête
<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 ; // à titre d'illustration uniquement |
(library fundamentals TS) | |
Le modèle d'alias
resource_adaptor
adapte le type d'allocateur
Alloc
avec une interface
memory_resource
. L'allocateur est re-lié à un type de valeur
char
avant d'être réellement adapté (en utilisant le modèle de classe
resource-adaptor-imp
), de sorte que l'adaptation des spécialisations du même modèle d'allocateur produise toujours le même type, indépendamment du type de valeur avec lequel le modèle d'allocateur est initialement instancié.
|
|
(library fundamentals TS)
(until library fundamentals TS v3) |
|
|
(library fundamentals TS v3) |
resource-adaptor-imp
est un modèle de classe dont les membres sont décrits ci-dessous. Le nom
resource-adaptor-imp
est utilisé uniquement à des fins d'exposition et n'est pas normatif.
En plus de satisfaire aux
Allocator
exigences,
Alloc
doit également satisfaire aux exigences supplémentaires suivantes :
- std:: allocator_traits < Alloc > :: pointer doit être identique à Alloc :: value_type * .
- std:: allocator_traits < Alloc > :: const_pointer doit être identique à Alloc :: value_type const * .
- std:: allocator_traits < Alloc > :: void_pointer doit être identique à void * .
- std:: allocator_traits < Alloc > :: const_const_pointer doit être identique à void const * .
Types membres de resource-adaptor-imp
| Type de membre | Définition |
allocator_type
|
Alloc
|
Fonctions membres 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
.
Paramètres
| other | - |
un autre objet
resource-adaptor-imp
à copier ou déplacer
|
| a2 | - |
un autre objet
Alloc
à copier ou déplacer
|
resource-adaptor-imp :: get_allocator
|
allocator_type get_allocator
(
)
const
;
|
(library fundamentals TS) | |
Retourne une copie de l'allocateur encapsulé.
resource-adaptor-imp :: operator=
|
/*resource-adaptor-imp*/
&
operator
=
(
const
/*resource-adaptor-imp*/
&
other
)
= default ; |
(library fundamentals TS) | |
Opérateur d'affectation par copie par défaut. Affecte par copie l'allocateur encapsulé à partir de celui de
other
.
resource-adaptor-imp :: do_allocate
|
protected
:
virtual void * do_allocate ( std:: size_t bytes, std:: size_t alignment ) ; |
(bibliothèque fundamentals TS) | |
Alloue de la mémoire en utilisant la fonction membre
allocate
de l'allocateur encapsulé.
resource-adaptor-imp :: do_deallocate
|
protected
:
virtual void do_deallocate ( void * p, std:: size_t bytes, std:: size_t alignment ) ; |
(library fundamentals TS) | |
Désalloue la mémoire pointée par
p
en utilisant la fonction membre
deallocate
de l'allocateur encapsulé.
p
doit avoir été alloué en utilisant la fonction membre
allocate
d'un allocateur qui compare égal à l'allocateur encapsulé, et ne doit pas avoir été désalloué ultérieurement.
resource-adaptor-imp :: do_is_equal
|
protected
:
virtual bool do_is_equal ( const memory_resource & other ) const noexcept ; |
(spécifications techniques des bibliothèques fondamentales) | |
Soit
p
égal à
dynamic_cast
<
const
/*resource-adaptor-imp*/
*
>
(
&
other
)
. Si
p
est une valeur de pointeur nul, retourne
false
. Sinon, retourne le résultat de la comparaison des allocateurs encapsulés par
*
p
et
*
this
en utilisant
operator
==
.