Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In de klassesjabloon wordt een object beschreven dat als landinstellings facet kan fungeren om conversies van tijdwaarden naar reeksen van het type CharTypete beheren.
Syntaxis
template <class CharType,
class OutputIterator = ostreambuf_iterator<CharType>>
class time_put : public locale::facet;
Parameterwaarden
CharType
Het type dat in een programma wordt gebruikt om tekens te coderen.
OutputIterator
Het type iterator waarin de tijd waarin functies worden geplaatst, hun uitvoer schrijven.
Opmerkingen
Net als bij een facet van de landinstelling heeft de statische object-id een initiële opgeslagen waarde van nul. Bij de eerste poging om toegang te krijgen tot de opgeslagen waarde wordt een unieke positieve waarde in id opgeslagen .
Constructeurs
| Constructeur | Beschrijving |
|---|---|
| time_put | De constructor voor objecten van het type time_put. |
Typedefs
| Typenaam | Beschrijving |
|---|---|
| char_type | Een type dat wordt gebruikt om een teken te beschrijven dat wordt gebruikt door een landinstelling. |
| iter_type | Een type dat een uitvoer-iterator beschrijft. |
Functies voor leden
| Lid, functie | Beschrijving |
|---|---|
| do_put | Een virtuele functie die tijd- en datumgegevens uitvoert als een reeks CharTypes. |
| zet | Voert tijd- en datumgegevens uit als een reeks CharTypes. |
Behoeften
Rubriek:<oord>
naamruimte: std
time_put::char_type
Een type dat wordt gebruikt om een teken te beschrijven dat wordt gebruikt door een landinstelling.
typedef CharType char_type;
Opmerkingen
Het type is een synoniem voor de sjabloonparameter CharType.
time_put::d o_put
Een virtuele functie die tijd- en datumgegevens uitvoert als een reeks CharTypes.
virtual iter_type do_put(
iter_type next,
ios_base& _Iosbase,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
Parameterwaarden
volgende
Een uitvoer-iterator waarbij de reeks tekens die de tijd en datum vertegenwoordigen, moeten worden ingevoegd.
_Iosbase
Ongebruikt.
_Pt
De tijd- en datumgegevens die worden uitgevoerd.
_Fmt
De indeling van de uitvoer. Zie strftime, wcsftime, _strftime_l _wcsftime_l voor geldige waarden.
_Mod
Een wijzigingsfunctie voor de indeling. Zie strftime, wcsftime, _strftime_l _wcsftime_l voor geldige waarden.
Retourwaarde
Een iterator naar de eerste positie nadat het laatste element is ingevoegd.
Opmerkingen
De functie virtueel beveiligd lid genereert sequentiële elementen die beginnen bij next tijdwaarden die zijn opgeslagen in het object * _Pt, van het type tm. De functie retourneert een iterator die de volgende plaats aangeeft om een element in te voegen buiten de gegenereerde uitvoer.
De uitvoer wordt gegenereerd door dezelfde regels die worden gebruikt door strftime, met een laatste argument van _Pt, voor het genereren van char een reeks elementen in een matrix. Elk dergelijk char element wordt ervan uitgegaan dat het wordt toegewezen aan een equivalent element van het type CharType door een eenvoudige, een-op-een-toewijzing. Als _Mod gelijk is aan nul, is de effectieve notatie "%F", waarbij F wordt vervangen door _Fmt. Anders is de effectieve indeling "%MF", waarbij M wordt vervangen door _Mod.
Voorbeeld
Zie het voorbeeld voor plaatsen, welke aanroepen do_put.
time_put::iter_type
Een type dat een uitvoer-iterator beschrijft.
typedef OutputIterator iter_type;
Opmerkingen
Het type is een synoniem voor de sjabloonparameter OutputIterator.
time_put::p ut
Voert tijd- en datumgegevens uit als een reeks CharTypes.
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;
Parameterwaarden
volgende
Een uitvoer-iterator waarbij de reeks tekens die de tijd en datum vertegenwoordigen, moeten worden ingevoegd.
_Iosbase
Ongebruikt.
_Vullen
Het teken van het type CharType dat wordt gebruikt voor afstand.
_Pt
De tijd- en datumgegevens die worden uitgevoerd.
_Fmt
De indeling van de uitvoer. Zie strftime, wcsftime, _strftime_l _wcsftime_l voor geldige waarden.
_Mod
Een wijzigingsfunctie voor de indeling. Zie strftime, wcsftime, _strftime_l _wcsftime_l voor geldige waarden.
eerste
Het begin van de opmaaktekenreeks voor de uitvoer. Zie strftime, wcsftime, _strftime_l _wcsftime_l voor geldige waarden.
laatste
Het einde van de opmaaktekenreeks voor de uitvoer. Zie strftime, wcsftime, _strftime_l _wcsftime_l voor geldige waarden.
Retourwaarde
Een iterator naar de eerste positie nadat het laatste element is ingevoegd.
Opmerkingen
De functie eerste lid retourneert do_put(next, _Iosbase, _Fill, _Pt, , _Fmt). _Mod De tweede lidfunctie kopieert naar * next ++ elk element in het interval [ first, last) met uitzondering van een percentage (%). Voor een percentage gevolgd door een teken C in het interval [ first, last), evalueert next = do_putde functie in plaats daarvan (next_Iosbase, _Fill_Pt, , , C, 0) en slaat deze over na C. Als C echter een kwalificatieteken is van de set EOQ#, gevolgd door een teken C2 in het interval [ first, last), evalueertnext = do_put de functie in plaats daarvan (next, _Iosbase, _Fill, _Pt, C2C) en slaat deze over.C2
Voorbeeld
// 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
Constructor voor objecten van het type time_put.
explicit time_put(size_t _Refs = 0);
Parameterwaarden
_Refs
Een geheel getal dat wordt gebruikt om het type geheugenbeheer voor het object op te geven.
Opmerkingen
De mogelijke waarden voor de parameter _Refs en hun significantie zijn:
0: De levensduur van het object wordt beheerd door de landinstellingen die het object bevatten.
1: De levensduur van het object moet handmatig worden beheerd.
> 1: Deze waarden zijn niet gedefinieerd.
De constructor initialiseert het basisobject met landinstelling::facet(_Refs).
Zie ook
<oord>
time_base-klasse
Thread Safety in de standaardbibliotheek van C++