Namespaces
Variants

std::experimental::pmr:: resource_adaptor, std::pmr::experimental:: resource_adaptor

From cppreference.net
Défini dans l'en-tête <experimental/memory_resource>
template < class Alloc >

using resource_adaptor = /*resource-adaptor-imp*/ <
typename std:: allocator_traits < Alloc > ::

template rebind_alloc < char >> ;
(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é.

resource_adaptor est défini dans l'espace de noms std::experimental::pmr , et le type de base memory_resorce dans cette page est std::experimental::pmr::memory_resource .

(library fundamentals TS)
(until library fundamentals TS v3)

resource_adaptor est défini dans l'espace de noms std::pmr::experimental , et le type de base memory_resorce dans cette page est std::pmr::memory_resource .

(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 :

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)
1) Constructeur par défaut. Construit par défaut l'allocateur encapsulé.
2) Constructeur de copie. Construit par copie l'allocateur encapsulé à partir de l'allocateur encapsulé par other .
3) Constructeur de déplacement. Construit par déplacement l'allocateur encapsulé à partir de l'allocateur encapsulé par other .
4) Initialise l'allocateur encapsulé avec a2 .
5) Initialise l'allocateur encapsulé avec std :: move ( 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 == .