time_put-klass

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