Namespaces
Variants

std:: basic_format_arg

From cppreference.net
Défini dans l'en-tête <format>
template < class Context >
class basic_format_arg ;
(depuis C++20)

Fournit l'accès à un argument de formatage.

basic_format_arg sont généralement créés par std::make_format_args et accédés via std::visit_format_arg ou les fonctions membres visit (depuis C++26) .

Un objet basic_format_arg se comporte comme s'il contenait une std::variant des types suivants :

  • std:: monostate (uniquement si l'objet a été construit par défaut)
  • bool
  • Context :: char_type
  • int
  • unsigned int
  • long long int
  • unsigned long long int
  • float
  • double
  • long double
  • const Context :: char_type *
  • std:: basic_string_view < Context :: char_type >
  • const void *
  • basic_format_arg :: handle

Table des matières

Classes membres

(C++20)
wrapper à effacement de type qui permet le formatage d'un objet de type défini par l'utilisateur
(classe membre publique)

Fonctions membres

(constructeur)
(C++20)
construit un std::basic_format_arg
(fonction membre publique)
operator bool
(C++20)
vérifie si l'objet courant contient un argument de formatage
(fonction membre publique)
visit
(C++26)
visite l'argument de formatage contenu
(fonction membre publique)

Fonctions non membres

(C++20) (déprécié en C++26)
interface de visite d'argument pour les formateurs personnalisés
(modèle de fonction)

std::basic_format_arg:: basic_format_arg

basic_format_arg ( ) noexcept ;
(depuis C++20)

Constructeur par défaut. Construit un basic_format_arg qui ne contient pas d'argument de formatage. L'objet contenu a le type std::monostate .

Pour créer un basic_format_arg qui contient un argument de formatage, std::make_format_args doit être utilisé.

std::basic_format_arg:: operator bool

explicit operator bool ( ) const noexcept ;
(depuis C++20)

Vérifie si * this contient un argument de formatage.

Retourne true si * this contient un argument de formatage (c'est-à-dire si l'objet contenu n'est pas de type std::monostate ), false sinon.

std::basic_format_arg:: visit

template < class Visitor >
decltype ( auto ) visit ( this basic_format_arg arg, Visitor && vis ) ;
(1) (depuis C++26)
template < class R, class Visitor >
R visit ( this basic_format_arg arg, Visitor && vis ) ;
(2) (depuis C++26)

Applique le visiteur vis à l'objet contenu dans arg .

Les fonctions visit ne modifient pas l'objet basic_format_arg sur lequel elles sont appelées car une copie de l'objet est utilisée lors de l'appel à vis .

1) Équivalent à return std:: visit ( std:: forward < Visitor > ( vis ) , v ) ; , où v est le std::variant contenu dans arg .
2) Équivalent à return std:: visit < R > ( std:: forward < Visitor > ( vis ) , v ) ; , où v est le std::variant contenu dans arg .

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_format 202306L (C++26) Fonction membre visit

Exemple

Voir aussi

classe qui fournit l'accès à tous les arguments de formatage
(modèle de classe)