Namespaces
Variants

std:: vformat_to

From cppreference.net
Défini dans l'en-tête <format>
template < class OutputIt >
OutputIt vformat_to ( OutputIt out, std:: string_view fmt, std:: format_args args ) ;
(1) (depuis C++20)
template < class OutputIt >
OutputIt vformat_to ( OutputIt out, std:: wstring_view fmt, std:: wformat_args args ) ;
(2) (depuis C++20)
template < class OutputIt >

OutputIt vformat_to ( OutputIt out, const std:: locale & loc,

std:: string_view fmt, std:: format_args args ) ;
(3) (depuis C++20)
template < class OutputIt >

OutputIt vformat_to ( OutputIt out, const std:: locale & loc,

std:: wstring_view fmt, std:: wformat_args args ) ;
(4) (depuis C++20)

Formate les arguments contenus dans args selon la chaîne de format fmt , et écrit le résultat dans l'itérateur de sortie out . Si présent, loc est utilisé pour le formatage spécifique à la locale.

Soit CharT le type decltype ( fmt ) :: char_type ( char pour les surcharges (1,3) , wchar_t pour les surcharges (2,4) ).

Ces surcharges participent à la résolution de surcharge seulement si OutputIt satisfait le concept std:: output_iterator < const CharT & > .

OutputIt doit modéliser (satisfaire aux exigences sémantiques du) concept std:: output_iterator < const CharT & > , et std:: formatter < Ti, CharT > doit satisfaire aux exigences Formatter pour tout Ti dans le type des arguments. Sinon, le comportement est indéfini.

Table des matières

Paramètres

out - itérateur vers le tampon de sortie
fmt - un objet qui représente la chaîne de format. La chaîne de format est constituée de
  • caractères ordinaires (sauf { et } ), qui sont copiés inchangés vers la sortie,
  • séquences d'échappement { { et } } , qui sont remplacées respectivement par { et } dans la sortie, et
  • champs de remplacement.

Chaque champ de remplacement a le format suivant :

{ arg-id (optionnel) } (1)
{ arg-id (optionnel) : format-spec } (2)
1) champ de remplacement sans spécification de format
2) champ de remplacement avec spécification de format
arg-id - spécifie l'index de l'argument dans args dont la valeur doit être utilisée pour le formatage ; s'il est omis, les arguments sont utilisés dans l'ordre.

Les arg-id  dans une chaîne de format doivent tous être présents ou tous être omis. Mélanger l'indexation manuelle et automatique est une erreur.

format-spec - la spécification de format définie par la spécialisation std::formatter pour l'argument correspondant. Ne peut pas commencer par } .

(depuis C++23)
(depuis C++26)
  • Pour les autres types formatables, la spécification de format est déterminée par les spécialisations formatter définies par l'utilisateur.
args - arguments à formater
loc - std::locale utilisé pour le formatage spécifique à la locale

Valeur de retour

Itérateur au-delà de la fin de la plage de sortie.

Exceptions

Lance std::format_error si fmt n'est pas une chaîne de format valide pour les arguments fournis. Propage également toute exception levée par les opérations de formateur ou d'itérateur.

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
P2216R3 C++20 le type de args est paramétré sur OutputIt non paramétré

Voir aussi