У меня есть объект, который я хочу транслировать. Но я хочу иметь возможность передавать его по-разному, используя разные форматы, или, лучше сказать, способы описания этого объекта. И мне интересно, как это решить с помощью потоков.
Я хочу иметь возможность использовать общий формат и использовать какой-то адаптер формата для преобразования общего формата в предпочтительный формат.
Я также хочу иметь возможность отделить формат от реализации элемента, поэтому мне не нужно менять элемент каждый раз, когда добавляется или изменяется новый формат.
этот код примерно иллюстрирует то, что я хочу.
Item item;
std::cout << "generic formatted:" << item;
std::cout << "custom formatted:" << CustomItemFormat() << item;
но это может быть невозможно или нецелесообразно.
как предполагается использовать потоковую библиотеку для решения таких проблем?