Как добавить отступ для оператора потока

В нашем проекте мы используем оператор потока c ++ (<<) в нашей объектной модели, чтобы распечатать легко читаемый формат данных. Упрощенный пример:

std::ostream& operator<<(std::ostream & oStream, const OwnClass& iOwnClass) {
    oStream << "[SomeMember1: " << iOwnClass._ownMember1 << "]\n";
    oStream << "[SomeMember2: " << iOwnClass._ownMember2 << "]\n";
}

В результате чего в журнале:

[SomeMember1: foo]
[SomeMember2: bar]

Теперь мы хотим иметь возможность отступать от результата этого оператора. Некоторым вызывающим классам может не потребоваться такой результат, но они хотят добавить два пробела перед каждой строкой. Мы могли бы добавить член к нашему классу, указав отступ, но это не выглядит элегантным решением.

Конечно, это не очень большая проблема, но наше ведение журнала было бы намного приятнее, если бы это работало.

Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос