Compartir a través de


basic_streambuf::underflow

Función protegida, virtual para extraer el elemento actual del flujo de entrada.

virtual int_type underflow( );

Valor devuelto

el elemento actual.

Comentarios

La función virtual protegida de miembro se esfuerza para extraer el elemento actual ch del flujo de entrada, sin avanzar la posición actual del flujo, y la devuelve como traits_type::to_int_type(ch).Puede hacerlo de varias maneras:

  • Si una posición de lectura está disponible, ch es el elemento almacenado en la posición de la lectura.Para obtener más información sobre esto, vea la sección notas de basic_streambuf Class.

  • Puede crear leer la posición disponibles asignando el nuevo o adicional almacenamiento para el búfer de entrada, entonces leyendo en, de algún origen externo, uno o más elementos.Para obtener más información sobre esto, vea la sección notas de basic_streambuf Class.

Si la función no se realizará correctamente, devuelve traits_type::EOF() o produce una excepción.De lo contrario, devuelve el elemento actual del flujo de entrada, convertido como se describió anteriormente.El comportamiento predeterminado es devolver traits_type::eof().

la función virtual de underflow , con las funciones de sincronización y de desbordamiento , define las características de streambuf- clase derivada.Cada clase derivada puede implementar underflow de manera diferente, pero la interfaz con el tipo de la secuencia de llamada es el mismo.

La función de underflow frecuentemente llaman las funciones públicas de streambuf como sgetc y sgetn cuando el área get está vacía, pero otras clases, incluidas las clases de la secuencia, pueden llamar underflow en cualquier momento.

Las fuentes de función de underflow el área get con los caracteres del origen de entrada.Si el área get contiene caracteres, underflow devuelve el primer carácter.Si el área get está vacía, rellenará el área get y devuelve el siguiente carácter (dejando en el área get).Si no hay caracteres disponible, el underflow devuelve EOF y deja el área get vacía.

En la clase de strstreambuf , underflow ajusta el puntero de egptr al almacén de acceso que fue asignado dinámicamente mediante una llamada a overflow.

Requisitos

encabezado: <streambuf>

espacio de nombres: std

Vea también

Referencia

basic_streambuf Class

programación iostream

convenciones de iostreams