Berkus
пиздец какой
Constantine
я тут экспериментирую с записью js-объектов
Berkus
ты сам это сопровождаешь или кому-то другому страдать придется?
pavel
https://pastebin.com/nuffPgvX
А, ну всё понятно. Так писать нельзя. Не пиши так никогда и проблема сама собой снимется. Так пишут только говнари и понторезы.
Vsevolod
не повезло тому, кто это потом будет поддерживать
Vsevolod
бгг
Constantine
Berkus
это код тестов
ок, ты сам этот код тестов сопровождаешь или кому-то другому страдать придется?
pavel
Да не, никто не будет поддерживать. Куй забьют и дальше пойдут, а этого джуна надо успеть уволить пока не внедрился глубоко в кодовую базу
Constantine
Berkus
Крылатый
pavel
сам сопровождаю, в чем проблема-то?
В том, что это понятно с большой вероятностью только автору и компилятору. Код надо писать так, чтобы понимало быдло с улицы - это признак профессионализма.
Крылатый
Впрочем, вроде норм.
Constantine
Крылатый
С range тут будет покрасивше выглядить, да.
pavel
В общем у автора типичный говнокод, так бабки алкашки в нашем подъезде пишут.
Крылатый
pavel
Vsevolod
а как же доминировать??
Berkus
да не, код как код
Крылатый
В бане подоминируешь.
Berkus
просто я не вижу удобства впихивать все это инлайн
Berkus
выглядит громоздко
pavel
Не, чувак же уже сказал "щито" на цивилизованные попытки это объяснить уже )
Constantine
я бы сказал что несколько нахуеверчено
Смотри, там на самом деле имена заменены. Но читается по строкам, как маяковский:
тестовая среда
в такой-то файл пишешь
массив по каждому тестову набора
"input" => input
"output" => массив из ответа функции
//поля ответа функции
"comment" => коммент к тесту
Berkus
Berkus
🦥Alex Fails
Константин
есть кто Qt под Linux ипользует?
🦥Alex Fails
думаю, есть. давай к вопросу
Berkus
Константин
стыдно )) может в ЛС?
Constantine
Constantine
а initializer list здесь нельзя, он там очень хочет не-CopyConstructible иметь
Berkus
не знаю, я привел в пример лохманновский жсон - там все работае
Constantine
Berkus
не знаю, исходники выложены у нлохманна, это один из самых в принципе вообще популярных репо на гитхабе, сложно промахнуться
Berkus
не знаю почему ты велосипедишь вместо этого
Vsevolod
17 kloc хедер у этого парсера - какой-то эребор, на мой взгляд
Arseny
Berkus
Berkus
удобство » скорость
Berkus
а, ну тогда я лучше пойду
Constantine
короче х3, синтаксис ["field"](value) мне анивей нравится больше
Igor
удобство » скорость
Вот когда это говорят про парсинг, возникает подгорание ниже пояса, ибо обычно парсинг уже 10-20мб json является той еще болью из-за промежуточных алллокаций и вполне возможно что-нибудь наебнуть.
Constantine
да и ranges кажется остаются в experimental на 20 стандарте
Constantine
вопрос: можно ли забахать на препроцессоре, чтобы variadic в макросе раскрылся в #arg1, arg1, #arg2, arg2, ...
Berkus
🦥Alex Fails
Constantine
Vsevolod
https://github.com/mcinglis/macrofun/blob/master/zip.h
Constantine
А, я глупый, можно же первый аргумент вытащить
Vsevolod
но несколько ограниченно
Constantine
И рекурсивно макрос вызвать
Vsevolod
препроцессор не поддерживает рекурсии
Vsevolod
поэтому ее нужно эмулировать руками
Vsevolod
до нужной глубины
Vsevolod
но подход такой, да
Anton
🦥Alex Fails
Есть генерик-шаблоны в цэ99
Michael
цэ11
🦥Alex Fails
А, да
Igor
метапрограммисты, существует ли в природе "typedef if exists"? что-нибудь вроде typedef std::or<T::element_type, T>::type ActualType
🦥Alex Fails
enable_if
Igor
а как через него сделать это "или"?
Vsevolod
http://en.cppreference.com/w/cpp/types/conditional
Vsevolod
ну или http://en.cppreference.com/w/cpp/types/disjunction если c++17 (или самому набросать)
Дмитрий ⬡
Я вижу такую дикую перегрузку операторов
Крылатый
Крылатый
Или что ты имеешь ввиду?
Дмитрий
Чисто из интересна. Есть ли смысл учить программирование, с целью дальнейшего продвижения и получения профессии? При том, что не имею ни студенческого, ни высшего?
Дмитрий
институтского обучения*
Oleg
Дмитрий
Печально.
Berkus