Libreria Ostream C ++ - sentry

Descrizione

Viene utilizzato per preparare il flusso per l'output. Tutte le funzioni membro che eseguono un'operazione di output costruiscono automaticamente un oggetto di questa classe e quindi lo valutano (che restituisce true se non è stato impostato alcun flag di stato). Solo se questo oggetto restituisce true, la funzione tenta l'operazione di output (in caso contrario, ritorna senza eseguirla). Prima di tornare, la funzione distrugge l'oggetto sentinella.

Dichiarazione

Di seguito è riportata la dichiarazione per 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;
};

Membri

  • explicit sentry (basic_istream& is, bool noskipws = false); - Prepara il flusso di output per un'operazione di output, eseguendo le azioni descritte sopra.

  • ~sentry(); - Non esegue operazioni (definito dall'implementazione).

  • explicit operator bool() const; - Quando l'oggetto viene valutato, restituisce un valore bool che indica se il costruttore di sentry ha eseguito con successo tutti i suoi compiti: se a un certo punto del processo di costruzione, è stato impostato un flag di errore interno, questa funzione restituisce sempre false per quell'oggetto.