time_put, classe
Le modèle de classe décrit un objet qui peut servir de facette de paramètres régionaux pour contrôler les conversions de valeurs de temps en séquences de type CharType
.
Syntaxe
template <class CharType,
class OutputIterator = ostreambuf_iterator<CharType>>
class time_put : public locale::facet;
Paramètres
CharType
Type utilisé dans le cadre d'un programme pour encoder des caractères.
OutputIterator
Type d'itération dans lequel les fonctions put temporelles enregistrent leur sortie.
Notes
Comme avec n'importe quelle facette de paramètres régionaux, l'ID d'objet statique possède une valeur stockée initiale de zéro. La première tentative d’accès à sa valeur stockée entraîne le stockage d’une valeur positive unique dans id.
Constructeurs
Constructeur | Description |
---|---|
time_put | Constructeur des objets de type time_put . |
Typedefs
Nom de type | Description |
---|---|
char_type | Type utilisé pour décrire un caractère utilisé par des paramètres régionaux. |
iter_type | Type qui décrit un itérateur de sortie. |
Fonctions Membre
Fonction membre | Description |
---|---|
do_put | Fonction virtuelle qui fournit en sortie des informations de date et d'heure sous la forme d'une séquence d'objets CharType . |
put | Fournit en sortie des informations de date et d'heure sous la forme d'une séquence d'objets CharType . |
Spécifications
Header :<locale>
Espace de noms : std
time_put ::char_type
Type utilisé pour décrire un caractère utilisé par des paramètres régionaux.
typedef CharType char_type;
Notes
Le type est un synonyme du paramètre de modèle CharType
.
time_put ::d o_put
Fonction virtuelle qui fournit en sortie des informations de date et d'heure sous la forme d'une séquence d'objets CharType
.
virtual iter_type do_put(
iter_type next,
ios_base& _Iosbase,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
Paramètres
suivant
Itérateur de sortie indiquant où la séquence de caractères représentant la date et l’heure doivent être insérés.
_Iosbase
Inutilisé.
_Pt
Les informations de date et d’heure fournies en sortie.
_Fmt
Le format de la sortie. Consultez strftime, wcsftime, _strftime_l, _wcsftime_l pour obtenir des valeurs valides.
_Mod
Un modificateur du format. Consultez strftime, wcsftime, _strftime_l, _wcsftime_l pour obtenir des valeurs valides.
Valeur de retour
Un itérateur pour la première position après le dernier élément inséré.
Notes
La fonction membre protégée virtuelle génère des éléments séquentiels commençant à next
partir des valeurs temporelles stockées dans l’objet * _Pt
, de type tm
. La fonction retourne un itérateur désignant l’emplacement suivant où insérer un élément au-delà de la sortie générée.
La sortie est générée par les mêmes règles que celles utilisées par strftime
, avec un dernier argument de _Pt, pour générer une série d’éléments char
dans un tableau. Chaque élément de ce char
type est supposé mapper à un élément de type CharType
équivalent par un mappage simple, un-à-un. Si _Mod est égal à zéro, le format effectif est « %F », où F est remplacé par _Fmt. Sinon, le format effectif est « %MF », où M est remplacé par _Mod.
Exemple
Consultez l’exemple relatif à put, qui appelle do_put
.
time_put ::iter_type
Type qui décrit un itérateur de sortie.
typedef OutputIterator iter_type;
Notes
Le type est un synonyme du paramètre de modèle OutputIterator
.
time_put ::p ut
Fournit en sortie des informations de date et d'heure sous la forme d'une séquence d'objets CharType
.
iter_type put(iter_type next,
ios_base& _Iosbase,
char_type _Fill,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
iter_type put(iter_type next,
ios_base& _Iosbase,
char_type _Fill,
const tm* _Pt,
const CharType* first,
const CharType* last) const;
Paramètres
suivant
Itérateur de sortie indiquant où la séquence de caractères représentant la date et l’heure doivent être insérés.
_Iosbase
Inutilisé.
_Remplir
Caractère de type CharType
utilisé pour l’espacement.
_Pt
Les informations de date et d’heure fournies en sortie.
_Fmt
Le format de la sortie. Consultez strftime, wcsftime, _strftime_l, _wcsftime_l pour obtenir des valeurs valides.
_Mod
Un modificateur du format. Consultez strftime, wcsftime, _strftime_l, _wcsftime_l pour obtenir des valeurs valides.
first
Le début de la chaîne de mise en forme pour la sortie. Consultez strftime, wcsftime, _strftime_l, _wcsftime_l pour obtenir des valeurs valides.
last
La fin de la chaîne de mise en forme pour la sortie. Consultez strftime, wcsftime, _strftime_l, _wcsftime_l pour obtenir des valeurs valides.
Valeur de retour
Un itérateur pour la première position après le dernier élément inséré.
Notes
La première fonction membre retourne do_put(next
, _Iosbase
, _Fill
, _Pt
_Fmt
, , ). _Mod
La deuxième fonction membre copie vers * next
++ tout élément de l’intervalle [ first
, last
) autre qu’un pourcentage (%). Pour un pourcentage suivi d’un caractère C dans l’intervalle [ first
, ), last
la fonction évalue = next
do_put
à la place ( next
, _Iosbase
_Fill
, , _Pt
, C, 0) et ignore le passé C. Si, toutefois, C est un caractère de qualificateur du jeu EOQ#, suivi d’un caractère C2
dans l’intervalle [ first
, ), last
la fonction évalue next
do_put
= à la place ( next
, , _Pt
_Fill
_Iosbase
, , C2
C) et ignore le passé .C2
Exemple
// time_put_put.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc;
basic_stringstream<char> pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
t.tm_hour = 5;
t.tm_min = 30;
t.tm_sec = 40;
t.tm_year = 00;
t.tm_mday = 4;
t.tm_mon = 6;
pszPutI.imbue( loc );
char *pattern = "x: %X %x";
use_facet <time_put <char> >
(loc).put(basic_ostream<char>::_Iter(pszPutI.rdbuf( )),
pszPutI, ' ', &t, pattern, pattern+strlen(pattern));
cout << "num_put( ) = " << pszPutI.rdbuf( )->str( ) << endl;
char strftimebuf[255];
strftime(&strftimebuf[0], 255, pattern, &t);
cout << "strftime( ) = " << &strftimebuf[0] << endl;
}
num_put( ) = x: 05:30:40 07/04/00
strftime( ) = x: 05:30:40 07/04/00
time_put ::time_put
Constructeur d’objets de type time_put
.
explicit time_put(size_t _Refs = 0);
Paramètres
_Refs
Valeur entière qui sert à spécifier le type de gestion de la mémoire pour l’objet.
Notes
Les valeurs possibles pour le paramètre _Refs et leur signification sont les suivantes :
0 : la durée de vie de l’objet est gérée par les paramètres régionaux qui le contiennent.
1 : la durée de vie de l’objet doit être gérée manuellement.
> 1 : Ces valeurs ne sont pas définies.
Le constructeur initialise son objet de base avec les paramètres régionaux ::facet(_Refs).
Voir aussi
<paramètres régionaux>
time_base, classe
Sécurité des threads dans la bibliothèque C++ Standard