Biblioteca C ++ Ostream - sentinela
Descrição
É usado para preparar o fluxo para a saída. Todas as funções de membro que executam uma operação de saída constroem automaticamente um objeto desta classe e o avaliam (que retorna verdadeiro se nenhum sinalizador de estado foi definido). Somente se este objeto for avaliado como verdadeiro, a função tentará a operação de saída (caso contrário, ela retornará sem realizá-la). Antes de retornar, a função destrói o objeto sentinela.
Declaração
A seguir está a declaração para std :: basic_ostream :: sentry.
C ++ 98
class sentry {
public:
explicit sentry (basic_ostream& os);
~sentry();
operator bool() const;
private:
sentry (const sentry&);
sentry& operator= (const sentry&);
};
C ++ 11
class sentry {
public:
explicit sentry (basic_ostream& os);
~sentry();
explicit operator bool() const;
sentry (const sentry&) = delete;
sentry& operator= (const sentry&) = delete;
};
Membros
explicit sentry (basic_istream& is, bool noskipws = false); - Prepara o fluxo de saída para uma operação de saída, executando as ações descritas acima.
~sentry(); - Não executa nenhuma operação (definido pela implementação).
explicit operator bool() const; - Quando o objeto é avaliado, ele retorna um valor booleano indicando se o construtor da sentinela realizou com sucesso todas as suas tarefas: Se em algum ponto do processo de construção, um sinalizador de erro interno foi definido, esta função sempre retorna falso para aquele objeto.