Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Klassmallen beskriver ett objekt som kan fungera som en språkvariant för att styra konverteringar av tidsvärden till sekvenser av typen CharType.
Syntax
template <class CharType,
class OutputIterator = ostreambuf_iterator<CharType>>
class time_put : public locale::facet;
Parameterar
CharType
Den typ som används i ett program för att koda tecken.
OutputIterator
Den typ av iterator som tidsåtgången för funktioner skriver sina utdata i.
Anmärkningar
Precis som med alla nationella aspekter har det statiska objekt-ID:t ett initialt lagrat värde på noll. Det första försöket att komma åt dess lagrade värde lagrar ett unikt positivt värde i id.
Konstruktörer
| Konstruktor | Beskrivning |
|---|---|
| time_put | Konstruktorn för objekt av typen time_put. |
Typedefs
| Typnamn | Beskrivning |
|---|---|
| char_type | En typ som används för att beskriva ett tecken som används av ett språk. |
| iter_type | En typ som beskriver en iterator för utdata. |
Medlemsfunktioner
| Medlemsfunktion | Beskrivning |
|---|---|
| do_put | En virtuell funktion som matar ut tids- och datuminformation som en sekvens med CharTypes. |
| lägga | Matar ut tids- och datuminformation som en sekvens med CharTypes. |
Kravspecifikation
Rubrik:<Locale>
namnområde: std
time_put::char_type
En typ som används för att beskriva ett tecken som används av ett språk.
typedef CharType char_type;
Anmärkningar
Typen är en synonym för mallparametern CharType.
time_put::d o_put
En virtuell funktion som matar ut tids- och datuminformation som en sekvens med CharTypes.
virtual iter_type do_put(
iter_type next,
ios_base& _Iosbase,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
Parameterar
nästa
En utdata iterator där sekvensen med tecken som representerar tid och datum ska infogas.
_Iosbase
Oanvänd.
_Pt
Tids- och datuminformationen som matas ut.
_Fmt
Formatet på utdata. Se strftime, wcsftime, _strftime_l, _wcsftime_l för giltiga värden.
_Mods
En modifierare för formatet. Se strftime, wcsftime, _strftime_l, _wcsftime_l för giltiga värden.
Returvärde
En iterator till den första positionen efter det sista elementet som infogades.
Anmärkningar
Den virtuella skyddade medlemsfunktionen genererar sekventiella element som börjar vid next tidpunkten värden som lagras i objektet * _Pt, av typen tm. Funktionen returnerar en iterator som anger nästa plats för att infoga ett element utöver de genererade utdata.
Utdata genereras av samma regler som används av strftime, med ett sista argument för _Pt, för att generera en serie char element till en matris. Varje sådant char element antas mappa till ett motsvarande element av typen CharType genom en enkel mappning från en till en. Om _Mod är lika med noll är det effektiva formatet "%F", där F ersätts av _Fmt. Annars är det effektiva formatet "%MF", där M ersätts av _Mod.
Exempel
Se exemplet för put, som anropar do_put.
time_put::iter_type
En typ som beskriver en iterator för utdata.
typedef OutputIterator iter_type;
Anmärkningar
Typen är en synonym för mallparametern OutputIterator.
time_put::p ut
Matar ut tids- och datuminformation som en sekvens med 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;
Parameterar
nästa
En utdata iterator där sekvensen med tecken som representerar tid och datum ska infogas.
_Iosbase
Oanvänd.
_Fylla
Tecknet av typen CharType som används för avstånd.
_Pt
Tids- och datuminformationen som matas ut.
_Fmt
Formatet på utdata. Se strftime, wcsftime, _strftime_l, _wcsftime_l för giltiga värden.
_Mods
En modifierare för formatet. Se strftime, wcsftime, _strftime_l, _wcsftime_l för giltiga värden.
första
Början av formateringssträngen för utdata. Se strftime, wcsftime, _strftime_l, _wcsftime_l för giltiga värden.
senaste
Slutet av formateringssträngen för utdata. Se strftime, wcsftime, _strftime_l, _wcsftime_l för giltiga värden.
Returvärde
En iterator till den första positionen efter det sista elementet som infogades.
Anmärkningar
Den första medlemsfunktionen returnerar do_put(next, _Iosbase, _Fill, _Pt, _Fmt, _Mod). Den andra medlemsfunktionen kopieras till * next ++ alla element i intervallet [ first, last) förutom en procent (%). För en procent följt av ett tecken C i intervallet [ first, last) utvärderarnext = do_put funktionen i stället (next, , _Iosbase_Fill, _Pt, C, 0) och hoppar över C. Om C dock är ett kvalificerartecken från uppsättningen EOQ#, följt av ett tecken C2 i intervallet [ first, last), utvärderarnext = do_put funktionen i stället (next, , _Iosbase_Fill, _Pt, C2, C) och hoppar över tidigare .C2
Exempel
// 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
Konstruktor för objekt av typen time_put.
explicit time_put(size_t _Refs = 0);
Parameterar
_Refs
Heltalsvärde som används för att ange typ av minneshantering för objektet.
Anmärkningar
Möjliga värden för parametern _Refs och deras betydelse är:
0: Objektets livslängd hanteras av de nationella inställningar som innehåller det.
1: Objektets livslängd måste hanteras manuellt.
> 1: Dessa värden har inte definierats.
Konstruktorn initierar sitt basobjekt med språkvariant::facet(_Refs).
Se även
<Locale>
time_base-klass
Trådsäkerhet i C++ Standard Library