Namespaces
Variants

std:: formatter < range >

From cppreference.net
Défini dans l'en-tête <format>
template < ranges:: input_range R, class CharT >

requires ( std:: format_kind < R > ! = std :: range_format :: disabled ) &&
std:: formattable < ranges:: range_reference_t < R > , CharT >

struct formatter < R, CharT > ;
(depuis C++23)
Modèles auxiliaires
template < std:: range_format K, ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ ;
( exposition uniquement* )

La spécialisation de modèle de std::formatter pour les types de plage permet aux utilisateurs de convertir une plage en sa représentation textuelle sous forme de collection d'éléments ou de chaîne de caractères en utilisant les fonctions de formatage .

La spécialisation est dérivée de range-default-formatter < std:: format_kind < R > , R, CharT > .

La spécialisation est activée si R satisfait input_range , std:: format_kind < R > n'est pas std :: range_format :: disabled , et std:: formattable < ranges:: range_reference_t < R > , CharT > est true .

Cette spécialisation satisfait aux exigences Formatter si const R modélise input_range et ranges:: range_reference_t < const R > modélise std:: formattable < CharT > . Elle satisfait toujours aux exigences BasicFormatter .

Table des matières

Spécification du format

La syntaxe de range-format-spec est :

range-fill-and-align  (optionnel) width  (optionnel) n (optionnel) range-type  (optionnel) range-underlying-spec  (optionnel)

La syntaxe est entièrement décrite dans la spécification de format de plage .

Pour les spécialisations de std::formatter std:: format_kind < R > est soit std :: range_format :: string soit std :: range_format :: debug_string , le format-spec est std-format-spec au lieu de range-format-spec (qui utilise std:: formatter < std:: basic_string < CharT > , CharT > comme formateur sous-jacent).

Spécialisations de range-default-formatter

utilitaire de formatage pour les plages sous forme de séquence
(spécialisation de modèle de classe)
utilitaire de formatage pour les plages sous forme de map
(spécialisation de modèle de classe)
utilitaire de formatage pour les plages sous forme de set
(spécialisation de modèle de classe)
utilitaire de formatage pour les plages sous forme de chaîne ou de chaîne échappée
(spécialisation de modèle de classe)

Exemple

Voir aussi

(C++20)
définit les règles de formatage pour un type donné
(modèle de classe)
modèle de classe qui aide à implémenter std::formatter les spécialisations pour les types de plage
(modèle de classe)