iostreams - вывод чисел в двоичной с/с и прочие расширения
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.07.18 18:53
Оценка:
Здравствуйте!

Реально ли сделать такое без залезания в кишки iostreams, как-нибудь в сторонке?

Мне всегда не хватало такого, но как-то не заморачивался. А тут сделал подсистему вывода для своего проекта — попроще в реализации, без развесистой иерархии классов, но с той же концепцией — operator ostream inserter, методы потока и манипуляторы вывода, совместимой с iostreams по всем базовым прикладным вещам: методам потоков, флагам "ios...", манипуляторам и тп — она совместима со стандартной библиотекой. Бонус в том, что не надо много нового изучать, и по большей части можно заглянуть в доку на стандартные потоки и всё там найти.

Так вот, добавил я там немного своих расширений:


Вообщем, сделал я всё это, и понравилось мне это. И стал я активно пользоваться. Только вот код стал уже непереносим на стандартные потоки. В принципе, у меня для вывода предусмотрен интерфейс типа IWritter, и я сделал биндинги для стандартных потоков, но вот стало интересно, а можно ли стандартные потоки расширить, чтобы реализовать мои хотелки без моих прокладок, а в виде расширений стандартных потоков?

Так-то и то и то вроде как прокладки, но в текущей реализации у меня есть MyOstream и для него биндинги StdOstreamWritter/StdCoutWritter/StdCerrWritter и надо их настраивать перед стартом программы, что неудобно. А хочется, чтобы подключил какой-то хидер — и всё, все фичи присосались автоматом ко всем реализациям std::ostream
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.