В нашем проекте мы используем оператор потока c++ (<<) в нашей объектной модели для вывода данных в удобном для чтения формате. Упрощенный пример таков:
std::ostream& operator<<(std::ostream & oStream, const OwnClass& iOwnClass) {
oStream << "[SomeMember1: " << iOwnClass._ownMember1 << "]\n";
oStream << "[SomeMember2: " << iOwnClass._ownMember2 << "]\n";
}
Результат в протоколировании:
[SomeMember1: foo]
[SomeMember2: bar]
Теперь мы хотим иметь возможность делать отступ для результата этого оператора.Некоторый вызывающий класс может не хотеть такого результата, но хочет добавить отступ в 2 пробела перед каждой строкой. Мы могли бы добавить в наш класс член, указывающий отступ, но это не кажется элегантным решением.
Конечно, это не очень большая проблема, но наша регистрация была бы такой гораздо лучше, если это сработает.
Спасибо