среда, 21 сентября 2005 г.

Манипуляторы.

Продолжаю тему code snippets.
Буквально позавчера, разбирая конюшни на ноутбуке, наткнулся на старье, оставшееся еще с незапамятных STAR'овских времен. В частности, там была библиотека на С и на С++ для логгирования сообщений с использованием фильтра по уровню важности сообщения (сообщение с уровнем ниже чем уровень важности лог-файла в это самый лог-файл не записывались). В принципе, вещь тупая :) сейчас непонятно, зачем мы (я?) ее тогда писали и даже сделали из нее отдельную библиотеку. Удалил.
Вчера возникла мысль, что задачка логгирования сообщений --- это ж великолепный пример использования манипуляторов вывода в C++ STL. Скажем, Страуструп в своей книжке излагает тему создания собственных манипуляторов очень бегло, оставляя читателю тему на "порешать самостоятельно".
Одним словом, потренировался :) Пример лежит тут.

PS. Буквально сейчас пришла в голову мысль: а возможно ли столь же элегантное решение, скажем, на Java? Не такого, конечно, типа:
LogFile f = new LogFile();
f.open(...);
f.putMessage(...);
f.close();

4 комментария:

  1. Ты бы выкладывал сырцы в HTML, а то с домашнего компа не посмотреть. Нет ни tar, ни gzip...

    ОтветитьУдалить
  2. А что, winzip не умеет разве разворачивать tar.gz? Вроде как умеет...

    ОтветитьУдалить
  3. С тех пор, как поддержка zip встроена в винды, то не имеет смысла ставить WinZip. Обычному пользователю это не надо - просто засоряет интерфейс. На моем личном конфе стоит FAR и несколько command-line архиваторов, включая gzip и bzip2. А если я буду читать с телефона?

    ОтветитьУдалить
  4. А у меня, может, zip'а нету. Он же платный...
    Кстати, я не проверял, установлен ли у меня zip/unzip под Debian. Что-то как-то ни разу не понадобился.
    А с телефона ничего читать не надо :) Если руководствоваться такой генеральной линией партии, то тебе придется написать на freebsd.org, чтобы они все пакеты перепаковали в zip, чтобы ты смог их с телефона посмотреть :)))

    ОтветитьУдалить

Спутник взлетает. Первая ступень отработала.

 И, кажется, неплохо: Посмотрим, что будет когда отработает вторая.