streambuf

C++ streams confusion: iterador istreambuf vs iterador istream?

¿Cuál es la diferencia entre istreambuf_iterator y istream_iterator? Y en general, ¿cuál es la diferencia entre los arroyos y streambufs? Realmente no puedo encontrar ninguna explicación clara para esto, así que decidí preguntar aquí.