Utilitarios.
Mais...
Componentes | |
class | Data |
Representa datas posteriores a 1582, i.e., datas no calendário Gregoriano, adoptado por Portugal e outros países católicos em 1582. Mais... | |
class | Ignorador |
Representa manipuladores de canais de entrada (istream) que descartam caracteres. Mais... | |
Tipos básicos para datas e tempos | |
typedef long | Duracao |
Representa durações em dias. | |
typedef int | Dia |
Representa o dia do mês de uma data. | |
typedef int | Ano |
Representa o ano de uma data. | |
enum | Mes { janeiro = 1, fevereiro, marco, abril, maio, junho, julho, agosto, setembro, outubro, novembro, dezembro } |
Representa os meses do ano. Mais... | |
enum | DiaDaSemana { domingo = 0, segunda_feira, terca_feira, quarta_feira, quinta_feira, sexta_feira, sabado } |
Representa os dias da semana. Mais... | |
int const | numero_total_de_meses = 12 |
A número de meses no ano. | |
std::string | nomes_dos_meses [numero_total_de_meses+1] |
Os nomes dos meses do ano. | |
int const | numero_total_de_dias_da_semana = 7 |
O número de dias na semana. | |
std::string | nomes_dos_dias_da_semana [numero_total_de_dias_da_semana] |
Os nomes dos dias da semana. | |
Operações de concatenação de cadeias de caracteres com | |
inteiros. | |
template<typename Char> std::basic_string< Char > & | operator+= (std::basic_string< Char > &cadeia, int const valor) |
Acrescenta a representação em base decimal posicional de um inteiro a uma cadeia. | |
template<typename Char> std::basic_string< Char > | operator+ (std::basic_string< Char > cadeia, int const valor) |
Devolve a concatenação de uma cadeia com a representação na base decimal posicional de um inteiro. | |
template<typename Char> std::basic_string< Char > | operator+ (int const valor, std::basic_string< Char > cadeia) |
Devolve a concatenação de uma cadeia com a representação na base decimal posicional de um inteiro. | |
Funções utilitários para cálculo de datas. | |
bool | eBissexto (Ano const ano) |
Indica se o ano dado é bissexto. | |
int | numeroDeDiasEm (Mes const mes, Ano const ano) |
Devolve o número de dias numa dado mes de um dado ano. | |
Operações associadas ao tipo Mes | |
Mes & | operator++ (Mes &mes) |
Incrementação prefixa de meses. | |
Mes & | operator-- (Mes &mes) |
Decrementação prefixa de meses. | |
Mes | operator++ (Mes &mes, int) |
Incrementação sufixa de meses. | |
Mes | operator-- (Mes &mes, int) |
Decrementação sufixa de meses. | |
Mes & | operator+= (Mes &mes, int const numero_de_meses) |
Avança mês de um número de meses. | |
Mes & | operator-= (Mes &mes, int const numero_de_meses) |
Recua mês de um número de meses. | |
Mes | operator+ (Mes const mes, int const numero_de_meses) |
Devolve a adição de um mês com um dado número de meses. | |
Mes | operator+ (int const numero_de_meses, Mes const mes) |
Devolve a adição de um mês com um dado número de meses. | |
int | operator- (Mes const um_mes, Mes const outro_mes) |
Devolve a distância em número de meses entre dois meses. | |
Mes | operator- (Mes const mes, int const numero_de_meses) |
Devolve a subtracção de um mês de um dado número de meses. | |
std::ostream & | operator<< (std::ostream &saida, Mes const mes) |
Insere um mês num canal. | |
std::istream & | operator>> (std::istream &entrada, Mes &mes) |
Extrai um mês de um canal. | |
Operações associadas ao tipo DiaDaSemana | |
DiaDaSemana & | operator++ (DiaDaSemana &dia_da_semana) |
Incrementação prefixa de dias da semana. | |
DiaDaSemana & | operator-- (DiaDaSemana &dia_da_semana) |
Decrementação prefixa de dias da semana. | |
DiaDaSemana | operator++ (DiaDaSemana &dia_da_semana, int) |
Incrementação sufixa de dias da semana. | |
DiaDaSemana | operator-- (DiaDaSemana &dia_da_semana, int) |
Incrementação sufixa de dias da semana. | |
DiaDaSemana & | operator+= (DiaDaSemana &dia_da_semana, int const numero_de_dias) |
Avança dia da semana de um número de dias da semana. | |
DiaDaSemana & | operator-= (DiaDaSemana &dia_da_semana, int const numero_de_dias) |
Recua dia da semana de um número de dias da semana. | |
DiaDaSemana | operator+ (DiaDaSemana const dia_da_semana, int const numero_de_dias) |
Devolve a adição de um dia da semana com um dado número de dias da semana. | |
DiaDaSemana | operator+ (int const numero_de_dias, DiaDaSemana const dia_da_semana) |
Devolve a adição de um dia da semana com um dado número de dias da semana. | |
int | operator- (DiaDaSemana const um_dia_da_semana, DiaDaSemana const outro_dia_da_semana) |
Devolve a distância em número de dias da semana entre dois dias da semana. | |
DiaDaSemana | operator- (DiaDaSemana const dia_da_semana, int const numero_de_dias) |
Devolve a subtracção de um dia da semana de um dado número de dias da semana. | |
std::ostream & | operator<< (std::ostream &saida, DiaDaSemana const dia_da_semana) |
Insere um dia da semana num canal. | |
std::istream & | operator>> (std::istream &entrada, DiaDaSemana &dia_da_semana) |
Extrai um dia da semana de um canal. | |
Operações associadas à classe Data | |
bool | operator== (Data const &uma_data, Data const &outra_data) |
Indica se duas datas são iguais. | |
bool | operator!= (Data const &uma_data, Data const &outra_data) |
Indica se duas datas são diferentes. | |
bool | operator< (Data const &uma_data, Data const &outra_data) |
Indica se uma data é menor que outra. | |
bool | operator> (Data const &uma_data, Data const &outra_data) |
Indica se uma data é maior que outra. | |
bool | operator<= (Data const &uma_data, Data const &outra_data) |
Indica se uma data é menor ou igual a outra. | |
bool | operator>= (Data const &uma_data, Data const &outra_data) |
Indica se uma data é maior ou igual a outra.. | |
Duracao | operator- (Data const &uma_data, Data const &outra_data) |
Devolve a distância entre duas datas. | |
Data | operator- (Data const &data, Duracao const &duracao) |
Devolve a subtracção de uma duração de uma data. | |
Data | operator+ (Data const &data, Duracao const &duracao) |
Devolve a adição de uma duração a uma data. | |
Data | operator+ (Duracao const &duracao, Data const &data) |
Devolve a adição de uma duração a uma data. | |
std::ostream & | operator<< (std::ostream &saida, Data const &data) |
Insere uma data num canal. | |
std::istream & | operator>> (std::istream &entrada, Data &data) |
Extrai uma data de um canal. | |
Manipuladores extra para std::istream | |
Ignorador const | il ('\n') |
Manipulador que descarta todos os caracteres até ao próximo fim-de-linha ('\n' ). | |
Ignorador const | ill ('\n', true) |
Manipulador que descarta todos os caracteres até ao próximo fim-de-linha ('\n' ), mas primeiro limpa possíveis condições de erro do canal. | |
Ferramentas de localização para português. | |
template<typename C> bool | eImprimivel (C const caractere) |
Indica se o caractere recebido como argumento é imprimível de acordo com as convenções portuguesas. | |
template<typename C> bool | eImprimivel (std::basic_string< C > const &cadeia) |
Indica se a cadeia de caracteres recebida como argumento é imprimível de acordo com as convenções portuguesas. | |
Funções | |
std::istream & | operator>> (std::istream &entrada, Ignorador const &ignorador) |
Operador de extracção para os manipuladores de ignorar/descartar caracteres. |
Utilitarios.
Em particular envolve os módulos ignoradores, datas e cadeias. A biblioteca Utilitarios
contém utilitários variados, desde manipuladores extra para os canais de entrada e saída até classes para representar datas.
Para construir um programa (neste caso teste_data.C) que utilize esta biblioteca deve dar o seguinte comando:
c++ opções_de_compilação -o teste_data teste_data.C -lUtilitarios
|
Acrescenta a representação em base decimal posicional de um inteiro a uma cadeia.
Definido na linha 11 do ficheiro cadeia_impl.H. |
|
Devolve a concatenação de uma cadeia com a representação na base decimal posicional de um inteiro.
Definido na linha 21 do ficheiro cadeia_impl.H. |
|
Devolve a concatenação de uma cadeia com a representação na base decimal posicional de um inteiro.
Definido na linha 28 do ficheiro cadeia_impl.H. |
|
Indica se o ano dado é bissexto.
Definido na linha 15 do ficheiro data_impl.H. Referências Ano. Referenciado por Utilitarios::Data::anoEBissexto() e numeroDeDiasEm(). |
|
Devolve o número de dias numa dado mes de um dado ano.
Definido na linha 20 do ficheiro data_impl.H. Referências Ano, dezembro, eBissexto(), janeiro, Mes e numero_total_de_meses. Referenciado por Utilitarios::Data::Data(), Utilitarios::Data::numeroDeDiasNoMes() e operator>>(). |