У меня есть этот код для патентованного регистратора:Блокировка выходного ostream в макро
#define LOG GetStream()
Где GetStream возвращает зЬй :: ostream. Пользователь будет делать:
LOG << "text";
мне это нужно, чтобы быть потокобезопасными, но хотел бы избежать этого:
#define END Unlock();
#define LOG Lock(); GetStream() << "text" << END;
Поскольку пользователю нужно будет добавить "END":
LOG << "Text" << END;
Есть идеи?
Примечание: Я обрабатываю возврат каретки, используя что-то вроде this.
почему это в макрос все равно –
You мог бы обеспечить обертку логгером относительно легко, вместо того, чтобы идти уродливым способом с помощью макросов. – Hiura