C ++ com prefixo
Eu quero um ostream com um prefixo no início de cada linha redirecionada no cout; Eu tento isso:
#include <iostream>
#include <thread>
class parallel_cout : public std::ostream
{
public:
parallel_cout(std::ostream& o):out(o){}
template <typename T>
std::ostream& operator<< (const T& val)
{
out << "prefix " << val;
return *this;
}
std::ostream& out;
};
int main()
{
parallel_cout pc(std::cout);
pc<<"a\nb"<<"c\n";
}
mas eu tenho na saída
prefix a
b
sem c. porque isso?