Namespaces
Variants

std:: formattable

From cppreference.net
Definiert in Header <format>
template < class T, class CharT >

concept formattable = /* formattable_with */ <
std:: remove_reference_t < T > ,
std:: basic_format_context < /* fmt_iter_for */ < CharT > , CharT >

> ;
(1) (seit C++23)
Hilfs-Templates
template < class CharT >
using /* fmt_iter_for */ = /* unspecified */ ;
(2) ( nur zur Darstellung* )
template < class T, class Context,

class Formatter =
typename Context :: template
formatter_type < std:: remove_const_t < T >> >
concept /* formattable_with */ =
std:: semiregular < Formatter > &&
requires ( Formatter & f, const Formatter & cf, T && t, Context fc,
std:: basic_format_parse_context <
typename Context :: char_type
> pc ) {
{ f. parse ( pc ) } - > std:: same_as < typename decltype ( pc ) :: iterator > ;
{ cf. format ( t, fc ) } - > std:: same_as < typename Context :: iterator > ;

} ;
(3) ( nur zur Darstellung* )

Das Konzept formattable spezifiziert, dass std:: formatter < std:: remove_cvref_t < T > , CharT > die Anforderungen von BasicFormatter und Formatter erfüllt (falls std:: remove_reference_t < T > const-qualifiziert ist).

Die ausschließlich zur Darstellung verwendete Alias-Vorlage /* fmt_iter_for */ ergibt einen nicht spezifizierten Typ, der std:: output_iterator < const CharT & > erfüllt.

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3925 C++23 das zweite Template-Argument von std::basic_format_context wurde nicht bereitgestellt bereitgestellt

Siehe auch

(C++20)
definiert Formatierungsregeln für einen gegebenen Typ
(Klassen-Template)
abstrahiert Formatierungsoperationen für einen gegebenen Formatierungsargumenttyp und Zeichentyp
(benannte Anforderung)
(C++20)
definiert Funktionen, die von der Formatierungsbibliothek verwendet werden
(benannte Anforderung)