Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O modelo de classe descreve um objeto que pode servir como uma faceta de localidade para controlar conversões de valores de tempo para sequências do tipo CharType.
Sintaxe
template <class CharType,
class OutputIterator = ostreambuf_iterator<CharType>>
class time_put : public locale::facet;
Parâmetros
CharType
O tipo usado dentro de um programa para codificar caracteres.
OutputIterator
O tipo de iterador no qual as funções de colocação de tempo gravam sua saída.
Observações
Como em qualquer faceta de localidade, o ID do objeto estático tem um valor inicial armazenado de zero. A primeira tentativa de acessar seu valor armazenado armazena um valor positivo exclusivo em id.
Construtores
| Construtor | Descrição |
|---|---|
| time_put | O construtor para objetos do tipo time_put. |
Typedefs (definições de tipos)
| Nome do tipo | Descrição |
|---|---|
| char_type | Um tipo que é usado para descrever um caractere usado por uma localidade. |
| iter_type | Um tipo que descreve um iterador de saída. |
Funções de membro
| Função de membro | Descrição |
|---|---|
| do_put | Uma função virtual que produz informações de data e hora como uma sequência de CharTypes. |
| colocar | Produz informações de data e hora como uma sequência de CharTypes. |
Requerimentos
Cabeçalho:<localidade>
Espaço de nomes: std
time_put::char_type
Um tipo que é usado para descrever um caractere usado por uma localidade.
typedef CharType char_type;
Observações
O tipo é um sinônimo para o parâmetro de modelo CharType.
time_put::d o_put
Uma função virtual que produz informações de data e hora como uma sequência de CharTypes.
virtual iter_type do_put(
iter_type next,
ios_base& _Iosbase,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
Parâmetros
seguinte
Um iterador de saída onde a sequência de caracteres que representam a hora e a data deve ser inserida.
_Iosbase
Não utilizado.
_Pt
As informações de data e hora que estão sendo produzidas.
_Fmt
O formato da saída. Consulte strftime, wcsftime, _strftime_l _wcsftime_l para valores válidos .
_Mod
Um modificador para o formato. Consulte strftime, wcsftime, _strftime_l _wcsftime_l para valores válidos .
Valor de retorno
Um iterador para a primeira posição após o último elemento inserido.
Observações
A função de membro virtual protegido gera elementos sequenciais a partir next de valores de tempo armazenados no objeto * _Pt, do tipo tm. A função retorna um iterador designando o próximo local para inserir um elemento além da saída gerada.
A saída é gerada pelas mesmas regras usadas pela strftime, com um último argumento de _Pt, para gerar uma série de char elementos em uma matriz. Supõe-se que cada um desses char elementos seja mapeado para um elemento equivalente do tipo CharType por meio de um mapeamento simples e um-para-um. Se _Mod for igual a zero, o formato efetivo é "%F", onde F é substituído por _Fmt. Caso contrário, o formato efetivo é "%MF", onde M é substituído por _Mod.
Exemplo
Veja o exemplo para put, que chama do_put.
time_put::iter_type
Um tipo que descreve um iterador de saída.
typedef OutputIterator iter_type;
Observações
O tipo é um sinônimo para o parâmetro de modelo OutputIterator.
time_put::p ut
Produz informações de data e hora como uma sequência de 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;
Parâmetros
seguinte
Um iterador de saída onde a sequência de caracteres que representam a hora e a data deve ser inserida.
_Iosbase
Não utilizado.
_Fill
O caractere do tipo CharType usado para espaçamento.
_Pt
As informações de data e hora que estão sendo produzidas.
_Fmt
O formato da saída. Consulte strftime, wcsftime, _strftime_l _wcsftime_l para valores válidos .
_Mod
Um modificador para o formato. Consulte strftime, wcsftime, _strftime_l _wcsftime_l para valores válidos .
primeira
O início da cadeia de caracteres de formatação para a saída. Consulte strftime, wcsftime, _strftime_l _wcsftime_l para valores válidos .
último
O final da cadeia de caracteres de formatação para a saída. Consulte strftime, wcsftime, _strftime_l _wcsftime_l para valores válidos .
Valor de retorno
Um iterador para a primeira posição após o último elemento inserido.
Observações
A primeira função de membro retorna do_put(next, _Iosbase, _Fill, _Pt, _Fmt, _Mod). A segunda função de membro copia para * next ++ qualquer elemento no intervalo [ first, last) diferente de uma porcentagem (%). Para uma porcentagem seguida por um caractere C no intervalo [ first, last), a função em vez disso avalianext = do_put (next, _Iosbase, _Fill, _Pt, C, 0) e ignora C. Se, no entanto, C é um caractere qualificador do conjunto EOQ#, seguido por um caractere C2 no intervalo [ first, last), a função em vez disso avalia next = do_put(next, _Iosbase, _Fill, _Pt, C2, C) e ignora .C2
Exemplo
// 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
Construtor para objetos do tipo time_put.
explicit time_put(size_t _Refs = 0);
Parâmetros
_Refs
Valor inteiro usado para especificar o tipo de gerenciamento de memória para o objeto.
Observações
Os valores possíveis para o parâmetro _Refs e sua significância são:
0: O tempo de vida do objeto é gerenciado pelas localidades que o contêm.
1: O tempo de vida do objeto deve ser gerenciado manualmente.
> 1: Estes valores não estão definidos.
O construtor inicializa seu objeto base com locale::facet(_Refs).
Ver também
<localidade>
time_base Classe
segurança de threads na biblioteca padrão C++