Creo que el error se refiere a que en el fichero *.hpp no se define el tipo ostream, porque no has incluido allí
iostream
El hecho de que lo acote al namespace std es porque estas definiendo el tipo con el operador de ámbito:
por lo que el compilador asume que ese tipo está definido en el namespace std, y puede tal vez hacer pensar que el error es algo relacionado con namespace
Si incluyes la librería
iostream en el fichero *.h deberías no tener ese problema. De paso la puedes quitar del fichero *.cpp.
Y por último, si defines que estas en el namespace std, es redundante definir los tipos pertenecientes con el operador de ámbito...vamos, que te puedes evitar anteceder el
std:: antes de los tipos. (o dejarlo así y no definir el namespace std)
Saludos y espero no haber metido la pata con la respuesta