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.