Je veux dériver un train de chaînes afin que je puisse utiliser l'opérateur < < pour construire un message qui sera ensuite lancé. L'API ressemblerait à ceci:Dérivant streambuf ou basic_ostringstream?
error("some text") << " more text " << 42 << std::endl;
Cela devrait faire un
throw "some text more text 42"
Alors ce que je faisais est faire une errorbuf (héritant de streambuf) qui sature la méthode du « débordement », puis créer un ostream (& errorbuf). Je me demande si je ne devrais pas hériter de la place basic_ostringstream ou quelque chose ...
Parfois, les macros sont la meilleure solution. –