Namespaces
Variants

std:: basic_format_context

From cppreference.net
Défini dans l'en-tête <format>
template < class OutputIt, class CharT >
class basic_format_context ;
(1) (depuis C++20)
using format_context = basic_format_context < /* non spécifié */ , char > ;
(2) (depuis C++20)
using wformat_context = basic_format_context < /* non spécifié */ , wchar_t > ;
(3) (depuis C++20)

Fournit un accès à l'état de formatage constitué des arguments de formatage et de l'itérateur de sortie.

2) L'argument de modèle non spécifié est un itérateur de sortie qui ajoute à std::string , tel que std:: back_insert_iterator < std:: string > . Les implémentations utilisent typiquement un itérateur vers un type de buffer à effacement de type qui supporte l'ajout à tout conteneur contigu et redimensionnable.
3) L'argument de modèle non spécifié est un itérateur de sortie qui ajoute à std::wstring .

Le comportement n'est pas défini si OutputIt ne modélise pas std:: output_iterator < const CharT & > .

Un programme qui déclare une spécialisation explicite ou partielle de std::basic_format_context est non valide, aucun diagnostic requis.

std::basic_format_context ne peut être créé que par l'implémentation. Le code utilisateur n'est autorisé à modifier le contexte de formatage que via la fonction format des spécialisations de std::formatter .

Table des matières

Types membres

Type Définition
iterator OutputIt
char_type CharT

Modèles d'alias de membre

Type Définition
formatter_type < T > std:: formatter < T, CharT >

Fonctions membres

(constructeur)
[supprimé]
basic_format_context ne peut pas être construit par le code utilisateur
(fonction membre publique)
operator=
[supprimé]
basic_format_context n'est pas assignable
(fonction membre publique)
arg
retourne l'argument à l'index donné
(fonction membre publique)
locale
retourne la locale utilisée pour le formatage spécifique à la locale
(fonction membre publique)
out
retourne l'itérateur vers le tampon de sortie
(fonction membre publique)
advance_to
avance l'itérateur de sortie vers la position donnée
(fonction membre publique)

std::basic_format_context:: arg

std:: basic_format_arg < basic_format_context > arg ( std:: size_t id ) const ;

Retourne un std::basic_format_arg contenant l'argument id -ième dans args , où args est le pack de paramètres ou l'objet std::basic_format_args passé à la fonction de formatage.

Si id n'est pas inférieur au nombre d'arguments de formatage, retourne un std::basic_format_arg construit par défaut (contenant un objet std::monostate ).

std::basic_format_context:: locale

std:: locale locale ( ) ;

Retourne la locale passée à la fonction de formatage, ou une std::locale construite par défaut si la fonction de formatage ne prend pas de locale.

std::basic_format_context:: out

iterator out ( ) ;

Retourne l'itérateur vers le tampon de sortie. Le résultat est construit par déplacement à partir de l'itérateur stocké.

std::basic_format_context:: advance_to

void advance_to ( iterator it ) ;

Affecte par déplacement it à l'itérateur de sortie stocké. Après un appel à advance_to , le prochain appel à out() retournera un itérateur avec la valeur que it avait avant l'affectation.

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 corrigé
LWG 3567 C++20 basic_format_context ne fonctionne pas avec les types d'itérateurs non copiables modifié pour déplacer les itérateurs
LWG 3975 C++20 la spécialisation utilisateur de basic_format_context était autorisée interdite
LWG 4061 C++20 basic_format_context était constructible et assignable par le code utilisateur rendu ni constructible ni assignable