Namespaces
Variants

std::uses_allocator<std::tuple>

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
 
Défini dans l'en-tête <tuple>
template< class... Types, class Alloc >
struct uses_allocator< std::tuple<Types...>, Alloc > : std::true_type { };
(depuis C++11)

Cette spécialisation de std::uses_allocator informe les autres composants de la bibliothèque que les tuples supportent la construction avec allocateur, même s'ils n'ont pas un allocator_type imbriqué.

Hérité de std:: integral_constant

Constantes membres

value
[static]
true
(constante membre publique statique)

Fonctions membres

operator bool
convertit l'objet en bool , retourne value
(fonction membre publique)
operator()
(C++14)
retourne value
(fonction membre publique)

Types membres

Type Définition
value_type bool
type std:: integral_constant < bool , value >

Exemple

// myalloc est un Allocateur avec état ayant un constructeur à un seul argument
// qui prend un int. Il n'a pas de constructeur par défaut.
    using innervector_t = std::vector<int, myalloc<int>>;
    using elem_t = std::tuple<int, innervector_t>;
    using Alloc = std::scoped_allocator_adaptor< myalloc<elem_t>, myalloc<int>>;
    Alloc a(1,2);
    std::vector<elem_t, Alloc> v(a);
    v.resize(1);                  // utilise l'allocateur #1 pour les éléments de v
    std::get<1>(v[0]).resize(10); // utilise l'allocateur #2 pour innervector_t

Voir aussi

vérifie si le type spécifié prend en charge la construction avec allocateur
(modèle de classe)