¿Cómo detectar líneas vacías mientras se lee desde un objeto istream en C ++?

¿Cómo puedo detectar si una línea está vacía?

Yo tengo

1
2
3
4

5

Estoy leyendo esto con istream r así que:

int n;
r >> n

Quiero saber cuándo alcanzo el espacio entre 4 y 5. Intenté leer como char y usar .peek () para detectar \ n pero esto detecta el \ n que sigue al número 1. La traducción de la entrada anterior es: 1 \ n2 \ n3 \ n4 \ n \ n5 \ n si estoy en lo correcto ...

Dado que voy a manipular las entradas, prefiero leerlas como entradas que usar getline y luego convertirlas a int ...

Respuestas a la pregunta(4)

Su respuesta a la pregunta