Я ищу способ добавить префикс к ostream, передать его другим функциям, чтобы их выходы были префиксными, а затем удалили его, чтобы продолжить.Добавить префиксы для выходных выходов
Проверьте следующее псевдокод:
...
void function(ostream &out){
out << "output 1\n";
out << "output 2\n";
}
cout << "Whatever\n";
add_suffix(cout,"function: ");
function(cout);
remove_suffix(cout);
...
С выходом как:
...
Whatever
function: output 1
function: output 2
...
Глядя на документы о ostream они заявляют, что караул может быть использован для префиксов/суффиксация, но я не знайте, как это сделать, если предполагаемое использование - это то, что я хочу.
Документация ostream::sentry
говорит:
sentry: Perform exception safe prefix/suffix operations
Я знаю о streambufs, и это была моя оригинальная идея, я просто задавался вопросом, почему часовой документирован так, если он не делает этого. –
@Arkaitz: «префикс», который упоминается, есть префикс функции, которая читает/записывает в поток. Они предназначены для проверки состояния потока и исключения, когда поток находится в плохом состоянии. – ybungalobill
круто, теперь это имеет смысл, его просто то, что операции префикса и суффикса в потоковом контексте выглядели слишком много, как я хотел, я думаю, что я привязан к реализации streambuf. –