2016-07-01 12 views
-1

Ich möchte einen Stream so ändern, dass jedes Mal, wenn etwas an den Stream ausgegeben wird, jede Zeile mit einer bestimmten Anzahl von Tabs vorangestellt wird. Es scheint, dass ein Manipulator der Weg ist, dies zu tun, aber keines der Beispiele, die ich gefunden habe, macht es klar, wie man auf diese Weise manipuliert.C++ Stream-Manipulator zum Hinzufügen von Tabs zu jeder Zeile

Ist das eine vernünftige Sache für einen Manipulator und wenn ja wie?

+0

In Verbindung stehend: http://stackoverflow.com/q/30073287/3233393. Nicht ein Duplikat, aber kann mit dem gleichen Muster gelöst werden. – Quentin

Antwort

1

Nein, das ist nicht vernünftig. Dazu müssten Sie feststellen, wann der Stream eine neue Zeile ausgibt, und dann mit einem Tab fortfahren. Dazu müssten Sie zumindest die put- und write-Elementfunktionen von std::basic_ostream so umschreiben, dass sie den injizierten Zustand Ihres Manipulators überprüfen und entsprechend reagieren, wenn sie einen \n im Ausgang sehen . Definitiv nicht vernünftig.

+0

Danke, das erklärt, warum ich Probleme habe, Referenzen für so etwas zu finden. –