Biblioteca C ++ Ostream - sentry

Descripción

Se utiliza para preparar la transmisión para la salida. Todas las funciones miembro que realizan una operación de salida construyen automáticamente un objeto de esta clase y luego lo evalúan (que devuelve verdadero si no se estableció una bandera de estado). Solo si este objeto se evalúa como verdadero, la función intenta la operación de salida (de lo contrario, regresa sin realizarla). Antes de regresar, la función destruye el objeto centinela.

Declaración

A continuación se muestra la declaración de 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;
};

Miembros

  • explicit sentry (basic_istream& is, bool noskipws = false); - Prepara el flujo de salida para una operación de salida, realizando las acciones descritas anteriormente.

  • ~sentry(); - No realiza operaciones (definido por la implementación).

  • explicit operator bool() const; - Cuando se evalúa el objeto, devuelve un valor bool que indica si el constructor sentry realizó con éxito todas sus tareas: Si en algún momento del proceso de construcción, se estableció un indicador de error interno, esta función siempre devuelve falso para ese objeto.