std::basic_format_arg<Context>:: handle
|
Défini dans l'en-tête
<format>
|
||
|
template
<
class
Context
>
class basic_format_arg < Context > :: handle ; |
(depuis C++20) | |
Un wrapper à effacement de type qui permet de formater un objet d'un type défini par l'utilisateur.
handle
objects are généralement créés par
std::make_format_args
et accédés via
std::visit_format_arg
ou les fonctions membres
visit
de
std::basic_format_arg
(depuis C++26)
.
Table des matières |
Membres de données
Une implémentation typique de
handle
est
TriviallyCopyable
et ne stocke que deux membres de données non statiques :
- un const void * pointeur vers l'objet à formater, et
-
un
void
(
*
)
(
std::
basic_format_parse_context
<
Context
::
char_type
>
&
, Context
&
,
const
void
*
)
pointeur de fonction vers la fonction effectuant les opérations nécessaires dans la fonction membre
format(voir ci-dessous).
Fonctions membres
|
format
(C++20)
|
formate l'objet référencé avec les contextes donnés
(fonction membre publique) |
std::basic_format_arg<Context>::handle:: format
|
void
format
(
std::
basic_format_parse_context
<
Context
::
char_type
>
&
parse_ctx,
Context & format_ctx ) const ; |
(depuis C++20) | |
Soit
-
Tle type de l'argument de formatage, -
TDsoit std:: remove_const_t < T > , -
TQsoit const TD si const TD satisfait __formattable_with < Context > ouTDsinon, et -
refsoit une référence à l'argument de formatage.
Équivalent à :
typename
Context
::
template
formatter_type
<
TD
>
f
;
parse_ctx.
advance_to
(
f.
parse
(
parse_ctx
)
)
;
format_ctx.
advance_to
(
f.
format
(
const_cast
<
TQ
&
>
(
static_cast
<
const
TD
&
>
(
ref
)
)
, format_ctx
)
)
;
Notes
Un
handle
a une sémantique de référence pour l'argument formaté et n'étend pas sa durée de vie. Il est de la responsabilité du programmeur de s'assurer que l'argument survit au
handle
. Habituellement, un
handle
n'est utilisé que dans les fonctions de formatage.
Voir aussi
|
(C++20)
|
classe template qui fournit l'accès à un argument de formatage pour les formateurs personnalisés
(classe template) |
|
(C++20)
(C++20)
|
crée un objet à type effacé référençant tous les arguments de formatage, convertible en
format_args
(fonction template) |