Espacios de nombres
Variantes
Acciones

Requisitos denominados de C++:FormattedInputFunction

De cppreference.com
< cpp‎ | named req
 
 
Requisitos denominados de C++
Números aleatorios
Concurrencia
(C++11)
(C++11)
Rangos
Vista multidimensional
Otros

 

[editar]Requisitos

Una FormattedInputFunction es una función de flujo de entrada que realiza lo siguiente:

  • Construye un objeto de tipo basic_istream::sentry con duración de almacenamiento automática y con el argumento noskipws establecido a false, que realiza los siguiente:
  • si eofbit o badbit están establecidos en el flujo de entrada, también se establece failbit, y, si las excepciones failbit están habilitadas en la máscara de excepciones de este flujo de entrada ((exceptions()& failbit)!=0), lanza la excepción ios_base::failure.
  • vacía el flujo de salida ligado por tie(), si corresponde.
  • si el indicador ios_base::skipws está establecido en el flujo de entrada, extrae y descarta caracteres del flujo de entrada hasta que una de las condiciones siguientes sea verdadera:
  • el siguiente carácter disponible en el flujo de entrada no es un carácter de espacio en blanco, como se prueba mediante la faceta std::ctype de la configuración regional actualmente imbuida en este flujo de entrada. El carácter que no es un espacio en blanco no se extrae.
  • se alcanza el final del flujo, en cuyo caso se establecen failbit y eofbit y, si el flujo está activado por excepciones de uno de esos bits, se lanza la excepción ios_base::failure.
  • Comprueba el estado del centinela llamando a sentry::operator bool(), que es equivalente a basic_ios::good.
  • Si el centinela devolvió false o el constructor lanzó una excepción, no se realiza ninguna entrada.
  • Si el centinela devolvió true, se realiza la entrada como con una llamada a rdbuf()->sbumpc() o rdbuf()->sgetc().
  • si se alcanza el final del flujo (la llamada a rdbuf()->sbumpc() o rdbuf()->sgetc() devuelve Traits::eof()), estabelce eofbit. Si la excepción eofbit está habilitada en la máscara de excepciones de este flujo ((exceptions()& eofbit)!=0), se lanza la excepción ios_base::failure.
  • si se lanza una excepción durante la entrada, se establece badbit en el flujo de entrada. Si las excepciones badbit están habilitadas en la máscara de excepciones de este flujo ((exceptions()& badbit)!=0), también se vuelve a lanzar la excpeción.
  • Si no se lanza ninguna excepción, devuelve *this.
  • En cualquier caso, se termine por excepción o retornando, se llama al destructor del centinela antes de salir de esta función.

[editar]Biblioteca estándar

Las siguientes funciones de la biblioteca estándar son FormattedInputFunction.

[editar]Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 160 C++98 El proceso de determinar si la excepción capturada se
vuelve a lanzar menciona una función inexistente, exception().
Se corrigió a exceptions().
close