Berkus
ага
Berkus
https://github.com/ericniebler/range-v3/blob/ca997df10962c482274e6be37fdbe39add8664c9/test/action/transform.cpp вот как-то так
Nikolay
Возможно я делаю что-то не так, но у меня при замене i*i, например, на to_string, код не компилируется.
Nikolay
Соль в том, что типы на входе и выходе transform должны быть разные.
Berkus
https://ericniebler.github.io/range-v3/ вот прямо тут есть пример
Berkus
в разделе Views
Berkus
std::vector<int> vi{1,2,3,4,5,6,7,8,9,10}; using namespace ranges; auto rng = vi | view::remove_if([](int i){return i % 2 == 1;}) | view::transform([](int i){return std::to_string(i);}); // rng == {"2","4","6","8","10"};
Nikolay
Спасибо.
Stanislav
там да, жуть
🦥Alex Fails
ты не первый, кто так думает. Стас тоже во фрустрации был)
Andrey
😆💪
🦥Alex Fails
там да, жуть
даже не рефакторили?
Stanislav
даже не рефакторили?
я с тех пор не глядел, врядли в 1.0 что-то изменилось кардинально
🦥Alex Fails
графона добавили
🦥Alex Fails
который не нужен
Andrey
я три подхода делал, чтобы почитать как следует сорцы телеги десктопной. Но не могу, кричу потом по ночам )
🦥Alex Fails
что-то у меня было похожее с террарией
Anonymous
Ты ещё их собирать не пробовал. Вот там действительно ад. Мы для Fedora кучу патчей сделали, чтобы оно собиралось.
Anonymous
Ну и у них ужасный стиль программирования за который в нормальных местах вырывают руки с корнем.
🦥Alex Fails
Berkus
хмы, я тоже как-то пытался собрать их сорцы после выхода
Berkus
забил
Anonymous
Если чего-то нет в используемой библиотеке, они берут её и патчат, а потом вшивают статически, раздувая размер. И в конце начинают сжимать PNG в JPEG, т.к. совсем раздуло бинарник.
Berkus
чую подход настоящих левшей
🦥Alex Fails
Berkus
ген велосипедостроения
Berkus
Stanislav
ну по крайней мере было так
Anonymous
https://github.com/telegramdesktop/tdesktop/blob/master/Telegram/Patches/qtbase_5_6_2.diff#L219 - всё, что надо знать о разработчиках телеги в одной строчке.
Anonymous
самое смешное что там пару констант перебито и добавлен плагин, и все
Нет, там уже давно ад, без которого с нормальным Qt оно не собирается.
Berkus
https://github.com/telegramdesktop/tdesktop/blob/master/Telegram/Patches/qtbase_5_6_2.diff#L261 или вот это
Stanislav
для винду 99% можно выкинуть
Anonymous
Я им недавно репортил баг с невозможностью сборки телеги под GCC 6.3.1 и выше. Они мне ответили: "у нас на 4.3 всё работает, исправлять не будем", хотя я даже патч приложил.
Andrey
😂😂
Berkus
это пушо твой патч им на 4.3 всё сломал
Anonymous
это пушо твой патч им на 4.3 всё сломал
В их Travis сборка с моим патчем из pull request прошла, так что он чинил сборку в новых и не затрагивал старые компиляторы.
Berkus
да я шучу
Anonymous
Но использовать GCC 4.3 в 2017 году - это совсем ад.
Berkus
да нормально, я тут gcc 2.95 нашел недавно и кодец под него, ну так вот, собрать gcc 2.95 современным компилятором невозможно без плясок
Berkus
идл парсер от универа какого-то
Berkus
1997 год что-ли
Berkus
а я в итоге и пропатчил
Berkus
строк в 200 уложился, в основном препроцессорные трюки пришлось патчить
🦥Alex Fails
ой, а мне тут дали код 2001 года на MFC с преобразованием сигнала. Это полный пиздец 😭😭😭😭
Berkus
MFC ❤️ ыхыхы
🦥Alex Fails
да там ужасно то было, что само преобразование гвоздями было прибито к онкликам кнопок
🦥Alex Fails
и еще какие-то свои велосипеды бесколесные
Berkus
самое наверное грубое издевательство над С++ придуманное людьми это дизайн MFC
🦥Alex Fails
мб выложу пример кода куда-н., но это жесть. Слабонервным, беременным и кормящим смотреть запрещено
🦥Alex Fails
даже я пишу лучше 😂
Anonymous
Внутри issue начался срач, когда пришли мейнты других дистрибутивов (я их и призвал туда), поэтому они всё подчистили. Но сам патч есть у нас в апстриме Fedora. 😊
🦥Alex Fails
Почему они это сделали так плохо?(
🦥Alex Fails
в общем, надо сделать форк, в котором вычистить всё говно)
Anonymous
в общем, надо сделать форк, в котором вычистить всё говно)
И использовать нормальную систему сборки, а не ту убогую кривую связку на GYP, что у них сейчас.
Stanislav
я так и не осилил в сборку
🦥Alex Fails
я там нашел уязвимость в тг под ведро
🦥Alex Fails
она правда лажовая, НО ОНА ЕСТЬ!1
🦥Alex Fails
😂
Anonymous
у них билды и до гипа были говно
Это да. Нужно было вручную заходить в каждый каталог и делать там make.
Berkus
cmake слишком сложная штука
Sergey
да ну?
Berkus
</sarcasm>
Stanislav
она тоже не оч приятная)
Berkus
вполне себе приятная
Berkus
там есть несколько подводных камней, но они хотя бы документированы
Anonymous
cmake слишком сложная штука
Так они используют GYP, чтобы создать cmakefiles, а затем натравливают на это уже cmake.
Berkus
а cmake генерит ninja, который создает cmake из которого получается xcodeproj!
Berkus
всё правильно сделали
🦥Alex Fails
еее
Berkus
managing complexity и вот это вот всё