Кресты / Говнокод #8120 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
#include <iostream>
#include <boost/mpl/pair.hpp>
#include <boost/mpl/key_type.hpp>
#include <boost/mpl/map.hpp>
#include <boost/mpl/string.hpp>
#include <boost/mpl/for_each.hpp>
using namespace boost;
typedef mpl::map<
   mpl::pair<mpl::string<'H','e','l','l','o'>, mpl::int_<0>>,
   mpl::pair<mpl::string<',',' '>, mpl::int_<1>>,
   mpl::pair<mpl::string<'W','o','r','l','d','!'>, mpl::int_<2>>
> map;
struct do_some {
   template<typename T>
   void operator()(T) const {
      std::cout << mpl::c_str<T>::value;
   }
};
int main() {
   mpl::for_each<
      map,
      typename mpl::lambda<
         mpl::key_type<map, mpl::_1>
      >
   >(do_some());
}

еще один хеловорд.

Запостил: niXman niXman, (Updated )

Комментарии (100) RSS

    • Здравствуй, Петюнчик. Нашел себе новую работу, илита?
      Ответить
        • блян, такое говно пишет... давно пора было выгнать... ты нас хочешь шокировать своим говном? ты думаешь, мы завидев твой код испугаемся и уйдем с говнокода? мы его просто заминусуем
          Ответить
          • > нас
            > мы
            > испугаемся
            > уйдем
            > мы
            > заминусуем

            выходит так, что "вы" - просто стадные животные, пустышки порознь.
            Ответить
            • > царь. просто царь.
              > "вы" - просто стадные животные, пустышки порознь.
              нельзя недооценивать революционную силу масс - свергнут и обезглавят на потеху.
              Ответить
                • правильно, бойтесь, прячьтесь за моником - царем вам даже теоретически не светит стать ^^
                  Ответить
            • >пустышки порознь.
              кто бы говорил? друзей у тебя нет. дрочишь на шаблоны. и уже подсел на говнокод.сру, хотя недавно нас в этом укорял, утверждая что мы все здесь быдло. не последовательно!
              Ответить
  • нахуа вообще нужен boost::mpl? чтобы писать такое непонятное говно?
    Ответить
      • Отпишитесь в треде те, кто хоть раз пользовался mpl не для потехи?
        Ответить
        • Как-то целый проект активно пользовались boost::statechart, который, в свою очередь, использует mpl. Кончилось это написанием своей версии "стейтчарта" (с выкинутым ненужным и добавленным нужным), которая при таком же использовании компилируется в 3-4 раза быстрее.
          Ответить
        • использовал. без фанатизма. весь код так никто не пишет. для контроля и секоторого сахара в паре мест.
          Ответить
  • в тред реквестируется тарас для пояснения к коду
    полное говно
    boost не нужен
    Ответить
    • тарас для пояснения извратного хелловорлда? не смешите мою мышку
      Ответить
      • FAIL?

        Alexoy (14:34:07 8/10/2011)
        ?
        гриб (14:34:07 8/10/2011)
        Привет Alexoy. Меня нет на месте с 12:57:37 08.10.2011. Я прочту ваше сообщение, когда вернусь.
        гриб (14:34:17 8/10/2011)
        это не вы поясняете мысли?
        Alexoy (14:34:35 8/10/2011)
        какие?
        гриб (14:34:39 8/10/2011)
        видимо, нет 🙁
        гриб (14:34:49 8/10/2011)
        > какие?
        разные
        Alexoy (14:35:06 8/10/2011)
        кто ты?)
        гриб (14:35:11 8/10/2011)
        Uhehesh
        гриб (14:38:02 8/10/2011)
        ладно, до свидания 🙂
        Ответить
    • Я вот не понял, они сделали шаблон с переменным числом параметров?
      Ответить
      • Они такие вещи брутфорсят. Кодогенерация - наше всё. Обычно для таких случаев в бустовых либах дополнительно делается дефайн, позволяющий изменить максимально поддерживаемое количество параметров. Один раз даже пришлось воспользоваться - не хватало вместительности mpl::list, который приходилось повсеместно использовать благодаря гениальным идеям автора boost::statechart. 🙂
        Ответить
          • Конкретно в statechart - mpl::list используется для определения списка событий, на которые умеет реагировать заданное состояние. Других применений пока не встречал, в собственном аналоге statechart - также отлично обошлись.

            А, ну ещё там, насколько помню, имеются всяческие метафункторы для сравнения типов и прочей дребедени. Изредка (очень) могут пригодиться в каких-нибудь особо закрученных шаблонах.
            Ответить
              • Каждый раз, когда приходится доказывать людям, пишущих на других языках, что ты якобы не на таком уж и говне пишешь.
                Другого применения закрученным шаблонам нет, особенно из-за невозможности их реализации вне заголовка.
                Ответить
              • Не то чтобы часто, но бывает.
                Что-то, похожее на зачатки mpl (уже не помню точно, но, кажется, и тогда без него выкрутился) в последний раз пригодилось, когда потребовалось написать в шаблонной функции кусок кода, который работает только в том случае, если шаблонный аргумент - наследник от одного конкретного класса. Зачем мне это было нужно - объяснять сейчас лень. 🙂
                Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8