Obsolète de std :: allocator

Related: Pourquoi les conteneurs standard exigent-ils que allocator_type :: value_type soit le type d’élément?

Il est dit que les éléments suivants sont obsolètes depuis C ++ 17:

template struct allocator; 

Je me demande s’il est obsolète, car le modèle principal à lui seul est maintenant en mesure de prendre en charge allocator , ou le cas d’utilisation d’ allocator est obsolète.

Si ce dernier, je me demande pourquoi. Je pense que allocator est utile pour spécifier un allocateur non lié à un type spécifique (donc seulement quelques schémas / métadonnées).

    Selon p0174r0

    De même, std::allocator est défini de manière à ce que différentes astuces de reliure de gabarit puissent fonctionner dans la bibliothèque C ++ 98 d’origine, mais ce n’est pas un allocateur réel, car il manque les fonctions d’ allocate et de deallocate , qui ne peuvent pas être synthétisées par défaut de allocator_traits . Ce besoin a disparu avec C ++ 11 et les alias de type void_pointer et const_void_pointer dans allocator_traits. Cependant, nous continuons à le spécifier afin d’éviter de supprimer l’ancien code qui n’avait pas encore été mis à niveau pour prendre en charge les allocateurs génériques, conformément à C ++ 11.